@fundamental-ngx/core 0.56.4-rc.9 → 0.56.5

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.
@@ -54,7 +54,7 @@ export declare class DynamicPageHeaderComponent implements OnInit, AfterViewInit
54
54
  */
55
55
  headingLevel: import("@angular/core").InputSignal<HeadingLevel>;
56
56
  /** @hidden */
57
- _headingLevel: import("@angular/core").Signal<number | undefined>;
57
+ _headingLevel: import("@angular/core").Signal<number>;
58
58
  /** Dynamic page title id, it has some default value if not set, */
59
59
  titleId: import("@angular/core").InputSignal<string>;
60
60
  /** @hidden **/
@@ -389,7 +389,7 @@ class DynamicPageHeaderComponent {
389
389
  */
390
390
  this.headingLevel = input(2);
391
391
  /** @hidden */
392
- this._headingLevel = computed(() => this.headingLevel() ? Number.parseInt(`${this.headingLevel()}`.replace(/\D/g, ''), 10) : undefined);
392
+ this._headingLevel = computed(() => this.headingLevel() ? Number.parseInt(`${this.headingLevel()}`.replace(/\D/g, ''), 10) : 2);
393
393
  /** Dynamic page title id, it has some default value if not set, */
394
394
  this.titleId = input('fd-dynamic-page-title-id-' + dynamicPageTitleId++);
395
395
  /** @hidden **/
@@ -453,7 +453,7 @@ class DynamicPageHeaderComponent {
453
453
  provide: DYNAMIC_PAGE_HEADER_TOKEN,
454
454
  useExisting: DynamicPageHeaderComponent
455
455
  }
456
- ], queries: [{ propertyName: "_subtitleTemplate", first: true, predicate: DynamicPageHeaderSubtitleDirective, descendants: true }, { propertyName: "_titleTemplate", first: true, predicate: DynamicPageHeaderTitleDirective, descendants: true }, { propertyName: "_dynamicPageBreadcrumbComponent", first: true, predicate: FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT, descendants: true }, { propertyName: "_breadcrumbComponent", first: true, predicate: FD_BREADCRUMB_COMPONENT, descendants: true }, { propertyName: "_globalActions", first: true, predicate: DynamicPageGlobalActionsComponent, descendants: true }, { propertyName: "_layoutActions", first: true, predicate: DynamicPageLayoutActionsComponent, descendants: true }, { propertyName: "_contentToolbar", first: true, predicate: DynamicPageTitleContentComponent, descendants: true }], ngImport: i0, template: "<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 <div\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 </div>\n }\n </div>\n </div>\n </div>\n</div>\n@if (!_dynamicPageService.collapsed() && (subtitle || _subtitleTemplate)) {\n <div\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template [ngTemplateOutlet]=\"_subtitleTemplate ? subtitleRef : defaultSubtitle\"></ng-template>\n </div>\n}\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n<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", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgnoreClickOnSelectionDirective, selector: "[fdkIgnoreClickOnSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
456
+ ], queries: [{ propertyName: "_subtitleTemplate", first: true, predicate: DynamicPageHeaderSubtitleDirective, descendants: true }, { propertyName: "_titleTemplate", first: true, predicate: DynamicPageHeaderTitleDirective, descendants: true }, { propertyName: "_dynamicPageBreadcrumbComponent", first: true, predicate: FD_DYNAMIC_PAGE_BREADCRUMB_COMPONENT, descendants: true }, { propertyName: "_breadcrumbComponent", first: true, predicate: FD_BREADCRUMB_COMPONENT, descendants: true }, { propertyName: "_globalActions", first: true, predicate: DynamicPageGlobalActionsComponent, descendants: true }, { propertyName: "_layoutActions", first: true, predicate: DynamicPageLayoutActionsComponent, descendants: true }, { propertyName: "_contentToolbar", first: true, predicate: DynamicPageTitleContentComponent, descendants: true }], ngImport: i0, template: "<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", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: IgnoreClickOnSelectionDirective, selector: "[fdkIgnoreClickOnSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
457
457
  }
458
458
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: DynamicPageHeaderComponent, decorators: [{
459
459
  type: Component,
@@ -462,7 +462,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImpor
462
462
  provide: DYNAMIC_PAGE_HEADER_TOKEN,
463
463
  useExisting: DynamicPageHeaderComponent
464
464
  }
465
- ], imports: [NgTemplateOutlet, IgnoreClickOnSelectionDirective], template: "<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 <div\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 </div>\n }\n </div>\n </div>\n </div>\n</div>\n@if (!_dynamicPageService.collapsed() && (subtitle || _subtitleTemplate)) {\n <div\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template [ngTemplateOutlet]=\"_subtitleTemplate ? subtitleRef : defaultSubtitle\"></ng-template>\n </div>\n}\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n<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", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"] }]
465
+ ], imports: [NgTemplateOutlet, IgnoreClickOnSelectionDirective], template: "<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", styles: [".fd-dynamic-page__breadcrumb-wrapper{width:100%;max-width:60%}\n"] }]
466
466
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DynamicPageService }, { type: i0.ChangeDetectorRef }], propDecorators: { title: [{
467
467
  type: Input
468
468
  }], titleWrap: [{
@@ -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) : undefined\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 <div\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 </div>\n }\n </div>\n </div>\n </div>\n</div>\n@if (!_dynamicPageService.collapsed() && (subtitle || _subtitleTemplate)) {\n <div\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdkIgnoreClickOnSelection\n >\n <ng-template [ngTemplateOutlet]=\"_subtitleTemplate ? subtitleRef : defaultSubtitle\"></ng-template>\n </div>\n}\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n<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 aria-haspopup=\"true\"\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@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 aria-haspopup=\"true\"\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@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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"}
@@ -90,38 +90,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImpor
90
90
 
91
91
  var IllustratedMessageTypes;
92
92
  (function (IllustratedMessageTypes) {
93
+ IllustratedMessageTypes["LARGE"] = "large";
94
+ IllustratedMessageTypes["MEDIUM"] = "medium";
95
+ IllustratedMessageTypes["SMALL"] = "small";
96
+ IllustratedMessageTypes["EXTRA_SMALL"] = "xsmall";
97
+ IllustratedMessageTypes["BASE"] = "base";
93
98
  IllustratedMessageTypes["SCENE"] = "scene";
94
99
  IllustratedMessageTypes["DIALOG"] = "dialog";
95
100
  IllustratedMessageTypes["SPOT"] = "spot";
96
101
  IllustratedMessageTypes["DOT"] = "dot";
97
- IllustratedMessageTypes["BASE"] = "base";
98
102
  })(IllustratedMessageTypes || (IllustratedMessageTypes = {}));
99
103
  let illustratedMessageUniqueId = 0;
100
104
  class IllustratedMessageComponent {
101
- /** @hidden */
102
105
  constructor(elementRef, _cdRef, _sanitizer) {
103
106
  this.elementRef = elementRef;
104
107
  this._cdRef = _cdRef;
105
108
  this._sanitizer = _sanitizer;
106
- /**
107
- * When set to true will remove the illustration from the Illustrated Message
108
- * The default is set to false
109
- */
110
109
  this.noSvg = false;
111
- /**
112
- * Id of the Illustrated Message
113
- * If not provided, a default one is generated
114
- */
115
110
  this.id = 'fd-illustrated-message-' + illustratedMessageUniqueId++;
116
- /** @hidden */
117
111
  this._subscriptions = new Subscription();
118
112
  }
119
- /**
120
- * @hidden
121
- * CssClassBuilder interface implementation
122
- * function must return single string
123
- * function is responsible for order which css classes are applied
124
- */
125
113
  buildComponentCssClass() {
126
114
  return [
127
115
  'fd-illustrated-message',
@@ -129,76 +117,90 @@ class IllustratedMessageComponent {
129
117
  this.class || ''
130
118
  ].filter(Boolean);
131
119
  }
132
- /** @hidden */
133
120
  ngOnChanges(changes) {
134
121
  if ('svgConfig' in changes) {
135
122
  this._constructHref();
136
123
  }
137
124
  }
138
- /** @hidden */
139
125
  ngOnInit() {
140
126
  const resizeSubscription = fromEvent(window, 'resize')
141
- .pipe(debounceTime(200)) // reduce frequent calls during window resizing
127
+ .pipe(debounceTime(200))
142
128
  .subscribe(() => this._constructHref());
143
129
  this._subscriptions.add(resizeSubscription);
144
130
  }
145
- /** @hidden */
146
131
  ngAfterContentChecked() {
147
132
  this._constructHref();
148
133
  }
149
- /** @hidden */
150
134
  ngOnDestroy() {
151
135
  this._subscriptions.unsubscribe();
152
136
  }
153
- /** @hidden */
154
137
  _constructHref() {
155
138
  this._inlineSvg = undefined;
156
139
  const containerWidth = this.elementRef.nativeElement.offsetWidth;
157
- this._tempType = this.type;
158
- if (!this.type && containerWidth > 0) {
159
- this._tempType = this._determineIllustratedMessageType(containerWidth);
160
- }
161
- const inlineSvg = this.svgConfig?.[this._tempType]?.file;
140
+ const normalizedType = this._normalizeType(this.type);
141
+ this._tempType = this.type ? normalizedType : this._determineIllustratedMessageType(containerWidth);
142
+ const normalizedConfig = this._normalizeSvgConfig(this.svgConfig);
143
+ const inlineSvg = normalizedConfig?.[this._tempType]?.file;
162
144
  if (inlineSvg) {
163
145
  this._inlineSvg = this._sanitizer.bypassSecurityTrustHtml(inlineSvg);
164
146
  }
165
- this._href = this.svgConfig ? this._getHrefByType(this._tempType, this.svgConfig) : '';
147
+ this._href = normalizedConfig ? this._getHrefByType(this._tempType, normalizedConfig) : '';
166
148
  this.buildComponentCssClass();
167
149
  this._cdRef.markForCheck();
168
150
  }
169
- /** @hidden */
170
151
  _determineIllustratedMessageType(width) {
171
152
  if (width >= 682) {
172
- return IllustratedMessageTypes.SCENE;
153
+ return IllustratedMessageTypes.LARGE;
173
154
  }
174
155
  else if (width >= 361) {
175
- return IllustratedMessageTypes.DIALOG;
156
+ return IllustratedMessageTypes.MEDIUM;
176
157
  }
177
158
  else if (width >= 261) {
178
- return IllustratedMessageTypes.SPOT;
159
+ return IllustratedMessageTypes.SMALL;
179
160
  }
180
161
  else if (width >= 161) {
181
- return IllustratedMessageTypes.DOT;
162
+ return IllustratedMessageTypes.EXTRA_SMALL;
182
163
  }
183
164
  return IllustratedMessageTypes.BASE;
184
165
  }
185
- /** @hidden */
166
+ _normalizeType(type) {
167
+ switch (type) {
168
+ case 'scene':
169
+ return 'large';
170
+ case 'dialog':
171
+ return 'medium';
172
+ case 'spot':
173
+ return 'small';
174
+ case 'dot':
175
+ return 'xsmall';
176
+ default:
177
+ return type;
178
+ }
179
+ }
180
+ _normalizeSvgConfig(config) {
181
+ return {
182
+ large: config.large || config.scene,
183
+ medium: config.medium || config.dialog,
184
+ small: config.small || config.spot,
185
+ xsmall: config.xsmall || config.dot
186
+ };
187
+ }
186
188
  _getHrefByType(type, svgConfig) {
187
189
  switch (type) {
188
- case IllustratedMessageTypes.SCENE:
189
- return `${svgConfig.scene?.url || ''}#${svgConfig.scene?.id}`;
190
- case IllustratedMessageTypes.DIALOG:
191
- return `${svgConfig.dialog?.url || ''}#${svgConfig.dialog?.id}`;
192
- case IllustratedMessageTypes.SPOT:
193
- return `${svgConfig.spot?.url || ''}#${svgConfig.spot?.id}`;
194
- case IllustratedMessageTypes.DOT:
195
- return `${svgConfig.dot?.url || ''}#${svgConfig.dot?.id}`;
190
+ case 'large':
191
+ return `${svgConfig.large?.url || ''}#${svgConfig.large?.id}`;
192
+ case 'medium':
193
+ return `${svgConfig.medium?.url || ''}#${svgConfig.medium?.id}`;
194
+ case 'small':
195
+ return `${svgConfig.small?.url || ''}#${svgConfig.small?.id}`;
196
+ case 'xsmall':
197
+ return `${svgConfig.xsmall?.url || ''}#${svgConfig.xsmall?.id}`;
196
198
  default:
197
199
  return '';
198
200
  }
199
201
  }
200
202
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: IllustratedMessageComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
201
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: IllustratedMessageComponent, isStandalone: true, selector: "[fd-illustrated-message]", inputs: { type: "type", svgConfig: "svgConfig", svgAriaLabel: "svgAriaLabel", noSvg: "noSvg", id: "id", class: "class" }, host: { properties: { "attr.id": "this.id" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-illustrated-message__container\">\n @if (!noSvg) {\n <svg class=\"fd-illustrated-message__illustration\" [attr.aria-label]=\"svgAriaLabel\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n }\n @if (_inlineSvg) {\n <div [style.display]=\"'none'\" [innerHTML]=\"_inlineSvg\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n", styles: [".fd-illustrated-message{--illustratedMessagePadding:1rem;--illustratedMessageMaxWidth:auto;--actionsMarginInline:0;--actionsMarginBlock:1rem;--actionsPaddingInlineStart:0;--actionsPaddingInlineEnd:0;--illustrationMinWidth:15rem;--illustrationMaxWidth:20rem;--illustrationMinHeight:11.25rem;--illustrationMaxHeight:15rem;--illustrationMarginBlock:2rem;--illustrationMarginInlineStart:0;--illustrationMarginInlineEnd:0;--illustrationDisplay:flex;--containerFlexDirection:column;--figcaptionMaxWidth:61.9375rem;--titleMinWidth:auto;--titleMarginBottom:1rem;--titleFontSize:var(--sapFontHeader2Size);--textMinWidth:auto;--textMarginBottom:.5rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:var(--illustratedMessageMaxWidth);min-height:100%;padding-block:var(--illustratedMessagePadding);padding-inline:var(--illustratedMessagePadding);text-align:center;width:100%}.fd-illustrated-message:after,.fd-illustrated-message:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message-responsive-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;container-type:inline-size;height:100%;min-height:100%;width:100%}.fd-illustrated-message-responsive-container:after,.fd-illustrated-message-responsive-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:var(--containerFlexDirection);flex-direction:var(--containerFlexDirection)}.fd-illustrated-message__container:after,.fd-illustrated-message__container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--illustrationDisplay);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:auto;line-height:normal;margin-block:0;margin-block:var(--illustrationMarginBlock);margin-inline:0;margin-inline:var(--illustrationMarginInlineStart) var(--illustrationMarginInlineEnd);max-height:var(--illustrationMaxHeight);max-width:var(--illustrationMaxWidth);min-height:var(--illustrationMinHeight);min-width:var(--illustrationMinWidth);padding-block:0;padding-inline:0;width:auto}.fd-illustrated-message__illustration:after,.fd-illustrated-message__illustration:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:var(--figcaptionMaxWidth);overflow:hidden}.fd-illustrated-message__figcaption:after,.fd-illustrated-message__figcaption:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--titleFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-align:center;width:100%;-webkit-margin-after:var(--titleMarginBottom);margin-block-end:var(--titleMarginBottom)}.fd-illustrated-message__title:after,.fd-illustrated-message__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1.5;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-align:center;text-wrap:wrap;-webkit-margin-after:var(--textMarginBottom);margin-block-end:var(--textMarginBottom)}.fd-illustrated-message__text:after,.fd-illustrated-message__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;margin-block:var(--actionsMarginBlock);margin-inline:var(--actionsMarginInline);padding-inline:var(--actionsPaddingInlineStart) var(--actionsPaddingInlineEnd)}.fd-illustrated-message__actions:after,.fd-illustrated-message__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message--dialog{--illustrationMinWidth:10rem;--illustrationMinHeight:10rem;--illustrationMaxWidth:10rem;--illustrationMaxHeight:10rem;--illustrationMarginBlock:1rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader3Size);--figcaptionMaxWidth:40.5625rem;--actionsMarginBlock:.5rem 1rem}.fd-illustrated-message--spot{--illustratedMessagePadding:.5rem;--illustrationMinWidth:8rem;--illustrationMinHeight:8rem;--illustrationMaxWidth:8rem;--illustrationMaxHeight:8rem;--illustrationMarginBlock:0 .5rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader4Size);--figcaptionMaxWidth:21.5rem;--actionsMarginBlock:.5rem}.fd-illustrated-message--dot{--illustratedMessagePadding:.25rem;--containerFlexDirection:row;--illustrationMinWidth:2.8125rem;--illustrationMaxWidth:2.8125rem;--illustrationMinHeight:2.8125rem;--illustrationMaxHeight:2.8125rem;--illustrationMarginBlock:0;--illustrationMarginInlineEnd:.25rem;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:var(--illustrationMaxWidth)}.fd-illustrated-message--base{--illustratedMessagePadding:.25rem;--illustratedMessageMaxWidth:auto;--illustrationDisplay:none;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:0}@container (width <= 681px){.fd-illustrated-message{--illustrationMinWidth:10rem;--illustrationMinHeight:10rem;--illustrationMaxWidth:10rem;--illustrationMaxHeight:10rem;--illustrationMarginBlock:1rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader3Size);--figcaptionMaxWidth:40.5625rem;--actionsMarginBlock:.5rem 1rem}}@container (width <= 360px){.fd-illustrated-message{--illustratedMessagePadding:.5rem;--illustrationMinWidth:8rem;--illustrationMinHeight:8rem;--illustrationMaxWidth:8rem;--illustrationMaxHeight:8rem;--illustrationMarginBlock:0 .5rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader4Size);--figcaptionMaxWidth:21.5rem;--actionsMarginBlock:.5rem}}@container (width <= 260px){.fd-illustrated-message{--illustratedMessagePadding:.25rem;--containerFlexDirection:row;--illustrationMinWidth:2.8125rem;--illustrationMaxWidth:2.8125rem;--illustrationMinHeight:2.8125rem;--illustrationMaxHeight:2.8125rem;--illustrationMarginBlock:0;--illustrationMarginInlineEnd:.25rem;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:var(--illustrationMaxWidth)}}@container (width <= 160px){.fd-illustrated-message{--illustratedMessagePadding:.25rem;--illustratedMessageMaxWidth:auto;--illustrationDisplay:none;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:0}}.fd-illustrated-message__illustration{height:var(--illustrationMaxWidth)}\n/*! Bundled license information:\n\nfundamental-styles/dist/illustrated-message.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
203
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.3", type: IllustratedMessageComponent, isStandalone: true, selector: "[fd-illustrated-message]", inputs: { type: "type", svgConfig: "svgConfig", svgAriaLabel: "svgAriaLabel", noSvg: "noSvg", id: "id", class: "class" }, host: { properties: { "attr.id": "this.id" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"fd-illustrated-message__container\">\n @if (!noSvg) {\n <svg class=\"fd-illustrated-message__illustration\" [attr.aria-label]=\"svgAriaLabel\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n }\n @if (_inlineSvg) {\n <div [style.display]=\"'none'\" [innerHTML]=\"_inlineSvg\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n", styles: [".fd-illustrated-message{--illustratedMessagePadding: 1rem;--illustratedMessageMaxWidth: auto;--actionsMarginInline: 0;--actionsMarginBlock: 1rem;--actionsPaddingInlineStart: 0;--actionsPaddingInlineEnd: 0;--illustrationMinWidth: 15rem;--illustrationMaxWidth: 20rem;--illustrationMinHeight: 11.25rem;--illustrationMaxHeight: 15rem;--illustrationMarginBlock: 2rem;--illustrationMarginInlineStart: 0;--illustrationMarginInlineEnd: 0;--illustrationDisplay: flex;--containerFlexDirection: column;--figcaptionMaxWidth: 61.9375rem;--titleMinWidth: auto;--titleMarginBottom: 1rem;--titleFontSize: var(--sapFontHeader2Size);--textMinWidth: auto;--textMarginBottom: .5rem;font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;text-align:center;max-width:var(--illustratedMessageMaxWidth);padding-block:var(--illustratedMessagePadding);padding-inline:var(--illustratedMessagePadding)}.fd-illustrated-message:before,.fd-illustrated-message:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message-responsive-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-height:100%;height:100%;container-type:inline-size}.fd-illustrated-message-responsive-container:before,.fd-illustrated-message-responsive-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:var(--containerFlexAlignment, center);-ms-flex-align:var(--containerFlexAlignment, center);align-items:var(--containerFlexAlignment, center);-ms-flex-direction:var(--containerFlexDirection);flex-direction:var(--containerFlexDirection)}.fd-illustrated-message__container:before,.fd-illustrated-message__container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:auto;height:auto;display:var(--illustrationDisplay);min-width:var(--illustrationMinWidth);min-height:var(--illustrationMinHeight);max-width:var(--illustrationMaxWidth);max-height:var(--illustrationMaxHeight);margin-block:var(--illustrationMarginBlock);margin-inline:var(--illustrationMarginInlineStart) var(--illustrationMarginInlineEnd)}.fd-illustrated-message__illustration:before,.fd-illustrated-message__illustration:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;max-width:var(--figcaptionMaxWidth)}.fd-illustrated-message__figcaption:before,.fd-illustrated-message__figcaption:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;text-align:center;font-size:var(--titleFontSize);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontHeaderFamily);-webkit-margin-after:var(--titleMarginBottom);margin-block-end:var(--titleMarginBottom)}.fd-illustrated-message__title:before,.fd-illustrated-message__title:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;text-wrap:wrap;text-align:center;line-height:1.5;-webkit-margin-after:var(--textMarginBottom);margin-block-end:var(--textMarginBottom)}.fd-illustrated-message__text:before,.fd-illustrated-message__text:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;margin-block:var(--actionsMarginBlock);margin-inline:var(--actionsMarginInline);padding-inline:var(--actionsPaddingInlineStart) var(--actionsPaddingInlineEnd)}.fd-illustrated-message__actions:before,.fd-illustrated-message__actions:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message--dialog,.fd-illustrated-message--medium{--illustrationMinWidth: 10rem;--illustrationMinHeight: 10rem;--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: 1rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader3Size);--figcaptionMaxWidth: 40.5625rem;--actionsMarginBlock: .5rem 1rem}.fd-illustrated-message--spot,.fd-illustrated-message--small{--illustratedMessagePadding: .5rem;--illustrationMinWidth: 8rem;--illustrationMinHeight: 8rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: 0 .5rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader4Size);--figcaptionMaxWidth: 21.5rem;--actionsMarginBlock: .5rem}.fd-illustrated-message--dot,.fd-illustrated-message--xsmall{--illustratedMessagePadding: .25rem;--containerFlexDirection: row;--containerFlexAlignment: flex-start;--illustrationMinWidth: 2.8125rem;--illustrationMaxWidth: 2.8125rem;--illustrationMinHeight: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: 0;--illustrationMarginInlineEnd: .25rem;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: var(--illustrationMaxWidth)}.fd-illustrated-message--base{--illustratedMessagePadding: .25rem;--illustratedMessageMaxWidth: auto;--illustrationDisplay: none;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: 0}@container (width <= 681px){.fd-illustrated-message{--illustrationMinWidth: 10rem;--illustrationMinHeight: 10rem;--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: 1rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader3Size);--figcaptionMaxWidth: 40.5625rem;--actionsMarginBlock: .5rem 1rem}}@container (width <= 360px){.fd-illustrated-message{--illustratedMessagePadding: .5rem;--illustrationMinWidth: 8rem;--illustrationMinHeight: 8rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: 0 .5rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader4Size);--figcaptionMaxWidth: 21.5rem;--actionsMarginBlock: .5rem}}@container (width <= 260px){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--containerFlexDirection: row;--containerFlexAlignment: flex-start;--illustrationMinWidth: 2.8125rem;--illustrationMaxWidth: 2.8125rem;--illustrationMinHeight: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: 0;--illustrationMarginInlineEnd: .25rem;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: var(--illustrationMaxWidth)}}@container (width <= 160px){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--illustratedMessageMaxWidth: auto;--illustrationDisplay: none;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: 0}}.fd-illustrated-message__illustration{width:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
202
204
  }
203
205
  __decorate([
204
206
  applyCssClass,
@@ -208,7 +210,7 @@ __decorate([
208
210
  ], IllustratedMessageComponent.prototype, "buildComponentCssClass", null);
209
211
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.3", ngImport: i0, type: IllustratedMessageComponent, decorators: [{
210
212
  type: Component,
211
- args: [{ selector: '[fd-illustrated-message]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div class=\"fd-illustrated-message__container\">\n @if (!noSvg) {\n <svg class=\"fd-illustrated-message__illustration\" [attr.aria-label]=\"svgAriaLabel\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n }\n @if (_inlineSvg) {\n <div [style.display]=\"'none'\" [innerHTML]=\"_inlineSvg\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n", styles: [".fd-illustrated-message{--illustratedMessagePadding:1rem;--illustratedMessageMaxWidth:auto;--actionsMarginInline:0;--actionsMarginBlock:1rem;--actionsPaddingInlineStart:0;--actionsPaddingInlineEnd:0;--illustrationMinWidth:15rem;--illustrationMaxWidth:20rem;--illustrationMinHeight:11.25rem;--illustrationMaxHeight:15rem;--illustrationMarginBlock:2rem;--illustrationMarginInlineStart:0;--illustrationMarginInlineEnd:0;--illustrationDisplay:flex;--containerFlexDirection:column;--figcaptionMaxWidth:61.9375rem;--titleMinWidth:auto;--titleMarginBottom:1rem;--titleFontSize:var(--sapFontHeader2Size);--textMinWidth:auto;--textMarginBottom:.5rem;border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:var(--illustratedMessageMaxWidth);min-height:100%;padding-block:var(--illustratedMessagePadding);padding-inline:var(--illustratedMessagePadding);text-align:center;width:100%}.fd-illustrated-message:after,.fd-illustrated-message:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message-responsive-container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;container-type:inline-size;height:100%;min-height:100%;width:100%}.fd-illustrated-message-responsive-container:after,.fd-illustrated-message-responsive-container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__container{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:var(--containerFlexDirection);flex-direction:var(--containerFlexDirection)}.fd-illustrated-message__container:after,.fd-illustrated-message__container:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:var(--illustrationDisplay);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:auto;line-height:normal;margin-block:0;margin-block:var(--illustrationMarginBlock);margin-inline:0;margin-inline:var(--illustrationMarginInlineStart) var(--illustrationMarginInlineEnd);max-height:var(--illustrationMaxHeight);max-width:var(--illustrationMaxWidth);min-height:var(--illustrationMinHeight);min-width:var(--illustrationMinWidth);padding-block:0;padding-inline:0;width:auto}.fd-illustrated-message__illustration:after,.fd-illustrated-message__illustration:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:var(--figcaptionMaxWidth);overflow:hidden}.fd-illustrated-message__figcaption:after,.fd-illustrated-message__figcaption:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-family:var(--sapFontHeaderFamily);font-size:var(--sapFontSize);font-size:var(--titleFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-align:center;width:100%;-webkit-margin-after:var(--titleMarginBottom);margin-block-end:var(--titleMarginBottom)}.fd-illustrated-message__title:after,.fd-illustrated-message__title:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;line-height:1.5;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;text-align:center;text-wrap:wrap;-webkit-margin-after:var(--textMarginBottom);margin-block-end:var(--textMarginBottom)}.fd-illustrated-message__text:after,.fd-illustrated-message__text:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{border:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:var(--sapTextColor);display:-webkit-box;display:-ms-flexbox;display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:normal;margin-block:0;margin-inline:0;padding-block:0;padding-inline:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;margin-block:var(--actionsMarginBlock);margin-inline:var(--actionsMarginInline);padding-inline:var(--actionsPaddingInlineStart) var(--actionsPaddingInlineEnd)}.fd-illustrated-message__actions:after,.fd-illustrated-message__actions:before{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message--dialog{--illustrationMinWidth:10rem;--illustrationMinHeight:10rem;--illustrationMaxWidth:10rem;--illustrationMaxHeight:10rem;--illustrationMarginBlock:1rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader3Size);--figcaptionMaxWidth:40.5625rem;--actionsMarginBlock:.5rem 1rem}.fd-illustrated-message--spot{--illustratedMessagePadding:.5rem;--illustrationMinWidth:8rem;--illustrationMinHeight:8rem;--illustrationMaxWidth:8rem;--illustrationMaxHeight:8rem;--illustrationMarginBlock:0 .5rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader4Size);--figcaptionMaxWidth:21.5rem;--actionsMarginBlock:.5rem}.fd-illustrated-message--dot{--illustratedMessagePadding:.25rem;--containerFlexDirection:row;--illustrationMinWidth:2.8125rem;--illustrationMaxWidth:2.8125rem;--illustrationMinHeight:2.8125rem;--illustrationMaxHeight:2.8125rem;--illustrationMarginBlock:0;--illustrationMarginInlineEnd:.25rem;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:var(--illustrationMaxWidth)}.fd-illustrated-message--base{--illustratedMessagePadding:.25rem;--illustratedMessageMaxWidth:auto;--illustrationDisplay:none;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:0}@container (width <= 681px){.fd-illustrated-message{--illustrationMinWidth:10rem;--illustrationMinHeight:10rem;--illustrationMaxWidth:10rem;--illustrationMaxHeight:10rem;--illustrationMarginBlock:1rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader3Size);--figcaptionMaxWidth:40.5625rem;--actionsMarginBlock:.5rem 1rem}}@container (width <= 360px){.fd-illustrated-message{--illustratedMessagePadding:.5rem;--illustrationMinWidth:8rem;--illustrationMinHeight:8rem;--illustrationMaxWidth:8rem;--illustrationMaxHeight:8rem;--illustrationMarginBlock:0 .5rem;--titleMarginBottom:.5rem;--titleFontSize:var(--sapFontHeader4Size);--figcaptionMaxWidth:21.5rem;--actionsMarginBlock:.5rem}}@container (width <= 260px){.fd-illustrated-message{--illustratedMessagePadding:.25rem;--containerFlexDirection:row;--illustrationMinWidth:2.8125rem;--illustrationMaxWidth:2.8125rem;--illustrationMinHeight:2.8125rem;--illustrationMaxHeight:2.8125rem;--illustrationMarginBlock:0;--illustrationMarginInlineEnd:.25rem;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:var(--illustrationMaxWidth)}}@container (width <= 160px){.fd-illustrated-message{--illustratedMessagePadding:.25rem;--illustratedMessageMaxWidth:auto;--illustrationDisplay:none;--figcaptionMaxWidth:12.6875rem;--titleMarginBottom:.25rem;--titleFontSize:var(--sapFontHeader5Size);--textMarginBottom:.313rem;--actionsMarginBlock:.25rem;--actionsMarginInline:auto;--actionsPaddingInlineStart:0}}.fd-illustrated-message__illustration{height:var(--illustrationMaxWidth)}\n/*! Bundled license information:\n\nfundamental-styles/dist/illustrated-message.css:\n (*!\n * Fundamental Library Styles v0.40.1\n * Copyright (c) 2025 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n *)\n*/\n"] }]
213
+ args: [{ selector: '[fd-illustrated-message]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div class=\"fd-illustrated-message__container\">\n @if (!noSvg) {\n <svg class=\"fd-illustrated-message__illustration\" [attr.aria-label]=\"svgAriaLabel\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n }\n @if (_inlineSvg) {\n <div [style.display]=\"'none'\" [innerHTML]=\"_inlineSvg\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n", styles: [".fd-illustrated-message{--illustratedMessagePadding: 1rem;--illustratedMessageMaxWidth: auto;--actionsMarginInline: 0;--actionsMarginBlock: 1rem;--actionsPaddingInlineStart: 0;--actionsPaddingInlineEnd: 0;--illustrationMinWidth: 15rem;--illustrationMaxWidth: 20rem;--illustrationMinHeight: 11.25rem;--illustrationMaxHeight: 15rem;--illustrationMarginBlock: 2rem;--illustrationMarginInlineStart: 0;--illustrationMarginInlineEnd: 0;--illustrationDisplay: flex;--containerFlexDirection: column;--figcaptionMaxWidth: 61.9375rem;--titleMinWidth: auto;--titleMarginBottom: 1rem;--titleFontSize: var(--sapFontHeader2Size);--textMinWidth: auto;--textMarginBottom: .5rem;font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;text-align:center;max-width:var(--illustratedMessageMaxWidth);padding-block:var(--illustratedMessagePadding);padding-inline:var(--illustratedMessagePadding)}.fd-illustrated-message:before,.fd-illustrated-message:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message-responsive-container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-height:100%;height:100%;container-type:inline-size}.fd-illustrated-message-responsive-container:before,.fd-illustrated-message-responsive-container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__container{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:var(--containerFlexAlignment, center);-ms-flex-align:var(--containerFlexAlignment, center);align-items:var(--containerFlexAlignment, center);-ms-flex-direction:var(--containerFlexDirection);flex-direction:var(--containerFlexDirection)}.fd-illustrated-message__container:before,.fd-illustrated-message__container:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__illustration{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:auto;height:auto;display:var(--illustrationDisplay);min-width:var(--illustrationMinWidth);min-height:var(--illustrationMinHeight);max-width:var(--illustrationMaxWidth);max-height:var(--illustrationMaxHeight);margin-block:var(--illustrationMarginBlock);margin-inline:var(--illustrationMarginInlineStart) var(--illustrationMarginInlineEnd)}.fd-illustrated-message__illustration:before,.fd-illustrated-message__illustration:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__figcaption{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:hidden;max-width:var(--figcaptionMaxWidth)}.fd-illustrated-message__figcaption:before,.fd-illustrated-message__figcaption:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__title{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;width:100%;text-align:center;font-size:var(--titleFontSize);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontHeaderFamily);-webkit-margin-after:var(--titleMarginBottom);margin-block-end:var(--titleMarginBottom)}.fd-illustrated-message__title:before,.fd-illustrated-message__title:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__text{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;text-wrap:wrap;text-align:center;line-height:1.5;-webkit-margin-after:var(--textMarginBottom);margin-block-end:var(--textMarginBottom)}.fd-illustrated-message__text:before,.fd-illustrated-message__text:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message__actions{font-size:var(--sapFontSize);line-height:normal;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-weight:400;-webkit-box-sizing:border-box;box-sizing:border-box;forced-color-adjust:none;padding-inline:0;padding-block:0;margin-inline:0;margin-block:0;border:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:.5rem;margin-block:var(--actionsMarginBlock);margin-inline:var(--actionsMarginInline);padding-inline:var(--actionsPaddingInlineStart) var(--actionsPaddingInlineEnd)}.fd-illustrated-message__actions:before,.fd-illustrated-message__actions:after{-webkit-box-sizing:inherit;box-sizing:inherit;font-size:inherit}.fd-illustrated-message--dialog,.fd-illustrated-message--medium{--illustrationMinWidth: 10rem;--illustrationMinHeight: 10rem;--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: 1rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader3Size);--figcaptionMaxWidth: 40.5625rem;--actionsMarginBlock: .5rem 1rem}.fd-illustrated-message--spot,.fd-illustrated-message--small{--illustratedMessagePadding: .5rem;--illustrationMinWidth: 8rem;--illustrationMinHeight: 8rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: 0 .5rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader4Size);--figcaptionMaxWidth: 21.5rem;--actionsMarginBlock: .5rem}.fd-illustrated-message--dot,.fd-illustrated-message--xsmall{--illustratedMessagePadding: .25rem;--containerFlexDirection: row;--containerFlexAlignment: flex-start;--illustrationMinWidth: 2.8125rem;--illustrationMaxWidth: 2.8125rem;--illustrationMinHeight: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: 0;--illustrationMarginInlineEnd: .25rem;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: var(--illustrationMaxWidth)}.fd-illustrated-message--base{--illustratedMessagePadding: .25rem;--illustratedMessageMaxWidth: auto;--illustrationDisplay: none;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: 0}@container (width <= 681px){.fd-illustrated-message{--illustrationMinWidth: 10rem;--illustrationMinHeight: 10rem;--illustrationMaxWidth: 10rem;--illustrationMaxHeight: 10rem;--illustrationMarginBlock: 1rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader3Size);--figcaptionMaxWidth: 40.5625rem;--actionsMarginBlock: .5rem 1rem}}@container (width <= 360px){.fd-illustrated-message{--illustratedMessagePadding: .5rem;--illustrationMinWidth: 8rem;--illustrationMinHeight: 8rem;--illustrationMaxWidth: 8rem;--illustrationMaxHeight: 8rem;--illustrationMarginBlock: 0 .5rem;--titleMarginBottom: .5rem;--titleFontSize: var(--sapFontHeader4Size);--figcaptionMaxWidth: 21.5rem;--actionsMarginBlock: .5rem}}@container (width <= 260px){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--containerFlexDirection: row;--containerFlexAlignment: flex-start;--illustrationMinWidth: 2.8125rem;--illustrationMaxWidth: 2.8125rem;--illustrationMinHeight: 2.8125rem;--illustrationMaxHeight: 2.8125rem;--illustrationMarginBlock: 0;--illustrationMarginInlineEnd: .25rem;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: var(--illustrationMaxWidth)}}@container (width <= 160px){.fd-illustrated-message{--illustratedMessagePadding: .25rem;--illustratedMessageMaxWidth: auto;--illustrationDisplay: none;--figcaptionMaxWidth: 12.6875rem;--titleMarginBottom: .25rem;--titleFontSize: var(--sapFontHeader5Size);--textMarginBottom: .313rem;--actionsMarginBlock: .25rem;--actionsMarginInline: auto;--actionsPaddingInlineStart: 0}}.fd-illustrated-message__illustration{width:100%}\n"] }]
212
214
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.DomSanitizer }], propDecorators: { type: [{
213
215
  type: Input
214
216
  }], svgConfig: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-illustrated-message.mjs","sources":["../../../../libs/core/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.ts","../../../../libs/core/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.ts","../../../../libs/core/illustrated-message/illustrated-message.component.ts","../../../../libs/core/illustrated-message/illustrated-message.component.html","../../../../libs/core/illustrated-message/illustrated-message.module.ts","../../../../libs/core/illustrated-message/fundamental-ngx-core-illustrated-message.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'fd-illustrated-message-actions',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__actions'\n },\n standalone: true\n})\nexport class IllustratedMessageActionsComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message-figcaption]',\n template: `\n <ng-content select=\"[fd-illustrated-message-title]\"></ng-content>\n <ng-content select=\"[fd-illustrated-message-text]\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__figcaption'\n },\n standalone: true\n})\nexport class IllustratedMessageFigcaptionComponent {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-text]',\n standalone: true\n})\nexport class IllustratedMessageTextDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__text')\n fdIllustratedMessageTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-title]',\n standalone: true\n})\nexport class IllustratedMessageTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__title')\n fdIllustratedMessageTitleClass = true;\n}\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { CssClassBuilder, Nullable, RequireOnlyOne, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { Subscription, debounceTime, fromEvent } from 'rxjs';\n\nexport interface SvgConfig {\n scene?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n dialog?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n spot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n dot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n}\n\nexport interface SvgItemConfig {\n url: string;\n id: string;\n file: string;\n}\n\nexport type IllustratedMessageType = 'scene' | 'dialog' | 'spot' | 'dot' | 'base';\n\nexport enum IllustratedMessageTypes {\n SCENE = 'scene',\n DIALOG = 'dialog',\n SPOT = 'spot',\n DOT = 'dot',\n BASE = 'base'\n}\n\nlet illustratedMessageUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message]',\n templateUrl: './illustrated-message.component.html',\n styleUrl: './illustrated-message.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: []\n})\nexport class IllustratedMessageComponent implements AfterContentChecked, OnChanges, OnDestroy, OnInit, CssClassBuilder {\n /**\n * The type of the Illustrated Message\n * Options include: 'scene' | 'spot' | 'dialog' | 'dot' | 'base'.\n */\n @Input()\n type: IllustratedMessageType;\n\n /**\n * An object containing url and id for each type used to construct the svg href\n * For 'scene' type 'scene' and 'dialog' values are required\n * In small screens (less than 600px) 'dialog' svg will be applied for 'scene' type\n */\n @Input()\n svgConfig: SvgConfig;\n\n /**\n * aria-label for the svg\n */\n @Input()\n svgAriaLabel: Nullable<string>;\n\n /**\n * When set to true will remove the illustration from the Illustrated Message\n * The default is set to false\n */\n @Input()\n noSvg = false;\n\n /**\n * Id of the Illustrated Message\n * If not provided, a default one is generated\n */\n @Input()\n @HostBinding('attr.id')\n id: string = 'fd-illustrated-message-' + illustratedMessageUniqueId++;\n\n /** User's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n _href: string;\n\n /** @hidden */\n _isSmallScreen: boolean;\n\n /** @hidden */\n _inlineSvg: SafeHtml | undefined;\n\n /** @hidden */\n _tempType: IllustratedMessageType;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer\n ) {}\n\n /**\n * @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-illustrated-message',\n this._tempType ? `fd-illustrated-message--${this._tempType}` : '',\n this.class || ''\n ].filter(Boolean);\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if ('svgConfig' in changes) {\n this._constructHref();\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n const resizeSubscription = fromEvent(window, 'resize')\n .pipe(debounceTime(200)) // reduce frequent calls during window resizing\n .subscribe(() => this._constructHref());\n this._subscriptions.add(resizeSubscription);\n }\n\n /** @hidden */\n ngAfterContentChecked(): void {\n this._constructHref();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n private _constructHref(): void {\n this._inlineSvg = undefined;\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n this._tempType = this.type;\n if (!this.type && containerWidth > 0) {\n this._tempType = this._determineIllustratedMessageType(containerWidth);\n }\n const inlineSvg = this.svgConfig?.[this._tempType]?.file;\n if (inlineSvg) {\n this._inlineSvg = this._sanitizer.bypassSecurityTrustHtml(inlineSvg);\n }\n\n this._href = this.svgConfig ? this._getHrefByType(this._tempType, this.svgConfig) : '';\n this.buildComponentCssClass();\n\n this._cdRef.markForCheck();\n }\n\n /** @hidden */\n private _determineIllustratedMessageType(width: number): IllustratedMessageType {\n if (width >= 682) {\n return IllustratedMessageTypes.SCENE;\n } else if (width >= 361) {\n return IllustratedMessageTypes.DIALOG;\n } else if (width >= 261) {\n return IllustratedMessageTypes.SPOT;\n } else if (width >= 161) {\n return IllustratedMessageTypes.DOT;\n }\n\n return IllustratedMessageTypes.BASE;\n }\n\n /** @hidden */\n private _getHrefByType(type: IllustratedMessageType, svgConfig: SvgConfig): string {\n switch (type) {\n case IllustratedMessageTypes.SCENE:\n return `${svgConfig.scene?.url || ''}#${svgConfig.scene?.id}`;\n case IllustratedMessageTypes.DIALOG:\n return `${svgConfig.dialog?.url || ''}#${svgConfig.dialog?.id}`;\n case IllustratedMessageTypes.SPOT:\n return `${svgConfig.spot?.url || ''}#${svgConfig.spot?.id}`;\n case IllustratedMessageTypes.DOT:\n return `${svgConfig.dot?.url || ''}#${svgConfig.dot?.id}`;\n default:\n return '';\n }\n }\n}\n","<div class=\"fd-illustrated-message__container\">\n @if (!noSvg) {\n <svg class=\"fd-illustrated-message__illustration\" [attr.aria-label]=\"svgAriaLabel\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n }\n @if (_inlineSvg) {\n <div [style.display]=\"'none'\" [innerHTML]=\"_inlineSvg\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { IllustratedMessageActionsComponent } from './components/illustrated-message-actions/illustrated-message-actions.component';\nimport { IllustratedMessageComponent } from './illustrated-message.component';\n\nimport { IllustratedMessageFigcaptionComponent } from './components/illustrated-message-figcaption/illustrated-message-figcaption.component';\nimport { IllustratedMessageTextDirective } from './directives/illustrated-message-text/illustrated-message-text.directive';\nimport { IllustratedMessageTitleDirective } from './directives/illustrated-message-title/illustrated-message-title.directive';\n\nconst components = [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class IllustratedMessageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-illustrated-message.mjs","sources":["../../../../libs/core/illustrated-message/components/illustrated-message-actions/illustrated-message-actions.component.ts","../../../../libs/core/illustrated-message/components/illustrated-message-figcaption/illustrated-message-figcaption.component.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-text/illustrated-message-text.directive.ts","../../../../libs/core/illustrated-message/directives/illustrated-message-title/illustrated-message-title.directive.ts","../../../../libs/core/illustrated-message/illustrated-message.component.ts","../../../../libs/core/illustrated-message/illustrated-message.component.html","../../../../libs/core/illustrated-message/illustrated-message.module.ts","../../../../libs/core/illustrated-message/fundamental-ngx-core-illustrated-message.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'fd-illustrated-message-actions',\n template: `<ng-content></ng-content>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__actions'\n },\n standalone: true\n})\nexport class IllustratedMessageActionsComponent {}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message-figcaption]',\n template: `\n <ng-content select=\"[fd-illustrated-message-title]\"></ng-content>\n <ng-content select=\"[fd-illustrated-message-text]\"></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-illustrated-message__figcaption'\n },\n standalone: true\n})\nexport class IllustratedMessageFigcaptionComponent {}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-text]',\n standalone: true\n})\nexport class IllustratedMessageTextDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__text')\n fdIllustratedMessageTextClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n // TODO to be discussed\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-illustrated-message-title]',\n standalone: true\n})\nexport class IllustratedMessageTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-illustrated-message__title')\n fdIllustratedMessageTitleClass = true;\n}\n","import {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { CssClassBuilder, Nullable, RequireOnlyOne, applyCssClass } from '@fundamental-ngx/cdk/utils';\nimport { Subscription, debounceTime, fromEvent } from 'rxjs';\n\nexport interface SvgItemConfig {\n url: string;\n id: string;\n file: string;\n}\n\nexport interface SvgConfig {\n // New keys\n large?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n medium?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n small?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n xsmall?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n\n // Legacy keys\n scene?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n dialog?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n spot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n dot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;\n}\n\nexport type IllustratedMessageType =\n | 'large'\n | 'medium'\n | 'small'\n | 'xsmall'\n | 'base'\n | 'scene'\n | 'dialog'\n | 'spot'\n | 'dot';\n\nexport enum IllustratedMessageTypes {\n LARGE = 'large',\n MEDIUM = 'medium',\n SMALL = 'small',\n EXTRA_SMALL = 'xsmall',\n BASE = 'base',\n SCENE = 'scene',\n DIALOG = 'dialog',\n SPOT = 'spot',\n DOT = 'dot'\n}\n\nlet illustratedMessageUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-illustrated-message]',\n templateUrl: './illustrated-message.component.html',\n styleUrl: './illustrated-message.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: []\n})\nexport class IllustratedMessageComponent implements AfterContentChecked, OnChanges, OnDestroy, OnInit, CssClassBuilder {\n @Input()\n type: IllustratedMessageType;\n\n @Input()\n svgConfig: SvgConfig;\n\n @Input()\n svgAriaLabel: Nullable<string>;\n\n @Input()\n noSvg = false;\n\n @Input()\n @HostBinding('attr.id')\n id: string = 'fd-illustrated-message-' + illustratedMessageUniqueId++;\n\n @Input()\n class: string;\n\n _href: string;\n _isSmallScreen: boolean;\n _inlineSvg: SafeHtml | undefined;\n _tempType: IllustratedMessageType;\n\n private _subscriptions = new Subscription();\n\n constructor(\n public readonly elementRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n private _sanitizer: DomSanitizer\n ) {}\n\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-illustrated-message',\n this._tempType ? `fd-illustrated-message--${this._tempType}` : '',\n this.class || ''\n ].filter(Boolean);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('svgConfig' in changes) {\n this._constructHref();\n }\n }\n\n ngOnInit(): void {\n const resizeSubscription = fromEvent(window, 'resize')\n .pipe(debounceTime(200))\n .subscribe(() => this._constructHref());\n this._subscriptions.add(resizeSubscription);\n }\n\n ngAfterContentChecked(): void {\n this._constructHref();\n }\n\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n private _constructHref(): void {\n this._inlineSvg = undefined;\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n const normalizedType = this._normalizeType(this.type);\n this._tempType = this.type ? normalizedType : this._determineIllustratedMessageType(containerWidth);\n\n const normalizedConfig = this._normalizeSvgConfig(this.svgConfig);\n const inlineSvg = normalizedConfig?.[this._tempType]?.file;\n if (inlineSvg) {\n this._inlineSvg = this._sanitizer.bypassSecurityTrustHtml(inlineSvg);\n }\n\n this._href = normalizedConfig ? this._getHrefByType(this._tempType, normalizedConfig) : '';\n this.buildComponentCssClass();\n this._cdRef.markForCheck();\n }\n\n private _determineIllustratedMessageType(width: number): IllustratedMessageType {\n if (width >= 682) {\n return IllustratedMessageTypes.LARGE;\n } else if (width >= 361) {\n return IllustratedMessageTypes.MEDIUM;\n } else if (width >= 261) {\n return IllustratedMessageTypes.SMALL;\n } else if (width >= 161) {\n return IllustratedMessageTypes.EXTRA_SMALL;\n }\n\n return IllustratedMessageTypes.BASE;\n }\n\n private _normalizeType(type: IllustratedMessageType): IllustratedMessageType {\n switch (type) {\n case 'scene':\n return 'large';\n case 'dialog':\n return 'medium';\n case 'spot':\n return 'small';\n case 'dot':\n return 'xsmall';\n default:\n return type;\n }\n }\n\n private _normalizeSvgConfig(config: SvgConfig): SvgConfig {\n return {\n large: config.large || config.scene,\n medium: config.medium || config.dialog,\n small: config.small || config.spot,\n xsmall: config.xsmall || config.dot\n };\n }\n\n private _getHrefByType(type: IllustratedMessageType, svgConfig: SvgConfig): string {\n switch (type) {\n case 'large':\n return `${svgConfig.large?.url || ''}#${svgConfig.large?.id}`;\n case 'medium':\n return `${svgConfig.medium?.url || ''}#${svgConfig.medium?.id}`;\n case 'small':\n return `${svgConfig.small?.url || ''}#${svgConfig.small?.id}`;\n case 'xsmall':\n return `${svgConfig.xsmall?.url || ''}#${svgConfig.xsmall?.id}`;\n default:\n return '';\n }\n }\n}\n","<div class=\"fd-illustrated-message__container\">\n @if (!noSvg) {\n <svg class=\"fd-illustrated-message__illustration\" [attr.aria-label]=\"svgAriaLabel\">\n <use [attr.href]=\"_href\"></use>\n </svg>\n }\n @if (_inlineSvg) {\n <div [style.display]=\"'none'\" [innerHTML]=\"_inlineSvg\"></div>\n }\n <ng-content select=\"[fd-illustrated-message-figcaption]\"></ng-content>\n</div>\n<ng-content select=\"fd-illustrated-message-actions\"></ng-content>\n","import { NgModule } from '@angular/core';\n\nimport { IllustratedMessageActionsComponent } from './components/illustrated-message-actions/illustrated-message-actions.component';\nimport { IllustratedMessageComponent } from './illustrated-message.component';\n\nimport { IllustratedMessageFigcaptionComponent } from './components/illustrated-message-figcaption/illustrated-message-figcaption.component';\nimport { IllustratedMessageTextDirective } from './directives/illustrated-message-text/illustrated-message-text.directive';\nimport { IllustratedMessageTitleDirective } from './directives/illustrated-message-title/illustrated-message-title.directive';\n\nconst components = [\n IllustratedMessageComponent,\n IllustratedMessageActionsComponent,\n IllustratedMessageFigcaptionComponent,\n IllustratedMessageTextDirective,\n IllustratedMessageTitleDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class IllustratedMessageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -106,9 +106,6 @@ class SegmentedButtonComponent {
106
106
  this._listenToButtonChanges();
107
107
  this._pickButtonsByValues(this._currentValue);
108
108
  }
109
- else {
110
- setTimeout(() => this._listenToButtonChanges(), 0);
111
- }
112
109
  });
113
110
  }
114
111
  this._changeDetRef.detectChanges();
@@ -118,6 +115,7 @@ class SegmentedButtonComponent {
118
115
  if (!this._buttons || !this._focusableItems) {
119
116
  return;
120
117
  }
118
+ this._onRefresh$.next();
121
119
  merge(this._buttons.changes ?? EMPTY, this._focusableItems.changes ?? EMPTY)
122
120
  .pipe(startWith(1), observeOn(asyncScheduler), takeUntil(this._onDestroy$))
123
121
  .subscribe(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-segmented-button.mjs","sources":["../../../../libs/core/segmented-button/segmented-button.component.ts","../../../../libs/core/segmented-button/segmented-button.module.ts","../../../../libs/core/segmented-button/fundamental-ngx-core-segmented-button.ts"],"sourcesContent":["import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n Host,\n HostListener,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Optional,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n FocusableItemDirective,\n FocusableListDirective,\n KeyUtil,\n Nullable,\n RtlService,\n destroyObservable\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { EMPTY, Subject, asyncScheduler, fromEvent, merge } from 'rxjs';\nimport { filter, observeOn, startWith, takeUntil, tap } from 'rxjs/operators';\n\nexport type SegmentedButtonValue = string | (string | null)[] | null;\n\n/**\n * Container for grouped buttons.\n *\n * ```html\n * <fd-segmented-button [(ngModel)]=\"value\">\n * <button fd-button value=\"first\">Button</button>\n * <button fd-button value=\"second\">Button</button>\n * <button fd-button value=\"third\">Button</button>\n * </fd-segmented-button>\n * ```\n */\n@Component({\n selector: 'fd-segmented-button',\n template: `<ng-content></ng-content>`,\n styleUrl: './segmented-button.component.scss',\n host: {\n role: 'listbox',\n '[class.fd-segmented-button]': 'true',\n '[class.fd-segmented-button--vertical]': 'vertical'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SegmentedButtonComponent),\n multi: true\n }\n ],\n standalone: true,\n hostDirectives: [FocusableListDirective]\n})\nexport class SegmentedButtonComponent implements AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges {\n /** Whether segmented button is on toggle mode, which allows to toggle more than 1 button */\n @Input({ transform: booleanAttribute })\n toggle = false;\n\n /**\n * Whether segmented button is on vertical mode,\n * which allows to display buttons vertically\n **/\n @Input({ transform: booleanAttribute })\n vertical = false;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n _buttons: QueryList<ButtonComponent>;\n\n /** @hidden */\n @ContentChildren(FocusableItemDirective)\n _focusableItems: QueryList<FocusableItemDirective>;\n\n /**\n * Value of segmented button can have 2 types:\n * - string, when there is no toggle mode and only 1 value can be chosen.\n * - array of strings, when there is toggle mode and more than 1 value can be chosen.\n */\n private _currentValue: SegmentedButtonValue;\n\n /** @hidden */\n private _isDisabled = false;\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n private readonly _onDestroy$ = new Subject<void>();\n\n /** @hidden */\n constructor(\n private readonly _changeDetRef: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _destroyRef: DestroyRef,\n private readonly _ngZone: NgZone,\n @Optional() @Host() private _focusableList: FocusableListDirective,\n @Optional() private _rtlService: RtlService\n ) {\n this._focusableList.navigationDirection = this.vertical ? 'vertical' : 'horizontal';\n effect(() => {\n this._focusableList.contentDirection = this._rtlService?.rtlSignal() ? 'rtl' : 'ltr';\n });\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n private _click(event: MouseEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n onChange: (value: SegmentedButtonValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToButtonChanges();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.vertical) {\n this._focusableList.navigationDirection = this.vertical ? 'vertical' : 'horizontal';\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onRefresh$.complete();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n this._buttons = null as any;\n this._focusableItems = null as any;\n }\n\n /** @hidden */\n writeValue(values: string[] | string): void {\n this._currentValue = values;\n this._pickButtonsByValues(values);\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onChange* event of the SegmentedButtons.\n */\n registerOnChange(fn: (value: SegmentedButtonValue) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onTouch* event of the SegmentedButtons.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @hidden\n * @param isDisabled Sets the value of the *disabled* property of the SegmentedButtons.\n */\n setDisabledState(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n this._toggleDisableButtons(isDisabled);\n this._onRefresh$.next();\n\n if (!isDisabled) {\n this._ngZone.run(() => {\n if (this._buttons) {\n this._listenToButtonChanges();\n this._pickButtonsByValues(this._currentValue);\n } else {\n setTimeout(() => this._listenToButtonChanges(), 0);\n }\n });\n }\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n private _listenToButtonChanges(): void {\n if (!this._buttons || !this._focusableItems) {\n return;\n }\n\n merge(this._buttons.changes ?? EMPTY, this._focusableItems.changes ?? EMPTY)\n .pipe(startWith(1), observeOn(asyncScheduler), takeUntil(this._onDestroy$))\n .subscribe(() => {\n if (!this._buttons || !this._focusableItems) {\n return;\n }\n\n this._toggleDisableButtons(this._isDisabled);\n this._pickButtonsByValues(this._currentValue);\n this._buttons.forEach((button) => {\n button.elementRef.nativeElement.role = 'option';\n this._listenToTriggerEvents(button);\n });\n });\n }\n\n /** @hidden */\n private _listenToTriggerEvents(buttonComponent: ButtonComponent): void {\n const htmlElement = buttonComponent.elementRef.nativeElement;\n\n const refresh$ = merge(destroyObservable(this._destroyRef), this._onRefresh$);\n\n const triggerEvents$ = merge(\n fromEvent(htmlElement, 'click'),\n fromEvent<KeyboardEvent>(htmlElement, 'keydown').pipe(\n filter((event) => KeyUtil.isKeyCode(event, [ENTER, SPACE])),\n tap((event) => {\n event.preventDefault();\n this.onTouched();\n })\n )\n );\n\n triggerEvents$.pipe(takeUntil(refresh$)).subscribe(() => this._handleTriggerOnButton(buttonComponent));\n }\n\n /** @hidden */\n private _handleTriggerOnButton(buttonComponent: ButtonComponent): void {\n if (!this._isButtonDisabled(buttonComponent)) {\n if (!this.toggle) {\n this._buttons.forEach((button) => this._deselectButton(button));\n this._selectButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n } else {\n this._toggleButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n }\n }\n }\n\n /** @hidden */\n private _propagateChange(): void {\n const selectedValue = this._getValuesBySelected();\n this.onChange(selectedValue);\n this._currentValue = selectedValue;\n }\n\n /** @hidden */\n private _toggleButton(buttonComponent: ButtonComponent): void {\n if (this._isButtonSelected(buttonComponent)) {\n this._deselectButton(buttonComponent);\n } else {\n this._selectButton(buttonComponent);\n }\n }\n\n /** @hidden */\n private _pickButtonsByValues(values: SegmentedButtonValue): void {\n if (!this._buttons) {\n return;\n }\n this._buttons.forEach((button) => this._deselectButton(button));\n this._getButtonsByValues(values).forEach((button) => this._selectButton(button));\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n private _getButtonsByValues(values: SegmentedButtonValue): ButtonComponent[] {\n if (!values) {\n return [];\n }\n\n if (Array.isArray(values)) {\n return this._buttons.filter((button) => !!values.find((value) => this._getButtonValue(button) === value));\n } else {\n return this._buttons.filter((button) => this._getButtonValue(button) === values);\n }\n }\n\n /** @hidden */\n private _selectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = true;\n }\n\n /** @hidden */\n private _deselectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = false;\n }\n\n /** @hidden */\n private _isButtonSelected(buttonComponent: ButtonComponent): Nullable<boolean> {\n return !!buttonComponent.toggled;\n }\n\n /** @hidden */\n private _isButtonDisabled(buttonComponent: ButtonComponent): boolean {\n return buttonComponent.disabled || buttonComponent.ariaDisabled;\n }\n\n /** @hidden */\n private _toggleDisableButtons(disable: boolean): void {\n if (!this._buttons || !this._focusableItems) {\n return;\n }\n\n this._buttons.forEach((button) => (button.disabled = disable));\n\n this._focusableItems.forEach((focusableItemDirective) => {\n focusableItemDirective.setTabbable(!disable);\n focusableItemDirective.fdkFocusableItem = !disable;\n });\n if (disable) {\n this._buttons.forEach((button) => {\n button.elementRef.nativeElement.role = 'option';\n this._listenToTriggerEvents(button);\n });\n }\n\n this._changeDetRef.markForCheck();\n }\n\n /** @hidden */\n private _getButtonValue(buttonComponent: ButtonComponent): string | null {\n const element = buttonComponent.elementRef.nativeElement;\n if (element instanceof HTMLButtonElement) {\n return element.value;\n }\n return element.getAttribute('value');\n }\n\n /** @hidden\n * Returns values depending on selected state of buttons\n */\n private _getValuesBySelected(): SegmentedButtonValue {\n if (!this._buttons) {\n return [];\n }\n\n const resButtons = this._buttons\n .filter((button) => !!this._isButtonSelected(button))\n .map((button) => this._getButtonValue(button));\n if (!this.toggle) {\n return resButtons.length === 1 ? resButtons[0] : null;\n } else {\n return resButtons;\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SegmentedButtonComponent } from './segmented-button.component';\n\n/**\n * @deprecated\n * Use direct `SegmentedButtonComponent` import instead.\n */\n@NgModule({\n imports: [SegmentedButtonComponent],\n exports: [SegmentedButtonComponent]\n})\nexport class SegmentedButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-segmented-button.mjs","sources":["../../../../libs/core/segmented-button/segmented-button.component.ts","../../../../libs/core/segmented-button/segmented-button.module.ts","../../../../libs/core/segmented-button/fundamental-ngx-core-segmented-button.ts"],"sourcesContent":["import { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n DestroyRef,\n ElementRef,\n Host,\n HostListener,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Optional,\n QueryList,\n SimpleChanges,\n ViewEncapsulation,\n booleanAttribute,\n effect,\n forwardRef\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n FocusableItemDirective,\n FocusableListDirective,\n KeyUtil,\n Nullable,\n RtlService,\n destroyObservable\n} from '@fundamental-ngx/cdk/utils';\nimport { ButtonComponent, FD_BUTTON_COMPONENT } from '@fundamental-ngx/core/button';\nimport { EMPTY, Subject, asyncScheduler, fromEvent, merge } from 'rxjs';\nimport { filter, observeOn, startWith, takeUntil, tap } from 'rxjs/operators';\n\nexport type SegmentedButtonValue = string | (string | null)[] | null;\n\n/**\n * Container for grouped buttons.\n *\n * ```html\n * <fd-segmented-button [(ngModel)]=\"value\">\n * <button fd-button value=\"first\">Button</button>\n * <button fd-button value=\"second\">Button</button>\n * <button fd-button value=\"third\">Button</button>\n * </fd-segmented-button>\n * ```\n */\n@Component({\n selector: 'fd-segmented-button',\n template: `<ng-content></ng-content>`,\n styleUrl: './segmented-button.component.scss',\n host: {\n role: 'listbox',\n '[class.fd-segmented-button]': 'true',\n '[class.fd-segmented-button--vertical]': 'vertical'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SegmentedButtonComponent),\n multi: true\n }\n ],\n standalone: true,\n hostDirectives: [FocusableListDirective]\n})\nexport class SegmentedButtonComponent implements AfterViewInit, ControlValueAccessor, OnDestroy, OnChanges {\n /** Whether segmented button is on toggle mode, which allows to toggle more than 1 button */\n @Input({ transform: booleanAttribute })\n toggle = false;\n\n /**\n * Whether segmented button is on vertical mode,\n * which allows to display buttons vertically\n **/\n @Input({ transform: booleanAttribute })\n vertical = false;\n\n /** @hidden */\n @ContentChildren(FD_BUTTON_COMPONENT)\n _buttons: QueryList<ButtonComponent>;\n\n /** @hidden */\n @ContentChildren(FocusableItemDirective)\n _focusableItems: QueryList<FocusableItemDirective>;\n\n /**\n * Value of segmented button can have 2 types:\n * - string, when there is no toggle mode and only 1 value can be chosen.\n * - array of strings, when there is toggle mode and more than 1 value can be chosen.\n */\n private _currentValue: SegmentedButtonValue;\n\n /** @hidden */\n private _isDisabled = false;\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n private readonly _onDestroy$ = new Subject<void>();\n\n /** @hidden */\n constructor(\n private readonly _changeDetRef: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _destroyRef: DestroyRef,\n private readonly _ngZone: NgZone,\n @Optional() @Host() private _focusableList: FocusableListDirective,\n @Optional() private _rtlService: RtlService\n ) {\n this._focusableList.navigationDirection = this.vertical ? 'vertical' : 'horizontal';\n effect(() => {\n this._focusableList.contentDirection = this._rtlService?.rtlSignal() ? 'rtl' : 'ltr';\n });\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n private _click(event: MouseEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n onChange: (value: SegmentedButtonValue) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenToButtonChanges();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes && changes.vertical) {\n this._focusableList.navigationDirection = this.vertical ? 'vertical' : 'horizontal';\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onRefresh$.complete();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n this._buttons = null as any;\n this._focusableItems = null as any;\n }\n\n /** @hidden */\n writeValue(values: string[] | string): void {\n this._currentValue = values;\n this._pickButtonsByValues(values);\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onChange* event of the SegmentedButtons.\n */\n registerOnChange(fn: (value: SegmentedButtonValue) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onTouch* event of the SegmentedButtons.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @hidden\n * @param isDisabled Sets the value of the *disabled* property of the SegmentedButtons.\n */\n setDisabledState(isDisabled: boolean): void {\n this._isDisabled = isDisabled;\n this._toggleDisableButtons(isDisabled);\n this._onRefresh$.next();\n\n if (!isDisabled) {\n this._ngZone.run(() => {\n if (this._buttons) {\n this._listenToButtonChanges();\n this._pickButtonsByValues(this._currentValue);\n }\n });\n }\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n private _listenToButtonChanges(): void {\n if (!this._buttons || !this._focusableItems) {\n return;\n }\n\n this._onRefresh$.next();\n\n merge(this._buttons.changes ?? EMPTY, this._focusableItems.changes ?? EMPTY)\n .pipe(startWith(1), observeOn(asyncScheduler), takeUntil(this._onDestroy$))\n .subscribe(() => {\n if (!this._buttons || !this._focusableItems) {\n return;\n }\n\n this._toggleDisableButtons(this._isDisabled);\n this._pickButtonsByValues(this._currentValue);\n this._buttons.forEach((button) => {\n button.elementRef.nativeElement.role = 'option';\n this._listenToTriggerEvents(button);\n });\n });\n }\n\n /** @hidden */\n private _listenToTriggerEvents(buttonComponent: ButtonComponent): void {\n const htmlElement = buttonComponent.elementRef.nativeElement;\n\n const refresh$ = merge(destroyObservable(this._destroyRef), this._onRefresh$);\n\n const triggerEvents$ = merge(\n fromEvent(htmlElement, 'click'),\n fromEvent<KeyboardEvent>(htmlElement, 'keydown').pipe(\n filter((event) => KeyUtil.isKeyCode(event, [ENTER, SPACE])),\n tap((event) => {\n event.preventDefault();\n this.onTouched();\n })\n )\n );\n\n triggerEvents$.pipe(takeUntil(refresh$)).subscribe(() => this._handleTriggerOnButton(buttonComponent));\n }\n\n /** @hidden */\n private _handleTriggerOnButton(buttonComponent: ButtonComponent): void {\n if (!this._isButtonDisabled(buttonComponent)) {\n if (!this.toggle) {\n this._buttons.forEach((button) => this._deselectButton(button));\n this._selectButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n } else {\n this._toggleButton(buttonComponent);\n this._propagateChange();\n this._changeDetRef.markForCheck();\n }\n }\n }\n\n /** @hidden */\n private _propagateChange(): void {\n const selectedValue = this._getValuesBySelected();\n this.onChange(selectedValue);\n this._currentValue = selectedValue;\n }\n\n /** @hidden */\n private _toggleButton(buttonComponent: ButtonComponent): void {\n if (this._isButtonSelected(buttonComponent)) {\n this._deselectButton(buttonComponent);\n } else {\n this._selectButton(buttonComponent);\n }\n }\n\n /** @hidden */\n private _pickButtonsByValues(values: SegmentedButtonValue): void {\n if (!this._buttons) {\n return;\n }\n this._buttons.forEach((button) => this._deselectButton(button));\n this._getButtonsByValues(values).forEach((button) => this._selectButton(button));\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden */\n private _getButtonsByValues(values: SegmentedButtonValue): ButtonComponent[] {\n if (!values) {\n return [];\n }\n\n if (Array.isArray(values)) {\n return this._buttons.filter((button) => !!values.find((value) => this._getButtonValue(button) === value));\n } else {\n return this._buttons.filter((button) => this._getButtonValue(button) === values);\n }\n }\n\n /** @hidden */\n private _selectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = true;\n }\n\n /** @hidden */\n private _deselectButton(buttonComponent: ButtonComponent): void {\n buttonComponent.toggled = false;\n }\n\n /** @hidden */\n private _isButtonSelected(buttonComponent: ButtonComponent): Nullable<boolean> {\n return !!buttonComponent.toggled;\n }\n\n /** @hidden */\n private _isButtonDisabled(buttonComponent: ButtonComponent): boolean {\n return buttonComponent.disabled || buttonComponent.ariaDisabled;\n }\n\n /** @hidden */\n private _toggleDisableButtons(disable: boolean): void {\n if (!this._buttons || !this._focusableItems) {\n return;\n }\n\n this._buttons.forEach((button) => (button.disabled = disable));\n\n this._focusableItems.forEach((focusableItemDirective) => {\n focusableItemDirective.setTabbable(!disable);\n focusableItemDirective.fdkFocusableItem = !disable;\n });\n if (disable) {\n this._buttons.forEach((button) => {\n button.elementRef.nativeElement.role = 'option';\n this._listenToTriggerEvents(button);\n });\n }\n\n this._changeDetRef.markForCheck();\n }\n\n /** @hidden */\n private _getButtonValue(buttonComponent: ButtonComponent): string | null {\n const element = buttonComponent.elementRef.nativeElement;\n if (element instanceof HTMLButtonElement) {\n return element.value;\n }\n return element.getAttribute('value');\n }\n\n /** @hidden\n * Returns values depending on selected state of buttons\n */\n private _getValuesBySelected(): SegmentedButtonValue {\n if (!this._buttons) {\n return [];\n }\n\n const resButtons = this._buttons\n .filter((button) => !!this._isButtonSelected(button))\n .map((button) => this._getButtonValue(button));\n if (!this.toggle) {\n return resButtons.length === 1 ? resButtons[0] : null;\n } else {\n return resButtons;\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { SegmentedButtonComponent } from './segmented-button.component';\n\n/**\n * @deprecated\n * Use direct `SegmentedButtonComponent` import instead.\n */\n@NgModule({\n imports: [SegmentedButtonComponent],\n exports: [SegmentedButtonComponent]\n})\nexport class SegmentedButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAsCA;;;;;;;;;;AAUG;MAsBU,wBAAwB,CAAA;;IAoCjC,WACqB,CAAA,aAAgC,EAChC,WAAuB,EACvB,WAAuB,EACvB,OAAe,EACJ,cAAsC,EAC9C,WAAuB,EAAA;QAL1B,IAAa,CAAA,aAAA,GAAb,aAAa;QACb,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAW,CAAA,WAAA,GAAX,WAAW;QACX,IAAO,CAAA,OAAA,GAAP,OAAO;QACI,IAAc,CAAA,cAAA,GAAd,cAAc;QACtB,IAAW,CAAA,WAAA,GAAX,WAAW;;QAvCnC,IAAM,CAAA,MAAA,GAAG,KAAK;AAEd;;;AAGI;QAEJ,IAAQ,CAAA,QAAA,GAAG,KAAK;;QAkBR,IAAW,CAAA,WAAA,GAAG,KAAK;;AAGV,QAAA,IAAA,CAAA,WAAW,GAAkB,IAAI,OAAO,EAAQ;AAEhD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAQ;;AA0BlD,QAAA,IAAA,CAAA,QAAQ,GAA0C,MAAK,GAAG;;AAG1D,QAAA,IAAA,CAAA,SAAS,GAAG,MAAW,GAAG;AAlBtB,QAAA,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,YAAY;QACnF,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG,KAAK;AACxF,SAAC,CAAC;;;AAKE,IAAA,MAAM,CAAC,KAAiB,EAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC/D,IAAI,CAAC,SAAS,EAAE;;;;IAWxB,eAAe,GAAA;QACX,IAAI,CAAC,sBAAsB,EAAE;;;AAIjC,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE;AAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,YAAY;;;;IAK3F,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;AAC3B,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAW;AAC3B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAW;;;AAItC,IAAA,UAAU,CAAC,MAAyB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM;AAC3B,QAAA,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;;AAGrC;;;AAGG;AACH,IAAA,gBAAgB,CAAC,EAAyC,EAAA;AACtD,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;;AAGtB;;;AAGG;AACH,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;;AAGvB;;;AAGG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,QAAA,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;AACtC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QAEvB,IAAI,CAAC,UAAU,EAAE;AACb,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAK;AAClB,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,sBAAsB,EAAE;AAC7B,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC;;AAErD,aAAC,CAAC;;AAEN,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;;;IAI9B,sBAAsB,GAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzC;;AAGJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AAEvB,QAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,KAAK;AACtE,aAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;aACzE,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzC;;AAGJ,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;AAC5C,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;gBAC7B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,GAAG,QAAQ;AAC/C,gBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;AACvC,aAAC,CAAC;AACN,SAAC,CAAC;;;AAIF,IAAA,sBAAsB,CAAC,eAAgC,EAAA;AAC3D,QAAA,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,CAAC,aAAa;AAE5D,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC;QAE7E,MAAM,cAAc,GAAG,KAAK,CACxB,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,EAC/B,SAAS,CAAgB,WAAW,EAAE,SAAS,CAAC,CAAC,IAAI,CACjD,MAAM,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAC3D,GAAG,CAAC,CAAC,KAAK,KAAI;YACV,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,SAAS,EAAE;SACnB,CAAC,CACL,CACJ;QAED,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;;;AAIlG,IAAA,sBAAsB,CAAC,eAAgC,EAAA;QAC3D,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAC/D,gBAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;gBACnC,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;;iBAC9B;AACH,gBAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;gBACnC,IAAI,CAAC,gBAAgB,EAAE;AACvB,gBAAA,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;;;;;IAMrC,gBAAgB,GAAA;AACpB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE;AACjD,QAAA,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;;;AAI9B,IAAA,aAAa,CAAC,eAAgC,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE;AACzC,YAAA,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;;aAClC;AACH,YAAA,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC;;;;AAKnC,IAAA,oBAAoB,CAAC,MAA4B,EAAA;AACrD,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;;AAEJ,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;;;AAI9B,IAAA,mBAAmB,CAAC,MAA4B,EAAA;QACpD,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,OAAO,EAAE;;AAGb,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACvB,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;;aACtG;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;;;;AAKhF,IAAA,aAAa,CAAC,eAAgC,EAAA;AAClD,QAAA,eAAe,CAAC,OAAO,GAAG,IAAI;;;AAI1B,IAAA,eAAe,CAAC,eAAgC,EAAA;AACpD,QAAA,eAAe,CAAC,OAAO,GAAG,KAAK;;;AAI3B,IAAA,iBAAiB,CAAC,eAAgC,EAAA;AACtD,QAAA,OAAO,CAAC,CAAC,eAAe,CAAC,OAAO;;;AAI5B,IAAA,iBAAiB,CAAC,eAAgC,EAAA;AACtD,QAAA,OAAO,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,YAAY;;;AAI3D,IAAA,qBAAqB,CAAC,OAAgB,EAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzC;;AAGJ,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,MAAM,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC;QAE9D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,sBAAsB,KAAI;AACpD,YAAA,sBAAsB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;AAC5C,YAAA,sBAAsB,CAAC,gBAAgB,GAAG,CAAC,OAAO;AACtD,SAAC,CAAC;QACF,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;gBAC7B,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,GAAG,QAAQ;AAC/C,gBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;AACvC,aAAC,CAAC;;AAGN,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;;;AAI7B,IAAA,eAAe,CAAC,eAAgC,EAAA;AACpD,QAAA,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,aAAa;AACxD,QAAA,IAAI,OAAO,YAAY,iBAAiB,EAAE;YACtC,OAAO,OAAO,CAAC,KAAK;;AAExB,QAAA,OAAO,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;;AAGxC;;AAEG;IACK,oBAAoB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,OAAO,EAAE;;AAGb,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC;AACnB,aAAA,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACnD,aAAA,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACd,YAAA,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;;aAClD;AACH,YAAA,OAAO,UAAU;;;8GAnShB,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAEb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,gBAAgB,CAOhB,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,gBAAgB,CAnBzB,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,qCAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE;AACV;AACJ,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAiBgB,mBAAmB,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,SAAA,EAInB,sBAAsB,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApC7B,CAA2B,yBAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8gGAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAmB5B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBArBpC,SAAS;+BACI,qBAAqB,EAAA,QAAA,EACrB,2BAA2B,EAE/B,IAAA,EAAA;AACF,wBAAA,IAAI,EAAE,SAAS;AACf,wBAAA,6BAA6B,EAAE,MAAM;AACrC,wBAAA,uCAAuC,EAAE;AAC5C,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACpC,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE;AACV;AACJ,qBAAA,EAAA,UAAA,EACW,IAAI,EAAA,cAAA,EACA,CAAC,sBAAsB,CAAC,EAAA,MAAA,EAAA,CAAA,8gGAAA,CAAA,EAAA;;0BA2CnC;;0BAAY;;0BACZ;yCAvCL,MAAM,EAAA,CAAA;sBADL,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAQtC,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKtC,QAAQ,EAAA,CAAA;sBADP,eAAe;uBAAC,mBAAmB;gBAKpC,eAAe,EAAA,CAAA;sBADd,eAAe;uBAAC,sBAAsB;gBAmC/B,MAAM,EAAA,CAAA;sBADb,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;ACrHrC;;;AAGG;MAKU,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAArB,qBAAqB,EAAA,OAAA,EAAA,CAHpB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;+GAEzB,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,wBAAwB;AACrC,iBAAA;;;ACXD;;AAEG;;;;"}
@@ -2,88 +2,58 @@ import { AfterContentChecked, ChangeDetectorRef, ElementRef, OnChanges, OnDestro
2
2
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
3
3
  import { CssClassBuilder, Nullable, RequireOnlyOne } from '@fundamental-ngx/cdk/utils';
4
4
  import * as i0 from "@angular/core";
5
+ export interface SvgItemConfig {
6
+ url: string;
7
+ id: string;
8
+ file: string;
9
+ }
5
10
  export interface SvgConfig {
11
+ large?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
12
+ medium?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
13
+ small?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
14
+ xsmall?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
6
15
  scene?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
7
16
  dialog?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
8
17
  spot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
9
18
  dot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
10
19
  }
11
- export interface SvgItemConfig {
12
- url: string;
13
- id: string;
14
- file: string;
15
- }
16
- export type IllustratedMessageType = 'scene' | 'dialog' | 'spot' | 'dot' | 'base';
20
+ export type IllustratedMessageType = 'large' | 'medium' | 'small' | 'xsmall' | 'base' | 'scene' | 'dialog' | 'spot' | 'dot';
17
21
  export declare enum IllustratedMessageTypes {
22
+ LARGE = "large",
23
+ MEDIUM = "medium",
24
+ SMALL = "small",
25
+ EXTRA_SMALL = "xsmall",
26
+ BASE = "base",
18
27
  SCENE = "scene",
19
28
  DIALOG = "dialog",
20
29
  SPOT = "spot",
21
- DOT = "dot",
22
- BASE = "base"
30
+ DOT = "dot"
23
31
  }
24
32
  export declare class IllustratedMessageComponent implements AfterContentChecked, OnChanges, OnDestroy, OnInit, CssClassBuilder {
25
33
  readonly elementRef: ElementRef;
26
34
  private _cdRef;
27
35
  private _sanitizer;
28
- /**
29
- * The type of the Illustrated Message
30
- * Options include: 'scene' | 'spot' | 'dialog' | 'dot' | 'base'.
31
- */
32
36
  type: IllustratedMessageType;
33
- /**
34
- * An object containing url and id for each type used to construct the svg href
35
- * For 'scene' type 'scene' and 'dialog' values are required
36
- * In small screens (less than 600px) 'dialog' svg will be applied for 'scene' type
37
- */
38
37
  svgConfig: SvgConfig;
39
- /**
40
- * aria-label for the svg
41
- */
42
38
  svgAriaLabel: Nullable<string>;
43
- /**
44
- * When set to true will remove the illustration from the Illustrated Message
45
- * The default is set to false
46
- */
47
39
  noSvg: boolean;
48
- /**
49
- * Id of the Illustrated Message
50
- * If not provided, a default one is generated
51
- */
52
40
  id: string;
53
- /** User's custom classes */
54
41
  class: string;
55
- /** @hidden */
56
42
  _href: string;
57
- /** @hidden */
58
43
  _isSmallScreen: boolean;
59
- /** @hidden */
60
44
  _inlineSvg: SafeHtml | undefined;
61
- /** @hidden */
62
45
  _tempType: IllustratedMessageType;
63
- /** @hidden */
64
46
  private _subscriptions;
65
- /** @hidden */
66
47
  constructor(elementRef: ElementRef, _cdRef: ChangeDetectorRef, _sanitizer: DomSanitizer);
67
- /**
68
- * @hidden
69
- * CssClassBuilder interface implementation
70
- * function must return single string
71
- * function is responsible for order which css classes are applied
72
- */
73
48
  buildComponentCssClass(): string[];
74
- /** @hidden */
75
49
  ngOnChanges(changes: SimpleChanges): void;
76
- /** @hidden */
77
50
  ngOnInit(): void;
78
- /** @hidden */
79
51
  ngAfterContentChecked(): void;
80
- /** @hidden */
81
52
  ngOnDestroy(): void;
82
- /** @hidden */
83
53
  private _constructHref;
84
- /** @hidden */
85
54
  private _determineIllustratedMessageType;
86
- /** @hidden */
55
+ private _normalizeType;
56
+ private _normalizeSvgConfig;
87
57
  private _getHrefByType;
88
58
  static ɵfac: i0.ɵɵFactoryDeclaration<IllustratedMessageComponent, never>;
89
59
  static ɵcmp: i0.ɵɵComponentDeclaration<IllustratedMessageComponent, "[fd-illustrated-message]", never, { "type": { "alias": "type"; "required": false; }; "svgConfig": { "alias": "svgConfig"; "required": false; }; "svgAriaLabel": { "alias": "svgAriaLabel"; "required": false; }; "noSvg": { "alias": "noSvg"; "required": false; }; "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["[fd-illustrated-message-figcaption]", "fd-illustrated-message-actions"], true, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.56.4-rc.9",
3
+ "version": "0.56.5",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -23,8 +23,8 @@
23
23
  "@angular/forms": "^19.0.0",
24
24
  "@angular/platform-browser": "^19.0.0",
25
25
  "@angular/router": "^19.0.0",
26
- "@fundamental-ngx/cdk": "0.56.4-rc.9",
27
- "@fundamental-ngx/i18n": "0.56.4-rc.9",
26
+ "@fundamental-ngx/cdk": "0.56.5",
27
+ "@fundamental-ngx/i18n": "0.56.5",
28
28
  "@sap-theming/theming-base-content": "^11.30.0",
29
29
  "fundamental-styles": "0.40.1",
30
30
  "rxjs": "^7.8.0"
@@ -47,14 +47,14 @@
47
47
  "types": "./index.d.ts",
48
48
  "default": "./fesm2022/fundamental-ngx-core.mjs"
49
49
  },
50
- "./action-sheet": {
51
- "types": "./action-sheet/index.d.ts",
52
- "default": "./fesm2022/fundamental-ngx-core-action-sheet.mjs"
53
- },
54
50
  "./action-bar": {
55
51
  "types": "./action-bar/index.d.ts",
56
52
  "default": "./fesm2022/fundamental-ngx-core-action-bar.mjs"
57
53
  },
54
+ "./action-sheet": {
55
+ "types": "./action-sheet/index.d.ts",
56
+ "default": "./fesm2022/fundamental-ngx-core-action-sheet.mjs"
57
+ },
58
58
  "./avatar": {
59
59
  "types": "./avatar/index.d.ts",
60
60
  "default": "./fesm2022/fundamental-ngx-core-avatar.mjs"
@@ -275,22 +275,22 @@
275
275
  "types": "./object-status/index.d.ts",
276
276
  "default": "./fesm2022/fundamental-ngx-core-object-status.mjs"
277
277
  },
278
- "./pagination": {
279
- "types": "./pagination/index.d.ts",
280
- "default": "./fesm2022/fundamental-ngx-core-pagination.mjs"
278
+ "./overflow-layout": {
279
+ "types": "./overflow-layout/index.d.ts",
280
+ "default": "./fesm2022/fundamental-ngx-core-overflow-layout.mjs"
281
281
  },
282
282
  "./panel": {
283
283
  "types": "./panel/index.d.ts",
284
284
  "default": "./fesm2022/fundamental-ngx-core-panel.mjs"
285
285
  },
286
+ "./pagination": {
287
+ "types": "./pagination/index.d.ts",
288
+ "default": "./fesm2022/fundamental-ngx-core-pagination.mjs"
289
+ },
286
290
  "./popover": {
287
291
  "types": "./popover/index.d.ts",
288
292
  "default": "./fesm2022/fundamental-ngx-core-popover.mjs"
289
293
  },
290
- "./overflow-layout": {
291
- "types": "./overflow-layout/index.d.ts",
292
- "default": "./fesm2022/fundamental-ngx-core-overflow-layout.mjs"
293
- },
294
294
  "./product-switch": {
295
295
  "types": "./product-switch/index.d.ts",
296
296
  "default": "./fesm2022/fundamental-ngx-core-product-switch.mjs"