@fundamental-ngx/platform 0.47.4-rc.9 → 0.47.4

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,7 +1,6 @@
1
1
  import { EventEmitter, TemplateRef } from '@angular/core';
2
2
  import { Nullable } from '@fundamental-ngx/cdk/utils';
3
3
  import { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';
4
- import { DynamicPageConfig } from '../../dynamic-page.config';
5
4
  import * as i0 from "@angular/core";
6
5
  /** Dynamic Page collapse change event */
7
6
  export declare class DynamicPageCollapseChangeEvent {
@@ -22,7 +21,6 @@ export declare class DynamicPageCollapseChangeEvent {
22
21
  *
23
22
  */
24
23
  export declare class DynamicPageHeaderComponent {
25
- protected _dynamicPageConfig: DynamicPageConfig;
26
24
  /**
27
25
  * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear
28
26
  * and the header stays visible
@@ -84,8 +82,6 @@ export declare class DynamicPageHeaderComponent {
84
82
  * The template reference to the component view.
85
83
  */
86
84
  contentTemplateRef: TemplateRef<any>;
87
- /** @hidden */
88
- constructor(_dynamicPageConfig: DynamicPageConfig);
89
85
  /**
90
86
  * @hidden
91
87
  * Delegate collapse change event
@@ -2,6 +2,7 @@ import { PlatformConfig } from '@fundamental-ngx/platform/shared';
2
2
  import * as i0 from "@angular/core";
3
3
  /**
4
4
  * Default options for platform dynamic-page
5
+ * @deprecated use i18n coreDynamicPage key instead
5
6
  */
6
7
  export declare class DynamicPageConfig extends PlatformConfig {
7
8
  /**
@@ -1,7 +1,5 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';
2
- import { DynamicPageConfig } from '../../dynamic-page.config';
3
2
  import * as i0 from "@angular/core";
4
- import * as i1 from "../../dynamic-page.config";
5
3
  /** Dynamic Page collapse change event */
6
4
  export class DynamicPageCollapseChangeEvent {
7
5
  /**
@@ -23,9 +21,7 @@ let dynamicPageHeaderId = 0;
23
21
  *
24
22
  */
25
23
  export class DynamicPageHeaderComponent {
26
- /** @hidden */
27
- constructor(_dynamicPageConfig) {
28
- this._dynamicPageConfig = _dynamicPageConfig;
24
+ constructor() {
29
25
  /**
30
26
  * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear
31
27
  * and the header stays visible
@@ -36,28 +32,12 @@ export class DynamicPageHeaderComponent {
36
32
  * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.
37
33
  */
38
34
  this.pinnable = false;
39
- /**
40
- * ARIA label for button when the header is collapsed
41
- */
42
- this.expandLabel = this._dynamicPageConfig.expandLabel;
43
- /**
44
- * ARIA label for button when the header is expanded
45
- */
46
- this.collapseLabel = this._dynamicPageConfig.collapseLabel;
47
35
  /** Header role */
48
36
  this.role = 'region';
49
37
  /**
50
38
  * id for header
51
39
  */
52
40
  this.id = `fdp-dynamic-page-header-id-${dynamicPageHeaderId++}`;
53
- /**
54
- * aria label for pin state of pin button
55
- */
56
- this.pinAriaLabel = this._dynamicPageConfig.pinLabel;
57
- /**
58
- * aria label for unpin state of pin button
59
- */
60
- this.unpinAriaLabel = this._dynamicPageConfig.unpinLabel;
61
41
  /** Collapse/Expand change event raised */
62
42
  this.collapsedChange = new EventEmitter();
63
43
  }
@@ -70,7 +50,7 @@ export class DynamicPageHeaderComponent {
70
50
  const event = new DynamicPageCollapseChangeEvent(this, collapsed);
71
51
  this.collapsedChange.emit(event);
72
52
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageHeaderComponent, deps: [{ token: i1.DynamicPageConfig }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
74
54
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: DynamicPageHeaderComponent, isStandalone: true, selector: "fdp-dynamic-page-header", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel", background: "background", size: "size" }, outputs: { collapsedChange: "collapsedChange" }, viewQueries: [{ propertyName: "contentTemplateRef", first: true, predicate: ["contentTemplateRef"], descendants: true }], ngImport: i0, template: `
75
55
  <ng-template #contentTemplateRef>
76
56
  <ng-content></ng-content>
@@ -89,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
89
69
  changeDetection: ChangeDetectionStrategy.OnPush,
90
70
  standalone: true
91
71
  }]
92
- }], ctorParameters: function () { return [{ type: i1.DynamicPageConfig }]; }, propDecorators: { collapsible: [{
72
+ }], propDecorators: { collapsible: [{
93
73
  type: Input
94
74
  }], pinnable: [{
95
75
  type: Input
@@ -119,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
119
99
  type: ViewChild,
120
100
  args: ['contentTemplateRef']
121
101
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvZHluYW1pYy1wYWdlL2R5bmFtaWMtcGFnZS1oZWFkZXIvaGVhZGVyL2R5bmFtaWMtcGFnZS1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl4SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRTlELHlDQUF5QztBQUN6QyxNQUFNLE9BQU8sOEJBQThCO0lBQ3ZDOzs7O09BSUc7SUFDSCxZQUFtQixNQUFrQyxFQUFTLE9BQWdCO1FBQTNELFdBQU0sR0FBTixNQUFNLENBQTRCO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBUztJQUFHLENBQUM7Q0FDckY7QUFFRCxJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUU1Qjs7Ozs7O0dBTUc7QUFZSCxNQUFNLE9BQU8sMEJBQTBCO0lBMEZuQyxjQUFjO0lBQ2QsWUFBc0Isa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUExRjNEOzs7V0FHRztRQUVILGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5COzs7V0FHRztRQUVILGFBQVEsR0FBRyxLQUFLLENBQUM7UUFRakI7O1dBRUc7UUFFSCxnQkFBVyxHQUFXLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7UUFFMUQ7O1dBRUc7UUFFSCxrQkFBYSxHQUFXLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7UUFFOUQsbUJBQW1CO1FBRW5CLFNBQUksR0FBRyxRQUFRLENBQUM7UUFFaEI7O1dBRUc7UUFFSCxPQUFFLEdBQUcsOEJBQThCLG1CQUFtQixFQUFFLEVBQUUsQ0FBQztRQVEzRDs7V0FFRztRQUVILGlCQUFZLEdBQVcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUV4RDs7V0FFRztRQUVILG1CQUFjLEdBQVcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQWdCNUQsMENBQTBDO1FBRTFDLG9CQUFlLEdBQWlELElBQUksWUFBWSxFQUFrQyxDQUFDO0lBY3JELENBQUM7SUFFL0Q7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsU0FBa0I7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FyR1EsMEJBQTBCO2tHQUExQiwwQkFBMEIsb2pCQVJ6Qjs7OztLQUlUOzsyRkFJUSwwQkFBMEI7a0JBVnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt3R0FPRyxXQUFXO3NCQURWLEtBQUs7Z0JBUU4sUUFBUTtzQkFEUCxLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFPTixFQUFFO3NCQURELEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFPTixjQUFjO3NCQURiLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQVFOLElBQUk7c0JBREgsS0FBSztnQkFLTixlQUFlO3NCQURkLE1BQU07Z0JBWVAsa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNQYWdlQmFja2dyb3VuZFR5cGUsIER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VDb25maWcgfSBmcm9tICcuLi8uLi9keW5hbWljLXBhZ2UuY29uZmlnJztcblxuLyoqIER5bmFtaWMgUGFnZSBjb2xsYXBzZSBjaGFuZ2UgZXZlbnQgKi9cbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZUNvbGxhcHNlQ2hhbmdlRXZlbnQge1xuICAgIC8qKlxuICAgICAqIER5bmFtaWMgUGFnZSBjb2xsYXBzZSBjaGFuZ2UgZXZlbnRcbiAgICAgKiBAcGFyYW0gc291cmNlIER5bmFtaWMgUGFnZSBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBDb2xsYXBzZSBzdGF0ZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzb3VyY2U6IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50LCBwdWJsaWMgcGF5bG9hZDogYm9vbGVhbikge31cbn1cblxubGV0IGR5bmFtaWNQYWdlSGVhZGVySWQgPSAwO1xuXG4vKipcbiAqIER5bmFtaWMgUGFnZSBIZWFkZXIgQ29tcG9uZW50LlxuICpcbiAqIFRoaXMgY29tcG9uZW50IGlzIHBhcnQgb2YgUHVibGljIEFQSVxuICogdXNlZCBieSBzdXBwbGllciB0byBkZWNsYXJlIGlucHV0cyBhbmQgdGVtcGxhdGVcbiAqXG4gKi9cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtZHluYW1pYy1wYWdlLWhlYWRlcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGVSZWY+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiB3aGV0aGVyIHRoZSBoZWFkZXIgY2FuIGJlIGNvbGxhcHNlZC4gVHJ1ZSBieSBkZWZhdWx0LiBJZiBzZXQgdG8gZmFsc2UsIGJvdGggcGluL2NvbGxhcHNlIGJ1dHRvbnMgZGlzYXBwZWFyXG4gICAgICogYW5kIHRoZSBoZWFkZXIgc3RheXMgdmlzaWJsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sbGFwc2libGUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogd2hldGhlciB0aGUgaGVhZGVyIHNob3VsZCBiZSBhbGxvd2VkIHRvIGJlIHBpbm5lZCBvciB1bnBpbm5lZC4gV2hlbiBzZXQsIHRoZSBwaW4gYnV0dG9uIHNob3dzIHVwLlxuICAgICAqIFBpbm5pbmcgdGhlIGhlYWRlciB3aWxsIG1ha2UgdGhlIGhlYWRlciBzdGF5IHZpc2libGUgYW5kIHRoZSBjb2xsYXBzZSBidXR0b24oaWYgcHJlc2VudCkgd2lsbCBkaXNhcHBlYXIgdW50aWwgdW5waW5uZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwaW5uYWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlIGhlYWRlci4gU2V0IHRvIHRydWUgaWYgaGVhZGVyIHNob3VsZCBiZSBjb2xsYXBzZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBBUklBIGxhYmVsIGZvciBidXR0b24gd2hlbiB0aGUgaGVhZGVyIGlzIGNvbGxhcHNlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLmV4cGFuZExhYmVsO1xuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCBmb3IgYnV0dG9uIHdoZW4gdGhlIGhlYWRlciBpcyBleHBhbmRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sbGFwc2VMYWJlbDogc3RyaW5nID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcuY29sbGFwc2VMYWJlbDtcblxuICAgIC8qKiBIZWFkZXIgcm9sZSAgKi9cbiAgICBASW5wdXQoKVxuICAgIHJvbGUgPSAncmVnaW9uJztcblxuICAgIC8qKlxuICAgICAqIGlkIGZvciBoZWFkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGlkID0gYGZkcC1keW5hbWljLXBhZ2UtaGVhZGVyLWlkLSR7ZHluYW1pY1BhZ2VIZWFkZXJJZCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBoZWFkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhlYWRlckFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIHBpbiBzdGF0ZSBvZiBwaW4gYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwaW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnBpbkxhYmVsO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgdW5waW4gc3RhdGUgb2YgcGluIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5waW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnVucGluTGFiZWw7XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIGJhY2tncm91bmQgZm9yIGNvbnRlbnQgdG8gYGxpc3RgLCBgdHJhbnNwYXJlbnRgLCBvciBgc29saWRgIGJhY2tncm91bmQgY29sb3IuXG4gICAgICogRGVmYXVsdCBpcyBgc29saWRgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYmFja2dyb3VuZDogRHluYW1pY1BhZ2VCYWNrZ3JvdW5kVHlwZTtcblxuICAgIC8qKlxuICAgICAqIHNldHMgc2l6ZSB3aGljaCBpbiB0dXJuIGFkZHMgY29ycmVzcG9uZGluZyBwYWRkaW5nIGZvciB0aGUgc2l6ZSB0eXBlLlxuICAgICAqIHNpemUgY2FuIGJlIGBzbWFsbGAsIGBtZWRpdW1gLCBgbGFyZ2VgLCBvciBgZXh0cmEtbGFyZ2VgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZTtcblxuICAgIC8qKiBDb2xsYXBzZS9FeHBhbmQgY2hhbmdlIGV2ZW50IHJhaXNlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGNvbGxhcHNlZENoYW5nZTogRXZlbnRFbWl0dGVyPER5bmFtaWNQYWdlQ29sbGFwc2VDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPER5bmFtaWNQYWdlQ29sbGFwc2VDaGFuZ2VFdmVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGUgY29tcG9uZW50IHZpZXcgaXMgd3JhcHBlZCBpbiBuZy10ZW1wbGF0ZSBzb1xuICAgICAqIGNvbXBvbmVudCdzIGNvbnN1bWVyIGhhdmUgdG8gdXNlIHRoaXMgdGVtcGxhdGVSZWYgdG8gcmVuZGVyIGl0XG4gICAgICogaW4gaXRzIHZpZXcuXG4gICAgICpcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQgdmlldy5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjb250ZW50VGVtcGxhdGVSZWYnKVxuICAgIGNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9keW5hbWljUGFnZUNvbmZpZzogRHluYW1pY1BhZ2VDb25maWcpIHt9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRGVsZWdhdGUgY29sbGFwc2UgY2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgX29uQ29sbGFwc2VDaGFuZ2UoY29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkID0gY29sbGFwc2VkO1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBEeW5hbWljUGFnZUNvbGxhcHNlQ2hhbmdlRXZlbnQodGhpcywgY29sbGFwc2VkKTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZWRDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvZHluYW1pYy1wYWdlL2R5bmFtaWMtcGFnZS1oZWFkZXIvaGVhZGVyL2R5bmFtaWMtcGFnZS1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLeEgseUNBQXlDO0FBQ3pDLE1BQU0sT0FBTyw4QkFBOEI7SUFDdkM7Ozs7T0FJRztJQUNILFlBQW1CLE1BQWtDLEVBQVMsT0FBZ0I7UUFBM0QsV0FBTSxHQUFOLE1BQU0sQ0FBNEI7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFTO0lBQUcsQ0FBQztDQUNyRjtBQUVELElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBRTVCOzs7Ozs7R0FNRztBQVlILE1BQU0sT0FBTywwQkFBMEI7SUFWdkM7UUFXSTs7O1dBR0c7UUFFSCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQjs7O1dBR0c7UUFFSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBb0JqQixtQkFBbUI7UUFFbkIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUVoQjs7V0FFRztRQUVILE9BQUUsR0FBRyw4QkFBOEIsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1FBa0MzRCwwQ0FBMEM7UUFFMUMsb0JBQWUsR0FBaUQsSUFBSSxZQUFZLEVBQWtDLENBQUM7S0FzQnRIO0lBVEc7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsU0FBa0I7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FsR1EsMEJBQTBCO2tHQUExQiwwQkFBMEIsb2pCQVJ6Qjs7OztLQUlUOzsyRkFJUSwwQkFBMEI7a0JBVnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFOzs7O0tBSVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFPRyxXQUFXO3NCQURWLEtBQUs7Z0JBUU4sUUFBUTtzQkFEUCxLQUFLO2dCQU9OLFNBQVM7c0JBRFIsS0FBSztnQkFPTixXQUFXO3NCQURWLEtBQUs7Z0JBT04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFPTixFQUFFO3NCQURELEtBQUs7Z0JBT04sZUFBZTtzQkFEZCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFPTixjQUFjO3NCQURiLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQVFOLElBQUk7c0JBREgsS0FBSztnQkFLTixlQUFlO3NCQURkLE1BQU07Z0JBWVAsa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IER5bmFtaWNQYWdlQmFja2dyb3VuZFR5cGUsIER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuXG4vKiogRHluYW1pYyBQYWdlIGNvbGxhcHNlIGNoYW5nZSBldmVudCAqL1xuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlQ29sbGFwc2VDaGFuZ2VFdmVudCB7XG4gICAgLyoqXG4gICAgICogRHluYW1pYyBQYWdlIGNvbGxhcHNlIGNoYW5nZSBldmVudFxuICAgICAqIEBwYXJhbSBzb3VyY2UgRHluYW1pYyBQYWdlIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIENvbGxhcHNlIHN0YXRlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQsIHB1YmxpYyBwYXlsb2FkOiBib29sZWFuKSB7fVxufVxuXG5sZXQgZHluYW1pY1BhZ2VIZWFkZXJJZCA9IDA7XG5cbi8qKlxuICogRHluYW1pYyBQYWdlIEhlYWRlciBDb21wb25lbnQuXG4gKlxuICogVGhpcyBjb21wb25lbnQgaXMgcGFydCBvZiBQdWJsaWMgQVBJXG4gKiB1c2VkIGJ5IHN1cHBsaWVyIHRvIGRlY2xhcmUgaW5wdXRzIGFuZCB0ZW1wbGF0ZVxuICpcbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkcC1keW5hbWljLXBhZ2UtaGVhZGVyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZVJlZj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHdoZXRoZXIgdGhlIGhlYWRlciBjYW4gYmUgY29sbGFwc2VkLiBUcnVlIGJ5IGRlZmF1bHQuIElmIHNldCB0byBmYWxzZSwgYm90aCBwaW4vY29sbGFwc2UgYnV0dG9ucyBkaXNhcHBlYXJcbiAgICAgKiBhbmQgdGhlIGhlYWRlciBzdGF5cyB2aXNpYmxlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiB3aGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gYmUgcGlubmVkIG9yIHVucGlubmVkLiBXaGVuIHNldCwgdGhlIHBpbiBidXR0b24gc2hvd3MgdXAuXG4gICAgICogUGlubmluZyB0aGUgaGVhZGVyIHdpbGwgbWFrZSB0aGUgaGVhZGVyIHN0YXkgdmlzaWJsZSBhbmQgdGhlIGNvbGxhcHNlIGJ1dHRvbihpZiBwcmVzZW50KSB3aWxsIGRpc2FwcGVhciB1bnRpbCB1bnBpbm5lZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBpbm5hYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgaGVhZGVyLiBTZXQgdG8gdHJ1ZSBpZiBoZWFkZXIgc2hvdWxkIGJlIGNvbGxhcHNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEFSSUEgbGFiZWwgZm9yIGJ1dHRvbiB3aGVuIHRoZSBoZWFkZXIgaXMgY29sbGFwc2VkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleHBhbmRMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCBmb3IgYnV0dG9uIHdoZW4gdGhlIGhlYWRlciBpcyBleHBhbmRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sbGFwc2VMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIEhlYWRlciByb2xlICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcm9sZSA9ICdyZWdpb24nO1xuXG4gICAgLyoqXG4gICAgICogaWQgZm9yIGhlYWRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaWQgPSBgZmRwLWR5bmFtaWMtcGFnZS1oZWFkZXItaWQtJHtkeW5hbWljUGFnZUhlYWRlcklkKyt9YDtcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIGhlYWRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyQXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIHN0YXRlIG9mIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBpbkFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgdW5waW4gc3RhdGUgb2YgcGluIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5waW5BcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIHNldHMgYmFja2dyb3VuZCBmb3IgY29udGVudCB0byBgbGlzdGAsIGB0cmFuc3BhcmVudGAsIG9yIGBzb2xpZGAgYmFja2dyb3VuZCBjb2xvci5cbiAgICAgKiBEZWZhdWx0IGlzIGBzb2xpZGAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBiYWNrZ3JvdW5kOiBEeW5hbWljUGFnZUJhY2tncm91bmRUeXBlO1xuXG4gICAgLyoqXG4gICAgICogc2V0cyBzaXplIHdoaWNoIGluIHR1cm4gYWRkcyBjb3JyZXNwb25kaW5nIHBhZGRpbmcgZm9yIHRoZSBzaXplIHR5cGUuXG4gICAgICogc2l6ZSBjYW4gYmUgYHNtYWxsYCwgYG1lZGl1bWAsIGBsYXJnZWAsIG9yIGBleHRyYS1sYXJnZWAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaXplOiBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplO1xuXG4gICAgLyoqIENvbGxhcHNlL0V4cGFuZCBjaGFuZ2UgZXZlbnQgcmFpc2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgY29sbGFwc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RHluYW1pY1BhZ2VDb2xsYXBzZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RHluYW1pY1BhZ2VDb2xsYXBzZUNoYW5nZUV2ZW50PigpO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoZSBjb21wb25lbnQgdmlldyBpcyB3cmFwcGVkIGluIG5nLXRlbXBsYXRlIHNvXG4gICAgICogY29tcG9uZW50J3MgY29uc3VtZXIgaGF2ZSB0byB1c2UgdGhpcyB0ZW1wbGF0ZVJlZiB0byByZW5kZXIgaXRcbiAgICAgKiBpbiBpdHMgdmlldy5cbiAgICAgKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudCB2aWV3LlxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZVJlZicpXG4gICAgY29udGVudFRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIERlbGVnYXRlIGNvbGxhcHNlIGNoYW5nZSBldmVudFxuICAgICAqL1xuICAgIF9vbkNvbGxhcHNlQ2hhbmdlKGNvbGxhcHNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9IGNvbGxhcHNlZDtcbiAgICAgICAgY29uc3QgZXZlbnQgPSBuZXcgRHluYW1pY1BhZ2VDb2xsYXBzZUNoYW5nZUV2ZW50KHRoaXMsIGNvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkQ2hhbmdlLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,16 +1,18 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Output, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, QueryList, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
2
2
  import { startWith } from 'rxjs/operators';
3
3
  import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
4
4
  import { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';
5
- import { DynamicPageComponent as CoreDynamicPageComponent, DynamicPageContentComponent as CoreDynamicPageContentComponent, DynamicPageFooterComponent as CoreDynamicPageFooterComponent, DynamicPageHeaderComponent as CoreDynamicPageHeaderComponent, DynamicPageGlobalActionsComponent, DynamicPageHeaderSubtitleDirective, DynamicPageHeaderTitleDirective, DynamicPageLayoutActionsComponent, DynamicPageSubheaderComponent, DynamicPageTitleContentComponent } from '@fundamental-ngx/core/dynamic-page';
5
+ import { DynamicPageComponent as CoreDynamicPageComponent, DynamicPageContentComponent as CoreDynamicPageContentComponent, DynamicPageFooterComponent as CoreDynamicPageFooterComponent, DynamicPageHeaderComponent as CoreDynamicPageHeaderComponent, DynamicPageGlobalActionsComponent, DynamicPageHeaderSubtitleDirective, DynamicPageHeaderTitleDirective, DynamicPageLayoutActionsComponent, DynamicPageSubheaderComponent, DynamicPageTitleContentComponent, patchHeaderI18nTexts } from '@fundamental-ngx/core/dynamic-page';
6
6
  import { FacetComponent } from '@fundamental-ngx/core/facets';
7
7
  import { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core/tabs';
8
+ import { FD_LANGUAGE } from '@fundamental-ngx/i18n';
8
9
  import { BaseComponent } from '@fundamental-ngx/platform/shared';
9
10
  import { DynamicPageContentHostComponent } from './dynamic-page-content/dynamic-page-content-host.component';
10
11
  import { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';
11
12
  import { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';
12
13
  import { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';
13
14
  import { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';
15
+ import { DynamicPageConfig } from './dynamic-page.config';
14
16
  import { DynamicPageService } from './dynamic-page.service';
15
17
  import * as i0 from "@angular/core";
16
18
  /** Dynamic Page tab change event */
@@ -151,11 +153,25 @@ export class DynamicPageComponent extends BaseComponent {
151
153
  return this._isTabbed;
152
154
  }
153
155
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
154
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: DynamicPageComponent, isStandalone: true, selector: "fdp-dynamic-page", inputs: { disableSnapOnScroll: "disableSnapOnScroll", role: "role", ariaLabel: "ariaLabel", stackContent: "stackContent", background: "background", size: "size", offset: "offset", autoResponsive: "autoResponsive", expandContent: "expandContent" }, outputs: { tabChange: "tabChange" }, host: { properties: { "attr.role": "this.role" } }, providers: [DynamicPageService], queries: [{ propertyName: "titleComponent", first: true, predicate: DynamicPageTitleComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "contentComponent", first: true, predicate: DynamicPageContentComponent, descendants: true }, { propertyName: "contentComponents", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_tabListComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "dynamicPageTabs", predicate: TabPanelComponent, descendants: true }, { propertyName: "_contentHostComponents", predicate: DynamicPageContentHostComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\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__title-container{align-items:center}.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)}.fd-dynamic-page{display:flex;flex-direction:column;height:100%;width:100%}.fd-dynamic-page .fd-dynamic-page__header{z-index:2}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:block;flex:1}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs-custom{height:100%;display:flex;flex-direction:column}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__content{flex:1;display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__panel.is-expanded{display:flex}.fd-dynamic-page .footer-spacer{height:3rem}.fd-dynamic-page .content-sticker{position:static}.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}\n"], dependencies: [{ kind: "component", type: CoreDynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CoreDynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap"] }, { kind: "component", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DynamicPageHeaderSubtitleDirective, selector: "[fdDynamicPageHeaderSubtitle]" }, { kind: "directive", type: DynamicPageHeaderTitleDirective, selector: "[fdDynamicPageHeaderTitle]" }, { kind: "component", type: DynamicPageTitleContentComponent, selector: "fd-dynamic-page-title-content" }, { kind: "component", type: FacetComponent, selector: "fd-facet", inputs: ["type", "facetTitle", "subtitle", "id", "alignEnd"] }, { kind: "component", type: DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "role", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: CoreDynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: CoreDynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: DynamicPageComponent, isStandalone: true, selector: "fdp-dynamic-page", inputs: { disableSnapOnScroll: "disableSnapOnScroll", role: "role", ariaLabel: "ariaLabel", stackContent: "stackContent", background: "background", size: "size", offset: "offset", autoResponsive: "autoResponsive", expandContent: "expandContent" }, outputs: { tabChange: "tabChange" }, host: { properties: { "attr.role": "this.role" } }, providers: [
157
+ DynamicPageService,
158
+ {
159
+ provide: FD_LANGUAGE,
160
+ useFactory: patchHeaderI18nTexts,
161
+ deps: [[new Optional(), DynamicPageConfig]]
162
+ }
163
+ ], queries: [{ propertyName: "titleComponent", first: true, predicate: DynamicPageTitleComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "contentComponent", first: true, predicate: DynamicPageContentComponent, descendants: true }, { propertyName: "contentComponents", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_tabListComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "dynamicPageTabs", predicate: TabPanelComponent, descendants: true }, { propertyName: "_contentHostComponents", predicate: DynamicPageContentHostComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\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__title-container{align-items:center}.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)}.fd-dynamic-page{display:flex;flex-direction:column;height:100%;width:100%}.fd-dynamic-page .fd-dynamic-page__header{z-index:2}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:block;flex:1}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs-custom{height:100%;display:flex;flex-direction:column}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__content{flex:1;display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__panel.is-expanded{display:flex}.fd-dynamic-page .footer-spacer{height:3rem}.fd-dynamic-page .content-sticker{position:static}.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}\n"], dependencies: [{ kind: "component", type: CoreDynamicPageComponent, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CoreDynamicPageHeaderComponent, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap"] }, { kind: "component", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DynamicPageHeaderSubtitleDirective, selector: "[fdDynamicPageHeaderSubtitle]" }, { kind: "directive", type: DynamicPageHeaderTitleDirective, selector: "[fdDynamicPageHeaderTitle]" }, { kind: "component", type: DynamicPageTitleContentComponent, selector: "fd-dynamic-page-title-content" }, { kind: "component", type: FacetComponent, selector: "fd-facet", inputs: ["type", "facetTitle", "subtitle", "id", "alignEnd"] }, { kind: "component", type: DynamicPageGlobalActionsComponent, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: DynamicPageLayoutActionsComponent, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "role", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: CoreDynamicPageFooterComponent, selector: "fd-dynamic-page-footer" }, { kind: "component", type: CoreDynamicPageContentComponent, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
155
164
  }
156
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageComponent, decorators: [{
157
166
  type: Component,
158
- args: [{ selector: 'fdp-dynamic-page', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [DynamicPageService], standalone: true, imports: [
167
+ args: [{ selector: 'fdp-dynamic-page', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
168
+ DynamicPageService,
169
+ {
170
+ provide: FD_LANGUAGE,
171
+ useFactory: patchHeaderI18nTexts,
172
+ deps: [[new Optional(), DynamicPageConfig]]
173
+ }
174
+ ], standalone: true, imports: [
159
175
  CoreDynamicPageComponent,
160
176
  NgIf,
161
177
  CoreDynamicPageHeaderComponent,
@@ -224,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
224
240
  type: ViewChildren,
225
241
  args: [DynamicPageContentHostComponent]
226
242
  }] } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFDSCxvQkFBb0IsSUFBSSx3QkFBd0IsRUFDaEQsMkJBQTJCLElBQUksK0JBQStCLEVBQzlELDBCQUEwQixJQUFJLDhCQUE4QixFQUM1RCwwQkFBMEIsSUFBSSw4QkFBOEIsRUFDNUQsaUNBQWlDLEVBQ2pDLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0IsaUNBQWlDLEVBQ2pDLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDbkMsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7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Q2pDLDZCQUE2Qjt3QkFDN0IsZ0JBQWdCO3dCQUNoQixLQUFLO3dCQUNMLGlCQUFpQjt3QkFDakIsMkJBQTJCO3dCQUMzQiwwQkFBMEI7d0JBQzFCLDhCQUE4Qjt3QkFDOUIsK0JBQStCO3FCQUNsQztpSUFLRCxtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBS04sSUFBSTtzQkFGSCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFdBQVc7Z0JBS3hCLFNBQVM7c0JBRFIsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBUU4sVUFBVTtzQkFEVCxLQUFLO2dCQVFOLElBQUk7c0JBREgsS0FBSztnQkFRTixNQUFNO3NCQURMLEtBQUs7Z0JBVU4sY0FBYztzQkFEYixLQUFLO2dCQU9OLGFBQWE7c0JBRFosS0FBSztnQkFPTixTQUFTO3NCQURSLE1BQU07Z0JBS1AsY0FBYztzQkFEYixZQUFZO3VCQUFDLHlCQUF5QjtnQkFLdkMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFLeEMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFLeEMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsMkJBQTJCO2dCQUt6QyxpQkFBaUI7c0JBRGhCLGVBQWU7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUtuRSxpQkFBaUI7c0JBRGhCLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUszQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUsvQixzQkFBc0I7c0JBRHJCLFlBQVk7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRG9DaGVjayxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NoaWxkcmVuLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnJlYWRjcnVtYic7XG5pbXBvcnQge1xuICAgIER5bmFtaWNQYWdlQ29tcG9uZW50IGFzIENvcmVEeW5hbWljUGFnZUNvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQgYXMgQ29yZUR5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCBhcyBDb3JlRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQgYXMgQ29yZUR5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlR2xvYmFsQWN0aW9uc0NvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZUhlYWRlclN1YnRpdGxlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNQYWdlSGVhZGVyVGl0bGVEaXJlY3RpdmUsXG4gICAgRHluYW1pY1BhZ2VMYXlvdXRBY3Rpb25zQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlU3ViaGVhZGVyQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlVGl0bGVDb250ZW50Q29tcG9uZW50XG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9keW5hbWljLXBhZ2UnO1xuaW1wb3J0IHsgRmFjZXRDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZmFjZXRzJztcbmltcG9ydCB7IFRhYkxpc3RDb21wb25lbnQsIFRhYlBhbmVsQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3RhYnMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcbmltcG9ydCB7IER5bmFtaWNQYWdlQmFja2dyb3VuZFR5cGUsIER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbnRlbnRIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtY29udGVudC9keW5hbWljLXBhZ2UtY29udGVudC1ob3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1jb250ZW50L2R5bmFtaWMtcGFnZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWZvb3Rlci9keW5hbWljLXBhZ2UtZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci9oZWFkZXIvZHluYW1pYy1wYWdlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWhlYWRlci90aXRsZS9keW5hbWljLXBhZ2UtdGl0bGUuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlU2VydmljZSB9IGZyb20gJy4vZHluYW1pYy1wYWdlLnNlcnZpY2UnO1xuXG4vKiogRHluYW1pYyBQYWdlIHRhYiBjaGFuZ2UgZXZlbnQgKi9cbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZVRhYkNoYW5nZUV2ZW50IHtcbiAgICAvKipcbiAgICAgKiBEeW5hbWljIFBhZ2UgdGFiIGNoYW5nZSBldmVudFxuICAgICAqIEBwYXJhbSBzb3VyY2UgRHluYW1pYyBQYWdlIGNvbXBvbmVudFxuICAgICAqIEBwYXJhbSBwYXlsb2FkIFRhYiBjb21wb25lbnRcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgc291cmNlOiBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQsIHB1YmxpYyBwYXlsb2FkOiBUYWJQYW5lbENvbXBvbmVudCkge31cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHAtZHluYW1pYy1wYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW0R5bmFtaWNQYWdlU2VydmljZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvcmVEeW5hbWljUGFnZUNvbXBvbmVudCxcbiAgICAgICAgTmdJZixcbiAgICAgICAgQ29yZUR5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBEeW5hbWljUGFnZUhlYWRlclN1YnRpdGxlRGlyZWN0aXZlLFxuICAgICAgICBEeW5hbWljUGFnZUhlYWRlclRpdGxlRGlyZWN0aXZlLFxuICAgICAgICBEeW5hbWljUGFnZVRpdGxlQ29udGVudENvbXBvbmVudCxcbiAgICAgICAgRmFjZXRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlR2xvYmFsQWN0aW9uc0NvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VMYXlvdXRBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZVN1YmhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgVGFiTGlzdENvbXBvbmVudCxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIFRhYlBhbmVsQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlRm9vdGVyQ29tcG9uZW50LFxuICAgICAgICBDb3JlRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQsXG4gICAgICAgIENvcmVEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIERvQ2hlY2ssIE9uRGVzdHJveSB7XG4gICAgLyoqIFdoZXRoZXIgRHluYW1pY1BhZ2Ugc2hvdWxkIHNuYXAgb24gc2Nyb2xsICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlU25hcE9uU2Nyb2xsID0gZmFsc2U7XG4gICAgLyoqIFBhZ2Ugcm9sZSAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3JlZ2lvbic7XG5cbiAgICAvKiogYXJpYSBsYWJlbCBmb3IgdGhlIHBhZ2UgKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0YWJzIHNob3VsZCBiZSBzdGFja2VkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhY2tDb250ZW50ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIGJhY2tncm91bmQgZm9yIGNvbnRlbnQgdG8gYGxpc3RgLCBgdHJhbnNwYXJlbnRgLCBvciBgc29saWRgIGJhY2tncm91bmQgY29sb3IuXG4gICAgICogRGVmYXVsdCBpcyBgc29saWRgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYmFja2dyb3VuZDogRHluYW1pY1BhZ2VCYWNrZ3JvdW5kVHlwZSA9ICdzb2xpZCc7XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIHNpemUgd2hpY2ggaW4gdHVybiBhZGRzIGNvcnJlc3BvbmRpbmcgcGFkZGluZyBmb3IgdGhlIHNpemUgdHlwZS5cbiAgICAgKiBzaXplIGNhbiBiZSBgc21hbGxgLCBgbWVkaXVtYCwgYGxhcmdlYCwgb3IgYGV4dHJhLWxhcmdlYC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpemU6IER5bmFtaWNQYWdlUmVzcG9uc2l2ZVNpemUgPSAnZXh0cmEtbGFyZ2UnO1xuXG4gICAgLyoqXG4gICAgICogcHJvdmlkZWQgb2Zmc2V0IGluIHB4XG4gICAgICogU2hvdWxkIGJlIGFkZGVkLCB3aGVuIHRoZXJlIGlzIHNvbWV0aGluZyBlbHNlIGF0IHRoZSBib3R0b20gYW5kIGR5bmFtaWMgcGFnZSBpcyBub3QgZXhwYW5kZWQgdG8gYm90dG9tJ3MgY29ybmVyc1xuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgb2Zmc2V0ID0gMDtcblxuICAgIC8qKiBXaGV0aGVyIER5bmFtaWNQYWdlIHNob3VsZCBoYXZlIHJlc3BvbnNpdmUgc2lkZXMgc3BhY2luZyBjaGFuZ2luZyB3aXRoIFBhZ2Ugd2luZG93IHdpZHRoLlxuICAgICAqIG1heC13aWR0aDogNTk5cHggICAgICAgICAgICAgICAgICAgICAgICAgLSBzbWFsbFxuICAgICAqIG1pbi13aWR0aDogNjAwcHggYW5kIG1heC13aWR0aDogMTAyM3B4ICAgLSBtZWRpdW1cbiAgICAgKiBtaW4td2lkdGg6IDEwMjRweCBhbmQgbWF4LXdpZHRoOiAxNDM5cHggIC0gbGFyZ2VcbiAgICAgKiBtaW4td2lkdGg6IDE0NDBweCAgICAgICAgICAgICAgICAgICAgICAgIC0gZXh0cmEgbGFyZ2VcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGF1dG9SZXNwb25zaXZlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgZHluYW1pYyBwYWdlIHNob3VsZCBiZSBleHBhbmRlZCBpbiB3aG9sZSBwYWdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZXhwYW5kQ29udGVudCA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUYWIgQ2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgdGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEeW5hbWljUGFnZVRhYkNoYW5nZUV2ZW50PigpO1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byB0aXRsZSBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZVRpdGxlQ29tcG9uZW50KVxuICAgIHRpdGxlQ29tcG9uZW50OiBEeW5hbWljUGFnZVRpdGxlQ29tcG9uZW50O1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byBoZWFkZXIgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQpXG4gICAgaGVhZGVyQ29tcG9uZW50OiBEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudDtcblxuICAgIC8qKiByZWZlcmVuY2UgdG8gZm9vdGVyIGNvbXBvbmVudCAgKi9cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlRm9vdGVyQ29tcG9uZW50KVxuICAgIGZvb3RlckNvbXBvbmVudDogRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogcmVmZXJlbmNlIHRvIGNvbnRlbnQgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50KVxuICAgIGNvbnRlbnRDb21wb25lbnQ6IER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudDtcblxuICAgIC8qKiByZWZlcmVuY2UgdG8gY29udGVudCBjb21wb25lbnRzIGxpc3QgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGNvbnRlbnRDb21wb25lbnRzOiBRdWVyeUxpc3Q8RHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChUYWJMaXN0Q29tcG9uZW50KVxuICAgIF90YWJMaXN0Q29tcG9uZW50OiBUYWJMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIFJlZmVyZW5jZSB0byB0YWIgaXRlbXMgY29tcG9uZW50cyAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oVGFiUGFuZWxDb21wb25lbnQpXG4gICAgZHluYW1pY1BhZ2VUYWJzOiBRdWVyeUxpc3Q8VGFiUGFuZWxDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkcmVuKER5bmFtaWNQYWdlQ29udGVudEhvc3RDb21wb25lbnQpXG4gICAgX2NvbnRlbnRIb3N0Q29tcG9uZW50czogUXVlcnlMaXN0PER5bmFtaWNQYWdlQ29udGVudEhvc3RDb21wb25lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHdoZXRoZXIgdGFiYmVkIGNvbnRlbnQgaXMgcHJlc2VudCBpbiB0aGlzIHBhZ2VcbiAgICAgKi9cbiAgICBfaXNUYWJiZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBob2xkcyB0aGUgdGFiIGNvbnRlbnRcbiAgICAgKi9cbiAgICBfdGFiczogRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50W10gPSBbXTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgICAgICBzdXBlcihfY2QpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saXN0ZW5Ub0NvbnRlbnRDb21wb25lbnRzTGlzdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIHRoaXMuX3RhYkxpc3RDb21wb25lbnQ/LmhlYWRlckNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2ZkLWR5bmFtaWMtcGFnZV9fdGFicycpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICAvKiogVXNlZCB0byBkZXRlY3QgY2hhbmdlcyBpbiBwcm9qZWN0ZWQgY29tcG9uZW50cyB0aGF0IGRpc3BsYXllZCB1c2luZyB0ZW1wbGF0ZXMsXG4gICAgICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzQ0MTEyXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBtYXJrcyB0aGUgZHluYW1pYyBwYWdlIHRhYiBhcyBzZWxlY3RlZCB3aGVuIHRoZSBpZCBvZiB0aGUgdGFiIGlzIHBhc3NlZFxuICAgICAqL1xuICAgIHNldFNlbGVjdGVkVGFiKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEoaWQgJiYgdGhpcy5keW5hbWljUGFnZVRhYnMpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmR5bmFtaWNQYWdlVGFicy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5pZCA9PT0gaWQpIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50Lm9wZW4odHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uU2VsZWN0ZWRUYWJDaGFuZ2UoZXZlbnQ6IFRhYlBhbmVsQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnRDb21wb25lbnRzLmZpbmQoKGNvbnRlbnRDb21wb25lbnQpID0+IGNvbnRlbnRDb21wb25lbnQuaWQgPT09IGV2ZW50LmlkKTtcblxuICAgICAgICBjb250ZW50ICYmIHRoaXMudGFiQ2hhbmdlLmVtaXQobmV3IER5bmFtaWNQYWdlVGFiQ2hhbmdlRXZlbnQoY29udGVudCwgZXZlbnQpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3RlblRvQ29udGVudENvbXBvbmVudHNMaXN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZW50Q29tcG9uZW50cy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY29udGVudENvbXBvbmVudHMpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY3JlYXRlQ29udGVudFRhYnMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9jcmVhdGVDb250ZW50VGFicygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGVudENvbXBvbmVudHMgPSB0aGlzLmNvbnRlbnRDb21wb25lbnRzLnRvQXJyYXkoKTtcblxuICAgICAgICAvLyByZXNldCBhcnJheVxuICAgICAgICB0aGlzLl90YWJzID0gW107XG5cbiAgICAgICAgaWYgKCF0aGlzLl9pc1RhYkNvbnRlbnRQcmVzZW50KGNvbnRlbnRDb21wb25lbnRzKSkge1xuICAgICAgICAgICAgaWYgKGNvbnRlbnRDb21wb25lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICdDYW5ub3QgaGF2ZSBtb3JlIHRoYW4gb25lIGNvbnRlbnQgc2VjdGlvbi4gVXNlIGB0YWJMYWJlbGAgdG8gaGF2ZSBhIHRhYmJlZCBuYXZpZ2F0aW9uLidcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29udGVudENvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIGNvbnRlbnRDb21wb25lbnRzLmZvckVhY2goKGNvbnRlbnRJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFjb250ZW50SXRlbS50YWJMYWJlbCAmJiB0aGlzLl9pc1RhYmJlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0F0IGxlYXN0IG9uZSBlbGVtZW50IGlzIGFscmVhZHkgdGFiYmVkLCBwbGVhc2UgcHJvdmlkZSBhIGB0YWJMYWJlbGAuJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGFicy5wdXNoKGNvbnRlbnRJdGVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaXNUYWJDb250ZW50UHJlc2VudChjb250ZW50Q29tcG9uZW50czogRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50W10pOiBib29sZWFuIHtcbiAgICAgICAgY29udGVudENvbXBvbmVudHMuZm9yRWFjaCgoY29udGVudENvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGNvbnRlbnRDb21wb25lbnQudGFiTGFiZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1RhYmJlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5faXNUYWJiZWQ7XG4gICAgfVxufVxuIiwiPGZkLWR5bmFtaWMtcGFnZVxuICAgIFtkaXNhYmxlU25hcE9uU2Nyb2xsXT1cImRpc2FibGVTbmFwT25TY3JvbGxcIlxuICAgIFthdXRvUmVzcG9uc2l2ZV09XCJhdXRvUmVzcG9uc2l2ZVwiXG4gICAgW2JhY2tncm91bmRdPVwiYmFja2dyb3VuZFwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2V4cGFuZENvbnRlbnRdPVwiZXhwYW5kQ29udGVudFwiXG4gICAgW29mZnNldF09XCJvZmZzZXRcIlxuICAgIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbj5cbiAgICA8ZmQtZHluYW1pYy1wYWdlLWhlYWRlclxuICAgICAgICAqbmdJZj1cInRpdGxlQ29tcG9uZW50XCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlQ29tcG9uZW50LnRpdGxlXCJcbiAgICAgICAgW3RpdGxlV3JhcF09XCJ0aXRsZUNvbXBvbmVudC50aXRsZVdyYXBcIlxuICAgICAgICBbc3VidGl0bGVdPVwidGl0bGVDb21wb25lbnQuc3VidGl0bGVcIlxuICAgICAgICBbc3VidGl0bGVXcmFwXT1cInRpdGxlQ29tcG9uZW50LnN1YnRpdGxlV3JhcFwiXG4gICAgPlxuICAgICAgICA8ZmQtYnJlYWRjcnVtYj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuYnJlYWRjcnVtYlRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtYnJlYWRjcnVtYj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGl0bGVDb21wb25lbnQuX3N1YnRpdGxlRGlyZWN0aXZlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKmZkRHluYW1pY1BhZ2VIZWFkZXJTdWJ0aXRsZT1cImxldCBoaWRkZW5cIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlQ29tcG9uZW50Ll9zdWJ0aXRsZURpcmVjdGl2ZS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW4gfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRpdGxlQ29tcG9uZW50Ll90aXRsZURpcmVjdGl2ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpmZER5bmFtaWNQYWdlSGVhZGVyVGl0bGU9XCJsZXQgaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5fdGl0bGVEaXJlY3RpdmUudGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaGlkZGVuIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2UtdGl0bGUtY29udGVudCAqbmdJZj1cInRpdGxlQ29tcG9uZW50LmtleUluZm9Db21wb25lbnRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQua2V5SW5mb0NvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtdGl0bGUtY29udGVudD5cblxuICAgICAgICA8ZmQtZmFjZXQgdHlwZT1cImltYWdlXCIgKm5nSWY9XCJ0aXRsZUNvbXBvbmVudC5pbWFnZUNvbXBvbmVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5pbWFnZUNvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1mYWNldD5cblxuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zICpuZ0lmPVwidGl0bGVDb21wb25lbnQuZ2xvYmFsQWN0aW9uc0NvbXBvbmVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5nbG9iYWxBY3Rpb25zQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1nbG9iYWwtYWN0aW9ucz5cblxuICAgICAgICA8ZmQtZHluYW1pYy1wYWdlLWxheW91dC1hY3Rpb25zICpuZ0lmPVwidGl0bGVDb21wb25lbnQubGF5b3V0QWN0aW9uc0NvbXBvbmVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5sYXlvdXRBY3Rpb25zQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1sYXlvdXQtYWN0aW9ucz5cbiAgICA8L2ZkLWR5bmFtaWMtcGFnZS1oZWFkZXI+XG5cbiAgICA8ZmQtZHluYW1pYy1wYWdlLXN1YmhlYWRlclxuICAgICAgICAqbmdJZj1cImhlYWRlckNvbXBvbmVudFwiXG4gICAgICAgIFtjb2xsYXBzZWRdPVwiaGVhZGVyQ29tcG9uZW50LmNvbGxhcHNlZFwiXG4gICAgICAgIFtjb2xsYXBzaWJsZV09XCJoZWFkZXJDb21wb25lbnQuY29sbGFwc2libGVcIlxuICAgICAgICBbcGlubmFibGVdPVwiaGVhZGVyQ29tcG9uZW50LnBpbm5hYmxlXCJcbiAgICAgICAgW2V4cGFuZExhYmVsXT1cImhlYWRlckNvbXBvbmVudC5leHBhbmRMYWJlbFwiXG4gICAgICAgIFtjb2xsYXBzZUxhYmVsXT1cImhlYWRlckNvbXBvbmVudC5jb2xsYXBzZUxhYmVsXCJcbiAgICAgICAgW3JvbGVdPVwiaGVhZGVyQ29tcG9uZW50LnJvbGVcIlxuICAgICAgICBbaWRdPVwiaGVhZGVyQ29tcG9uZW50LmlkXCJcbiAgICAgICAgW2hlYWRlckFyaWFMYWJlbF09XCJoZWFkZXJDb21wb25lbnQuaGVhZGVyQXJpYUxhYmVsXCJcbiAgICAgICAgW3BpbkFyaWFMYWJlbF09XCJoZWFkZXJDb21wb25lbnQucGluQXJpYUxhYmVsXCJcbiAgICAgICAgW3VucGluQXJpYUxhYmVsXT1cImhlYWRlckNvbXBvbmVudC51bnBpbkFyaWFMYWJlbFwiXG4gICAgICAgIChjb2xsYXBzZWRDaGFuZ2UpPVwiaGVhZGVyQ29tcG9uZW50Ll9vbkNvbGxhcHNlQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9mZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyPlxuXG4gICAgPGZkLXRhYi1saXN0XG4gICAgICAgICpuZ0lmPVwiX2lzVGFiYmVkXCJcbiAgICAgICAgW3N0YWNrQ29udGVudF09XCJzdGFja0NvbnRlbnRcIlxuICAgICAgICBtYXhDb250ZW50SGVpZ2h0PVwiYXV0b1wiXG4gICAgICAgIChzZWxlY3RlZFRhYkNoYW5nZSk9XCJfb25TZWxlY3RlZFRhYkNoYW5nZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBfdGFic1wiPlxuICAgICAgICAgICAgPGZkLXRhYiBbdGl0bGVdPVwidGFiLnRhYkxhYmVsXCIgW2lkXT1cInRhYi5pZFwiPlxuICAgICAgICAgICAgICAgIDxmZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9mZC1keW5hbWljLXBhZ2UtY29udGVudD5cbiAgICAgICAgICAgIDwvZmQtdGFiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2ZkLXRhYi1saXN0PlxuXG4gICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50ICpuZ0lmPVwiIV9pc1RhYmJlZCAmJiBjb250ZW50Q29tcG9uZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudENvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuXG4gICAgPGZkLWR5bmFtaWMtcGFnZS1mb290ZXIgKm5nSWY9XCJmb290ZXJDb21wb25lbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9mZC1keW5hbWljLXBhZ2UtZm9vdGVyPlxuPC9mZC1keW5hbWljLXBhZ2U+XG4iXX0=
243
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsb0JBQW9CLElBQUksd0JBQXdCLEVBQ2hELDJCQUEyQixJQUFJLCtCQUErQixFQUM5RCwwQkFBMEIsSUFBSSw4QkFBOEIsRUFDNUQsMEJBQTBCLElBQUksOEJBQThCLEVBQzVELGlDQUFpQyxFQUNqQyxrQ0FBa0MsRUFDbEMsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2hDLG9CQUFvQixFQUN2QixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlC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QUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFLbkUsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLGdCQUFnQjtnQkFLM0IsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGlCQUFpQjtnQkFLL0Isc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDaGlsZHJlbixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2JyZWFkY3J1bWInO1xuaW1wb3J0IHtcbiAgICBEeW5hbWljUGFnZUNvbXBvbmVudCBhcyBDb3JlRHluYW1pY1BhZ2VDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50IGFzIENvcmVEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQgYXMgQ29yZUR5bmFtaWNQYWdlRm9vdGVyQ29tcG9uZW50LFxuICAgIER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50IGFzIENvcmVEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZUdsb2JhbEFjdGlvbnNDb21wb25lbnQsXG4gICAgRHluYW1pY1BhZ2VIZWFkZXJTdWJ0aXRsZURpcmVjdGl2ZSxcbiAgICBEeW5hbWljUGFnZUhlYWRlclRpdGxlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNQYWdlTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZVN1YmhlYWRlckNvbXBvbmVudCxcbiAgICBEeW5hbWljUGFnZVRpdGxlQ29udGVudENvbXBvbmVudCxcbiAgICBwYXRjaEhlYWRlckkxOG5UZXh0c1xufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZHluYW1pYy1wYWdlJztcbmltcG9ydCB7IEZhY2V0Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ZhY2V0cyc7XG5pbXBvcnQgeyBUYWJMaXN0Q29tcG9uZW50LCBUYWJQYW5lbENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90YWJzJztcbmltcG9ydCB7IEZEX0xBTkdVQUdFIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUJhY2tncm91bmRUeXBlLCBEeW5hbWljUGFnZVJlc3BvbnNpdmVTaXplIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VDb250ZW50SG9zdENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1wYWdlLWNvbnRlbnQvZHluYW1pYy1wYWdlLWNvbnRlbnQtaG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLXBhZ2UtY29udGVudC9keW5hbWljLXBhZ2UtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1mb290ZXIvZHluYW1pYy1wYWdlLWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1oZWFkZXIvaGVhZGVyL2R5bmFtaWMtcGFnZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1oZWFkZXIvdGl0bGUvZHluYW1pYy1wYWdlLXRpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbmZpZyB9IGZyb20gJy4vZHluYW1pYy1wYWdlLmNvbmZpZyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS5zZXJ2aWNlJztcblxuLyoqIER5bmFtaWMgUGFnZSB0YWIgY2hhbmdlIGV2ZW50ICovXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VUYWJDaGFuZ2VFdmVudCB7XG4gICAgLyoqXG4gICAgICogRHluYW1pYyBQYWdlIHRhYiBjaGFuZ2UgZXZlbnRcbiAgICAgKiBAcGFyYW0gc291cmNlIER5bmFtaWMgUGFnZSBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gcGF5bG9hZCBUYWIgY29tcG9uZW50XG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LCBwdWJsaWMgcGF5bG9hZDogVGFiUGFuZWxDb21wb25lbnQpIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmRwLWR5bmFtaWMtcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRHluYW1pY1BhZ2VTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9MQU5HVUFHRSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IHBhdGNoSGVhZGVySTE4blRleHRzLFxuICAgICAgICAgICAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgRHluYW1pY1BhZ2VDb25maWddXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29yZUR5bmFtaWNQYWdlQ29tcG9uZW50LFxuICAgICAgICBOZ0lmLFxuICAgICAgICBDb3JlRHluYW1pY1BhZ2VIZWFkZXJDb21wb25lbnQsXG4gICAgICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyU3VidGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNQYWdlSGVhZGVyVGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIER5bmFtaWNQYWdlVGl0bGVDb250ZW50Q29tcG9uZW50LFxuICAgICAgICBGYWNldENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VHbG9iYWxBY3Rpb25zQ29tcG9uZW50LFxuICAgICAgICBEeW5hbWljUGFnZUxheW91dEFjdGlvbnNDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlU3ViaGVhZGVyQ29tcG9uZW50LFxuICAgICAgICBUYWJMaXN0Q29tcG9uZW50LFxuICAgICAgICBOZ0ZvcixcbiAgICAgICAgVGFiUGFuZWxDb21wb25lbnQsXG4gICAgICAgIER5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudCxcbiAgICAgICAgRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQsXG4gICAgICAgIENvcmVEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudCxcbiAgICAgICAgQ29yZUR5bmFtaWNQYWdlQ29udGVudENvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcbiAgICAvKiogV2hldGhlciBEeW5hbWljUGFnZSBzaG91bGQgc25hcCBvbiBzY3JvbGwgKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVTbmFwT25TY3JvbGwgPSBmYWxzZTtcbiAgICAvKiogUGFnZSByb2xlICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAncmVnaW9uJztcblxuICAgIC8qKiBhcmlhIGxhYmVsIGZvciB0aGUgcGFnZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRhYnMgc2hvdWxkIGJlIHN0YWNrZWQuICovXG4gICAgQElucHV0KClcbiAgICBzdGFja0NvbnRlbnQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIHNldHMgYmFja2dyb3VuZCBmb3IgY29udGVudCB0byBgbGlzdGAsIGB0cmFuc3BhcmVudGAsIG9yIGBzb2xpZGAgYmFja2dyb3VuZCBjb2xvci5cbiAgICAgKiBEZWZhdWx0IGlzIGBzb2xpZGAuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBiYWNrZ3JvdW5kOiBEeW5hbWljUGFnZUJhY2tncm91bmRUeXBlID0gJ3NvbGlkJztcblxuICAgIC8qKlxuICAgICAqIHNldHMgc2l6ZSB3aGljaCBpbiB0dXJuIGFkZHMgY29ycmVzcG9uZGluZyBwYWRkaW5nIGZvciB0aGUgc2l6ZSB0eXBlLlxuICAgICAqIHNpemUgY2FuIGJlIGBzbWFsbGAsIGBtZWRpdW1gLCBgbGFyZ2VgLCBvciBgZXh0cmEtbGFyZ2VgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2l6ZTogRHluYW1pY1BhZ2VSZXNwb25zaXZlU2l6ZSA9ICdleHRyYS1sYXJnZSc7XG5cbiAgICAvKipcbiAgICAgKiBwcm92aWRlZCBvZmZzZXQgaW4gcHhcbiAgICAgKiBTaG91bGQgYmUgYWRkZWQsIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIGVsc2UgYXQgdGhlIGJvdHRvbSBhbmQgZHluYW1pYyBwYWdlIGlzIG5vdCBleHBhbmRlZCB0byBib3R0b20ncyBjb3JuZXJzXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBvZmZzZXQgPSAwO1xuXG4gICAgLyoqIFdoZXRoZXIgRHluYW1pY1BhZ2Ugc2hvdWxkIGhhdmUgcmVzcG9uc2l2ZSBzaWRlcyBzcGFjaW5nIGNoYW5naW5nIHdpdGggUGFnZSB3aW5kb3cgd2lkdGguXG4gICAgICogbWF4LXdpZHRoOiA1OTlweCAgICAgICAgICAgICAgICAgICAgICAgICAtIHNtYWxsXG4gICAgICogbWluLXdpZHRoOiA2MDBweCBhbmQgbWF4LXdpZHRoOiAxMDIzcHggICAtIG1lZGl1bVxuICAgICAqIG1pbi13aWR0aDogMTAyNHB4IGFuZCBtYXgtd2lkdGg6IDE0MzlweCAgLSBsYXJnZVxuICAgICAqIG1pbi13aWR0aDogMTQ0MHB4ICAgICAgICAgICAgICAgICAgICAgICAgLSBleHRyYSBsYXJnZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXV0b1Jlc3BvbnNpdmUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBkeW5hbWljIHBhZ2Ugc2hvdWxkIGJlIGV4cGFuZGVkIGluIHdob2xlIHBhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleHBhbmRDb250ZW50ID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFRhYiBDaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICB0YWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPER5bmFtaWNQYWdlVGFiQ2hhbmdlRXZlbnQ+KCk7XG5cbiAgICAvKiogcmVmZXJlbmNlIHRvIHRpdGxlIGNvbXBvbmVudCAgKi9cbiAgICBAQ29udGVudENoaWxkKER5bmFtaWNQYWdlVGl0bGVDb21wb25lbnQpXG4gICAgdGl0bGVDb21wb25lbnQ6IER5bmFtaWNQYWdlVGl0bGVDb21wb25lbnQ7XG5cbiAgICAvKiogcmVmZXJlbmNlIHRvIGhlYWRlciBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUhlYWRlckNvbXBvbmVudClcbiAgICBoZWFkZXJDb21wb25lbnQ6IER5bmFtaWNQYWdlSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byBmb290ZXIgY29tcG9uZW50ICAqL1xuICAgIEBDb250ZW50Q2hpbGQoRHluYW1pY1BhZ2VGb290ZXJDb21wb25lbnQpXG4gICAgZm9vdGVyQ29tcG9uZW50OiBEeW5hbWljUGFnZUZvb3RlckNvbXBvbmVudDtcblxuICAgIC8qKiByZWZlcmVuY2UgdG8gY29udGVudCBjb21wb25lbnQgICovXG4gICAgQENvbnRlbnRDaGlsZChEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQpXG4gICAgY29udGVudENvbXBvbmVudDogRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50O1xuXG4gICAgLyoqIHJlZmVyZW5jZSB0byBjb250ZW50IGNvbXBvbmVudHMgbGlzdCAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRHluYW1pY1BhZ2VDb250ZW50Q29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgY29udGVudENvbXBvbmVudHM6IFF1ZXJ5TGlzdDxEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKFRhYkxpc3RDb21wb25lbnQpXG4gICAgX3RhYkxpc3RDb21wb25lbnQ6IFRhYkxpc3RDb21wb25lbnQ7XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHRhYiBpdGVtcyBjb21wb25lbnRzICovXG4gICAgQFZpZXdDaGlsZHJlbihUYWJQYW5lbENvbXBvbmVudClcbiAgICBkeW5hbWljUGFnZVRhYnM6IFF1ZXJ5TGlzdDxUYWJQYW5lbENvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGRyZW4oRHluYW1pY1BhZ2VDb250ZW50SG9zdENvbXBvbmVudClcbiAgICBfY29udGVudEhvc3RDb21wb25lbnRzOiBRdWVyeUxpc3Q8RHluYW1pY1BhZ2VDb250ZW50SG9zdENvbXBvbmVudD47XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogd2hldGhlciB0YWJiZWQgY29udGVudCBpcyBwcmVzZW50IGluIHRoaXMgcGFnZVxuICAgICAqL1xuICAgIF9pc1RhYmJlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGhvbGRzIHRoZSB0YWIgY29udGVudFxuICAgICAqL1xuICAgIF90YWJzOiBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnRbXSA9IFtdO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIHN1cGVyKF9jZCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3RlblRvQ29udGVudENvbXBvbmVudHNMaXN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5fdGFiTGlzdENvbXBvbmVudD8uaGVhZGVyQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZmQtZHluYW1pYy1wYWdlX190YWJzJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIC8qKiBVc2VkIHRvIGRldGVjdCBjaGFuZ2VzIGluIHByb2plY3RlZCBjb21wb25lbnRzIHRoYXQgZGlzcGxheWVkIHVzaW5nIHRlbXBsYXRlcyxcbiAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNDQxMTJcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIG1hcmtzIHRoZSBkeW5hbWljIHBhZ2UgdGFiIGFzIHNlbGVjdGVkIHdoZW4gdGhlIGlkIG9mIHRoZSB0YWIgaXMgcGFzc2VkXG4gICAgICovXG4gICAgc2V0U2VsZWN0ZWRUYWIoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIShpZCAmJiB0aGlzLmR5bmFtaWNQYWdlVGFicykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZHluYW1pY1BhZ2VUYWJzLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmlkID09PSBpZCkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQub3Blbih0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25TZWxlY3RlZFRhYkNoYW5nZShldmVudDogVGFiUGFuZWxDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudENvbXBvbmVudHMuZmluZCgoY29udGVudENvbXBvbmVudCkgPT4gY29udGVudENvbXBvbmVudC5pZCA9PT0gZXZlbnQuaWQpO1xuXG4gICAgICAgIGNvbnRlbnQgJiYgdGhpcy50YWJDaGFuZ2UuZW1pdChuZXcgRHluYW1pY1BhZ2VUYWJDaGFuZ2VFdmVudChjb250ZW50LCBldmVudCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuVG9Db250ZW50Q29tcG9uZW50c0xpc3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRlbnRDb21wb25lbnRzLmNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5jb250ZW50Q29tcG9uZW50cykpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jcmVhdGVDb250ZW50VGFicygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NyZWF0ZUNvbnRlbnRUYWJzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250ZW50Q29tcG9uZW50cyA9IHRoaXMuY29udGVudENvbXBvbmVudHMudG9BcnJheSgpO1xuXG4gICAgICAgIC8vIHJlc2V0IGFycmF5XG4gICAgICAgIHRoaXMuX3RhYnMgPSBbXTtcblxuICAgICAgICBpZiAoIXRoaXMuX2lzVGFiQ29udGVudFByZXNlbnQoY29udGVudENvbXBvbmVudHMpKSB7XG4gICAgICAgICAgICBpZiAoY29udGVudENvbXBvbmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgJ0Nhbm5vdCBoYXZlIG1vcmUgdGhhbiBvbmUgY29udGVudCBzZWN0aW9uLiBVc2UgYHRhYkxhYmVsYCB0byBoYXZlIGEgdGFiYmVkIG5hdmlnYXRpb24uJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb250ZW50Q29tcG9uZW50cykge1xuICAgICAgICAgICAgY29udGVudENvbXBvbmVudHMuZm9yRWFjaCgoY29udGVudEl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRlbnRJdGVtLnRhYkxhYmVsICYmIHRoaXMuX2lzVGFiYmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQXQgbGVhc3Qgb25lIGVsZW1lbnQgaXMgYWxyZWFkeSB0YWJiZWQsIHBsZWFzZSBwcm92aWRlIGEgYHRhYkxhYmVsYC4nKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90YWJzLnB1c2goY29udGVudEl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1RhYkNvbnRlbnRQcmVzZW50KGNvbnRlbnRDb21wb25lbnRzOiBEeW5hbWljUGFnZUNvbnRlbnRDb21wb25lbnRbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb250ZW50Q29tcG9uZW50cy5mb3JFYWNoKChjb250ZW50Q29tcG9uZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoY29udGVudENvbXBvbmVudC50YWJMYWJlbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzVGFiYmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl9pc1RhYmJlZDtcbiAgICB9XG59XG4iLCI8ZmQtZHluYW1pYy1wYWdlXG4gICAgW2Rpc2FibGVTbmFwT25TY3JvbGxdPVwiZGlzYWJsZVNuYXBPblNjcm9sbFwiXG4gICAgW2F1dG9SZXNwb25zaXZlXT1cImF1dG9SZXNwb25zaXZlXCJcbiAgICBbYmFja2dyb3VuZF09XCJiYWNrZ3JvdW5kXCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbZXhwYW5kQ29udGVudF09XCJleHBhbmRDb250ZW50XCJcbiAgICBbb2Zmc2V0XT1cIm9mZnNldFwiXG4gICAgW2FyaWFMYWJlbF09XCJhcmlhTGFiZWxcIlxuPlxuICAgIDxmZC1keW5hbWljLXBhZ2UtaGVhZGVyXG4gICAgICAgICpuZ0lmPVwidGl0bGVDb21wb25lbnRcIlxuICAgICAgICBbdGl0bGVdPVwidGl0bGVDb21wb25lbnQudGl0bGVcIlxuICAgICAgICBbdGl0bGVXcmFwXT1cInRpdGxlQ29tcG9uZW50LnRpdGxlV3JhcFwiXG4gICAgICAgIFtzdWJ0aXRsZV09XCJ0aXRsZUNvbXBvbmVudC5zdWJ0aXRsZVwiXG4gICAgICAgIFtzdWJ0aXRsZVdyYXBdPVwidGl0bGVDb21wb25lbnQuc3VidGl0bGVXcmFwXCJcbiAgICA+XG4gICAgICAgIDxmZC1icmVhZGNydW1iPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5icmVhZGNydW1iVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9mZC1icmVhZGNydW1iPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aXRsZUNvbXBvbmVudC5fc3VidGl0bGVEaXJlY3RpdmVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqZmREeW5hbWljUGFnZUhlYWRlclN1YnRpdGxlPVwibGV0IGhpZGRlblwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGl0bGVDb21wb25lbnQuX3N1YnRpdGxlRGlyZWN0aXZlLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGhpZGRlbiB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGl0bGVDb21wb25lbnQuX3RpdGxlRGlyZWN0aXZlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKmZkRHluYW1pY1BhZ2VIZWFkZXJUaXRsZT1cImxldCBoaWRkZW5cIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlQ29tcG9uZW50Ll90aXRsZURpcmVjdGl2ZS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBoaWRkZW4gfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS10aXRsZS1jb250ZW50ICpuZ0lmPVwidGl0bGVDb21wb25lbnQua2V5SW5mb0NvbXBvbmVudFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZUNvbXBvbmVudC5rZXlJbmZvQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS10aXRsZS1jb250ZW50PlxuXG4gICAgICAgIDxmZC1mYWNldCB0eXBlPVwiaW1hZ2VcIiAqbmdJZj1cInRpdGxlQ29tcG9uZW50LmltYWdlQ29tcG9uZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlQ29tcG9uZW50LmltYWdlQ29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2ZkLWZhY2V0PlxuXG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2UtZ2xvYmFsLWFjdGlvbnMgKm5nSWY9XCJ0aXRsZUNvbXBvbmVudC5nbG9iYWxBY3Rpb25zQ29tcG9uZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlQ29tcG9uZW50Lmdsb2JhbEFjdGlvbnNDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWdsb2JhbC1hY3Rpb25zPlxuXG4gICAgICAgIDxmZC1keW5hbWljLXBhZ2UtbGF5b3V0LWFjdGlvbnMgKm5nSWY9XCJ0aXRsZUNvbXBvbmVudC5sYXlvdXRBY3Rpb25zQ29tcG9uZW50XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlQ29tcG9uZW50LmxheW91dEFjdGlvbnNDb21wb25lbnQuY29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZmQtZHluYW1pYy1wYWdlLWxheW91dC1hY3Rpb25zPlxuICAgIDwvZmQtZHluYW1pYy1wYWdlLWhlYWRlcj5cblxuICAgIDxmZC1keW5hbWljLXBhZ2Utc3ViaGVhZGVyXG4gICAgICAgICpuZ0lmPVwiaGVhZGVyQ29tcG9uZW50XCJcbiAgICAgICAgW2NvbGxhcHNlZF09XCJoZWFkZXJDb21wb25lbnQuY29sbGFwc2VkXCJcbiAgICAgICAgW2NvbGxhcHNpYmxlXT1cImhlYWRlckNvbXBvbmVudC5jb2xsYXBzaWJsZVwiXG4gICAgICAgIFtwaW5uYWJsZV09XCJoZWFkZXJDb21wb25lbnQucGlubmFibGVcIlxuICAgICAgICBbZXhwYW5kTGFiZWxdPVwiaGVhZGVyQ29tcG9uZW50LmV4cGFuZExhYmVsXCJcbiAgICAgICAgW2NvbGxhcHNlTGFiZWxdPVwiaGVhZGVyQ29tcG9uZW50LmNvbGxhcHNlTGFiZWxcIlxuICAgICAgICBbcm9sZV09XCJoZWFkZXJDb21wb25lbnQucm9sZVwiXG4gICAgICAgIFtpZF09XCJoZWFkZXJDb21wb25lbnQuaWRcIlxuICAgICAgICBbaGVhZGVyQXJpYUxhYmVsXT1cImhlYWRlckNvbXBvbmVudC5oZWFkZXJBcmlhTGFiZWxcIlxuICAgICAgICBbcGluQXJpYUxhYmVsXT1cImhlYWRlckNvbXBvbmVudC5waW5BcmlhTGFiZWxcIlxuICAgICAgICBbdW5waW5BcmlhTGFiZWxdPVwiaGVhZGVyQ29tcG9uZW50LnVucGluQXJpYUxhYmVsXCJcbiAgICAgICAgKGNvbGxhcHNlZENoYW5nZSk9XCJoZWFkZXJDb21wb25lbnQuX29uQ29sbGFwc2VDaGFuZ2UoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlckNvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2ZkLWR5bmFtaWMtcGFnZS1zdWJoZWFkZXI+XG5cbiAgICA8ZmQtdGFiLWxpc3RcbiAgICAgICAgKm5nSWY9XCJfaXNUYWJiZWRcIlxuICAgICAgICBbc3RhY2tDb250ZW50XT1cInN0YWNrQ29udGVudFwiXG4gICAgICAgIG1heENvbnRlbnRIZWlnaHQ9XCJhdXRvXCJcbiAgICAgICAgKHNlbGVjdGVkVGFiQ2hhbmdlKT1cIl9vblNlbGVjdGVkVGFiQ2hhbmdlKCRldmVudClcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIF90YWJzXCI+XG4gICAgICAgICAgICA8ZmQtdGFiIFt0aXRsZV09XCJ0YWIudGFiTGFiZWxcIiBbaWRdPVwidGFiLmlkXCI+XG4gICAgICAgICAgICAgICAgPGZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2ZkLWR5bmFtaWMtcGFnZS1jb250ZW50PlxuICAgICAgICAgICAgPC9mZC10YWI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZmQtdGFiLWxpc3Q+XG5cbiAgICA8ZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQgKm5nSWY9XCIhX2lzVGFiYmVkICYmIGNvbnRlbnRDb21wb25lbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50Q29tcG9uZW50LmNvbnRlbnRUZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZmQtZHluYW1pYy1wYWdlLWNvbnRlbnQ+XG5cbiAgICA8ZmQtZHluYW1pYy1wYWdlLWZvb3RlciAqbmdJZj1cImZvb3RlckNvbXBvbmVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlckNvbXBvbmVudC5jb250ZW50VGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2ZkLWR5bmFtaWMtcGFnZS1mb290ZXI+XG48L2ZkLWR5bmFtaWMtcGFnZT5cbiJdfQ==
@@ -4,6 +4,7 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "@fundamental-ngx/platform/shared";
5
5
  /**
6
6
  * Default options for platform dynamic-page
7
+ * @deprecated use i18n coreDynamicPage key instead
7
8
  */
8
9
  export class DynamicPageConfig extends PlatformConfig {
9
10
  /**
@@ -35,10 +36,9 @@ export class DynamicPageConfig extends PlatformConfig {
35
36
  this.contentDensity = platformConfig.contentDensity;
36
37
  }
37
38
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, deps: [{ token: i1.PlatformConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, providedIn: 'root' }); }
39
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig }); }
39
40
  }
40
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, decorators: [{
41
- type: Injectable,
42
- args: [{ providedIn: 'root' }]
42
+ type: Injectable
43
43
  }], ctorParameters: function () { return [{ type: i1.PlatformConfig }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRWxFOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFxQmpEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUN4QixHQUErQjtRQUUvQixNQUFNLFVBQVUsR0FBRyxDQUFDLGNBQThCLEVBQXFCLEVBQUUsQ0FDckUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxjQUFjO0lBQ2QsWUFBWSxjQUE4QjtRQUN0QyxLQUFLLEVBQUUsQ0FBQztRQWpDWjs7V0FFRztRQUNILGdCQUFXLEdBQUcsZUFBZSxDQUFDO1FBRTlCOztXQUVHO1FBQ0gsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQztRQUVsQzs7V0FFRztRQUNILGFBQVEsR0FBRyxZQUFZLENBQUM7UUFFeEI7O1dBRUc7UUFDSCxlQUFVLEdBQUcsY0FBYyxDQUFDO1FBZ0J4QixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUM7SUFDeEQsQ0FBQzs4R0FwQ1EsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGxhdGZvcm1Db25maWcgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L3BsYXRmb3JtL3NoYXJlZCc7XG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIGZvciBwbGF0Zm9ybSBkeW5hbWljLXBhZ2VcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZUNvbmZpZyBleHRlbmRzIFBsYXRmb3JtQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBleHBhbmQvY29sbGFwc2UgYnV0dG9uIHdoZW4gdGhlIER5bmFtaWMgUGFnZSBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBleHBhbmRMYWJlbCA9ICdFeHBhbmQgSGVhZGVyJztcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gd2hlbiB0aGUgRHluYW1pYyBQYWdlIGlzIGV4cGFuZGVkXG4gICAgICovXG4gICAgY29sbGFwc2VMYWJlbCA9ICdDb2xsYXBzZSBIZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIGJ1dHRvbiB3aGVuIHRoZSBEeW5hbWljIFBhZ2Ugc2hvdWxkIGJlIHBpbm5lZFxuICAgICAqL1xuICAgIHBpbkxhYmVsID0gJ1BpbiBIZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIGJ1dHRvbiB3aGVuIHRoZSBQYW5lbCBzaG91bGQgYmUgdW5waW5uZWRcbiAgICAgKi9cbiAgICB1bnBpbkxhYmVsID0gJ1VucGluIEhlYWRlcic7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgUHJvdmlkZXIgZmFjdG9yeSBmdW5jdGlvblxuICAgICAqL1xuICAgIHN0YXRpYyBjcmVhdGVQcm92aWRlckZhY3RvcnkoXG4gICAgICAgIG9iajogUGFydGlhbDxEeW5hbWljUGFnZUNvbmZpZz5cbiAgICApOiAocGxhdGZvcm1Db25maWc6IFBsYXRmb3JtQ29uZmlnKSA9PiBEeW5hbWljUGFnZUNvbmZpZyB7XG4gICAgICAgIGNvbnN0IHVzZUZhY3RvcnkgPSAocGxhdGZvcm1Db25maWc6IFBsYXRmb3JtQ29uZmlnKTogRHluYW1pY1BhZ2VDb25maWcgPT5cbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24obmV3IER5bmFtaWNQYWdlQ29uZmlnKHBsYXRmb3JtQ29uZmlnKSwgb2JqKTtcbiAgICAgICAgcmV0dXJuIHVzZUZhY3Rvcnk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwbGF0Zm9ybUNvbmZpZzogUGxhdGZvcm1Db25maWcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb250ZW50RGVuc2l0eSA9IHBsYXRmb3JtQ29uZmlnLmNvbnRlbnREZW5zaXR5O1xuICAgIH1cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBRWxFOzs7R0FHRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBcUJqRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDeEIsR0FBK0I7UUFFL0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxjQUE4QixFQUFxQixFQUFFLENBQ3JFLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5RCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRUQsY0FBYztJQUNkLFlBQVksY0FBOEI7UUFDdEMsS0FBSyxFQUFFLENBQUM7UUFqQ1o7O1dBRUc7UUFDSCxnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUU5Qjs7V0FFRztRQUNILGtCQUFhLEdBQUcsaUJBQWlCLENBQUM7UUFFbEM7O1dBRUc7UUFDSCxhQUFRLEdBQUcsWUFBWSxDQUFDO1FBRXhCOztXQUVHO1FBQ0gsZUFBVSxHQUFHLGNBQWMsQ0FBQztRQWdCeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsY0FBYyxDQUFDO0lBQ3hELENBQUM7OEdBcENRLGlCQUFpQjtrSEFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQbGF0Zm9ybUNvbmZpZyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vc2hhcmVkJztcblxuLyoqXG4gKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHBsYXRmb3JtIGR5bmFtaWMtcGFnZVxuICogQGRlcHJlY2F0ZWQgdXNlIGkxOG4gY29yZUR5bmFtaWNQYWdlIGtleSBpbnN0ZWFkXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEeW5hbWljUGFnZUNvbmZpZyBleHRlbmRzIFBsYXRmb3JtQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBleHBhbmQvY29sbGFwc2UgYnV0dG9uIHdoZW4gdGhlIER5bmFtaWMgUGFnZSBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBleHBhbmRMYWJlbCA9ICdFeHBhbmQgSGVhZGVyJztcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIGV4cGFuZC9jb2xsYXBzZSBidXR0b24gd2hlbiB0aGUgRHluYW1pYyBQYWdlIGlzIGV4cGFuZGVkXG4gICAgICovXG4gICAgY29sbGFwc2VMYWJlbCA9ICdDb2xsYXBzZSBIZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIGJ1dHRvbiB3aGVuIHRoZSBEeW5hbWljIFBhZ2Ugc2hvdWxkIGJlIHBpbm5lZFxuICAgICAqL1xuICAgIHBpbkxhYmVsID0gJ1BpbiBIZWFkZXInO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgcGluIGJ1dHRvbiB3aGVuIHRoZSBQYW5lbCBzaG91bGQgYmUgdW5waW5uZWRcbiAgICAgKi9cbiAgICB1bnBpbkxhYmVsID0gJ1VucGluIEhlYWRlcic7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgUHJvdmlkZXIgZmFjdG9yeSBmdW5jdGlvblxuICAgICAqL1xuICAgIHN0YXRpYyBjcmVhdGVQcm92aWRlckZhY3RvcnkoXG4gICAgICAgIG9iajogUGFydGlhbDxEeW5hbWljUGFnZUNvbmZpZz5cbiAgICApOiAocGxhdGZvcm1Db25maWc6IFBsYXRmb3JtQ29uZmlnKSA9PiBEeW5hbWljUGFnZUNvbmZpZyB7XG4gICAgICAgIGNvbnN0IHVzZUZhY3RvcnkgPSAocGxhdGZvcm1Db25maWc6IFBsYXRmb3JtQ29uZmlnKTogRHluYW1pY1BhZ2VDb25maWcgPT5cbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24obmV3IER5bmFtaWNQYWdlQ29uZmlnKHBsYXRmb3JtQ29uZmlnKSwgb2JqKTtcbiAgICAgICAgcmV0dXJuIHVzZUZhY3Rvcnk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihwbGF0Zm9ybUNvbmZpZzogUGxhdGZvcm1Db25maWcpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb250ZW50RGVuc2l0eSA9IHBsYXRmb3JtQ29uZmlnLmNvbnRlbnREZW5zaXR5O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,11 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, Input, HostBinding, ViewChild, ViewEncapsulation, Injectable, EventEmitter, Output, inject, TemplateRef, Directive, ContentChild, ContentChildren, ViewChildren, NgModule } from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, HostBinding, ViewChild, ViewEncapsulation, EventEmitter, Output, inject, TemplateRef, Directive, ContentChild, Injectable, Optional, ContentChildren, ViewChildren, NgModule } from '@angular/core';
3
3
  import { startWith } from 'rxjs/operators';
4
4
  import { NgIf, NgTemplateOutlet, NgFor } from '@angular/common';
5
5
  import { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';
6
- import { DynamicPageComponent as DynamicPageComponent$1, DynamicPageHeaderComponent as DynamicPageHeaderComponent$1, DynamicPageHeaderSubtitleDirective as DynamicPageHeaderSubtitleDirective$1, DynamicPageHeaderTitleDirective as DynamicPageHeaderTitleDirective$1, DynamicPageTitleContentComponent, DynamicPageGlobalActionsComponent as DynamicPageGlobalActionsComponent$1, DynamicPageLayoutActionsComponent as DynamicPageLayoutActionsComponent$1, DynamicPageSubheaderComponent, DynamicPageFooterComponent as DynamicPageFooterComponent$1, DynamicPageContentComponent as DynamicPageContentComponent$1 } from '@fundamental-ngx/core/dynamic-page';
6
+ import { patchHeaderI18nTexts, DynamicPageComponent as DynamicPageComponent$1, DynamicPageHeaderComponent as DynamicPageHeaderComponent$1, DynamicPageHeaderSubtitleDirective as DynamicPageHeaderSubtitleDirective$1, DynamicPageHeaderTitleDirective as DynamicPageHeaderTitleDirective$1, DynamicPageTitleContentComponent, DynamicPageGlobalActionsComponent as DynamicPageGlobalActionsComponent$1, DynamicPageLayoutActionsComponent as DynamicPageLayoutActionsComponent$1, DynamicPageSubheaderComponent, DynamicPageFooterComponent as DynamicPageFooterComponent$1, DynamicPageContentComponent as DynamicPageContentComponent$1 } from '@fundamental-ngx/core/dynamic-page';
7
7
  import { FacetComponent } from '@fundamental-ngx/core/facets';
8
8
  import { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core/tabs';
9
+ import { FD_LANGUAGE } from '@fundamental-ngx/i18n';
9
10
  import * as i1 from '@fundamental-ngx/platform/shared';
10
11
  import { PlatformConfig, BaseComponent } from '@fundamental-ngx/platform/shared';
11
12
  import { DYNAMIC_PAGE_HEADER_TOKEN } from '@fundamental-ngx/core/shared';
@@ -245,46 +246,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
245
246
  args: ['contentTemplateRef']
246
247
  }] } });
247
248
 
248
- /**
249
- * Default options for platform dynamic-page
250
- */
251
- class DynamicPageConfig extends PlatformConfig {
252
- /**
253
- * Create Provider factory function
254
- */
255
- static createProviderFactory(obj) {
256
- const useFactory = (platformConfig) => Object.assign(new DynamicPageConfig(platformConfig), obj);
257
- return useFactory;
258
- }
259
- /** @hidden */
260
- constructor(platformConfig) {
261
- super();
262
- /**
263
- * aria label for expand/collapse button when the Dynamic Page is collapsed
264
- */
265
- this.expandLabel = 'Expand Header';
266
- /**
267
- * aria label for expand/collapse button when the Dynamic Page is expanded
268
- */
269
- this.collapseLabel = 'Collapse Header';
270
- /**
271
- * aria label for pin button when the Dynamic Page should be pinned
272
- */
273
- this.pinLabel = 'Pin Header';
274
- /**
275
- * aria label for pin button when the Panel should be unpinned
276
- */
277
- this.unpinLabel = 'Unpin Header';
278
- this.contentDensity = platformConfig.contentDensity;
279
- }
280
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, deps: [{ token: i1.PlatformConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
281
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, providedIn: 'root' }); }
282
- }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, decorators: [{
284
- type: Injectable,
285
- args: [{ providedIn: 'root' }]
286
- }], ctorParameters: function () { return [{ type: i1.PlatformConfig }]; } });
287
-
288
249
  /** Dynamic Page collapse change event */
289
250
  class DynamicPageCollapseChangeEvent {
290
251
  /**
@@ -306,9 +267,7 @@ let dynamicPageHeaderId = 0;
306
267
  *
307
268
  */
308
269
  class DynamicPageHeaderComponent {
309
- /** @hidden */
310
- constructor(_dynamicPageConfig) {
311
- this._dynamicPageConfig = _dynamicPageConfig;
270
+ constructor() {
312
271
  /**
313
272
  * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear
314
273
  * and the header stays visible
@@ -319,28 +278,12 @@ class DynamicPageHeaderComponent {
319
278
  * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.
320
279
  */
321
280
  this.pinnable = false;
322
- /**
323
- * ARIA label for button when the header is collapsed
324
- */
325
- this.expandLabel = this._dynamicPageConfig.expandLabel;
326
- /**
327
- * ARIA label for button when the header is expanded
328
- */
329
- this.collapseLabel = this._dynamicPageConfig.collapseLabel;
330
281
  /** Header role */
331
282
  this.role = 'region';
332
283
  /**
333
284
  * id for header
334
285
  */
335
286
  this.id = `fdp-dynamic-page-header-id-${dynamicPageHeaderId++}`;
336
- /**
337
- * aria label for pin state of pin button
338
- */
339
- this.pinAriaLabel = this._dynamicPageConfig.pinLabel;
340
- /**
341
- * aria label for unpin state of pin button
342
- */
343
- this.unpinAriaLabel = this._dynamicPageConfig.unpinLabel;
344
287
  /** Collapse/Expand change event raised */
345
288
  this.collapsedChange = new EventEmitter();
346
289
  }
@@ -353,7 +296,7 @@ class DynamicPageHeaderComponent {
353
296
  const event = new DynamicPageCollapseChangeEvent(this, collapsed);
354
297
  this.collapsedChange.emit(event);
355
298
  }
356
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageHeaderComponent, deps: [{ token: DynamicPageConfig }], target: i0.ɵɵFactoryTarget.Component }); }
299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
357
300
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: DynamicPageHeaderComponent, isStandalone: true, selector: "fdp-dynamic-page-header", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel", background: "background", size: "size" }, outputs: { collapsedChange: "collapsedChange" }, viewQueries: [{ propertyName: "contentTemplateRef", first: true, predicate: ["contentTemplateRef"], descendants: true }], ngImport: i0, template: `
358
301
  <ng-template #contentTemplateRef>
359
302
  <ng-content></ng-content>
@@ -372,7 +315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
372
315
  changeDetection: ChangeDetectionStrategy.OnPush,
373
316
  standalone: true
374
317
  }]
375
- }], ctorParameters: function () { return [{ type: DynamicPageConfig }]; }, propDecorators: { collapsible: [{
318
+ }], propDecorators: { collapsible: [{
376
319
  type: Input
377
320
  }], pinnable: [{
378
321
  type: Input
@@ -603,6 +546,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImpor
603
546
  args: ['contentTemplateRef']
604
547
  }] } });
605
548
 
549
+ /**
550
+ * Default options for platform dynamic-page
551
+ * @deprecated use i18n coreDynamicPage key instead
552
+ */
553
+ class DynamicPageConfig extends PlatformConfig {
554
+ /**
555
+ * Create Provider factory function
556
+ */
557
+ static createProviderFactory(obj) {
558
+ const useFactory = (platformConfig) => Object.assign(new DynamicPageConfig(platformConfig), obj);
559
+ return useFactory;
560
+ }
561
+ /** @hidden */
562
+ constructor(platformConfig) {
563
+ super();
564
+ /**
565
+ * aria label for expand/collapse button when the Dynamic Page is collapsed
566
+ */
567
+ this.expandLabel = 'Expand Header';
568
+ /**
569
+ * aria label for expand/collapse button when the Dynamic Page is expanded
570
+ */
571
+ this.collapseLabel = 'Collapse Header';
572
+ /**
573
+ * aria label for pin button when the Dynamic Page should be pinned
574
+ */
575
+ this.pinLabel = 'Pin Header';
576
+ /**
577
+ * aria label for pin button when the Panel should be unpinned
578
+ */
579
+ this.unpinLabel = 'Unpin Header';
580
+ this.contentDensity = platformConfig.contentDensity;
581
+ }
582
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, deps: [{ token: i1.PlatformConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
583
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig }); }
584
+ }
585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageConfig, decorators: [{
586
+ type: Injectable
587
+ }], ctorParameters: function () { return [{ type: i1.PlatformConfig }]; } });
588
+
606
589
  class DynamicPageService {
607
590
  constructor() {
608
591
  /** @hidden */
@@ -796,11 +779,25 @@ class DynamicPageComponent extends BaseComponent {
796
779
  return this._isTabbed;
797
780
  }
798
781
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
799
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: DynamicPageComponent, isStandalone: true, selector: "fdp-dynamic-page", inputs: { disableSnapOnScroll: "disableSnapOnScroll", role: "role", ariaLabel: "ariaLabel", stackContent: "stackContent", background: "background", size: "size", offset: "offset", autoResponsive: "autoResponsive", expandContent: "expandContent" }, outputs: { tabChange: "tabChange" }, host: { properties: { "attr.role": "this.role" } }, providers: [DynamicPageService], queries: [{ propertyName: "titleComponent", first: true, predicate: DynamicPageTitleComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "contentComponent", first: true, predicate: DynamicPageContentComponent, descendants: true }, { propertyName: "contentComponents", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_tabListComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "dynamicPageTabs", predicate: TabPanelComponent, descendants: true }, { propertyName: "_contentHostComponents", predicate: DynamicPageContentHostComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\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__title-container{align-items:center}.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)}.fd-dynamic-page{display:flex;flex-direction:column;height:100%;width:100%}.fd-dynamic-page .fd-dynamic-page__header{z-index:2}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:block;flex:1}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs-custom{height:100%;display:flex;flex-direction:column}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__content{flex:1;display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__panel.is-expanded{display:flex}.fd-dynamic-page .footer-spacer{height:3rem}.fd-dynamic-page .content-sticker{position:static}.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}\n"], dependencies: [{ kind: "component", type: DynamicPageComponent$1, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicPageHeaderComponent$1, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap"] }, { kind: "component", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DynamicPageHeaderSubtitleDirective$1, selector: "[fdDynamicPageHeaderSubtitle]" }, { kind: "directive", type: DynamicPageHeaderTitleDirective$1, selector: "[fdDynamicPageHeaderTitle]" }, { kind: "component", type: DynamicPageTitleContentComponent, selector: "fd-dynamic-page-title-content" }, { kind: "component", type: FacetComponent, selector: "fd-facet", inputs: ["type", "facetTitle", "subtitle", "id", "alignEnd"] }, { kind: "component", type: DynamicPageGlobalActionsComponent$1, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: DynamicPageLayoutActionsComponent$1, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "role", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: DynamicPageFooterComponent$1, selector: "fd-dynamic-page-footer" }, { kind: "component", type: DynamicPageContentComponent$1, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
782
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.7", type: DynamicPageComponent, isStandalone: true, selector: "fdp-dynamic-page", inputs: { disableSnapOnScroll: "disableSnapOnScroll", role: "role", ariaLabel: "ariaLabel", stackContent: "stackContent", background: "background", size: "size", offset: "offset", autoResponsive: "autoResponsive", expandContent: "expandContent" }, outputs: { tabChange: "tabChange" }, host: { properties: { "attr.role": "this.role" } }, providers: [
783
+ DynamicPageService,
784
+ {
785
+ provide: FD_LANGUAGE,
786
+ useFactory: patchHeaderI18nTexts,
787
+ deps: [[new Optional(), DynamicPageConfig]]
788
+ }
789
+ ], queries: [{ propertyName: "titleComponent", first: true, predicate: DynamicPageTitleComponent, descendants: true }, { propertyName: "headerComponent", first: true, predicate: DynamicPageHeaderComponent, descendants: true }, { propertyName: "footerComponent", first: true, predicate: DynamicPageFooterComponent, descendants: true }, { propertyName: "contentComponent", first: true, predicate: DynamicPageContentComponent, descendants: true }, { propertyName: "contentComponents", predicate: DynamicPageContentComponent, descendants: true }], viewQueries: [{ propertyName: "_tabListComponent", first: true, predicate: TabListComponent, descendants: true }, { propertyName: "dynamicPageTabs", predicate: TabPanelComponent, descendants: true }, { propertyName: "_contentHostComponents", predicate: DynamicPageContentHostComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n", styles: ["/*!\n * Fundamental Library Styles v0.32.0\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__title-container{align-items:center}.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)}.fd-dynamic-page{display:flex;flex-direction:column;height:100%;width:100%}.fd-dynamic-page .fd-dynamic-page__header{z-index:2}.fd-dynamic-page .fd-dynamic-page__content,.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:block;flex:1}.fd-dynamic-page .fd-dynamic-page__tabs--overflow{display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs-custom{height:100%;display:flex;flex-direction:column}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__content{flex:1;display:flex}.fd-dynamic-page .fd-dynamic-page__tabs--overflow .fd-tabs__panel.is-expanded{display:flex}.fd-dynamic-page .footer-spacer{height:3rem}.fd-dynamic-page .content-sticker{position:static}.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area.is-hover,.fd-dynamic-page .fd-dynamic-page__header--not-collapsible .fd-dynamic-page__title-area:hover{background-color:var(--sapObjectHeader_Background, #fff);cursor:default}\n"], dependencies: [{ kind: "component", type: DynamicPageComponent$1, selector: "fd-dynamic-page", inputs: ["disableSnapOnScroll", "role", "ariaLabel", "background", "autoResponsive", "size", "offset", "expandContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicPageHeaderComponent$1, selector: "fd-dynamic-page-header", inputs: ["title", "titleWrap", "subtitle", "subtitleWrap"] }, { kind: "component", type: BreadcrumbComponent, selector: "fd-breadcrumb", inputs: ["reverse", "tabIndex"], outputs: ["visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DynamicPageHeaderSubtitleDirective$1, selector: "[fdDynamicPageHeaderSubtitle]" }, { kind: "directive", type: DynamicPageHeaderTitleDirective$1, selector: "[fdDynamicPageHeaderTitle]" }, { kind: "component", type: DynamicPageTitleContentComponent, selector: "fd-dynamic-page-title-content" }, { kind: "component", type: FacetComponent, selector: "fd-facet", inputs: ["type", "facetTitle", "subtitle", "id", "alignEnd"] }, { kind: "component", type: DynamicPageGlobalActionsComponent$1, selector: "fd-dynamic-page-global-actions" }, { kind: "component", type: DynamicPageLayoutActionsComponent$1, selector: "fd-dynamic-page-layout-actions" }, { kind: "component", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: ["collapsible", "pinnable", "collapsed", "expandLabel", "collapseLabel", "role", "id", "headerAriaLabel", "pinAriaLabel", "unpinAriaLabel"], outputs: ["collapsedChange"] }, { kind: "component", type: TabListComponent, selector: "fd-tab-list", inputs: ["size", "mode", "collapseOverflow", "maxVisibleTabs", "stackContent", "maxContentHeight", "collapsibleTabs", "defaultTab", "selectDefaultOnTabsChange", "focusFirstFocusableElement"], outputs: ["selectedTabChange", "selectedTabIndexChange", "visibleItemsCount", "hiddenItemsCount"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TabPanelComponent, selector: "fd-tab", inputs: ["id", "ariaLabel", "ariaLabelledBy", "title", "count", "glyph", "header", "disabled", "tabState"], outputs: ["opened", "closed"] }, { kind: "component", type: DynamicPageFooterComponent$1, selector: "fd-dynamic-page-footer" }, { kind: "component", type: DynamicPageContentComponent$1, selector: "fd-dynamic-page-content", inputs: ["tabLabel", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
800
790
  }
801
791
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.7", ngImport: i0, type: DynamicPageComponent, decorators: [{
802
792
  type: Component,
803
- args: [{ selector: 'fdp-dynamic-page', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [DynamicPageService], standalone: true, imports: [
793
+ args: [{ selector: 'fdp-dynamic-page', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
794
+ DynamicPageService,
795
+ {
796
+ provide: FD_LANGUAGE,
797
+ useFactory: patchHeaderI18nTexts,
798
+ deps: [[new Optional(), DynamicPageConfig]]
799
+ }
800
+ ], standalone: true, imports: [
804
801
  DynamicPageComponent$1,
805
802
  NgIf,
806
803
  DynamicPageHeaderComponent$1,
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-platform-dynamic-page.mjs","sources":["../../../../libs/platform/src/lib/dynamic-page/constants.ts","../../../../libs/platform/src/lib/dynamic-page/utils.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-subtitle.directive.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-title.directive.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/platform/src/lib/dynamic-page/fundamental-ngx-platform-dynamic-page.ts"],"sourcesContent":["export const CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaTransparentBg: 'fd-dynamic-page__title-area--transparent-bg',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed', // need to use thiis TODO\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageTitleMedium: 'fd-dynamic-page__title--md',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageGlobalActions: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActions: 'fd-dynamic-page__toolbar-actions',\n dynamicPageActionsContainer: 'fd-dynamic-page__actions-container',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderTransparentBg: 'fd-dynamic-page__collapsible-header--transparent-bg',\n dynamicPageCollapsibleHeaderSmall: 'fd-dynamic-page__collapsible-header--sm',\n dynamicPageCollapsibleHeaderMedium: 'fd-dynamic-page__collapsible-header--md',\n dynamicPageCollapsibleHeaderLarge: 'fd-dynamic-page__collapsible-header--lg',\n dynamicPageCollapsibleHeaderExtraLarge: 'fd-dynamic-page__collapsible-header--xl',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageTabsSmall: 'fd-dynamic-page__tabs--sm',\n dynamicPageTabsMedium: 'fd-dynamic-page__tabs--md',\n dynamicPageTabsLarge: 'fd-dynamic-page__tabs--lg',\n dynamicPageTabsExtraLarge: 'fd-dynamic-page__tabs--xl',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageContentAreaSmall: 'fd-dynamic-page__content--sm',\n dynamicPageContentAreaMedium: 'fd-dynamic-page__content--md',\n dynamicPageContentAreaLarge: 'fd-dynamic-page__content--lg',\n dynamicPageContentAreaExtraLarge: 'fd-dynamic-page__content--xl',\n dynamicPageContentListBg: 'fd-dynamic-page__content--list-bg',\n dynamicPageContentTransparentBg: 'fd-dynamic-page__content--transparent-bg',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaSmall: 'fd-dynamic-page__summarized-title-area--sm',\n dynamicPageSummarizedTitleAreaMedium: 'fd-dynamic-page__summarized-title-area--md',\n dynamicPageSummarizedTitleAreaLarge: 'fd-dynamic-page__summarized-title-area--lg',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\nexport const removeClassNameFromElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.removeClass(element, className);\n};\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\n\nimport { CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n/**\n * Dynamic Page Content Host Component.\n *\n * Adds some styles to host element.\n * For internal usage only.\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-content-host',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicPageContentHostComponent implements OnInit {\n /**\n * a unique identifier for this content\n */\n @Input()\n @HostBinding('attr.id')\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n set background(backgroundType: DynamicPageBackgroundType) {\n if (backgroundType) {\n this._background = backgroundType;\n this._setBackgroundStyles(backgroundType);\n }\n }\n\n get background(): DynamicPageBackgroundType {\n return this._background;\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(sizeType: DynamicPageResponsiveSize) {\n if (sizeType) {\n this._size = sizeType;\n this._setSize(sizeType);\n }\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /**\n * @hidden\n * tracking the background value\n */\n private _background: DynamicPageBackgroundType;\n\n /**\n * @hidden\n * tracks the size for responsive padding\n */\n private _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>, protected _renderer: Renderer2) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContent);\n\n this._addClassNameToHostElement('content-sticker');\n\n if (this.background) {\n this._setBackgroundStyles(this.background);\n }\n\n if (this.size) {\n this._setSize(this.size);\n }\n }\n\n /**\n * @hidden\n * sets the style classes for background property\n * @param background\n */\n private _setBackgroundStyles(background: DynamicPageBackgroundType): void {\n switch (background) {\n case 'transparent':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n break;\n case 'list':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n case 'solid':\n default:\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n }\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n switch (sizeType) {\n case 'small':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaSmall);\n break;\n case 'medium':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaMedium);\n break;\n case 'large':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaLarge);\n break;\n case 'extra-large':\n default:\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaExtraLarge);\n break;\n }\n }\n\n /** @hidden */\n private _removeClassNameToHostElement(className: string): void {\n this._renderer.removeClass(this.elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this.elementRef.nativeElement, className);\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, TemplateRef, ViewChild } from '@angular/core';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../constants';\n\n/**\n * Dynamic Page Content Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-content',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicPageContentComponent {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-footer',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageFooterComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Injectable } from '@angular/core';\n\nimport { PlatformConfig } from '@fundamental-ngx/platform/shared';\n\n/**\n * Default options for platform dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig extends PlatformConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n\n /**\n * Create Provider factory function\n */\n static createProviderFactory(\n obj: Partial<DynamicPageConfig>\n ): (platformConfig: PlatformConfig) => DynamicPageConfig {\n const useFactory = (platformConfig: PlatformConfig): DynamicPageConfig =>\n Object.assign(new DynamicPageConfig(platformConfig), obj);\n return useFactory;\n }\n\n /** @hidden */\n constructor(platformConfig: PlatformConfig) {\n super();\n this.contentDensity = platformConfig.contentDensity;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageConfig } from '../../dynamic-page.config';\n\n/** Dynamic Page collapse change event */\nexport class DynamicPageCollapseChangeEvent {\n /**\n * Dynamic Page collapse change event\n * @param source Dynamic Page component\n * @param payload Collapse state\n */\n constructor(public source: DynamicPageHeaderComponent, public payload: boolean) {}\n}\n\nlet dynamicPageHeaderId = 0;\n\n/**\n * Dynamic Page Header Component.\n *\n * This component is part of Public API\n * used by supplier to declare inputs and template\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-header',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicPageHeaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n collapsed: boolean;\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string = this._dynamicPageConfig.expandLabel;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string = this._dynamicPageConfig.collapseLabel;\n\n /** Header role */\n @Input()\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n id = `fdp-dynamic-page-header-id-${dynamicPageHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: Nullable<string>;\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string = this._dynamicPageConfig.pinLabel;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string = this._dynamicPageConfig.unpinLabel;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** Collapse/Expand change event raised */\n @Output()\n collapsedChange: EventEmitter<DynamicPageCollapseChangeEvent> = new EventEmitter<DynamicPageCollapseChangeEvent>();\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /** @hidden */\n constructor(protected _dynamicPageConfig: DynamicPageConfig) {}\n\n /**\n * @hidden\n * Delegate collapse change event\n */\n _onCollapseChange(collapsed: boolean): void {\n this.collapsed = collapsed;\n const event = new DynamicPageCollapseChangeEvent(this, collapsed);\n this.collapsedChange.emit(event);\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderSubtitle]',\n standalone: true\n})\nexport class DynamicPageHeaderSubtitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderSubtitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderTitle]',\n standalone: true\n})\nexport class DynamicPageHeaderTitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderTitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-global-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageGlobalActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-layout-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageLayoutActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-key-info',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageKeyInfoComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-title-image',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageTitleImageComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageHeaderSubtitleDirective } from '../../directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from '../../directives/dynamic-page-header-title.directive';\nimport { DynamicPageGlobalActionsComponent } from '../actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from '../actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageKeyInfoComponent } from '../key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-title-image.component';\n\n/**\n * Dynamic Page Title Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-title',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageTitleComponent\n }\n ],\n standalone: true\n})\nexport class DynamicPageTitleComponent implements DynamicPageHeader {\n /**\n * Page Title\n */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /**\n * Page Subtitle\n */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** template of BreadsCrumbs */\n @ViewChild('breadCrumbTemplate')\n breadcrumbTemplate: TemplateRef<any>;\n\n /** reference to global actions component */\n @ContentChild(DynamicPageGlobalActionsComponent)\n globalActionsComponent: DynamicPageGlobalActionsComponent;\n\n /** reference to layout actions component */\n @ContentChild(DynamicPageLayoutActionsComponent)\n layoutActionsComponent: DynamicPageLayoutActionsComponent;\n\n /** reference to key-info component */\n @ContentChild(DynamicPageKeyInfoComponent)\n keyInfoComponent: DynamicPageKeyInfoComponent;\n\n /** reference to image component */\n @ContentChild(DynamicPageTitleImageComponent)\n imageComponent: DynamicPageTitleImageComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderTitleDirective)\n _titleDirective: DynamicPageHeaderTitleDirective;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderSubtitleDirective)\n _subtitleDirective: DynamicPageHeaderSubtitleDirective;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n private toggle = new Subject<void>();\n /** @hidden */\n private expand = new Subject<void>();\n /** @hidden */\n private collapse = new Subject<void>();\n /** @hidden */\n private collapseValue = new Subject<boolean>();\n /** @hidden */\n private isCollapsed = false;\n\n /** @hidden */\n public $toggle = this.toggle.asObservable();\n /** @hidden */\n public $expand = this.expand.asObservable();\n /** @hidden */\n public $collapse = this.collapse.asObservable();\n /** @hidden */\n public $collapseValue = this.collapseValue.asObservable();\n\n /** @hidden */\n public toggleHeader(): void {\n this.toggle.next();\n }\n\n /** @hidden */\n public expandHeader(): void {\n this.isCollapsed = false;\n this.expand.next();\n }\n\n /** @hidden */\n public collapseHeader(): void {\n this.isCollapsed = true;\n this.collapse.next();\n }\n\n /** @hidden */\n public setCollapseValue(val: boolean): void {\n this.setIsCollapsed(val);\n this.collapseValue.next(val);\n }\n\n /** @hidden */\n public getIsCollapsed(): boolean {\n return this.isCollapsed;\n }\n\n /** @hidden */\n public setIsCollapsed(collapsed: boolean): void {\n this.isCollapsed = collapsed;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\nimport {\n DynamicPageComponent as CoreDynamicPageComponent,\n DynamicPageContentComponent as CoreDynamicPageContentComponent,\n DynamicPageFooterComponent as CoreDynamicPageFooterComponent,\n DynamicPageHeaderComponent as CoreDynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageTitleContentComponent\n} from '@fundamental-ngx/core/dynamic-page';\nimport { FacetComponent } from '@fundamental-ngx/core/facets';\nimport { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core/tabs';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentHostComponent } from './dynamic-page-content/dynamic-page-content-host.component';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageService } from './dynamic-page.service';\n\n/** Dynamic Page tab change event */\nexport class DynamicPageTabChangeEvent {\n /**\n * Dynamic Page tab change event\n * @param source Dynamic Page component\n * @param payload Tab component\n */\n constructor(public source: DynamicPageContentComponent, public payload: TabPanelComponent) {}\n}\n\n@Component({\n selector: 'fdp-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrls: ['./dynamic-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [DynamicPageService],\n standalone: true,\n imports: [\n CoreDynamicPageComponent,\n NgIf,\n CoreDynamicPageHeaderComponent,\n BreadcrumbComponent,\n NgTemplateOutlet,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective,\n DynamicPageTitleContentComponent,\n FacetComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n TabListComponent,\n NgFor,\n TabPanelComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n CoreDynamicPageFooterComponent,\n CoreDynamicPageContentComponent\n ]\n})\nexport class DynamicPageComponent extends BaseComponent implements AfterContentInit, AfterViewInit, DoCheck, OnDestroy {\n /** Whether DynamicPage should snap on scroll */\n @Input()\n disableSnapOnScroll = false;\n /** Page role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /** aria label for the page */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Whether or not tabs should be stacked. */\n @Input()\n stackContent = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType = 'solid';\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize = 'extra-large';\n\n /**\n * provided offset in px\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /** Whether DynamicPage should have responsive sides spacing changing with Page window width.\n * max-width: 599px - small\n * min-width: 600px and max-width: 1023px - medium\n * min-width: 1024px and max-width: 1439px - large\n * min-width: 1440px - extra large\n */\n @Input()\n autoResponsive = true;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /**\n * Tab Change event\n */\n @Output()\n tabChange = new EventEmitter<DynamicPageTabChangeEvent>();\n\n /** reference to title component */\n @ContentChild(DynamicPageTitleComponent)\n titleComponent: DynamicPageTitleComponent;\n\n /** reference to header component */\n @ContentChild(DynamicPageHeaderComponent)\n headerComponent: DynamicPageHeaderComponent;\n\n /** reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n footerComponent: DynamicPageFooterComponent;\n\n /** reference to content component */\n @ContentChild(DynamicPageContentComponent)\n contentComponent: DynamicPageContentComponent;\n\n /** reference to content components list */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n contentComponents: QueryList<DynamicPageContentComponent>;\n\n /** @hidden */\n @ViewChild(TabListComponent)\n _tabListComponent: TabListComponent;\n\n /** Reference to tab items components */\n @ViewChildren(TabPanelComponent)\n dynamicPageTabs: QueryList<TabPanelComponent>;\n\n /** @hidden */\n @ViewChildren(DynamicPageContentHostComponent)\n _contentHostComponents: QueryList<DynamicPageContentHostComponent>;\n\n /**\n * @hidden\n * whether tabbed content is present in this page\n */\n _isTabbed = false;\n\n /**\n * @hidden\n * holds the tab content\n */\n _tabs: DynamicPageContentComponent[] = [];\n\n /** @hidden */\n constructor(protected _cd: ChangeDetectorRef, public readonly elementRef: ElementRef<HTMLElement>) {\n super(_cd);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenToContentComponentsListChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._cd.detectChanges();\n\n this._tabListComponent?.headerContainer.nativeElement.classList.add('fd-dynamic-page__tabs');\n }\n\n /** @hidden */\n ngDoCheck(): void {\n /** Used to detect changes in projected components that displayed using templates,\n * https://github.com/angular/angular/issues/44112\n */\n this._cd.markForCheck();\n }\n\n /**\n * marks the dynamic page tab as selected when the id of the tab is passed\n */\n setSelectedTab(id: string): void {\n if (!(id && this.dynamicPageTabs)) {\n return;\n }\n\n this.dynamicPageTabs.forEach((element) => {\n if (element.id === id) {\n element.open(true);\n }\n });\n }\n\n /** @hidden */\n _onSelectedTabChange(event: TabPanelComponent): void {\n const content = this.contentComponents.find((contentComponent) => contentComponent.id === event.id);\n\n content && this.tabChange.emit(new DynamicPageTabChangeEvent(content, event));\n }\n\n /** @hidden */\n private _listenToContentComponentsListChanges(): void {\n this.contentComponents.changes.pipe(startWith(this.contentComponents)).subscribe(() => {\n this._createContentTabs();\n });\n }\n\n /** @hidden */\n private _createContentTabs(): void {\n const contentComponents = this.contentComponents.toArray();\n\n // reset array\n this._tabs = [];\n\n if (!this._isTabContentPresent(contentComponents)) {\n if (contentComponents.length > 1) {\n throw new Error(\n 'Cannot have more than one content section. Use `tabLabel` to have a tabbed navigation.'\n );\n }\n\n return;\n }\n\n if (contentComponents) {\n contentComponents.forEach((contentItem) => {\n if (!contentItem.tabLabel && this._isTabbed) {\n throw new Error('At least one element is already tabbed, please provide a `tabLabel`.');\n } else {\n this._tabs.push(contentItem);\n }\n });\n }\n }\n\n /** @hidden */\n private _isTabContentPresent(contentComponents: DynamicPageContentComponent[]): boolean {\n contentComponents.forEach((contentComponent) => {\n if (contentComponent.tabLabel) {\n this._isTabbed = true;\n return;\n }\n });\n\n return this._isTabbed;\n }\n}\n","<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicPageHeaderSubtitleDirective } from './directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from './directives/dynamic-page-header-title.directive';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageKeyInfoComponent } from './dynamic-page-header/key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-header/title/dynamic-page-title-image.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\n\nconst components = [\n DynamicPageComponent,\n DynamicPageTitleComponent,\n DynamicPageKeyInfoComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageHeaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleImageComponent,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class PlatformDynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DynamicPageConfig","CoreDynamicPageComponent","CoreDynamicPageHeaderComponent","DynamicPageHeaderSubtitleDirective","DynamicPageHeaderTitleDirective","DynamicPageGlobalActionsComponent","DynamicPageLayoutActionsComponent","CoreDynamicPageFooterComponent","CoreDynamicPageContentComponent"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-platform-dynamic-page.mjs","sources":["../../../../libs/platform/src/lib/dynamic-page/constants.ts","../../../../libs/platform/src/lib/dynamic-page/utils.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content-host.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-subtitle.directive.ts","../../../../libs/platform/src/lib/dynamic-page/directives/dynamic-page-header-title.directive.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/key-info/dynamic-page-key-info.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title-image.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page-header/title/dynamic-page-title.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/platform/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/platform/src/lib/dynamic-page/fundamental-ngx-platform-dynamic-page.ts"],"sourcesContent":["export const CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaTransparentBg: 'fd-dynamic-page__title-area--transparent-bg',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed', // need to use thiis TODO\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageTitleMedium: 'fd-dynamic-page__title--md',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageGlobalActions: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActions: 'fd-dynamic-page__toolbar-actions',\n dynamicPageActionsContainer: 'fd-dynamic-page__actions-container',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderTransparentBg: 'fd-dynamic-page__collapsible-header--transparent-bg',\n dynamicPageCollapsibleHeaderSmall: 'fd-dynamic-page__collapsible-header--sm',\n dynamicPageCollapsibleHeaderMedium: 'fd-dynamic-page__collapsible-header--md',\n dynamicPageCollapsibleHeaderLarge: 'fd-dynamic-page__collapsible-header--lg',\n dynamicPageCollapsibleHeaderExtraLarge: 'fd-dynamic-page__collapsible-header--xl',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageTabsSmall: 'fd-dynamic-page__tabs--sm',\n dynamicPageTabsMedium: 'fd-dynamic-page__tabs--md',\n dynamicPageTabsLarge: 'fd-dynamic-page__tabs--lg',\n dynamicPageTabsExtraLarge: 'fd-dynamic-page__tabs--xl',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageContentAreaSmall: 'fd-dynamic-page__content--sm',\n dynamicPageContentAreaMedium: 'fd-dynamic-page__content--md',\n dynamicPageContentAreaLarge: 'fd-dynamic-page__content--lg',\n dynamicPageContentAreaExtraLarge: 'fd-dynamic-page__content--xl',\n dynamicPageContentListBg: 'fd-dynamic-page__content--list-bg',\n dynamicPageContentTransparentBg: 'fd-dynamic-page__content--transparent-bg',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaSmall: 'fd-dynamic-page__summarized-title-area--sm',\n dynamicPageSummarizedTitleAreaMedium: 'fd-dynamic-page__summarized-title-area--md',\n dynamicPageSummarizedTitleAreaLarge: 'fd-dynamic-page__summarized-title-area--lg',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\nexport const removeClassNameFromElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.removeClass(element, className);\n};\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, OnInit, Renderer2 } from '@angular/core';\n\nimport { CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n/**\n * Dynamic Page Content Host Component.\n *\n * Adds some styles to host element.\n * For internal usage only.\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-content-host',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicPageContentHostComponent implements OnInit {\n /**\n * a unique identifier for this content\n */\n @Input()\n @HostBinding('attr.id')\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n set background(backgroundType: DynamicPageBackgroundType) {\n if (backgroundType) {\n this._background = backgroundType;\n this._setBackgroundStyles(backgroundType);\n }\n }\n\n get background(): DynamicPageBackgroundType {\n return this._background;\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(sizeType: DynamicPageResponsiveSize) {\n if (sizeType) {\n this._size = sizeType;\n this._setSize(sizeType);\n }\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /**\n * @hidden\n * tracking the background value\n */\n private _background: DynamicPageBackgroundType;\n\n /**\n * @hidden\n * tracks the size for responsive padding\n */\n private _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>, protected _renderer: Renderer2) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContent);\n\n this._addClassNameToHostElement('content-sticker');\n\n if (this.background) {\n this._setBackgroundStyles(this.background);\n }\n\n if (this.size) {\n this._setSize(this.size);\n }\n }\n\n /**\n * @hidden\n * sets the style classes for background property\n * @param background\n */\n private _setBackgroundStyles(background: DynamicPageBackgroundType): void {\n switch (background) {\n case 'transparent':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n break;\n case 'list':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n case 'solid':\n default:\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentTransparentBg);\n this._removeClassNameToHostElement(CLASS_NAME.dynamicPageContentListBg);\n break;\n }\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n switch (sizeType) {\n case 'small':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaSmall);\n break;\n case 'medium':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaMedium);\n break;\n case 'large':\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaLarge);\n break;\n case 'extra-large':\n default:\n this._addClassNameToHostElement(CLASS_NAME.dynamicPageContentAreaExtraLarge);\n break;\n }\n }\n\n /** @hidden */\n private _removeClassNameToHostElement(className: string): void {\n this._renderer.removeClass(this.elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this.elementRef.nativeElement, className);\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, TemplateRef, ViewChild } from '@angular/core';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../constants';\n\n/**\n * Dynamic Page Content Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-content',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicPageContentComponent {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /** @hidden */\n constructor(public readonly elementRef: ElementRef<HTMLElement>) {}\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-footer',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageFooterComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\n\n/** Dynamic Page collapse change event */\nexport class DynamicPageCollapseChangeEvent {\n /**\n * Dynamic Page collapse change event\n * @param source Dynamic Page component\n * @param payload Collapse state\n */\n constructor(public source: DynamicPageHeaderComponent, public payload: boolean) {}\n}\n\nlet dynamicPageHeaderId = 0;\n\n/**\n * Dynamic Page Header Component.\n *\n * This component is part of Public API\n * used by supplier to declare inputs and template\n *\n */\n\n@Component({\n selector: 'fdp-dynamic-page-header',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true\n})\nexport class DynamicPageHeaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n collapsed: boolean;\n\n /**\n * ARIA label for button when the header is collapsed\n */\n @Input()\n expandLabel: string;\n\n /**\n * ARIA label for button when the header is expanded\n */\n @Input()\n collapseLabel: string;\n\n /** Header role */\n @Input()\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n id = `fdp-dynamic-page-header-id-${dynamicPageHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: Nullable<string>;\n\n /**\n * aria label for pin state of pin button\n */\n @Input()\n pinAriaLabel: string;\n\n /**\n * aria label for unpin state of pin button\n */\n @Input()\n unpinAriaLabel: string;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** Collapse/Expand change event raised */\n @Output()\n collapsedChange: EventEmitter<DynamicPageCollapseChangeEvent> = new EventEmitter<DynamicPageCollapseChangeEvent>();\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n\n /**\n * @hidden\n * Delegate collapse change event\n */\n _onCollapseChange(collapsed: boolean): void {\n this.collapsed = collapsed;\n const event = new DynamicPageCollapseChangeEvent(this, collapsed);\n this.collapsedChange.emit(event);\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderSubtitle]',\n standalone: true\n})\nexport class DynamicPageHeaderSubtitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderSubtitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport { DynamicPageTitleDirectiveContext } from '@fundamental-ngx/core/dynamic-page';\n\n@Directive({\n selector: '[fdpDynamicPageHeaderTitle]',\n standalone: true\n})\nexport class DynamicPageHeaderTitleDirective {\n /** Template reference. */\n templateRef = inject<TemplateRef<DynamicPageTitleDirectiveContext>>(TemplateRef);\n\n /** @hidden */\n static ngTemplateContextGuard(\n dir: DynamicPageHeaderTitleDirective,\n ctx: DynamicPageTitleDirectiveContext\n ): ctx is DynamicPageTitleDirectiveContext {\n return true;\n }\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-global-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageGlobalActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-layout-actions',\n template: '<ng-template #contentTemplateRef><ng-content></ng-content></ng-template>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageLayoutActionsComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-key-info',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageKeyInfoComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fdp-dynamic-page-title-image',\n template: `\n <ng-template #contentTemplateRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true\n})\nexport class DynamicPageTitleImageComponent {\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageHeaderSubtitleDirective } from '../../directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from '../../directives/dynamic-page-header-title.directive';\nimport { DynamicPageGlobalActionsComponent } from '../actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from '../actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageKeyInfoComponent } from '../key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-title-image.component';\n\n/**\n * Dynamic Page Title Component.\n *\n */\n@Component({\n selector: 'fdp-dynamic-page-title',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageTitleComponent\n }\n ],\n standalone: true\n})\nexport class DynamicPageTitleComponent implements DynamicPageHeader {\n /**\n * Page Title\n */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /**\n * Page Subtitle\n */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType;\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize;\n\n /** template of BreadsCrumbs */\n @ViewChild('breadCrumbTemplate')\n breadcrumbTemplate: TemplateRef<any>;\n\n /** reference to global actions component */\n @ContentChild(DynamicPageGlobalActionsComponent)\n globalActionsComponent: DynamicPageGlobalActionsComponent;\n\n /** reference to layout actions component */\n @ContentChild(DynamicPageLayoutActionsComponent)\n layoutActionsComponent: DynamicPageLayoutActionsComponent;\n\n /** reference to key-info component */\n @ContentChild(DynamicPageKeyInfoComponent)\n keyInfoComponent: DynamicPageKeyInfoComponent;\n\n /** reference to image component */\n @ContentChild(DynamicPageTitleImageComponent)\n imageComponent: DynamicPageTitleImageComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderTitleDirective)\n _titleDirective: DynamicPageHeaderTitleDirective;\n\n /** @hidden */\n @ContentChild(DynamicPageHeaderSubtitleDirective)\n _subtitleDirective: DynamicPageHeaderSubtitleDirective;\n\n /**\n * @hidden\n * The component view is wrapped in ng-template so\n * component's consumer have to use this templateRef to render it\n * in its view.\n *\n * The template reference to the component view.\n */\n @ViewChild('contentTemplateRef')\n contentTemplateRef: TemplateRef<any>;\n}\n","import { Injectable } from '@angular/core';\n\nimport { PlatformConfig } from '@fundamental-ngx/platform/shared';\n\n/**\n * Default options for platform dynamic-page\n * @deprecated use i18n coreDynamicPage key instead\n */\n@Injectable()\nexport class DynamicPageConfig extends PlatformConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n\n /**\n * Create Provider factory function\n */\n static createProviderFactory(\n obj: Partial<DynamicPageConfig>\n ): (platformConfig: PlatformConfig) => DynamicPageConfig {\n const useFactory = (platformConfig: PlatformConfig): DynamicPageConfig =>\n Object.assign(new DynamicPageConfig(platformConfig), obj);\n return useFactory;\n }\n\n /** @hidden */\n constructor(platformConfig: PlatformConfig) {\n super();\n this.contentDensity = platformConfig.contentDensity;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n private toggle = new Subject<void>();\n /** @hidden */\n private expand = new Subject<void>();\n /** @hidden */\n private collapse = new Subject<void>();\n /** @hidden */\n private collapseValue = new Subject<boolean>();\n /** @hidden */\n private isCollapsed = false;\n\n /** @hidden */\n public $toggle = this.toggle.asObservable();\n /** @hidden */\n public $expand = this.expand.asObservable();\n /** @hidden */\n public $collapse = this.collapse.asObservable();\n /** @hidden */\n public $collapseValue = this.collapseValue.asObservable();\n\n /** @hidden */\n public toggleHeader(): void {\n this.toggle.next();\n }\n\n /** @hidden */\n public expandHeader(): void {\n this.isCollapsed = false;\n this.expand.next();\n }\n\n /** @hidden */\n public collapseHeader(): void {\n this.isCollapsed = true;\n this.collapse.next();\n }\n\n /** @hidden */\n public setCollapseValue(val: boolean): void {\n this.setIsCollapsed(val);\n this.collapseValue.next(val);\n }\n\n /** @hidden */\n public getIsCollapsed(): boolean {\n return this.isCollapsed;\n }\n\n /** @hidden */\n public setIsCollapsed(collapsed: boolean): void {\n this.isCollapsed = collapsed;\n }\n}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n ViewChild,\n ViewChildren,\n ViewEncapsulation\n} from '@angular/core';\nimport { startWith } from 'rxjs/operators';\n\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\nimport {\n DynamicPageComponent as CoreDynamicPageComponent,\n DynamicPageContentComponent as CoreDynamicPageContentComponent,\n DynamicPageFooterComponent as CoreDynamicPageFooterComponent,\n DynamicPageHeaderComponent as CoreDynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageTitleContentComponent,\n patchHeaderI18nTexts\n} from '@fundamental-ngx/core/dynamic-page';\nimport { FacetComponent } from '@fundamental-ngx/core/facets';\nimport { TabListComponent, TabPanelComponent } from '@fundamental-ngx/core/tabs';\nimport { FD_LANGUAGE } from '@fundamental-ngx/i18n';\nimport { BaseComponent } from '@fundamental-ngx/platform/shared';\nimport { DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentHostComponent } from './dynamic-page-content/dynamic-page-content-host.component';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageConfig } from './dynamic-page.config';\nimport { DynamicPageService } from './dynamic-page.service';\n\n/** Dynamic Page tab change event */\nexport class DynamicPageTabChangeEvent {\n /**\n * Dynamic Page tab change event\n * @param source Dynamic Page component\n * @param payload Tab component\n */\n constructor(public source: DynamicPageContentComponent, public payload: TabPanelComponent) {}\n}\n\n@Component({\n selector: 'fdp-dynamic-page',\n templateUrl: './dynamic-page.component.html',\n styleUrls: ['./dynamic-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n DynamicPageService,\n {\n provide: FD_LANGUAGE,\n useFactory: patchHeaderI18nTexts,\n deps: [[new Optional(), DynamicPageConfig]]\n }\n ],\n standalone: true,\n imports: [\n CoreDynamicPageComponent,\n NgIf,\n CoreDynamicPageHeaderComponent,\n BreadcrumbComponent,\n NgTemplateOutlet,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective,\n DynamicPageTitleContentComponent,\n FacetComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n TabListComponent,\n NgFor,\n TabPanelComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n CoreDynamicPageFooterComponent,\n CoreDynamicPageContentComponent\n ]\n})\nexport class DynamicPageComponent extends BaseComponent implements AfterContentInit, AfterViewInit, DoCheck, OnDestroy {\n /** Whether DynamicPage should snap on scroll */\n @Input()\n disableSnapOnScroll = false;\n /** Page role */\n @Input()\n @HostBinding('attr.role')\n role = 'region';\n\n /** aria label for the page */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Whether or not tabs should be stacked. */\n @Input()\n stackContent = false;\n\n /**\n * sets background for content to `list`, `transparent`, or `solid` background color.\n * Default is `solid`.\n */\n @Input()\n background: DynamicPageBackgroundType = 'solid';\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n size: DynamicPageResponsiveSize = 'extra-large';\n\n /**\n * provided offset in px\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /** Whether DynamicPage should have responsive sides spacing changing with Page window width.\n * max-width: 599px - small\n * min-width: 600px and max-width: 1023px - medium\n * min-width: 1024px and max-width: 1439px - large\n * min-width: 1440px - extra large\n */\n @Input()\n autoResponsive = true;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /**\n * Tab Change event\n */\n @Output()\n tabChange = new EventEmitter<DynamicPageTabChangeEvent>();\n\n /** reference to title component */\n @ContentChild(DynamicPageTitleComponent)\n titleComponent: DynamicPageTitleComponent;\n\n /** reference to header component */\n @ContentChild(DynamicPageHeaderComponent)\n headerComponent: DynamicPageHeaderComponent;\n\n /** reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n footerComponent: DynamicPageFooterComponent;\n\n /** reference to content component */\n @ContentChild(DynamicPageContentComponent)\n contentComponent: DynamicPageContentComponent;\n\n /** reference to content components list */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n contentComponents: QueryList<DynamicPageContentComponent>;\n\n /** @hidden */\n @ViewChild(TabListComponent)\n _tabListComponent: TabListComponent;\n\n /** Reference to tab items components */\n @ViewChildren(TabPanelComponent)\n dynamicPageTabs: QueryList<TabPanelComponent>;\n\n /** @hidden */\n @ViewChildren(DynamicPageContentHostComponent)\n _contentHostComponents: QueryList<DynamicPageContentHostComponent>;\n\n /**\n * @hidden\n * whether tabbed content is present in this page\n */\n _isTabbed = false;\n\n /**\n * @hidden\n * holds the tab content\n */\n _tabs: DynamicPageContentComponent[] = [];\n\n /** @hidden */\n constructor(protected _cd: ChangeDetectorRef, public readonly elementRef: ElementRef<HTMLElement>) {\n super(_cd);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenToContentComponentsListChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._cd.detectChanges();\n\n this._tabListComponent?.headerContainer.nativeElement.classList.add('fd-dynamic-page__tabs');\n }\n\n /** @hidden */\n ngDoCheck(): void {\n /** Used to detect changes in projected components that displayed using templates,\n * https://github.com/angular/angular/issues/44112\n */\n this._cd.markForCheck();\n }\n\n /**\n * marks the dynamic page tab as selected when the id of the tab is passed\n */\n setSelectedTab(id: string): void {\n if (!(id && this.dynamicPageTabs)) {\n return;\n }\n\n this.dynamicPageTabs.forEach((element) => {\n if (element.id === id) {\n element.open(true);\n }\n });\n }\n\n /** @hidden */\n _onSelectedTabChange(event: TabPanelComponent): void {\n const content = this.contentComponents.find((contentComponent) => contentComponent.id === event.id);\n\n content && this.tabChange.emit(new DynamicPageTabChangeEvent(content, event));\n }\n\n /** @hidden */\n private _listenToContentComponentsListChanges(): void {\n this.contentComponents.changes.pipe(startWith(this.contentComponents)).subscribe(() => {\n this._createContentTabs();\n });\n }\n\n /** @hidden */\n private _createContentTabs(): void {\n const contentComponents = this.contentComponents.toArray();\n\n // reset array\n this._tabs = [];\n\n if (!this._isTabContentPresent(contentComponents)) {\n if (contentComponents.length > 1) {\n throw new Error(\n 'Cannot have more than one content section. Use `tabLabel` to have a tabbed navigation.'\n );\n }\n\n return;\n }\n\n if (contentComponents) {\n contentComponents.forEach((contentItem) => {\n if (!contentItem.tabLabel && this._isTabbed) {\n throw new Error('At least one element is already tabbed, please provide a `tabLabel`.');\n } else {\n this._tabs.push(contentItem);\n }\n });\n }\n }\n\n /** @hidden */\n private _isTabContentPresent(contentComponents: DynamicPageContentComponent[]): boolean {\n contentComponents.forEach((contentComponent) => {\n if (contentComponent.tabLabel) {\n this._isTabbed = true;\n return;\n }\n });\n\n return this._isTabbed;\n }\n}\n","<fd-dynamic-page\n [disableSnapOnScroll]=\"disableSnapOnScroll\"\n [autoResponsive]=\"autoResponsive\"\n [background]=\"background\"\n [size]=\"size\"\n [expandContent]=\"expandContent\"\n [offset]=\"offset\"\n [ariaLabel]=\"ariaLabel\"\n>\n <fd-dynamic-page-header\n *ngIf=\"titleComponent\"\n [title]=\"titleComponent.title\"\n [titleWrap]=\"titleComponent.titleWrap\"\n [subtitle]=\"titleComponent.subtitle\"\n [subtitleWrap]=\"titleComponent.subtitleWrap\"\n >\n <fd-breadcrumb>\n <ng-container [ngTemplateOutlet]=\"titleComponent.breadcrumbTemplate\"></ng-container>\n </fd-breadcrumb>\n\n <ng-container *ngIf=\"titleComponent._subtitleDirective\">\n <ng-container\n *fdDynamicPageHeaderSubtitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._subtitleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"titleComponent._titleDirective\">\n <ng-container\n *fdDynamicPageHeaderTitle=\"let hidden\"\n [ngTemplateOutlet]=\"titleComponent._titleDirective.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: hidden }\"\n >\n </ng-container>\n </ng-container>\n\n <fd-dynamic-page-title-content *ngIf=\"titleComponent.keyInfoComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.keyInfoComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-title-content>\n\n <fd-facet type=\"image\" *ngIf=\"titleComponent.imageComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.imageComponent.contentTemplateRef\"></ng-container>\n </fd-facet>\n\n <fd-dynamic-page-global-actions *ngIf=\"titleComponent.globalActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.globalActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-global-actions>\n\n <fd-dynamic-page-layout-actions *ngIf=\"titleComponent.layoutActionsComponent\">\n <ng-container [ngTemplateOutlet]=\"titleComponent.layoutActionsComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-layout-actions>\n </fd-dynamic-page-header>\n\n <fd-dynamic-page-subheader\n *ngIf=\"headerComponent\"\n [collapsed]=\"headerComponent.collapsed\"\n [collapsible]=\"headerComponent.collapsible\"\n [pinnable]=\"headerComponent.pinnable\"\n [expandLabel]=\"headerComponent.expandLabel\"\n [collapseLabel]=\"headerComponent.collapseLabel\"\n [role]=\"headerComponent.role\"\n [id]=\"headerComponent.id\"\n [headerAriaLabel]=\"headerComponent.headerAriaLabel\"\n [pinAriaLabel]=\"headerComponent.pinAriaLabel\"\n [unpinAriaLabel]=\"headerComponent.unpinAriaLabel\"\n (collapsedChange)=\"headerComponent._onCollapseChange($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"headerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-subheader>\n\n <fd-tab-list\n *ngIf=\"_isTabbed\"\n [stackContent]=\"stackContent\"\n maxContentHeight=\"auto\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n >\n <ng-container *ngFor=\"let tab of _tabs\">\n <fd-tab [title]=\"tab.tabLabel\" [id]=\"tab.id\">\n <fd-dynamic-page-content>\n <ng-container [ngTemplateOutlet]=\"tab.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n </fd-tab>\n </ng-container>\n </fd-tab-list>\n\n <fd-dynamic-page-content *ngIf=\"!_isTabbed && contentComponent\">\n <ng-container [ngTemplateOutlet]=\"contentComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-content>\n\n <fd-dynamic-page-footer *ngIf=\"footerComponent\">\n <ng-container [ngTemplateOutlet]=\"footerComponent.contentTemplateRef\"></ng-container>\n </fd-dynamic-page-footer>\n</fd-dynamic-page>\n","import { NgModule } from '@angular/core';\n\nimport { DynamicPageHeaderSubtitleDirective } from './directives/dynamic-page-header-subtitle.directive';\nimport { DynamicPageHeaderTitleDirective } from './directives/dynamic-page-header-title.directive';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/global-actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/layout-actions/dynamic-page-layout-actions.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageKeyInfoComponent } from './dynamic-page-header/key-info/dynamic-page-key-info.component';\nimport { DynamicPageTitleImageComponent } from './dynamic-page-header/title/dynamic-page-title-image.component';\nimport { DynamicPageTitleComponent } from './dynamic-page-header/title/dynamic-page-title.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\n\nconst components = [\n DynamicPageComponent,\n DynamicPageTitleComponent,\n DynamicPageKeyInfoComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageHeaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleImageComponent,\n DynamicPageHeaderSubtitleDirective,\n DynamicPageHeaderTitleDirective\n];\n\n@NgModule({\n imports: [...components],\n exports: [...components]\n})\nexport class PlatformDynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CoreDynamicPageComponent","CoreDynamicPageHeaderComponent","DynamicPageHeaderSubtitleDirective","DynamicPageHeaderTitleDirective","DynamicPageGlobalActionsComponent","DynamicPageLayoutActionsComponent","CoreDynamicPageFooterComponent","CoreDynamicPageContentComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/platform",
3
- "version": "0.47.4-rc.9",
3
+ "version": "0.47.4",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "description": "Fundamental Library for Angular - platform",
6
6
  "license": "Apache-2.0",
@@ -13,9 +13,9 @@
13
13
  "node": ">= 10"
14
14
  },
15
15
  "peerDependencies": {
16
- "@fundamental-ngx/cdk": "0.47.4-rc.9",
17
- "@fundamental-ngx/core": "0.47.4-rc.9",
18
- "@fundamental-ngx/i18n": "0.47.4-rc.9"
16
+ "@fundamental-ngx/cdk": "0.47.4",
17
+ "@fundamental-ngx/core": "0.47.4",
18
+ "@fundamental-ngx/i18n": "0.47.4"
19
19
  },
20
20
  "dependencies": {
21
21
  "fast-deep-equal": "3.1.3",
@@ -32,7 +32,7 @@ function callCoreSchematic(options) {
32
32
  (0, dependencies_1.addPackageJsonDependency)(tree, {
33
33
  type: dependencies_1.NodeDependencyType.Default,
34
34
  // Will be replaced with the real version during sync-version script run
35
- version: `0.47.4-rc.9`,
35
+ version: `0.47.4`,
36
36
  name: '@fundamental-ngx/core'
37
37
  });
38
38
  const installTaskId = context.addTask(new tasks_1.NodePackageInstallTask({