@fundamental-ngx/core 0.43.40 → 0.43.41

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.
@@ -1,12 +1,15 @@
1
- import { ElementRef, EventEmitter, ChangeDetectorRef } from '@angular/core';
1
+ import { ElementRef, EventEmitter, ChangeDetectorRef, AfterContentInit } from '@angular/core';
2
2
  import { Nullable } from '@fundamental-ngx/cdk/utils';
3
3
  import { DynamicPageConfig } from '../../dynamic-page.config';
4
4
  import { DynamicPageService } from '../../dynamic-page.service';
5
+ import { FdLanguage } from '@fundamental-ngx/i18n';
6
+ import { Observable } from 'rxjs';
5
7
  import * as i0 from "@angular/core";
6
- export declare class DynamicPageSubheaderComponent {
8
+ export declare class DynamicPageSubheaderComponent implements AfterContentInit {
7
9
  private _cd;
8
10
  protected _dynamicPageConfig: DynamicPageConfig;
9
11
  private _dynamicPageService;
12
+ private readonly _language$;
10
13
  /**
11
14
  * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear
12
15
  * and the header stays visible
@@ -66,7 +69,15 @@ export declare class DynamicPageSubheaderComponent {
66
69
  */
67
70
  private _collapsed;
68
71
  /** @hidden */
69
- constructor(_cd: ChangeDetectorRef, _dynamicPageConfig: DynamicPageConfig, _dynamicPageService: DynamicPageService);
72
+ private _translationResolver;
73
+ /** @hidden */
74
+ private _language;
75
+ /** @hidden */
76
+ constructor(_cd: ChangeDetectorRef, _dynamicPageConfig: DynamicPageConfig, _dynamicPageService: DynamicPageService, _language$: Observable<FdLanguage>);
77
+ /** @hidden */
78
+ ngAfterContentInit(): void;
79
+ /** @hidden */
80
+ private _init;
70
81
  /**
71
82
  * toggles the state of the header and
72
83
  * handles expanded/collapsed event
@@ -18,8 +18,9 @@ import * as i16 from "@fundamental-ngx/core/content-density";
18
18
  import * as i17 from "@fundamental-ngx/core/scrollbar";
19
19
  import * as i18 from "./directives/dynamic-page-header-subtitle.directive";
20
20
  import * as i19 from "./directives/dynamic-page-header-title.directive";
21
+ import * as i20 from "@fundamental-ngx/i18n";
21
22
  export declare class DynamicPageModule {
22
23
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPageModule, never>;
23
- static ɵmod: i0.ɵɵNgModuleDeclaration<DynamicPageModule, [typeof i1.DynamicPageComponent, typeof i2.DynamicPageHeaderComponent, typeof i3.DynamicPageGlobalActionsComponent, typeof i4.DynamicPageLayoutActionsComponent, typeof i5.DynamicPageSubheaderComponent, typeof i6.DynamicPageContentComponent, typeof i7.DynamicPageFooterComponent, typeof i8.DynamicPageTitleContentComponent, typeof i9.DynamicPageWrapperDirective, typeof i10.DeprecatedDynamicPageCompactDirective], [typeof i11.CommonModule, typeof i12.ButtonModule, typeof i13.ToolbarModule, typeof i14.PopoverModule, typeof i15.IgnoreClickOnSelectionModule, typeof i16.ContentDensityModule, typeof i17.ScrollbarModule, typeof i18.DynamicPageHeaderSubtitleDirective, typeof i19.DynamicPageHeaderTitleDirective], [typeof i1.DynamicPageComponent, typeof i2.DynamicPageHeaderComponent, typeof i3.DynamicPageGlobalActionsComponent, typeof i4.DynamicPageLayoutActionsComponent, typeof i5.DynamicPageSubheaderComponent, typeof i6.DynamicPageContentComponent, typeof i7.DynamicPageFooterComponent, typeof i8.DynamicPageTitleContentComponent, typeof i9.DynamicPageWrapperDirective, typeof i10.DeprecatedDynamicPageCompactDirective, typeof i18.DynamicPageHeaderSubtitleDirective, typeof i19.DynamicPageHeaderTitleDirective]>;
24
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DynamicPageModule, [typeof i1.DynamicPageComponent, typeof i2.DynamicPageHeaderComponent, typeof i3.DynamicPageGlobalActionsComponent, typeof i4.DynamicPageLayoutActionsComponent, typeof i5.DynamicPageSubheaderComponent, typeof i6.DynamicPageContentComponent, typeof i7.DynamicPageFooterComponent, typeof i8.DynamicPageTitleContentComponent, typeof i9.DynamicPageWrapperDirective, typeof i10.DeprecatedDynamicPageCompactDirective], [typeof i11.CommonModule, typeof i12.ButtonModule, typeof i13.ToolbarModule, typeof i14.PopoverModule, typeof i15.IgnoreClickOnSelectionModule, typeof i16.ContentDensityModule, typeof i17.ScrollbarModule, typeof i18.DynamicPageHeaderSubtitleDirective, typeof i19.DynamicPageHeaderTitleDirective, typeof i20.I18nModule], [typeof i1.DynamicPageComponent, typeof i2.DynamicPageHeaderComponent, typeof i3.DynamicPageGlobalActionsComponent, typeof i4.DynamicPageLayoutActionsComponent, typeof i5.DynamicPageSubheaderComponent, typeof i6.DynamicPageContentComponent, typeof i7.DynamicPageFooterComponent, typeof i8.DynamicPageTitleContentComponent, typeof i9.DynamicPageWrapperDirective, typeof i10.DeprecatedDynamicPageCompactDirective, typeof i18.DynamicPageHeaderSubtitleDirective, typeof i19.DynamicPageHeaderTitleDirective]>;
24
25
  static ɵinj: i0.ɵɵInjectorDeclaration<DynamicPageModule>;
25
26
  }
@@ -1,12 +1,15 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, HostBinding, ChangeDetectorRef } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, HostBinding, ChangeDetectorRef, Inject } from '@angular/core';
2
2
  import { distinctUntilChanged } from 'rxjs/operators';
3
3
  import { DynamicPageConfig } from '../../dynamic-page.config';
4
4
  import { DynamicPageService } from '../../dynamic-page.service';
5
+ import { TranslationResolver, FD_LANGUAGE } from '@fundamental-ngx/i18n';
6
+ import { firstValueFrom, Observable } from 'rxjs';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "../../dynamic-page.config";
7
9
  import * as i2 from "../../dynamic-page.service";
8
10
  import * as i3 from "@angular/common";
9
11
  import * as i4 from "@fundamental-ngx/core/button";
12
+ import * as i5 from "rxjs";
10
13
  let dynamicPageSubHeaderId = 0;
11
14
  export class DynamicPageSubheaderComponent {
12
15
  /**
@@ -19,10 +22,11 @@ export class DynamicPageSubheaderComponent {
19
22
  return this._collapsed;
20
23
  }
21
24
  /** @hidden */
22
- constructor(_cd, _dynamicPageConfig, _dynamicPageService) {
25
+ constructor(_cd, _dynamicPageConfig, _dynamicPageService, _language$) {
23
26
  this._cd = _cd;
24
27
  this._dynamicPageConfig = _dynamicPageConfig;
25
28
  this._dynamicPageService = _dynamicPageService;
29
+ this._language$ = _language$;
26
30
  /**
27
31
  * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear
28
32
  * and the header stays visible
@@ -33,14 +37,6 @@ export class DynamicPageSubheaderComponent {
33
37
  * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.
34
38
  */
35
39
  this.pinnable = false;
36
- /**
37
- * ARIA label for button when the header is collapsed
38
- */
39
- this.expandLabel = this._dynamicPageConfig.expandLabel;
40
- /**
41
- * ARIA label for button when the header is expanded
42
- */
43
- this.collapseLabel = this._dynamicPageConfig.collapseLabel;
44
40
  /** Header role */
45
41
  this.role = 'region';
46
42
  /**
@@ -70,10 +66,53 @@ export class DynamicPageSubheaderComponent {
70
66
  * tracking expand/collapse button
71
67
  */
72
68
  this._collapsed = false;
69
+ /** @hidden */
70
+ this._translationResolver = new TranslationResolver();
73
71
  this._dynamicPageService.collapsed
74
72
  .pipe(distinctUntilChanged())
75
73
  .subscribe((collapsed) => this._handleCollapsedChange(collapsed));
76
74
  }
75
+ /** @hidden */
76
+ ngAfterContentInit() {
77
+ this._init();
78
+ }
79
+ /** @hidden */
80
+ async _init() {
81
+ this._language = await firstValueFrom(this._language$);
82
+ if (!this.expandLabel) {
83
+ if (this._dynamicPageConfig && this._dynamicPageConfig.expandLabel) {
84
+ this.expandLabel = this._dynamicPageConfig.expandLabel;
85
+ }
86
+ else {
87
+ this.expandLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.expandLabel`);
88
+ }
89
+ }
90
+ if (!this.collapseLabel) {
91
+ if (this._dynamicPageConfig && this._dynamicPageConfig.collapseLabel) {
92
+ this.collapseLabel = this._dynamicPageConfig.collapseLabel;
93
+ }
94
+ else {
95
+ this.collapseLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.collapseLabel`);
96
+ }
97
+ }
98
+ if (!this.pinAriaLabel) {
99
+ if (this._dynamicPageConfig && this._dynamicPageConfig.pinLabel) {
100
+ this.pinAriaLabel = this._dynamicPageConfig.pinLabel;
101
+ }
102
+ else {
103
+ this.pinAriaLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.pinLabel`);
104
+ }
105
+ }
106
+ if (!this.unpinAriaLabel) {
107
+ if (this._dynamicPageConfig && this._dynamicPageConfig.unpinLabel) {
108
+ this.unpinAriaLabel = this._dynamicPageConfig.unpinLabel;
109
+ }
110
+ else {
111
+ this.unpinAriaLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.unpinLabel`);
112
+ }
113
+ }
114
+ this._cd.detectChanges();
115
+ }
77
116
  /**
78
117
  * toggles the state of the header and
79
118
  * handles expanded/collapsed event
@@ -102,12 +141,15 @@ export class DynamicPageSubheaderComponent {
102
141
  this._dynamicPageService.subheaderVisibilityChange.next();
103
142
  }
104
143
  }
105
- DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DynamicPageConfig }, { token: i2.DynamicPageService }], target: i0.ɵɵFactoryTarget.Component });
144
+ DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DynamicPageConfig }, { token: i2.DynamicPageService }, { token: FD_LANGUAGE }], target: i0.ɵɵFactoryTarget.Component });
106
145
  DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div 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]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i [style.transform]=\"collapsed ? '' : 'rotate(180deg)'\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [toggled]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
107
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageSubheaderComponent, decorators: [{
108
147
  type: Component,
109
148
  args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div 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]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i [style.transform]=\"collapsed ? '' : 'rotate(180deg)'\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [toggled]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
110
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DynamicPageConfig }, { type: i2.DynamicPageService }]; }, propDecorators: { collapsible: [{
149
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DynamicPageConfig }, { type: i2.DynamicPageService }, { type: i5.Observable, decorators: [{
150
+ type: Inject,
151
+ args: [FD_LANGUAGE]
152
+ }] }]; }, propDecorators: { collapsible: [{
111
153
  type: Input
112
154
  }], pinnable: [{
113
155
  type: Input
@@ -139,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
139
181
  type: ViewChild,
140
182
  args: ['pincollapseContainer']
141
183
  }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFaEUsSUFBSSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFPL0IsTUFBTSxPQUFPLDZCQUE2QjtJQWV0Qzs7T0FFRztJQUNILElBQ0ksU0FBUyxDQUFDLFNBQWtCO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFtRUQsY0FBYztJQUNkLFlBQ1ksR0FBc0IsRUFDcEIsa0JBQXFDLEVBQ3ZDLG1CQUF1QztRQUZ2QyxRQUFHLEdB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QUMsU0FBUztnQkFXdEIsZUFBZTtzQkFEZCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFPTixjQUFjO3NCQURiLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxNQUFNO2dCQUtQLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcblxuaW1wb3J0IHsgRHluYW1pY1BhZ2VDb25maWcgfSBmcm9tICcuLi8uLi9keW5hbWljLXBhZ2UuY29uZmlnJztcbmltcG9ydCB7IER5bmFtaWNQYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2R5bmFtaWMtcGFnZS5zZXJ2aWNlJztcblxubGV0IGR5bmFtaWNQYWdlU3ViSGVhZGVySWQgPSAwO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZVN1YmhlYWRlckNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAgICogd2hldGhlciB0aGUgaGVhZGVyIGNhbiBiZSBjb2xsYXBzZWQuIFRydWUgYnkgZGVmYXVsdC4gSWYgc2V0IHRvIGZhbHNlLCBib3RoIHBpbi9jb2xsYXBzZSBidXR0b25zIGRpc2FwcGVhclxuICAgICAqIGFuZCB0aGUgaGVhZGVyIHN0YXlzIHZpc2libGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIHdoZXRoZXIgdGhlIGhlYWRlciBzaG91bGQgYmUgYWxsb3dlZCB0byBiZSBwaW5uZWQgb3IgdW5waW5uZWQuIFdoZW4gc2V0LCB0aGUgcGluIGJ1dHRvbiBzaG93cyB1cC5cbiAgICAgKiBQaW5uaW5nIHRoZSBoZWFkZXIgd2lsbCBtYWtlIHRoZSBoZWFkZXIgc3RheSB2aXNpYmxlIGFuZCB0aGUgY29sbGFwc2UgYnV0dG9uKGlmIHByZXNlbnQpIHdpbGwgZGlzYXBwZWFyIHVudGlsIHVucGlubmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGlubmFibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBoZWFkZXIuIFNldCB0byB0cnVlIGlmIGhlYWRlciBzaG91bGQgYmUgY29sbGFwc2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbGxhcHNlZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBUklBIGxhYmVsIGZvciBidXR0b24gd2hlbiB0aGUgaGVhZGVyIGlzIGNvbGxhcHNlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLmV4cGFuZExhYmVsO1xuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCBmb3IgYnV0dG9uIHdoZW4gdGhlIGhlYWRlciBpcyBleHBhbmRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sbGFwc2VMYWJlbDogc3RyaW5nID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcuY29sbGFwc2VMYWJlbDtcblxuICAgIC8qKiBIZWFkZXIgcm9sZSAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3JlZ2lvbic7XG5cbiAgICAvKipcbiAgICAgKiBpZCBmb3IgaGVhZGVyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGlkID0gYGZkLWR5bmFtaWMtcGFnZS1oZWFkZXItaWQtJHtkeW5hbWljUGFnZVN1YkhlYWRlcklkKyt9YDtcblxuICAgIC8qKlxuICAgICAqIGlkIGZvciBjb2xsYXBzaWJsZSBoZWFkZXJcbiAgICAgKi9cbiAgICBjb2xsYXBzaWJsZUhlYWRlcklkID0gYCR7dGhpcy5pZH0tY29sbGFwc2libGVgO1xuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIGhlYWRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyQXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIHN0YXRlIG9mIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBpbkFyaWFMYWJlbDogc3RyaW5nID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcucGluTGFiZWw7XG5cbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciB1bnBpbiBzdGF0ZSBvZiBwaW4gYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB1bnBpbkFyaWFMYWJlbDogc3RyaW5nID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcudW5waW5MYWJlbDtcblxuICAgIC8qKiBDb2xsYXBzZS9FeHBhbmQgY2hhbmdlIGV2ZW50IHJhaXNlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNvbGxhcHNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gcGFnZSBoZWFkZXIgY29udGVudCAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpbmNvbGxhcHNlQ29udGFpbmVyJylcbiAgICBwaW5Db2xsYXBzZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiB0cmFja2luZyBpZiBwaW4gYnV0dG9uIGlzIHBpbm5lZFxuICAgICAqL1xuICAgIF9waW5uZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiB0cmFja2luZyBleHBhbmQvY29sbGFwc2UgYnV0dG9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfZHluYW1pY1BhZ2VDb25maWc6IER5bmFtaWNQYWdlQ29uZmlnLFxuICAgICAgICBwcml2YXRlIF9keW5hbWljUGFnZVNlcnZpY2U6IER5bmFtaWNQYWdlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UuY29sbGFwc2VkXG4gICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29sbGFwc2VkKSA9PiB0aGlzLl9oYW5kbGVDb2xsYXBzZWRDaGFuZ2UoY29sbGFwc2VkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdG9nZ2xlcyB0aGUgc3RhdGUgb2YgdGhlIGhlYWRlciBhbmRcbiAgICAgKiBoYW5kbGVzIGV4cGFuZGVkL2NvbGxhcHNlZCBldmVudFxuICAgICAqL1xuICAgIHRvZ2dsZUNvbGxhcHNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5faGFuZGxlQ29sbGFwc2VkQ2hhbmdlKCF0aGlzLl9jb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBjbGljayBhY3Rpb24gb24gcGluIGJ1dHRvblxuICAgICAqL1xuICAgIHRvZ2dsZVBpbm5lZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcGlubmVkID0gIXRoaXMuX3Bpbm5lZDtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLnBpbm5lZC5uZXh0KHRoaXMuX3Bpbm5lZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVDb2xsYXBzZWRDaGFuZ2UoY29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChjb2xsYXBzZWQgPT09IHRoaXMuX2NvbGxhcHNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UuY29sbGFwc2VkLm5leHQoY29sbGFwc2VkKTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWRDaGFuZ2UuZW1pdCh0aGlzLl9jb2xsYXBzZWQpO1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5zdWJoZWFkZXJWaXNpYmlsaXR5Q2hhbmdlLm5leHQoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJoZWFkZXJBcmlhTGFiZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJjb2xsYXBzZWRcIlxuICAgICAgICBbYXR0ci5pZF09XCJjb2xsYXBzaWJsZUhlYWRlcklkXCJcbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICNoZWFkZXJDb250ZW50XG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyXCIgI3BpbmNvbGxhcHNlQ29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sbGFwc2libGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lci0tbGVmdC1ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiByb2xlPVwidG9vbGJhclwiIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiY29sbGFwc2VkID8gZXhwYW5kTGFiZWwgOiBjb2xsYXBzZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiY29sbGFwc2VkID8gZXhwYW5kTGFiZWwgOiBjb2xsYXBzZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIFtzdHlsZS50cmFuc2Zvcm1dPVwiY29sbGFwc2VkID8gJycgOiAncm90YXRlKDE4MGRlZyknXCIgY2xhc3M9XCJzYXAtaWNvbi0tc2xpbS1hcnJvdy1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19waW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJfcGlubmVkID8gdW5waW5BcmlhTGFiZWwgOiBwaW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJfcGlubmVkID8gdW5waW5BcmlhTGFiZWwgOiBwaW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbdG9nZ2xlZF09XCJfcGlubmVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwaW5uYWJsZSAmJiAhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic2FwLWljb24tLXB1c2hwaW4tb2ZmXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLXJpZ2h0LWdyYWRpZW50XCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBRWpCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQWMsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFFbEQsSUFBSSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFPL0IsTUFBTSxPQUFPLDZCQUE2QjtJQWV0Qzs7T0FFRztJQUNILElBQ0ksU0FBUyxDQUFDLFNBQWtCO1FBQzVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQs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QUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUQsQ0FBQzs7MEhBbExRLDZCQUE2QixzSEF1RzFCLFdBQVc7OEdBdkdkLDZCQUE2Qix3a0JDN0IxQyx3aEVBMkNBOzJGRGRhLDZCQUE2QjtrQkFOekMsU0FBUzsrQkFDSSwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7OzBCQXlHaEMsTUFBTTsyQkFBQyxXQUFXOzRDQWpHdkIsV0FBVztzQkFEVixLQUFLO2dCQVFOLFFBQVE7c0JBRFAsS0FBSztnQkFPRixTQUFTO3NCQURaLEtBQUs7Z0JBYU4sV0FBVztzQkFEVixLQUFLO2dCQU9OLGFBQWE7c0JBRFosS0FBSztnQkFNTixJQUFJO3NCQUZILEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsV0FBVztnQkFReEIsRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFNBQVM7Z0JBV3RCLGVBQWU7c0JBRGQsS0FBSztnQkFPTixZQUFZO3NCQURYLEtBQUs7Z0JBT04sY0FBYztzQkFEYixLQUFLO2dCQUtOLGVBQWU7c0JBRGQsTUFBTTtnQkFLUCxvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBIb3N0QmluZGluZyxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmltcG9ydCB7IER5bmFtaWNQYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1wYWdlLmNvbmZpZyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9keW5hbWljLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblJlc29sdmVyLCBGZExhbmd1YWdlLCBGRF9MQU5HVUFHRSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5sZXQgZHluYW1pY1BhZ2VTdWJIZWFkZXJJZCA9IDA7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWR5bmFtaWMtcGFnZS1zdWJoZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXBhZ2Utc3ViaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlU3ViaGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqXG4gICAgICogd2hldGhlciB0aGUgaGVhZGVyIGNhbiBiZSBjb2xsYXBzZWQuIFRydWUgYnkgZGVmYXVsdC4gSWYgc2V0IHRvIGZhbHNlLCBib3RoIHBpbi9jb2xsYXBzZSBidXR0b25zIGRpc2FwcGVhclxuICAgICAqIGFuZCB0aGUgaGVhZGVyIHN0YXlzIHZpc2libGVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNpYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIHdoZXRoZXIgdGhlIGhlYWRlciBzaG91bGQgYmUgYWxsb3dlZCB0byBiZSBwaW5uZWQgb3IgdW5waW5uZWQuIFdoZW4gc2V0LCB0aGUgcGluIGJ1dHRvbiBzaG93cyB1cC5cbiAgICAgKiBQaW5uaW5nIHRoZSBoZWFkZXIgd2lsbCBtYWtlIHRoZSBoZWFkZXIgc3RheSB2aXNpYmxlIGFuZCB0aGUgY29sbGFwc2UgYnV0dG9uKGlmIHByZXNlbnQpIHdpbGwgZGlzYXBwZWFyIHVudGlsIHVucGlubmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGlubmFibGUgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIHRoZSBpbml0aWFsIHN0YXRlIG9mIHRoZSBoZWFkZXIuIFNldCB0byB0cnVlIGlmIGhlYWRlciBzaG91bGQgYmUgY29sbGFwc2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbGxhcHNlZChjb2xsYXBzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBUklBIGxhYmVsIGZvciBidXR0b24gd2hlbiB0aGUgaGVhZGVyIGlzIGNvbGxhcHNlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEFSSUEgbGFiZWwgZm9yIGJ1dHRvbiB3aGVuIHRoZSBoZWFkZXIgaXMgZXhwYW5kZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNlTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBIZWFkZXIgcm9sZSAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3JlZ2lvbic7XG5cbiAgICAvKipcbiAgICAgKiBpZCBmb3IgaGVhZGVyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGlkID0gYGZkLWR5bmFtaWMtcGFnZS1oZWFkZXItaWQtJHtkeW5hbWljUGFnZVN1YkhlYWRlcklkKyt9YDtcblxuICAgIC8qKlxuICAgICAqIGlkIGZvciBjb2xsYXBzaWJsZSBoZWFkZXJcbiAgICAgKi9cbiAgICBjb2xsYXBzaWJsZUhlYWRlcklkID0gYCR7dGhpcy5pZH0tY29sbGFwc2libGVgO1xuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIGhlYWRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyQXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIHN0YXRlIG9mIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBpbkFyaWFMYWJlbDogc3RyaW5nID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcucGluTGFiZWw7XG5cbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciB1bnBpbiBzdGF0ZSBvZiBwaW4gYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB1bnBpbkFyaWFMYWJlbDogc3RyaW5nID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcudW5waW5MYWJlbDtcblxuICAgIC8qKiBDb2xsYXBzZS9FeHBhbmQgY2hhbmdlIGV2ZW50IHJhaXNlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNvbGxhcHNlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBSZWZlcmVuY2UgdG8gcGFnZSBoZWFkZXIgY29udGVudCAqL1xuICAgIEBWaWV3Q2hpbGQoJ3BpbmNvbGxhcHNlQ29udGFpbmVyJylcbiAgICBwaW5Db2xsYXBzZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiB0cmFja2luZyBpZiBwaW4gYnV0dG9uIGlzIHBpbm5lZFxuICAgICAqL1xuICAgIF9waW5uZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiB0cmFja2luZyBleHBhbmQvY29sbGFwc2UgYnV0dG9uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfY29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3RyYW5zbGF0aW9uUmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sYW5ndWFnZTogRmRMYW5ndWFnZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9keW5hbWljUGFnZUNvbmZpZzogRHluYW1pY1BhZ2VDb25maWcsXG4gICAgICAgIHByaXZhdGUgX2R5bmFtaWNQYWdlU2VydmljZTogRHluYW1pY1BhZ2VTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIHJlYWRvbmx5IF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT5cbiAgICApIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLmNvbGxhcHNlZFxuICAgICAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbGxhcHNlZCkgPT4gdGhpcy5faGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGFzeW5jIF9pbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLl9sYW5ndWFnZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX2xhbmd1YWdlJCk7XG4gICAgICAgIGlmICghdGhpcy5leHBhbmRMYWJlbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnICYmIHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLmV4cGFuZExhYmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRMYWJlbCA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLmV4cGFuZExhYmVsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZExhYmVsID0gdGhpcy5fdHJhbnNsYXRpb25SZXNvbHZlci5yZXNvbHZlKHRoaXMuX2xhbmd1YWdlLCBgY29yZUR5bmFtaWNQYWdlLmV4cGFuZExhYmVsYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNvbGxhcHNlTGFiZWwpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9keW5hbWljUGFnZUNvbmZpZyAmJiB0aGlzLl9keW5hbWljUGFnZUNvbmZpZy5jb2xsYXBzZUxhYmVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZUxhYmVsID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcuY29sbGFwc2VMYWJlbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb2xsYXBzZUxhYmVsID0gdGhpcy5fdHJhbnNsYXRpb25SZXNvbHZlci5yZXNvbHZlKHRoaXMuX2xhbmd1YWdlLCBgY29yZUR5bmFtaWNQYWdlLmNvbGxhcHNlTGFiZWxgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucGluQXJpYUxhYmVsKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fZHluYW1pY1BhZ2VDb25maWcgJiYgdGhpcy5fZHluYW1pY1BhZ2VDb25maWcucGluTGFiZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBpbkFyaWFMYWJlbCA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnBpbkxhYmVsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBpbkFyaWFMYWJlbCA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZSh0aGlzLl9sYW5ndWFnZSwgYGNvcmVEeW5hbWljUGFnZS5waW5MYWJlbGApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy51bnBpbkFyaWFMYWJlbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnICYmIHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnVucGluTGFiZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVucGluQXJpYUxhYmVsID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcudW5waW5MYWJlbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy51bnBpbkFyaWFMYWJlbCA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZSh0aGlzLl9sYW5ndWFnZSwgYGNvcmVEeW5hbWljUGFnZS51bnBpbkxhYmVsYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRvZ2dsZXMgdGhlIHN0YXRlIG9mIHRoZSBoZWFkZXIgYW5kXG4gICAgICogaGFuZGxlcyBleHBhbmRlZC9jb2xsYXBzZWQgZXZlbnRcbiAgICAgKi9cbiAgICB0b2dnbGVDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcGlubmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZSghdGhpcy5fY29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogY2xpY2sgYWN0aW9uIG9uIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICB0b2dnbGVQaW5uZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Bpbm5lZCA9ICF0aGlzLl9waW5uZWQ7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5waW5uZWQubmV4dCh0aGlzLl9waW5uZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoY29sbGFwc2VkID09PSB0aGlzLl9jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IGNvbGxhcHNlZDtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLmNvbGxhcHNlZC5uZXh0KGNvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkQ2hhbmdlLmVtaXQodGhpcy5fY29sbGFwc2VkKTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2Uuc3ViaGVhZGVyVmlzaWJpbGl0eUNoYW5nZS5uZXh0KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlclwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGVhZGVyQXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiY29sbGFwc2VkXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiY29sbGFwc2libGVIZWFkZXJJZFwiXG4gICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAjaGVhZGVyQ29udGVudFxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lclwiICNwaW5jb2xsYXBzZUNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbGxhcHNpYmxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLWxlZnQtZ3JhZGllbnRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgcm9sZT1cInRvb2xiYXJcIiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyLS1idXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cImNvbGxhcHNlZCA/IGV4cGFuZExhYmVsIDogY29sbGFwc2VMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImNvbGxhcHNlZCA/IGV4cGFuZExhYmVsIDogY29sbGFwc2VMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ29sbGFwc2UoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBbc3R5bGUudHJhbnNmb3JtXT1cImNvbGxhcHNlZCA/ICcnIDogJ3JvdGF0ZSgxODBkZWcpJ1wiIGNsYXNzPVwic2FwLWljb24tLXNsaW0tYXJyb3ctZG93blwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fcGluLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiX3Bpbm5lZCA/IHVucGluQXJpYUxhYmVsIDogcGluQXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiX3Bpbm5lZCA/IHVucGluQXJpYUxhYmVsIDogcGluQXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW3RvZ2dsZWRdPVwiX3Bpbm5lZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQaW5uZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicGlubmFibGUgJiYgIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInNhcC1pY29uLS1wdXNocGluLW9mZlwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyLS1yaWdodC1ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -4,24 +4,6 @@ import * as i0 from "@angular/core";
4
4
  * Default options for core dynamic-page
5
5
  */
6
6
  export class DynamicPageConfig {
7
- constructor() {
8
- /**
9
- * aria label for expand/collapse button when the Dynamic Page is collapsed
10
- */
11
- this.expandLabel = 'Expand Header';
12
- /**
13
- * aria label for expand/collapse button when the Dynamic Page is expanded
14
- */
15
- this.collapseLabel = 'Collapse Header';
16
- /**
17
- * aria label for pin button when the Dynamic Page should be pinned
18
- */
19
- this.pinLabel = 'Pin Header';
20
- /**
21
- * aria label for pin button when the Panel should be unpinned
22
- */
23
- this.unpinLabel = 'Unpin Header';
24
- }
25
7
  }
26
8
  DynamicPageConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
27
9
  DynamicPageConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageConfig, providedIn: 'root' });
@@ -29,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
29
11
  type: Injectable,
30
12
  args: [{ providedIn: 'root' }]
31
13
  }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVJOztXQUVHO1FBQ0gsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFFOUI7O1dBRUc7UUFDSCxrQkFBYSxHQUFHLGlCQUFpQixDQUFDO1FBRWxDOztXQUVHO1FBQ0gsYUFBUSxHQUFHLFlBQVksQ0FBQztRQUV4Qjs7V0FFRztRQUNILGVBQVUsR0FBRyxjQUFjLENBQUM7S0FDL0I7OzhHQXBCWSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURKLE1BQU07MkZBQ25CLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIGZvciBjb3JlIGR5bmFtaWMtcGFnZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBleHBhbmQvY29sbGFwc2UgYnV0dG9uIHdoZW4gdGhlIER5bmFtaWMgUGFnZSBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBleHBhbmRMYWJlbCA9ICdFeHBhbmQgSGVhZGVyJztcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gd2hlbiB0aGUgRHluYW1pYyBQYWdlIGlzIGV4cGFuZGVkXG4gICAgICovXG4gICAgY29sbGFwc2VMYWJlbCA9ICdDb2xsYXBzZSBIZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIGJ1dHRvbiB3aGVuIHRoZSBEeW5hbWljIFBhZ2Ugc2hvdWxkIGJlIHBpbm5lZFxuICAgICAqL1xuICAgIHBpbkxhYmVsID0gJ1BpbiBIZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIGJ1dHRvbiB3aGVuIHRoZSBQYW5lbCBzaG91bGQgYmUgdW5waW5uZWRcbiAgICAgKi9cbiAgICB1bnBpbkxhYmVsID0gJ1VucGluIEhlYWRlcic7XG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTNDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREosTUFBTTsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgZm9yIGNvcmUgZHluYW1pYy1wYWdlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VDb25maWcge1xuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gd2hlbiB0aGUgRHluYW1pYyBQYWdlIGlzIGNvbGxhcHNlZFxuICAgICAqL1xuICAgIGV4cGFuZExhYmVsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBleHBhbmQvY29sbGFwc2UgYnV0dG9uIHdoZW4gdGhlIER5bmFtaWMgUGFnZSBpcyBleHBhbmRlZFxuICAgICAqL1xuICAgIGNvbGxhcHNlTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIHBpbiBidXR0b24gd2hlbiB0aGUgRHluYW1pYyBQYWdlIHNob3VsZCBiZSBwaW5uZWRcbiAgICAgKi9cbiAgICBwaW5MYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIGJ1dHRvbiB3aGVuIHRoZSBQYW5lbCBzaG91bGQgYmUgdW5waW5uZWRcbiAgICAgKi9cbiAgICB1bnBpbkxhYmVsOiBzdHJpbmc7XG59XG4iXX0=
@@ -18,6 +18,7 @@ import { ContentDensityModule } from '@fundamental-ngx/core/content-density';
18
18
  import { ScrollbarModule } from '@fundamental-ngx/core/scrollbar';
19
19
  import { DynamicPageHeaderSubtitleDirective } from './directives/dynamic-page-header-subtitle.directive';
20
20
  import { DynamicPageHeaderTitleDirective } from './directives/dynamic-page-header-title.directive';
21
+ import { I18nModule } from '@fundamental-ngx/i18n';
21
22
  import * as i0 from "@angular/core";
22
23
  export class DynamicPageModule {
23
24
  }
@@ -39,7 +40,8 @@ DynamicPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
39
40
  ContentDensityModule,
40
41
  ScrollbarModule,
41
42
  DynamicPageHeaderSubtitleDirective,
42
- DynamicPageHeaderTitleDirective], exports: [DynamicPageComponent,
43
+ DynamicPageHeaderTitleDirective,
44
+ I18nModule], exports: [DynamicPageComponent,
43
45
  DynamicPageHeaderComponent,
44
46
  DynamicPageGlobalActionsComponent,
45
47
  DynamicPageLayoutActionsComponent,
@@ -57,7 +59,8 @@ DynamicPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
57
59
  PopoverModule,
58
60
  IgnoreClickOnSelectionModule,
59
61
  ContentDensityModule,
60
- ScrollbarModule] });
62
+ ScrollbarModule,
63
+ I18nModule] });
61
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageModule, decorators: [{
62
65
  type: NgModule,
63
66
  args: [{
@@ -82,7 +85,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
82
85
  ContentDensityModule,
83
86
  ScrollbarModule,
84
87
  DynamicPageHeaderSubtitleDirective,
85
- DynamicPageHeaderTitleDirective
88
+ DynamicPageHeaderTitleDirective,
89
+ I18nModule
86
90
  ],
87
91
  exports: [
88
92
  DynamicPageComponent,
@@ -100,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
100
104
  ]
101
105
  }]
102
106
  }] });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUN0SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7QUF5Q25HLE1BQU0sT0FBTyxpQkFBaUI7OzhHQUFqQixpQkFBaUI7K0dBQWpCLGlCQUFpQixpQkFyQ3RCLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQyw2QkFBNkI7UUFDN0IsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsMkJBQTJCO1FBQzNCLHFDQUFxQyxhQUdyQyxZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQixlQUFlO1FBQ2Ysa0NBQWtDO1FBQ2xDLCtCQUErQixhQUcvQixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLGlDQUFpQztRQUNqQyxpQ0FBaUM7UUFDakMsNkJBQTZCO1FBQzdCLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsZ0NBQWdDO1FBQ2hDLDJCQUEyQjtRQUMzQixxQ0FBcUM7UUFDckMsa0NBQWtDO1FBQ2xDLCtCQUErQjsrR0FHMUIsaUJBQWlCLFlBekJ0QixZQUFZO1FBQ1osWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsNEJBQTRCO1FBQzVCLG9CQUFvQjtRQUNwQixlQUFlOzJGQW1CVixpQkFBaUI7a0JBdkM3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsaUNBQWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLDZCQUE2Qjt3QkFDN0IsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLGdDQUFnQzt3QkFDaEMsMkJBQTJCO3dCQUMzQixxQ0FBcUM7cUJBQ3hDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGtDQUFrQzt3QkFDbEMsK0JBQStCO3FCQUNsQztvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3dCQUNwQiwwQkFBMEI7d0JBQzFCLGlDQUFpQzt3QkFDakMsaUNBQWlDO3dCQUNqQyw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsMEJBQTBCO3dCQUMxQixnQ0FBZ0M7d0JBQ2hDLDJCQUEyQjt3QkFDM0IscUNBQXFDO3dCQUNyQyxrQ0FBa0M7d0JBQ2xDLCtCQUErQjtxQkFDbEM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtY29udGVudC9keW5hbWljLXBhZ2UtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1mb290ZXIvZHluYW1pYy1wYWdlLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtaGVhZGVyL2FjdGlvbnMvZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUxheW91dEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1oZWFkZXIvYWN0aW9ucy9keW5hbWljLXBhZ2UtbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlU3ViaGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtaGVhZGVyL3N1YmhlYWRlci9keW5hbWljLXBhZ2Utc3ViaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVRpdGxlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci9hY3Rpb25zL2R5bmFtaWMtcGFnZS10aXRsZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Rvb2xiYXInO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IER5bmFtaWNQYWdlV3JhcHBlckRpcmVjdGl2ZSB9IGZyb20gJy4vZHluYW1pYy1wYWdlLXdyYXBwZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IElnbm9yZUNsaWNrT25TZWxlY3Rpb25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBEZXByZWNhdGVkRHluYW1pY1BhZ2VDb21wYWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kZXByZWNhdGVkLWR5bmFtaWMtcGFnZS1jb21wYWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgU2Nyb2xsYmFyTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3Njcm9sbGJhcic7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUhlYWRlclN1YnRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2R5bmFtaWMtcGFnZS1oZWFkZXItc3VidGl0bGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IER5bmFtaWNQYWdlSGVhZGVyVGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZHluYW1pYy1wYWdlLWhlYWRlci10aXRsZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBEeW5hbWljUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlR2xvYmFsQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VMYXlvdXRBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZVN1YmhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlV3JhcHBlckRpcmVjdGl2ZSxcbiAgICAgICAgRGVwcmVjYXRlZER5bmFtaWNQYWdlQ29tcGFjdERpcmVjdGl2ZVxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVG9vbGJhck1vZHVsZSxcbiAgICAgICAgUG9wb3Zlck1vZHVsZSxcbiAgICAgICAgSWdub3JlQ2xpY2tPblNlbGVjdGlvbk1vZHVsZSxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGUsXG4gICAgICAgIFNjcm9sbGJhck1vZHVsZSxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJUaXRsZURpcmVjdGl2ZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBEeW5hbWljUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlR2xvYmFsQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VMYXlvdXRBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZVN1YmhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VUaXRsZUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlV3JhcHBlckRpcmVjdGl2ZSxcbiAgICAgICAgRGVwcmVjYXRlZER5bmFtaWNQYWdlQ29tcGFjdERpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSxcbiAgICAgICAgRHluYW1pY1BhZ2VIZWFkZXJUaXRsZURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VNb2R1bGUge31cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2R5bmFtaWMtcGFnZS9keW5hbWljLXBhZ2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUN0SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBMENuRCxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBdEN0QixvQkFBb0I7UUFDcEIsMEJBQTBCO1FBQzFCLGlDQUFpQztRQUNqQyxpQ0FBaUM7UUFDakMsNkJBQTZCO1FBQzdCLDJCQUEyQjtRQUMzQiwwQkFBMEI7UUFDMUIsZ0NBQWdDO1FBQ2hDLDJCQUEyQjtRQUMzQixxQ0FBcUMsYUFHckMsWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLDRCQUE0QjtRQUM1QixvQkFBb0I7UUFDcEIsZUFBZTtRQUNmLGtDQUFrQztRQUNsQywrQkFBK0I7UUFDL0IsVUFBVSxhQUdWLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQyw2QkFBNkI7UUFDN0IsMkJBQTJCO1FBQzNCLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsMkJBQTJCO1FBQzNCLHFDQUFxQztRQUNyQyxrQ0FBa0M7UUFDbEMsK0JBQStCOytHQUcxQixpQkFBaUIsWUExQnRCLFlBQVk7UUFDWixZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYiw0QkFBNEI7UUFDNUIsb0JBQW9CO1FBQ3BCLGVBQWU7UUFHZixVQUFVOzJGQWlCTCxpQkFBaUI7a0JBeEM3QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsaUNBQWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLDZCQUE2Qjt3QkFDN0IsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLGdDQUFnQzt3QkFDaEMsMkJBQTJCO3dCQUMzQixxQ0FBcUM7cUJBQ3hDO29CQUNELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLDRCQUE0Qjt3QkFDNUIsb0JBQW9CO3dCQUNwQixlQUFlO3dCQUNmLGtDQUFrQzt3QkFDbEMsK0JBQStCO3dCQUMvQixVQUFVO3FCQUNiO29CQUNELE9BQU8sRUFBRTt3QkFDTCxvQkFBb0I7d0JBQ3BCLDBCQUEwQjt3QkFDMUIsaUNBQWlDO3dCQUNqQyxpQ0FBaUM7d0JBQ2pDLDZCQUE2Qjt3QkFDN0IsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLGdDQUFnQzt3QkFDaEMsMkJBQTJCO3dCQUMzQixxQ0FBcUM7d0JBQ3JDLGtDQUFrQzt3QkFDbEMsK0JBQStCO3FCQUNsQztpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1jb250ZW50L2R5bmFtaWMtcGFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWZvb3Rlci9keW5hbWljLXBhZ2UtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1oZWFkZXIvYWN0aW9ucy9keW5hbWljLXBhZ2UtZ2xvYmFsLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci9hY3Rpb25zL2R5bmFtaWMtcGFnZS1sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1oZWFkZXIvc3ViaGVhZGVyL2R5bmFtaWMtcGFnZS1zdWJoZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtaGVhZGVyL2hlYWRlci9keW5hbWljLXBhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcbmltcG9ydCB7IER5bmFtaWNQYWdlVGl0bGVDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtaGVhZGVyL2FjdGlvbnMvZHluYW1pYy1wYWdlLXRpdGxlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdG9vbGJhcic7XG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VXcmFwcGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9keW5hbWljLXBhZ2Utd3JhcHBlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWdub3JlQ2xpY2tPblNlbGVjdGlvbk1vZHVsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IERlcHJlY2F0ZWREeW5hbWljUGFnZUNvbXBhY3REaXJlY3RpdmUgfSBmcm9tICcuL2RlcHJlY2F0ZWQtZHluYW1pYy1wYWdlLWNvbXBhY3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBTY3JvbGxiYXJNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvc2Nyb2xsYmFyJztcbmltcG9ydCB7IER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZHluYW1pYy1wYWdlLWhlYWRlci1zdWJ0aXRsZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VIZWFkZXJUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9keW5hbWljLXBhZ2UtaGVhZGVyLXRpdGxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJMThuTW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRHluYW1pY1BhZ2VDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlVGl0bGVDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZVdyYXBwZXJEaXJlY3RpdmUsXG4gICAgICAgIERlcHJlY2F0ZWREeW5hbWljUGFnZUNvbXBhY3REaXJlY3RpdmVcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICAgIFRvb2xiYXJNb2R1bGUsXG4gICAgICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgICAgIElnbm9yZUNsaWNrT25TZWxlY3Rpb25Nb2R1bGUsXG4gICAgICAgIENvbnRlbnREZW5zaXR5TW9kdWxlLFxuICAgICAgICBTY3JvbGxiYXJNb2R1bGUsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyVGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIEkxOG5Nb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgRHluYW1pY1BhZ2VDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlVGl0bGVDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZVdyYXBwZXJEaXJlY3RpdmUsXG4gICAgICAgIERlcHJlY2F0ZWREeW5hbWljUGFnZUNvbXBhY3REaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyVGl0bGVEaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlTW9kdWxlIHt9XG4iXX0=
@@ -1,13 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Directive, ContentChild, inject, TemplateRef, Injectable, EventEmitter, HostBinding, Output, ViewChild, Optional, Inject, ContentChildren, forwardRef, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Directive, ContentChild, inject, TemplateRef, Injectable, EventEmitter, Inject, HostBinding, Output, ViewChild, Optional, ContentChildren, forwardRef, NgModule } from '@angular/core';
3
3
  import * as i3$1 from '@fundamental-ngx/cdk/utils';
4
4
  import { resizeObservable, IgnoreClickOnSelectionModule } from '@fundamental-ngx/cdk/utils';
5
- import * as i5 from '@fundamental-ngx/core/flexible-column-layout';
5
+ import * as i5$1 from '@fundamental-ngx/core/flexible-column-layout';
6
6
  import { FD_FLEXIBLE_COLUMN_LAYOUT_COMPONENT } from '@fundamental-ngx/core/flexible-column-layout';
7
7
  import { TabListComponent } from '@fundamental-ngx/core/tabs';
8
8
  import * as i2 from '@angular/common';
9
9
  import { CommonModule } from '@angular/common';
10
- import { Subject, BehaviorSubject, fromEvent, startWith, asyncScheduler } from 'rxjs';
10
+ import * as i5 from 'rxjs';
11
+ import { Subject, BehaviorSubject, firstValueFrom, fromEvent, startWith, asyncScheduler } from 'rxjs';
11
12
  import { takeUntil, distinctUntilChanged, debounceTime, map, observeOn } from 'rxjs/operators';
12
13
  import { DYNAMIC_PAGE_HEADER_TOKEN } from '@fundamental-ngx/core/shared';
13
14
  import { FD_BREADCRUMB_COMPONENT } from '@fundamental-ngx/core/breadcrumb';
@@ -15,6 +16,8 @@ import * as i3 from '@fundamental-ngx/core/toolbar';
15
16
  import { ToolbarComponent, ToolbarModule } from '@fundamental-ngx/core/toolbar';
16
17
  import * as i1 from '@fundamental-ngx/core/content-density';
17
18
  import { contentDensityObserverProviders, DeprecatedCompactDirective, CONTENT_DENSITY_DIRECTIVE, ContentDensityModule } from '@fundamental-ngx/core/content-density';
19
+ import { __awaiter } from 'tslib';
20
+ import { TranslationResolver, FD_LANGUAGE, I18nModule } from '@fundamental-ngx/i18n';
18
21
  import * as i4 from '@fundamental-ngx/core/button';
19
22
  import { ButtonModule } from '@fundamental-ngx/core/button';
20
23
  import * as i4$1 from '@fundamental-ngx/core/scrollbar';
@@ -490,24 +493,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
490
493
  * Default options for core dynamic-page
491
494
  */
492
495
  class DynamicPageConfig {
493
- constructor() {
494
- /**
495
- * aria label for expand/collapse button when the Dynamic Page is collapsed
496
- */
497
- this.expandLabel = 'Expand Header';
498
- /**
499
- * aria label for expand/collapse button when the Dynamic Page is expanded
500
- */
501
- this.collapseLabel = 'Collapse Header';
502
- /**
503
- * aria label for pin button when the Dynamic Page should be pinned
504
- */
505
- this.pinLabel = 'Pin Header';
506
- /**
507
- * aria label for pin button when the Panel should be unpinned
508
- */
509
- this.unpinLabel = 'Unpin Header';
510
- }
511
496
  }
512
497
  DynamicPageConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
513
498
  DynamicPageConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageConfig, providedIn: 'root' });
@@ -528,10 +513,11 @@ class DynamicPageSubheaderComponent {
528
513
  return this._collapsed;
529
514
  }
530
515
  /** @hidden */
531
- constructor(_cd, _dynamicPageConfig, _dynamicPageService) {
516
+ constructor(_cd, _dynamicPageConfig, _dynamicPageService, _language$) {
532
517
  this._cd = _cd;
533
518
  this._dynamicPageConfig = _dynamicPageConfig;
534
519
  this._dynamicPageService = _dynamicPageService;
520
+ this._language$ = _language$;
535
521
  /**
536
522
  * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear
537
523
  * and the header stays visible
@@ -542,14 +528,6 @@ class DynamicPageSubheaderComponent {
542
528
  * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.
543
529
  */
544
530
  this.pinnable = false;
545
- /**
546
- * ARIA label for button when the header is collapsed
547
- */
548
- this.expandLabel = this._dynamicPageConfig.expandLabel;
549
- /**
550
- * ARIA label for button when the header is expanded
551
- */
552
- this.collapseLabel = this._dynamicPageConfig.collapseLabel;
553
531
  /** Header role */
554
532
  this.role = 'region';
555
533
  /**
@@ -579,10 +557,55 @@ class DynamicPageSubheaderComponent {
579
557
  * tracking expand/collapse button
580
558
  */
581
559
  this._collapsed = false;
560
+ /** @hidden */
561
+ this._translationResolver = new TranslationResolver();
582
562
  this._dynamicPageService.collapsed
583
563
  .pipe(distinctUntilChanged())
584
564
  .subscribe((collapsed) => this._handleCollapsedChange(collapsed));
585
565
  }
566
+ /** @hidden */
567
+ ngAfterContentInit() {
568
+ this._init();
569
+ }
570
+ /** @hidden */
571
+ _init() {
572
+ return __awaiter(this, void 0, void 0, function* () {
573
+ this._language = yield firstValueFrom(this._language$);
574
+ if (!this.expandLabel) {
575
+ if (this._dynamicPageConfig && this._dynamicPageConfig.expandLabel) {
576
+ this.expandLabel = this._dynamicPageConfig.expandLabel;
577
+ }
578
+ else {
579
+ this.expandLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.expandLabel`);
580
+ }
581
+ }
582
+ if (!this.collapseLabel) {
583
+ if (this._dynamicPageConfig && this._dynamicPageConfig.collapseLabel) {
584
+ this.collapseLabel = this._dynamicPageConfig.collapseLabel;
585
+ }
586
+ else {
587
+ this.collapseLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.collapseLabel`);
588
+ }
589
+ }
590
+ if (!this.pinAriaLabel) {
591
+ if (this._dynamicPageConfig && this._dynamicPageConfig.pinLabel) {
592
+ this.pinAriaLabel = this._dynamicPageConfig.pinLabel;
593
+ }
594
+ else {
595
+ this.pinAriaLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.pinLabel`);
596
+ }
597
+ }
598
+ if (!this.unpinAriaLabel) {
599
+ if (this._dynamicPageConfig && this._dynamicPageConfig.unpinLabel) {
600
+ this.unpinAriaLabel = this._dynamicPageConfig.unpinLabel;
601
+ }
602
+ else {
603
+ this.unpinAriaLabel = this._translationResolver.resolve(this._language, `coreDynamicPage.unpinLabel`);
604
+ }
605
+ }
606
+ this._cd.detectChanges();
607
+ });
608
+ }
586
609
  /**
587
610
  * toggles the state of the header and
588
611
  * handles expanded/collapsed event
@@ -611,12 +634,17 @@ class DynamicPageSubheaderComponent {
611
634
  this._dynamicPageService.subheaderVisibilityChange.next();
612
635
  }
613
636
  }
614
- DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicPageConfig }, { token: DynamicPageService }], target: i0.ɵɵFactoryTarget.Component });
637
+ DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicPageConfig }, { token: DynamicPageService }, { token: FD_LANGUAGE }], target: i0.ɵɵFactoryTarget.Component });
615
638
  DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div 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]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i [style.transform]=\"collapsed ? '' : 'rotate(180deg)'\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [toggled]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
616
639
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageSubheaderComponent, decorators: [{
617
640
  type: Component,
618
641
  args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div 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]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i [style.transform]=\"collapsed ? '' : 'rotate(180deg)'\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [toggled]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
619
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: DynamicPageConfig }, { type: DynamicPageService }]; }, propDecorators: { collapsible: [{
642
+ }], ctorParameters: function () {
643
+ return [{ type: i0.ChangeDetectorRef }, { type: DynamicPageConfig }, { type: DynamicPageService }, { type: i5.Observable, decorators: [{
644
+ type: Inject,
645
+ args: [FD_LANGUAGE]
646
+ }] }];
647
+ }, propDecorators: { collapsible: [{
620
648
  type: Input
621
649
  }], pinnable: [{
622
650
  type: Input
@@ -884,7 +912,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
884
912
  type: Component,
885
913
  args: [{ selector: 'fd-dynamic-page', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [DynamicPageService], template: "<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <div fd-scrollbar *ngIf=\"!_tabComponent\">\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n </div>\n\n <div *ngIf=\"_tabComponent\">\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</section>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-dynamic-page{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page:after,.fd-dynamic-page:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__header-fixed{left:0;position:fixed;right:0;top:0;z-index:3}.fd-dynamic-page__header{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__header:after,.fd-dynamic-page__header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;min-height:3rem;padding:0;z-index:1}.fd-dynamic-page__title-area:after,.fd-dynamic-page__title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-area.is-focus,.fd-dynamic-page__title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth);z-index:1}.fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__title-area:hover{background:var(--sapObjectHeader_Hover_Background);border-bottom:var(--fdDynamicPage_Hover_Border_Bottom);cursor:pointer}.fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page__title-area--collapsed .fd-dynamic-page__title{font-size:var(--fdDynamicPage_Title_Collapsed_Font_Size)}.fd-dynamic-page__title-area[aria-hidden=true]{display:none}.fd-dynamic-page__main-container{-webkit-box-sizing:border-box;-webkit-box-pack:justify;-ms-flex-pack:justify;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__main-container:after,.fd-dynamic-page__main-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:row;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__title-container:after,.fd-dynamic-page__title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:.5rem 0 .25rem}.fd-dynamic-page__breadcrumb:after,.fd-dynamic-page__breadcrumb:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-title-container{-webkit-box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;border:0;box-sizing:border-box;color:var(--sapTextColor);flex:1;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;min-width:0;padding:0}.fd-dynamic-page__breadcrumb-title-container:after,.fd-dynamic-page__breadcrumb-title-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__breadcrumb-container{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__breadcrumb-container:after,.fd-dynamic-page__breadcrumb-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Title_Color);font-family:var(--sapFontFamily);font-family:var(--fdDynamicPage_Title_Font_Family);font-size:var(--sapFontSize);font-size:var(--fdDynamicPage_Title_Font_Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title:after,.fd-dynamic-page__title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title .fd-link{color:var(--sapGroup_TitleTextColor);font-size:var(--sapFontHeader3Size);max-width:100%;overflow:hidden;padding:0;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.fd-dynamic-page__title--wrap{white-space:normal}.fd-dynamic-page__subtitle{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--fdDynamicPage_Subtitle_Color);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:.25rem 0 0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__subtitle:after,.fd-dynamic-page__subtitle:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__subtitle--wrap{white-space:normal}.fd-dynamic-page__title-content{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0 0 0 1rem;text-overflow:ellipsis;vertical-align:baseline;white-space:nowrap}.fd-dynamic-page__title-content:after,.fd-dynamic-page__title-content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__title-content[dir=rtl],[dir=rtl] .fd-dynamic-page__title-content{padding:0 1rem 0 0}.fd-dynamic-page__title-subtitle-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;flex-direction:column;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__title-subtitle-container:after,.fd-dynamic-page__title-subtitle-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container{-webkit-box-sizing:border-box;align-items:center;border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0 0 0 auto;padding:0}.fd-dynamic-page__toolbar-container:after,.fd-dynamic-page__toolbar-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__toolbar-container[dir=rtl],[dir=rtl] .fd-dynamic-page__toolbar-container{margin-left:0;margin-right:auto}.fd-dynamic-page .fd-dynamic-page__toolbar{background:transparent;margin:0;padding:0 0 0 1rem}.fd-dynamic-page .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar{padding-left:0;padding-right:1rem}.fd-dynamic-page .fd-dynamic-page__toolbar--actions,.fd-dynamic-page .fd-dynamic-page__toolbar--actions[dir=rtl],.fd-dynamic-page .fd-dynamic-page__toolbar--content,.fd-dynamic-page .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--actions,[dir=rtl] .fd-dynamic-page .fd-dynamic-page__toolbar--content{padding:0}.fd-dynamic-page__summarized-title-area{-webkit-box-sizing:border-box;-webkit-box-align:center;-ms-flex-align:center;-webkit-box-pack:justify;-ms-flex-pack:justify;word-wrap:break-word;-webkit-box-shadow:var(--sapContent_HeaderShadow);align-items:center;background:var(--sapObjectHeader_Background);border:0;box-shadow:var(--sapContent_HeaderShadow);box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:2rem;justify-content:space-between;line-height:var(--sapContent_LineHeight);margin:0;padding:0;z-index:1}.fd-dynamic-page__summarized-title-area:after,.fd-dynamic-page__summarized-title-area:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__summarized-title-area.is-focus,.fd-dynamic-page__summarized-title-area:focus{outline-color:var(--sapContent_FocusColor);outline-offset:-.25rem;outline-style:var(--sapContent_FocusStyle);outline-width:var(--sapContent_FocusWidth)}.fd-dynamic-page__summarized-title-area--no-shadow{box-shadow:none}.fd-dynamic-page__summarized-title-area[aria-hidden=true]{display:none}.fd-dynamic-page__summarized-title{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);color:var(--sapGroup_TitleTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-size:var(--sapFontHeader5Size);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);line-height:2rem;margin:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.fd-dynamic-page__summarized-title:after,.fd-dynamic-page__summarized-title:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-container{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0}.fd-dynamic-page__collapsible-header-container:after,.fd-dynamic-page__collapsible-header-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header{-webkit-box-sizing:border-box;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:1rem 0}.fd-dynamic-page__collapsible-header:after,.fd-dynamic-page__collapsible-header:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header[aria-hidden=true]{display:none}.fd-dynamic-page .fd-dynamic-page__tabs{margin:0;padding:0}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{overflow:hidden}.fd-dynamic-page .fd-dynamic-page__tabs--add-shadow,.fd-dynamic-page__collapsible-header-visibility-container{box-shadow:var(--sapContent_HeaderShadow)}.fd-dynamic-page__collapsible-header-visibility-container{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background-color:var(--sapObjectHeader_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;min-height:.0625rem;padding:0;z-index:2}.fd-dynamic-page__collapsible-header-visibility-container:after,.fd-dynamic-page__collapsible-header-visibility-container:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--left-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--left-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Right_Gradient);height:.0625rem;width:4rem}.fd-dynamic-page__collapsible-header-visibility-container--right-gradient[dir=rtl],[dir=rtl] .fd-dynamic-page__collapsible-header-visibility-container--right-gradient{background-image:var(--fdDynamicPage_Button_Left_Gradient)}.fd-dynamic-page__collapsible-header-visibility-container--button-group{-webkit-box-sizing:border-box;-webkit-box-pack:center;-ms-flex-pack:center;align-items:center;background:var(--fdDynamicPage_Button_Group_Background);border:0;box-sizing:border-box;color:var(--sapTextColor);display:flex;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;height:.0625rem;justify-content:center;line-height:var(--sapContent_LineHeight);margin:0;padding:0;width:4.25rem;z-index:1}.fd-dynamic-page__collapsible-header-visibility-container--button-group:after,.fd-dynamic-page__collapsible-header-visibility-container--button-group:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__collapsible-header-visibility-container[aria-hidden=true]{display:none}.fd-dynamic-page__collapsible-header-visibility-container--no-shadow{box-shadow:none}.fd-dynamic-page__collapse-button,.fd-dynamic-page__expand-button,.fd-dynamic-page__pin-button{--fdButtonBackgroundColor:var(--fdDynamicPage_Button_Pin_Background);height:1.5rem;margin:0 .25rem;min-width:1.5rem;padding:0;width:1.5rem}.fd-dynamic-page__collapse-button:before,.fd-dynamic-page__expand-button:before,.fd-dynamic-page__pin-button:before{bottom:-.25rem;height:2rem;top:-.25rem;width:100%}.fd-dynamic-page__collapse-button[aria-hidden=true],.fd-dynamic-page__expand-button[aria-hidden=true],.fd-dynamic-page__pin-button[aria-hidden=true]{display:none}.fd-dynamic-page__content{-webkit-box-sizing:border-box;background-color:var(--sapBackgroundColor);border:0;box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;overflow-y:auto;padding:0}.fd-dynamic-page__content:after,.fd-dynamic-page__content:before{box-sizing:inherit;font-size:inherit}.fd-dynamic-page__footer{bottom:0;left:0;margin:0 .5rem .5rem;position:fixed;right:0}.fd-dynamic-page--sm .fd-dynamic-page__title-area{padding:.5rem 1rem}.fd-dynamic-page--sm .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--sm .fd-dynamic-page__collapsible-header,.fd-dynamic-page--sm .fd-dynamic-page__content{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__tabs{padding:0 1rem}.fd-dynamic-page--sm .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--sm .fd-dynamic-page__breadcrumb{padding:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:auto;padding-left:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar{margin-left:0;margin-right:auto;padding-left:0;padding-right:1rem}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-left:0}.fd-dynamic-page--sm .fd-dynamic-page__toolbar--content[dir=rtl],[dir=rtl] .fd-dynamic-page--sm .fd-dynamic-page__toolbar--content{margin-right:0}.fd-dynamic-page--lg .fd-dynamic-page__title-area,.fd-dynamic-page--md .fd-dynamic-page__title-area{padding:.5rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__title-area--collapsed,.fd-dynamic-page--md .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--lg .fd-dynamic-page__collapsible-header,.fd-dynamic-page--lg .fd-dynamic-page__content,.fd-dynamic-page--md .fd-dynamic-page__collapsible-header,.fd-dynamic-page--md .fd-dynamic-page__content{padding:1rem 2rem}.fd-dynamic-page--lg .fd-dynamic-page__tabs,.fd-dynamic-page--md .fd-dynamic-page__tabs{padding:0 2rem}.fd-dynamic-page--lg .fd-dynamic-page__summarized-title-area,.fd-dynamic-page--md .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area{padding:.5rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__title-area--collapsed{padding-bottom:1rem}.fd-dynamic-page--xl .fd-dynamic-page__collapsible-header,.fd-dynamic-page--xl .fd-dynamic-page__content{padding:1rem 3rem}.fd-dynamic-page--xl .fd-dynamic-page__tabs{padding:0 3rem}.fd-dynamic-page--xl .fd-dynamic-page__summarized-title-area{padding:1rem}.fd-dynamic-page--md .fd-dynamic-page__toolbar{padding:0}.fd-dynamic-page--list-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_List_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__content{background-color:var(--fdDynamicPage_Content_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__title-area{background:var(--fdDynamicPage_Title_Header_Transparent_Background)}.fd-dynamic-page--transparent-bg .fd-dynamic-page__collapsible-header{background-color:var(--fdDynamicPage_Title_Header_Transparent_Background)}.footer-spacer{height:3rem}.content-sticker{position:static}.fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}.fd-dynamic-page__collapsible-header-visibility-container--button-group{z-index:6}.fd-tabs .fd-dynamic-page__content{display:block;height:auto!important}.fd-dynamic-page{height:100%}.fd-dynamic-page .fd-bar--floating-footer{z-index:6}.fd-dynamic-page .fd-tabs-custom{overflow:auto;background-color:#f7f7f7;background-color:var(--sapBackgroundColor, #f7f7f7);flex:1}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__title-subtitle-container{flex:1}.fd-dynamic-page--transparent-bg .fd-tabs-custom{background-color:transparent;background-color:var(--fdDynamicPage_Content_Transparent_Background, transparent)}.fd-dynamic-page--list-bg .fd-tabs-custom{background-color:#fff;background-color:var(--fdDynamicPage_Content_List_Background, var(--sapGroup_ContentBackground, #fff))}.fd-dynamic-page--xl .fd-bar--floating-footer{margin:1rem 3rem}.fd-dynamic-page--lg .fd-bar--floating-footer,.fd-dynamic-page--md .fd-bar--floating-footer{margin:1rem 2rem}.fd-dynamic-page--sm .fd-bar--floating-footer{margin:1rem .5rem}.fd-dynamic-page--sm .fd-dynamic-page__title-container{align-items:center}\n"] }]
886
914
  }], ctorParameters: function () {
887
- return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DynamicPageService }, { type: i5.FlexibleColumnLayoutComponent, decorators: [{
915
+ return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: DynamicPageService }, { type: i5$1.FlexibleColumnLayoutComponent, decorators: [{
888
916
  type: Optional
889
917
  }, {
890
918
  type: Inject,
@@ -981,7 +1009,8 @@ DynamicPageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versi
981
1009
  ContentDensityModule,
982
1010
  ScrollbarModule,
983
1011
  DynamicPageHeaderSubtitleDirective,
984
- DynamicPageHeaderTitleDirective], exports: [DynamicPageComponent,
1012
+ DynamicPageHeaderTitleDirective,
1013
+ I18nModule], exports: [DynamicPageComponent,
985
1014
  DynamicPageHeaderComponent,
986
1015
  DynamicPageGlobalActionsComponent,
987
1016
  DynamicPageLayoutActionsComponent,
@@ -999,7 +1028,8 @@ DynamicPageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", versi
999
1028
  PopoverModule,
1000
1029
  IgnoreClickOnSelectionModule,
1001
1030
  ContentDensityModule,
1002
- ScrollbarModule] });
1031
+ ScrollbarModule,
1032
+ I18nModule] });
1003
1033
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DynamicPageModule, decorators: [{
1004
1034
  type: NgModule,
1005
1035
  args: [{
@@ -1024,7 +1054,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
1024
1054
  ContentDensityModule,
1025
1055
  ScrollbarModule,
1026
1056
  DynamicPageHeaderSubtitleDirective,
1027
- DynamicPageHeaderTitleDirective
1057
+ DynamicPageHeaderTitleDirective,
1058
+ I18nModule
1028
1059
  ],
1029
1060
  exports: [
1030
1061
  DynamicPageComponent,