@fundamental-ngx/core 0.37.0-rc.18 → 0.37.0-rc.19

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.
@@ -36,6 +36,10 @@ export declare class DynamicPageSubheaderComponent {
36
36
  * id for header
37
37
  */
38
38
  id: string;
39
+ /**
40
+ * id for collapsible header
41
+ */
42
+ collapsibleHeaderId: string;
39
43
  /**
40
44
  * aria label for header
41
45
  */
@@ -38,6 +38,10 @@ export class DynamicPageSubheaderComponent {
38
38
  * id for header
39
39
  */
40
40
  this.id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;
41
+ /**
42
+ * id for collapsible header
43
+ */
44
+ this.collapsibleHeaderId = `${this.id}-collapsible`;
41
45
  /**
42
46
  * aria label for pin state of pin button
43
47
  */
@@ -99,10 +103,10 @@ export class DynamicPageSubheaderComponent {
99
103
  }
100
104
  }
101
105
  DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DynamicPageConfig }, { token: i2.DynamicPageService }], target: i0.ɵɵFactoryTarget.Component });
102
- DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
106
+ DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
103
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DynamicPageSubheaderComponent, decorators: [{
104
108
  type: Component,
105
- args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
109
+ args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
106
110
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DynamicPageConfig }, { type: i2.DynamicPageService }]; }, propDecorators: { collapsible: [{
107
111
  type: Input
108
112
  }], pinnable: [{
@@ -135,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
135
139
  type: ViewChild,
136
140
  args: ['pincollapseContainer']
137
141
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFaEUsSUFBSSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFPL0IsTUFBTSxPQUFPLDZCQUE2QjtJQXdGdEMsY0FBYztJQUNkLFlBQ1ksR0FBc0IsRUFDcEIsa0JBQXFDLEVBQ3ZDLG1CQUF1QztRQUZ2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNwQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3ZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUEzRm5EOzs7V0FHRztRQUVILGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5COzs7V0FHRztRQUVILGFBQVEsR0FBRyxL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TixjQUFjO3NCQURiLEtBQUs7Z0JBS04sZUFBZTtzQkFEZCxNQUFNO2dCQUtQLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuXG5pbXBvcnQgeyBEeW5hbWljUGFnZUNvbmZpZyB9IGZyb20gJy4uLy4uL2R5bmFtaWMtcGFnZS5jb25maWcnO1xuaW1wb3J0IHsgRHluYW1pY1BhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1wYWdlLnNlcnZpY2UnO1xuXG5sZXQgZHluYW1pY1BhZ2VTdWJIZWFkZXJJZCA9IDA7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWR5bmFtaWMtcGFnZS1zdWJoZWFkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXBhZ2Utc3ViaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNQYWdlU3ViaGVhZGVyQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiB3aGV0aGVyIHRoZSBoZWFkZXIgY2FuIGJlIGNvbGxhcHNlZC4gVHJ1ZSBieSBkZWZhdWx0LiBJZiBzZXQgdG8gZmFsc2UsIGJvdGggcGluL2NvbGxhcHNlIGJ1dHRvbnMgZGlzYXBwZWFyXG4gICAgICogYW5kIHRoZSBoZWFkZXIgc3RheXMgdmlzaWJsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29sbGFwc2libGUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogd2hldGhlciB0aGUgaGVhZGVyIHNob3VsZCBiZSBhbGxvd2VkIHRvIGJlIHBpbm5lZCBvciB1bnBpbm5lZC4gV2hlbiBzZXQsIHRoZSBwaW4gYnV0dG9uIHNob3dzIHVwLlxuICAgICAqIFBpbm5pbmcgdGhlIGhlYWRlciB3aWxsIG1ha2UgdGhlIGhlYWRlciBzdGF5IHZpc2libGUgYW5kIHRoZSBjb2xsYXBzZSBidXR0b24oaWYgcHJlc2VudCkgd2lsbCBkaXNhcHBlYXIgdW50aWwgdW5waW5uZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwaW5uYWJsZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlIGhlYWRlci4gU2V0IHRvIHRydWUgaWYgaGVhZGVyIHNob3VsZCBiZSBjb2xsYXBzZWQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgY29sbGFwc2VkKGNvbGxhcHNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9oYW5kbGVDb2xsYXBzZWRDaGFuZ2UoY29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICBnZXQgY29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFSSUEgbGFiZWwgZm9yIGJ1dHRvbiB3aGVuIHRoZSBoZWFkZXIgaXMgY29sbGFwc2VkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBleHBhbmRMYWJlbDogc3RyaW5nID0gdGhpcy5fZHluYW1pY1BhZ2VDb25maWcuZXhwYW5kTGFiZWw7XG5cbiAgICAvKipcbiAgICAgKiBBUklBIGxhYmVsIGZvciBidXR0b24gd2hlbiB0aGUgaGVhZGVyIGlzIGV4cGFuZGVkXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzZUxhYmVsOiBzdHJpbmcgPSB0aGlzLl9keW5hbWljUGFnZUNvbmZpZy5jb2xsYXBzZUxhYmVsO1xuXG4gICAgLyoqIEhlYWRlciByb2xlICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAncmVnaW9uJztcblxuICAgIC8qKlxuICAgICAqIGlkIGZvciBoZWFkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgaWQgPSBgZmQtZHluYW1pYy1wYWdlLWhlYWRlci1pZC0ke2R5bmFtaWNQYWdlU3ViSGVhZGVySWQrK31gO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgaGVhZGVyXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBoZWFkZXJBcmlhTGFiZWw6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBwaW4gc3RhdGUgb2YgcGluIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGluQXJpYUxhYmVsOiBzdHJpbmcgPSB0aGlzLl9keW5hbWljUGFnZUNvbmZpZy5waW5MYWJlbDtcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIHVucGluIHN0YXRlIG9mIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHVucGluQXJpYUxhYmVsOiBzdHJpbmcgPSB0aGlzLl9keW5hbWljUGFnZUNvbmZpZy51bnBpbkxhYmVsO1xuXG4gICAgLyoqIENvbGxhcHNlL0V4cGFuZCBjaGFuZ2UgZXZlbnQgcmFpc2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgY29sbGFwc2VkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIFJlZmVyZW5jZSB0byBwYWdlIGhlYWRlciBjb250ZW50ICovXG4gICAgQFZpZXdDaGlsZCgncGluY29sbGFwc2VDb250YWluZXInKVxuICAgIHBpbkNvbGxhcHNlQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIHRyYWNraW5nIGlmIHBpbiBidXR0b24gaXMgcGlubmVkXG4gICAgICovXG4gICAgX3Bpbm5lZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHRyYWNraW5nIGV4cGFuZC9jb2xsYXBzZSBidXR0b25cbiAgICAgKi9cbiAgICBwcml2YXRlIF9jb2xsYXBzZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9keW5hbWljUGFnZUNvbmZpZzogRHluYW1pY1BhZ2VDb25maWcsXG4gICAgICAgIHByaXZhdGUgX2R5bmFtaWNQYWdlU2VydmljZTogRHluYW1pY1BhZ2VTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5jb2xsYXBzZWRcbiAgICAgICAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb2xsYXBzZWQpID0+IHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0b2dnbGVzIHRoZSBzdGF0ZSBvZiB0aGUgaGVhZGVyIGFuZFxuICAgICAqIGhhbmRsZXMgZXhwYW5kZWQvY29sbGFwc2VkIGV2ZW50XG4gICAgICovXG4gICAgdG9nZ2xlQ29sbGFwc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Bpbm5lZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9oYW5kbGVDb2xsYXBzZWRDaGFuZ2UoIXRoaXMuX2NvbGxhcHNlZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIGNsaWNrIGFjdGlvbiBvbiBwaW4gYnV0dG9uXG4gICAgICovXG4gICAgdG9nZ2xlUGlubmVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9waW5uZWQgPSAhdGhpcy5fcGlubmVkO1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2UucGlubmVkLm5leHQodGhpcy5fcGlubmVkKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvbGxhcHNlZCA9PT0gdGhpcy5fY29sbGFwc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jb2xsYXBzZWQgPSBjb2xsYXBzZWQ7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5jb2xsYXBzZWQubmV4dChjb2xsYXBzZWQpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlZENoYW5nZS5lbWl0KHRoaXMuX2NvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLnN1YmhlYWRlclZpc2liaWxpdHlDaGFuZ2UubmV4dCgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImhlYWRlckFyaWFMYWJlbFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImNvbGxhcHNlZFwiXG4gICAgICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICAgICAgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICNoZWFkZXJDb250ZW50XG4gICAgPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyXCIgI3BpbmNvbGxhcHNlQ29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sbGFwc2libGVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lci0tbGVmdC1ncmFkaWVudFwiPjwvZGl2PlxuICAgICAgICAgICAgPGRpdiByb2xlPVwidG9vbGJhclwiIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLWJ1dHRvbi1ncm91cFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiY29sbGFwc2VkID8gZXhwYW5kTGFiZWwgOiBjb2xsYXBzZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiY29sbGFwc2VkID8gZXhwYW5kTGFiZWwgOiBjb2xsYXBzZUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJpZFwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVDb2xsYXBzZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIWNvbGxhcHNlZFwiIGNsYXNzPVwic2FwLWljb24tLXNsaW0tYXJyb3ctdXBcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiY29sbGFwc2VkXCIgY2xhc3M9XCJzYXAtaWNvbi0tc2xpbS1hcnJvdy1kb3duXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19waW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJfcGlubmVkID8gdW5waW5BcmlhTGFiZWwgOiBwaW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci50aXRsZV09XCJfcGlubmVkID8gdW5waW5BcmlhTGFiZWwgOiBwaW5BcmlhTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIl9waW5uZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGlubmVkKClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInBpbm5hYmxlICYmICFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJzYXAtaWNvbi0tcHVzaHBpbi1vZmZcIj48L2k+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lci0tcmlnaHQtZ3JhZGllbnRcIj48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9keW5hbWljLXBhZ2UvZHluYW1pYy1wYWdlLWhlYWRlci9zdWJoZWFkZXIvZHluYW1pYy1wYWdlLXN1YmhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFaEUsSUFBSSxzQkFBc0IsR0FBRyxDQUFDLENBQUM7QUFPL0IsTUFBTSxPQUFPLDZCQUE2QjtJQTRGdEMsY0FBYztJQUNkLFlBQ1ksR0FBc0IsRUFDcEIsa0JBQXFDLEVBQ3ZDLG1CQUF1QztRQUZ2QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNwQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3ZDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUEvRm5EOzs7V0FHRztRQUVILGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5COzs7V0FHRztRQUVILGFBQVEsR0FBRyxL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QkFBQyxTQUFTO2dCQVd0QixlQUFlO3NCQURkLEtBQUs7Z0JBT04sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLGNBQWM7c0JBRGIsS0FBSztnQkFLTixlQUFlO3NCQURkLE1BQU07Z0JBS1Asb0JBQW9CO3NCQURuQixTQUFTO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5cbmltcG9ydCB7IER5bmFtaWNQYWdlQ29uZmlnIH0gZnJvbSAnLi4vLi4vZHluYW1pYy1wYWdlLmNvbmZpZyc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9keW5hbWljLXBhZ2Uuc2VydmljZSc7XG5cbmxldCBkeW5hbWljUGFnZVN1YkhlYWRlcklkID0gMDtcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtZHluYW1pYy1wYWdlLXN1YmhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtcGFnZS1zdWJoZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BhZ2VTdWJoZWFkZXJDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIHdoZXRoZXIgdGhlIGhlYWRlciBjYW4gYmUgY29sbGFwc2VkLiBUcnVlIGJ5IGRlZmF1bHQuIElmIHNldCB0byBmYWxzZSwgYm90aCBwaW4vY29sbGFwc2UgYnV0dG9ucyBkaXNhcHBlYXJcbiAgICAgKiBhbmQgdGhlIGhlYWRlciBzdGF5cyB2aXNpYmxlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBjb2xsYXBzaWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiB3aGV0aGVyIHRoZSBoZWFkZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gYmUgcGlubmVkIG9yIHVucGlubmVkLiBXaGVuIHNldCwgdGhlIHBpbiBidXR0b24gc2hvd3MgdXAuXG4gICAgICogUGlubmluZyB0aGUgaGVhZGVyIHdpbGwgbWFrZSB0aGUgaGVhZGVyIHN0YXkgdmlzaWJsZSBhbmQgdGhlIGNvbGxhcHNlIGJ1dHRvbihpZiBwcmVzZW50KSB3aWxsIGRpc2FwcGVhciB1bnRpbCB1bnBpbm5lZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBpbm5hYmxlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgaGVhZGVyLiBTZXQgdG8gdHJ1ZSBpZiBoZWFkZXIgc2hvdWxkIGJlIGNvbGxhcHNlZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb2xsYXBzZWQoY29sbGFwc2VkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZShjb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIGdldCBjb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb2xsYXBzZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQVJJQSBsYWJlbCBmb3IgYnV0dG9uIHdoZW4gdGhlIGhlYWRlciBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGV4cGFuZExhYmVsOiBzdHJpbmcgPSB0aGlzLl9keW5hbWljUGFnZUNvbmZpZy5leHBhbmRMYWJlbDtcblxuICAgIC8qKlxuICAgICAqIEFSSUEgbGFiZWwgZm9yIGJ1dHRvbiB3aGVuIHRoZSBoZWFkZXIgaXMgZXhwYW5kZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbGxhcHNlTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLmNvbGxhcHNlTGFiZWw7XG5cbiAgICAvKiogSGVhZGVyIHJvbGUgICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICdyZWdpb24nO1xuXG4gICAgLyoqXG4gICAgICogaWQgZm9yIGhlYWRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZCA9IGBmZC1keW5hbWljLXBhZ2UtaGVhZGVyLWlkLSR7ZHluYW1pY1BhZ2VTdWJIZWFkZXJJZCsrfWA7XG5cbiAgICAvKipcbiAgICAgKiBpZCBmb3IgY29sbGFwc2libGUgaGVhZGVyXG4gICAgICovXG4gICAgY29sbGFwc2libGVIZWFkZXJJZCA9IGAke3RoaXMuaWR9LWNvbGxhcHNpYmxlYDtcbiAgICAvKipcbiAgICAgKiBhcmlhIGxhYmVsIGZvciBoZWFkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGhlYWRlckFyaWFMYWJlbDogTnVsbGFibGU8c3RyaW5nPjtcblxuICAgIC8qKlxuICAgICAqIGFyaWEgbGFiZWwgZm9yIHBpbiBzdGF0ZSBvZiBwaW4gYnV0dG9uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwaW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnBpbkxhYmVsO1xuXG4gICAgLyoqXG4gICAgICogYXJpYSBsYWJlbCBmb3IgdW5waW4gc3RhdGUgb2YgcGluIGJ1dHRvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdW5waW5BcmlhTGFiZWw6IHN0cmluZyA9IHRoaXMuX2R5bmFtaWNQYWdlQ29uZmlnLnVucGluTGFiZWw7XG5cbiAgICAvKiogQ29sbGFwc2UvRXhwYW5kIGNoYW5nZSBldmVudCByYWlzZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjb2xsYXBzZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogUmVmZXJlbmNlIHRvIHBhZ2UgaGVhZGVyIGNvbnRlbnQgKi9cbiAgICBAVmlld0NoaWxkKCdwaW5jb2xsYXBzZUNvbnRhaW5lcicpXG4gICAgcGluQ29sbGFwc2VDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogdHJhY2tpbmcgaWYgcGluIGJ1dHRvbiBpcyBwaW5uZWRcbiAgICAgKi9cbiAgICBfcGlubmVkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogdHJhY2tpbmcgZXhwYW5kL2NvbGxhcHNlIGJ1dHRvblxuICAgICAqL1xuICAgIHByaXZhdGUgX2NvbGxhcHNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2R5bmFtaWNQYWdlQ29uZmlnOiBEeW5hbWljUGFnZUNvbmZpZyxcbiAgICAgICAgcHJpdmF0ZSBfZHluYW1pY1BhZ2VTZXJ2aWNlOiBEeW5hbWljUGFnZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLmNvbGxhcHNlZFxuICAgICAgICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbGxhcHNlZCkgPT4gdGhpcy5faGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRvZ2dsZXMgdGhlIHN0YXRlIG9mIHRoZSBoZWFkZXIgYW5kXG4gICAgICogaGFuZGxlcyBleHBhbmRlZC9jb2xsYXBzZWQgZXZlbnRcbiAgICAgKi9cbiAgICB0b2dnbGVDb2xsYXBzZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcGlubmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbGxhcHNlZENoYW5nZSghdGhpcy5fY29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogY2xpY2sgYWN0aW9uIG9uIHBpbiBidXR0b25cbiAgICAgKi9cbiAgICB0b2dnbGVQaW5uZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Bpbm5lZCA9ICF0aGlzLl9waW5uZWQ7XG4gICAgICAgIHRoaXMuX2R5bmFtaWNQYWdlU2VydmljZS5waW5uZWQubmV4dCh0aGlzLl9waW5uZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlQ29sbGFwc2VkQ2hhbmdlKGNvbGxhcHNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoY29sbGFwc2VkID09PSB0aGlzLl9jb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlZCA9IGNvbGxhcHNlZDtcbiAgICAgICAgdGhpcy5fZHluYW1pY1BhZ2VTZXJ2aWNlLmNvbGxhcHNlZC5uZXh0KGNvbGxhcHNlZCk7XG4gICAgICAgIHRoaXMuY29sbGFwc2VkQ2hhbmdlLmVtaXQodGhpcy5fY29sbGFwc2VkKTtcbiAgICAgICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLl9keW5hbWljUGFnZVNlcnZpY2Uuc3ViaGVhZGVyVmlzaWJpbGl0eUNoYW5nZS5uZXh0KCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLWNvbnRhaW5lclwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlclwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGVhZGVyQXJpYUxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiY29sbGFwc2VkXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiY29sbGFwc2libGVIZWFkZXJJZFwiXG4gICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAjaGVhZGVyQ29udGVudFxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmZC1keW5hbWljLXBhZ2VfX2NvbGxhcHNpYmxlLWhlYWRlci12aXNpYmlsaXR5LWNvbnRhaW5lclwiICNwaW5jb2xsYXBzZUNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbGxhcHNpYmxlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLWxlZnQtZ3JhZGllbnRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgcm9sZT1cInRvb2xiYXJcIiBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2libGUtaGVhZGVyLXZpc2liaWxpdHktY29udGFpbmVyLS1idXR0b24tZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fY29sbGFwc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cImNvbGxhcHNlZCA/IGV4cGFuZExhYmVsIDogY29sbGFwc2VMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImNvbGxhcHNlZCA/IGV4cGFuZExhYmVsIDogY29sbGFwc2VMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQ29sbGFwc2UoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIiFjb2xsYXBzZWRcIiBjbGFzcz1cInNhcC1pY29uLS1zbGltLWFycm93LXVwXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImNvbGxhcHNlZFwiIGNsYXNzPVwic2FwLWljb24tLXNsaW0tYXJyb3ctZG93blwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZkLWR5bmFtaWMtcGFnZV9fcGluLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFthcmlhTGFiZWxdPVwiX3Bpbm5lZCA/IHVucGluQXJpYUxhYmVsIDogcGluQXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiX3Bpbm5lZCA/IHVucGluQXJpYUxhYmVsIDogcGluQXJpYUxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJfcGlubmVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwaW5uYWJsZSAmJiAhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwic2FwLWljb24tLXB1c2hwaW4tb2ZmXCI+PC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmQtZHluYW1pYy1wYWdlX19jb2xsYXBzaWJsZS1oZWFkZXItdmlzaWJpbGl0eS1jb250YWluZXItLXJpZ2h0LWdyYWRpZW50XCI+PC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -186,6 +186,10 @@ class DynamicPageSubheaderComponent {
186
186
  * id for header
187
187
  */
188
188
  this.id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;
189
+ /**
190
+ * id for collapsible header
191
+ */
192
+ this.collapsibleHeaderId = `${this.id}-collapsible`;
189
193
  /**
190
194
  * aria label for pin state of pin button
191
195
  */
@@ -247,10 +251,10 @@ class DynamicPageSubheaderComponent {
247
251
  }
248
252
  }
249
253
  DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicPageConfig }, { token: DynamicPageService }], target: i0.ɵɵFactoryTarget.Component });
250
- DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
254
+ DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
251
255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DynamicPageSubheaderComponent, decorators: [{
252
256
  type: Component,
253
- args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
257
+ args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
254
258
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: DynamicPageConfig }, { type: DynamicPageService }]; }, propDecorators: { collapsible: [{
255
259
  type: Input
256
260
  }], pinnable: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/src/lib/dynamic-page/constants.ts","../../../../libs/core/src/lib/dynamic-page/utils.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/core/src/lib/dynamic-page/deprecated-dynamic-page-compact.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/core/src/lib/dynamic-page/fundamental-ngx-core-dynamic-page.ts"],"sourcesContent":["export const DYNAMIC_PAGE_CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed',\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageToolbar: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActionsToolbar: 'fd-dynamic-page__toolbar--actions',\n dynamicPageLayoutContentToolbar: 'fd-dynamic-page__toolbar--content',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\nimport { DynamicPageResponsiveSize } from './constants';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\n/** @hidden Returns dynamic page size based on width\n * @param width - dynamic page window width\n **/\nexport function dynamicPageWidthToSize(width: number): DynamicPageResponsiveSize {\n if (width < 599) {\n return 'small';\n } else if (width < 1023) {\n return 'medium';\n } else if (width < 1439) {\n return 'large';\n }\n return 'extra-large';\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n@Component({\n selector: 'fd-dynamic-page-content',\n templateUrl: './dynamic-page-content.component.html',\n styleUrls: ['./dynamic-page-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageContentComponent implements OnInit {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /** @hidden */\n _showSpacer = false;\n\n /** @hidden */\n constructor(\n public _renderer: Renderer2,\n private _elementRef: ElementRef<HTMLElement>,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** Element reference to host of content dynamic page */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n _toggleSpacer(state: boolean): void {\n this._showSpacer = state;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n}\n","<ng-content></ng-content>\n\n<div *ngIf=\"_showSpacer\" class=\"footer-spacer\"></div>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pinned = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pixelsSizeChanged = new BehaviorSubject<number>(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n focusLayoutAction = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.next(!this.collapsed.value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectorRef\n} from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\n\nlet dynamicPageSubHeaderId = 0;\n@Component({\n selector: 'fd-dynamic-page-subheader',\n templateUrl: './dynamic-page-subheader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageSubheaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n set collapsed(collapsed: boolean) {\n this._handleCollapsedChange(collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\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 @HostBinding('attr.role')\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n @HostBinding('attr.id')\n id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: Nullable<string>;\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 /** Collapse/Expand change event raised */\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n /** Reference to page header content */\n @ViewChild('pincollapseContainer')\n pinCollapseContainer: ElementRef<HTMLElement>;\n\n /**\n * tracking if pin button is pinned\n */\n _pinned = false;\n\n /**\n * @hidden\n * tracking expand/collapse button\n */\n private _collapsed = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n protected _dynamicPageConfig: DynamicPageConfig,\n private _dynamicPageService: DynamicPageService\n ) {\n this._dynamicPageService.collapsed\n .pipe(distinctUntilChanged())\n .subscribe((collapsed) => this._handleCollapsedChange(collapsed));\n }\n\n /**\n * toggles the state of the header and\n * handles expanded/collapsed event\n */\n toggleCollapse(): void {\n this._pinned = false;\n this._handleCollapsedChange(!this._collapsed);\n }\n\n /**\n * @hidden\n * click action on pin button\n */\n togglePinned(): void {\n this._pinned = !this._pinned;\n this._dynamicPageService.pinned.next(this._pinned);\n }\n\n /** @hidden */\n private _handleCollapsedChange(collapsed: boolean): void {\n if (collapsed === this._collapsed) {\n return;\n }\n\n this._collapsed = collapsed;\n this._dynamicPageService.collapsed.next(collapsed);\n this.collapsedChange.emit(this._collapsed);\n this._cd.detectChanges();\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n /** @hidden */\n addClassToToolbar(_class: string, elementRef: ElementRef): void {\n // adds global actions classes to its toolbar\n const toolbarEl = elementRef.nativeElement.querySelector('.fd-toolbar');\n if (toolbarEl) {\n toolbarEl.classList.add(_class);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'fd-dynamic-page-layout-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-dynamic-page-global-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n if (this._toolbarComponent) {\n this._handleOverflow(size === 'small');\n }\n }\n\n /** @hidden */\n private _handleOverflow(shouldBeHidden: boolean): void {\n this._toolbarComponent.forceOverflow = shouldBeHidden;\n this._toolbarComponent.shouldOverflow = shouldBeHidden;\n this._toolbarComponent.detectChanges();\n setTimeout(() => {\n this._toolbarComponent.updateCollapsibleItems();\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { DynamicPageResponsiveSize } from '../../constants';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n <ng-container *ngIf=\"_size === 'small'\">\n <fd-toolbar\n fdType=\"transparent\"\n (click)=\"$event.stopPropagation()\"\n class=\"dynamicPageLayoutContentToolbar\"\n [clearBorder]=\"true\"\n [forceOverflow]=\"true\"\n [shouldOverflow]=\"true\"\n >\n <div fd-toolbar-item>\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n </fd-toolbar>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-content\" *ngIf=\"_size !== 'small'\">\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n\n <ng-template #templateContentRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()]\n})\nexport class DynamicPageTitleContentComponent {\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef, readonly _contentDensityObserver: ContentDensityObserver) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\n\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { addClassNameToElement } from '../../utils';\nimport { DynamicPageLayoutActionsComponent } from '../actions/dynamic-page-layout-actions.component';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\n\nexport const ActionSquashBreakpointPx = 1280;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrls: ['./dynamic-page-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabindex]': '0'\n },\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageHeaderComponent\n }\n ]\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy, DynamicPageHeader {\n /** @hidden */\n _collapsed = false;\n\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /** @hidden */\n @ContentChild(BreadcrumbComponent)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageLayoutActionsComponent)\n _layoutActions: DynamicPageLayoutActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n private _ngZone: NgZone,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n this._listenToPageChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\n\n this._dynamicPageService.collapsed.pipe(takeUntil(this._onDestroy$)).subscribe((collapsed) => {\n this._collapsed = collapsed;\n this._changeDetRef.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n set size(sizeType: DynamicPageResponsiveSize) {\n this._setSize(sizeType);\n this._size = sizeType;\n }\n\n /** @hidden */\n stopPropagation(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n setTimeout(() => {\n this._breadcrumbComponent?.onResize();\n this._globalActions?._setSize(sizeType);\n this._contentToolbar?._setSize(sizeType);\n this._changeDetRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToElement(this._renderer, element, className);\n }\n\n /** @hidden */\n private _addCustomClassToBreadcrumb(): void {\n if (this._breadcrumbComponent) {\n this._addClassNameToCustomElement(\n this._breadcrumbComponent.elementRef.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageBreadcrumb\n );\n }\n }\n\n /** @hidden */\n private _listenToPageChanges(): void {\n this._dynamicPageService.pixelsSizeChanged.pipe(takeUntil(this._onDestroy$)).subscribe((pixels) => {\n const actionsSquashed: boolean = pixels < ActionSquashBreakpointPx;\n if (actionsSquashed !== this._actionsSquashed) {\n this._actionsSquashed = actionsSquashed;\n this._changeDetRef.detectChanges();\n }\n });\n }\n}\n","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span\n class=\"fd-dynamic-page__title\"\n [class.fd-dynamic-page__title--wrap]=\"titleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"!_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n>\n {{ subtitle }}\n</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-dynamic-page-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]'\n})\nexport class DynamicPageWrapperDirective {\n /** @hidden */\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/core/utils';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\nimport { TabListComponent } from '@fundamental-ngx/core/tabs';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';\n\nimport { asyncScheduler, fromEvent, Observable, startWith, Subject } from 'rxjs';\nimport { debounceTime, map, observeOn, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'fd-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})\nexport class DynamicPageComponent implements AfterViewInit, OnDestroy {\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 /**\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 /** 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 * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(size: DynamicPageResponsiveSize) {\n this._size = size;\n this._propagateSizeToChildren();\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /** @hidden */\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** Offset in PX\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /** @hidden reference to header component */\n @ContentChild(DynamicPageSubheaderComponent)\n _pageSubheaderComponent: DynamicPageSubheaderComponent;\n\n /** @hidden reference to title component */\n @ContentChild(DynamicPageHeaderComponent)\n _headerComponent: DynamicPageHeaderComponent;\n\n /** @hidden reference to content component */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n _contentComponent: QueryList<DynamicPageContentComponent>;\n\n /** @hidden reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n _footerComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(TabListComponent)\n _tabComponent: TabListComponent;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() private _columnLayout: FlexibleColumnLayoutComponent,\n @Optional() private _dynamicPageWrapper: DynamicPageWrapperDirective\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._sizeChangeHandle();\n this._removeShadowWhenTabComponent();\n this._listenOnResize();\n this._listenOnCollapse();\n this._propagatePropertiesToChildren();\n this._setContentFooterSpacer();\n\n if (this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n if (this._columnLayout && this.autoResponsive) {\n this._listenToLayoutChange();\n }\n\n setTimeout(() => this._setContainerPositions());\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** toggle the visibility of the header on click of title area. */\n toggleCollapse(): void {\n if (this._headerCollapsible) {\n this._dynamicPageService.toggleCollapsed();\n }\n }\n\n /**\n * Triggers recheck for spacing and sizing of elements inside DynamicPage.\n */\n refreshSize(): void {\n this._setContainerPositions();\n this._sizeChangeHandle();\n }\n\n /** Set the positions of the tabs and content with respect to the window */\n private _setContainerPositions(): void {\n this._setDynamicPageHeight();\n }\n\n /** @hidden */\n private _propagatePropertiesToChildren(): void {\n this._headerCollapsible = this._pageSubheaderComponent?.collapsible;\n this._propagateSizeToChildren();\n }\n\n /** @hidden\n * Functionality handling column layout changes,\n * - recalculate height of content element\n * - recheck size depending on width of DynamicPage\n */\n private _listenToLayoutChange(): void {\n this._columnLayout.layoutChange.pipe(debounceTime(50), takeUntil(this._onDestroy$)).subscribe(() => {\n this.refreshSize();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _propagateSizeToChildren(): void {\n if (this._headerComponent) {\n this._headerComponent.size = this.size;\n }\n this._setContainerPositions();\n }\n\n /** @hidden */\n private _listenOnCollapse(): void {\n this._dynamicPageService.subheaderVisibilityChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string | null {\n if (!element) {\n return null;\n }\n const distanceFromTop = element.getBoundingClientRect().top;\n return 'calc(100vh - ' + (distanceFromTop + this.offset) + 'px)';\n }\n\n /** @hidden */\n private _sizeChangeHandle(): void {\n if (!this._elementRef || !this.autoResponsive) {\n return;\n }\n const dynamicPageWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n this._dynamicPageService.pixelsSizeChanged.next(dynamicPageWidth);\n const size = dynamicPageWidthToSize(dynamicPageWidth);\n\n if (size !== this.size) {\n this.size = size;\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _addScrollListeners(): void {\n const tabElement = this._tabComponent?.contentContainer?.nativeElement;\n if (tabElement) {\n this._listenOnScroll(tabElement);\n return;\n }\n\n const contentElement = this._contentComponent.first?.elementRef?.nativeElement;\n if (contentElement) {\n this._listenOnScroll(contentElement);\n }\n }\n\n /** @hidden */\n private _listenOnScroll(element: HTMLElement): void {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned.value &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.next(collapse);\n });\n }\n\n /** @hidden Listen for window resize and adjust tab and content positions accordingly */\n private _listenOnResize(): void {\n const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();\n\n listener.pipe(debounceTime(100), takeUntil(this._onDestroy$)).subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _listenToWrapperResize(): Observable<ResizeObserverEntry[]> {\n return resizeObservable(this._dynamicPageWrapper.elementRef.nativeElement);\n }\n\n /** @hidden */\n private _listenToWindowResize(): Observable<ResizeObserverEntry[]> {\n return fromEvent(window, 'resize').pipe(map(() => []));\n }\n\n /** @hidden\n * set top position of DynamicPage on scrolling\n */\n private _setDynamicPageHeight(): void {\n if (!this._dynamicPageElement || !this.expandContent) {\n return;\n }\n const element = this._dynamicPageElement.nativeElement;\n this._renderer.setStyle(element, 'height', this._getCalculatedFullHeight(element));\n }\n\n /** @hidden */\n private _removeShadowWhenTabComponent(): void {\n if (!this._pageSubheaderComponent?.collapsible || !this._tabComponent) {\n return;\n }\n\n const pinCollapseShadowElement = this._pageSubheaderComponent?.pinCollapseContainer;\n\n if (pinCollapseShadowElement) {\n addClassNameToElement(\n this._renderer,\n pinCollapseShadowElement.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageCollapsibleHeaderPinCollapseNoShadow\n );\n }\n }\n\n /** @hidden */\n private _setContentFooterSpacer(): void {\n this._contentComponent.changes\n .pipe(startWith(this._contentComponent.toArray()), observeOn(asyncScheduler), takeUntil(this._onDestroy$))\n .subscribe((components) => {\n components.forEach((content, index) => {\n /** show spacer when:\n * a) footer + no tabs = only last\n * b) footer + tabs, not stacked = all\n * c) footer + tabs, stacked = only last\n */\n content._toggleSpacer(\n this._footerComponent && (!this._tabComponent?.stackContent || index === components.length - 1)\n );\n });\n });\n }\n}\n","<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-dynamic-page-title-content[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedDynamicPageCompactDirective)\n }\n ]\n})\nexport class DeprecatedDynamicPageCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-dynamic-page-title-content');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/dynamic-page-layout-actions.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { IgnoreClickOnSelectionModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedDynamicPageCompactDirective } from './deprecated-dynamic-page-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ],\n imports: [\n CommonModule,\n ButtonModule,\n ToolbarModule,\n PopoverModule,\n IgnoreClickOnSelectionModule,\n ContentDensityModule\n ],\n exports: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.DynamicPageConfig","i2.DynamicPageService","i3","i1.DynamicPageService","i2","i3.DynamicPageWrapperDirective"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/src/lib/dynamic-page/constants.ts","../../../../libs/core/src/lib/dynamic-page/utils.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/core/src/lib/dynamic-page/deprecated-dynamic-page-compact.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/core/src/lib/dynamic-page/fundamental-ngx-core-dynamic-page.ts"],"sourcesContent":["export const DYNAMIC_PAGE_CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed',\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageToolbar: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActionsToolbar: 'fd-dynamic-page__toolbar--actions',\n dynamicPageLayoutContentToolbar: 'fd-dynamic-page__toolbar--content',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\nimport { DynamicPageResponsiveSize } from './constants';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\n/** @hidden Returns dynamic page size based on width\n * @param width - dynamic page window width\n **/\nexport function dynamicPageWidthToSize(width: number): DynamicPageResponsiveSize {\n if (width < 599) {\n return 'small';\n } else if (width < 1023) {\n return 'medium';\n } else if (width < 1439) {\n return 'large';\n }\n return 'extra-large';\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n@Component({\n selector: 'fd-dynamic-page-content',\n templateUrl: './dynamic-page-content.component.html',\n styleUrls: ['./dynamic-page-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageContentComponent implements OnInit {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /** @hidden */\n _showSpacer = false;\n\n /** @hidden */\n constructor(\n public _renderer: Renderer2,\n private _elementRef: ElementRef<HTMLElement>,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** Element reference to host of content dynamic page */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n _toggleSpacer(state: boolean): void {\n this._showSpacer = state;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n}\n","<ng-content></ng-content>\n\n<div *ngIf=\"_showSpacer\" class=\"footer-spacer\"></div>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pinned = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pixelsSizeChanged = new BehaviorSubject<number>(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n focusLayoutAction = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.next(!this.collapsed.value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectorRef\n} from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\n\nlet dynamicPageSubHeaderId = 0;\n@Component({\n selector: 'fd-dynamic-page-subheader',\n templateUrl: './dynamic-page-subheader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageSubheaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n set collapsed(collapsed: boolean) {\n this._handleCollapsedChange(collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\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 @HostBinding('attr.role')\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n @HostBinding('attr.id')\n id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;\n\n /**\n * id for collapsible header\n */\n collapsibleHeaderId = `${this.id}-collapsible`;\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 /** Collapse/Expand change event raised */\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n /** Reference to page header content */\n @ViewChild('pincollapseContainer')\n pinCollapseContainer: ElementRef<HTMLElement>;\n\n /**\n * tracking if pin button is pinned\n */\n _pinned = false;\n\n /**\n * @hidden\n * tracking expand/collapse button\n */\n private _collapsed = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n protected _dynamicPageConfig: DynamicPageConfig,\n private _dynamicPageService: DynamicPageService\n ) {\n this._dynamicPageService.collapsed\n .pipe(distinctUntilChanged())\n .subscribe((collapsed) => this._handleCollapsedChange(collapsed));\n }\n\n /**\n * toggles the state of the header and\n * handles expanded/collapsed event\n */\n toggleCollapse(): void {\n this._pinned = false;\n this._handleCollapsedChange(!this._collapsed);\n }\n\n /**\n * @hidden\n * click action on pin button\n */\n togglePinned(): void {\n this._pinned = !this._pinned;\n this._dynamicPageService.pinned.next(this._pinned);\n }\n\n /** @hidden */\n private _handleCollapsedChange(collapsed: boolean): void {\n if (collapsed === this._collapsed) {\n return;\n }\n\n this._collapsed = collapsed;\n this._dynamicPageService.collapsed.next(collapsed);\n this.collapsedChange.emit(this._collapsed);\n this._cd.detectChanges();\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n /** @hidden */\n addClassToToolbar(_class: string, elementRef: ElementRef): void {\n // adds global actions classes to its toolbar\n const toolbarEl = elementRef.nativeElement.querySelector('.fd-toolbar');\n if (toolbarEl) {\n toolbarEl.classList.add(_class);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'fd-dynamic-page-layout-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-dynamic-page-global-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n if (this._toolbarComponent) {\n this._handleOverflow(size === 'small');\n }\n }\n\n /** @hidden */\n private _handleOverflow(shouldBeHidden: boolean): void {\n this._toolbarComponent.forceOverflow = shouldBeHidden;\n this._toolbarComponent.shouldOverflow = shouldBeHidden;\n this._toolbarComponent.detectChanges();\n setTimeout(() => {\n this._toolbarComponent.updateCollapsibleItems();\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { DynamicPageResponsiveSize } from '../../constants';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n <ng-container *ngIf=\"_size === 'small'\">\n <fd-toolbar\n fdType=\"transparent\"\n (click)=\"$event.stopPropagation()\"\n class=\"dynamicPageLayoutContentToolbar\"\n [clearBorder]=\"true\"\n [forceOverflow]=\"true\"\n [shouldOverflow]=\"true\"\n >\n <div fd-toolbar-item>\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n </fd-toolbar>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-content\" *ngIf=\"_size !== 'small'\">\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n\n <ng-template #templateContentRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()]\n})\nexport class DynamicPageTitleContentComponent {\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef, readonly _contentDensityObserver: ContentDensityObserver) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\n\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { addClassNameToElement } from '../../utils';\nimport { DynamicPageLayoutActionsComponent } from '../actions/dynamic-page-layout-actions.component';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\n\nexport const ActionSquashBreakpointPx = 1280;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrls: ['./dynamic-page-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabindex]': '0'\n },\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageHeaderComponent\n }\n ]\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy, DynamicPageHeader {\n /** @hidden */\n _collapsed = false;\n\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /** @hidden */\n @ContentChild(BreadcrumbComponent)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageLayoutActionsComponent)\n _layoutActions: DynamicPageLayoutActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n private _ngZone: NgZone,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n this._listenToPageChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\n\n this._dynamicPageService.collapsed.pipe(takeUntil(this._onDestroy$)).subscribe((collapsed) => {\n this._collapsed = collapsed;\n this._changeDetRef.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n set size(sizeType: DynamicPageResponsiveSize) {\n this._setSize(sizeType);\n this._size = sizeType;\n }\n\n /** @hidden */\n stopPropagation(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n setTimeout(() => {\n this._breadcrumbComponent?.onResize();\n this._globalActions?._setSize(sizeType);\n this._contentToolbar?._setSize(sizeType);\n this._changeDetRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToElement(this._renderer, element, className);\n }\n\n /** @hidden */\n private _addCustomClassToBreadcrumb(): void {\n if (this._breadcrumbComponent) {\n this._addClassNameToCustomElement(\n this._breadcrumbComponent.elementRef.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageBreadcrumb\n );\n }\n }\n\n /** @hidden */\n private _listenToPageChanges(): void {\n this._dynamicPageService.pixelsSizeChanged.pipe(takeUntil(this._onDestroy$)).subscribe((pixels) => {\n const actionsSquashed: boolean = pixels < ActionSquashBreakpointPx;\n if (actionsSquashed !== this._actionsSquashed) {\n this._actionsSquashed = actionsSquashed;\n this._changeDetRef.detectChanges();\n }\n });\n }\n}\n","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span\n class=\"fd-dynamic-page__title\"\n [class.fd-dynamic-page__title--wrap]=\"titleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"!_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n>\n {{ subtitle }}\n</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-dynamic-page-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]'\n})\nexport class DynamicPageWrapperDirective {\n /** @hidden */\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/core/utils';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\nimport { TabListComponent } from '@fundamental-ngx/core/tabs';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';\n\nimport { asyncScheduler, fromEvent, Observable, startWith, Subject } from 'rxjs';\nimport { debounceTime, map, observeOn, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'fd-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})\nexport class DynamicPageComponent implements AfterViewInit, OnDestroy {\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 /**\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 /** 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 * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(size: DynamicPageResponsiveSize) {\n this._size = size;\n this._propagateSizeToChildren();\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /** @hidden */\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** Offset in PX\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /** @hidden reference to header component */\n @ContentChild(DynamicPageSubheaderComponent)\n _pageSubheaderComponent: DynamicPageSubheaderComponent;\n\n /** @hidden reference to title component */\n @ContentChild(DynamicPageHeaderComponent)\n _headerComponent: DynamicPageHeaderComponent;\n\n /** @hidden reference to content component */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n _contentComponent: QueryList<DynamicPageContentComponent>;\n\n /** @hidden reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n _footerComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(TabListComponent)\n _tabComponent: TabListComponent;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() private _columnLayout: FlexibleColumnLayoutComponent,\n @Optional() private _dynamicPageWrapper: DynamicPageWrapperDirective\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._sizeChangeHandle();\n this._removeShadowWhenTabComponent();\n this._listenOnResize();\n this._listenOnCollapse();\n this._propagatePropertiesToChildren();\n this._setContentFooterSpacer();\n\n if (this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n if (this._columnLayout && this.autoResponsive) {\n this._listenToLayoutChange();\n }\n\n setTimeout(() => this._setContainerPositions());\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** toggle the visibility of the header on click of title area. */\n toggleCollapse(): void {\n if (this._headerCollapsible) {\n this._dynamicPageService.toggleCollapsed();\n }\n }\n\n /**\n * Triggers recheck for spacing and sizing of elements inside DynamicPage.\n */\n refreshSize(): void {\n this._setContainerPositions();\n this._sizeChangeHandle();\n }\n\n /** Set the positions of the tabs and content with respect to the window */\n private _setContainerPositions(): void {\n this._setDynamicPageHeight();\n }\n\n /** @hidden */\n private _propagatePropertiesToChildren(): void {\n this._headerCollapsible = this._pageSubheaderComponent?.collapsible;\n this._propagateSizeToChildren();\n }\n\n /** @hidden\n * Functionality handling column layout changes,\n * - recalculate height of content element\n * - recheck size depending on width of DynamicPage\n */\n private _listenToLayoutChange(): void {\n this._columnLayout.layoutChange.pipe(debounceTime(50), takeUntil(this._onDestroy$)).subscribe(() => {\n this.refreshSize();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _propagateSizeToChildren(): void {\n if (this._headerComponent) {\n this._headerComponent.size = this.size;\n }\n this._setContainerPositions();\n }\n\n /** @hidden */\n private _listenOnCollapse(): void {\n this._dynamicPageService.subheaderVisibilityChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string | null {\n if (!element) {\n return null;\n }\n const distanceFromTop = element.getBoundingClientRect().top;\n return 'calc(100vh - ' + (distanceFromTop + this.offset) + 'px)';\n }\n\n /** @hidden */\n private _sizeChangeHandle(): void {\n if (!this._elementRef || !this.autoResponsive) {\n return;\n }\n const dynamicPageWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n this._dynamicPageService.pixelsSizeChanged.next(dynamicPageWidth);\n const size = dynamicPageWidthToSize(dynamicPageWidth);\n\n if (size !== this.size) {\n this.size = size;\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _addScrollListeners(): void {\n const tabElement = this._tabComponent?.contentContainer?.nativeElement;\n if (tabElement) {\n this._listenOnScroll(tabElement);\n return;\n }\n\n const contentElement = this._contentComponent.first?.elementRef?.nativeElement;\n if (contentElement) {\n this._listenOnScroll(contentElement);\n }\n }\n\n /** @hidden */\n private _listenOnScroll(element: HTMLElement): void {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned.value &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.next(collapse);\n });\n }\n\n /** @hidden Listen for window resize and adjust tab and content positions accordingly */\n private _listenOnResize(): void {\n const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();\n\n listener.pipe(debounceTime(100), takeUntil(this._onDestroy$)).subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _listenToWrapperResize(): Observable<ResizeObserverEntry[]> {\n return resizeObservable(this._dynamicPageWrapper.elementRef.nativeElement);\n }\n\n /** @hidden */\n private _listenToWindowResize(): Observable<ResizeObserverEntry[]> {\n return fromEvent(window, 'resize').pipe(map(() => []));\n }\n\n /** @hidden\n * set top position of DynamicPage on scrolling\n */\n private _setDynamicPageHeight(): void {\n if (!this._dynamicPageElement || !this.expandContent) {\n return;\n }\n const element = this._dynamicPageElement.nativeElement;\n this._renderer.setStyle(element, 'height', this._getCalculatedFullHeight(element));\n }\n\n /** @hidden */\n private _removeShadowWhenTabComponent(): void {\n if (!this._pageSubheaderComponent?.collapsible || !this._tabComponent) {\n return;\n }\n\n const pinCollapseShadowElement = this._pageSubheaderComponent?.pinCollapseContainer;\n\n if (pinCollapseShadowElement) {\n addClassNameToElement(\n this._renderer,\n pinCollapseShadowElement.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageCollapsibleHeaderPinCollapseNoShadow\n );\n }\n }\n\n /** @hidden */\n private _setContentFooterSpacer(): void {\n this._contentComponent.changes\n .pipe(startWith(this._contentComponent.toArray()), observeOn(asyncScheduler), takeUntil(this._onDestroy$))\n .subscribe((components) => {\n components.forEach((content, index) => {\n /** show spacer when:\n * a) footer + no tabs = only last\n * b) footer + tabs, not stacked = all\n * c) footer + tabs, stacked = only last\n */\n content._toggleSpacer(\n this._footerComponent && (!this._tabComponent?.stackContent || index === components.length - 1)\n );\n });\n });\n }\n}\n","<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-dynamic-page-title-content[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedDynamicPageCompactDirective)\n }\n ]\n})\nexport class DeprecatedDynamicPageCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-dynamic-page-title-content');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/dynamic-page-layout-actions.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { IgnoreClickOnSelectionModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedDynamicPageCompactDirective } from './deprecated-dynamic-page-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ],\n imports: [\n CommonModule,\n ButtonModule,\n ToolbarModule,\n PopoverModule,\n IgnoreClickOnSelectionModule,\n ContentDensityModule\n ],\n exports: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.DynamicPageConfig","i2.DynamicPageService","i3","i1.DynamicPageService","i2","i3.DynamicPageWrapperDirective"],"mappings":"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"}
@@ -186,6 +186,10 @@ class DynamicPageSubheaderComponent {
186
186
  * id for header
187
187
  */
188
188
  this.id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;
189
+ /**
190
+ * id for collapsible header
191
+ */
192
+ this.collapsibleHeaderId = `${this.id}-collapsible`;
189
193
  /**
190
194
  * aria label for pin state of pin button
191
195
  */
@@ -247,10 +251,10 @@ class DynamicPageSubheaderComponent {
247
251
  }
248
252
  }
249
253
  DynamicPageSubheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DynamicPageSubheaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: DynamicPageConfig }, { token: DynamicPageService }], target: i0.ɵɵFactoryTarget.Component });
250
- DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
254
+ DynamicPageSubheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: DynamicPageSubheaderComponent, selector: "fd-dynamic-page-subheader", inputs: { collapsible: "collapsible", pinnable: "pinnable", collapsed: "collapsed", expandLabel: "expandLabel", collapseLabel: "collapseLabel", role: "role", id: "id", headerAriaLabel: "headerAriaLabel", pinAriaLabel: "pinAriaLabel", unpinAriaLabel: "unpinAriaLabel" }, outputs: { collapsedChange: "collapsedChange" }, host: { properties: { "attr.role": "this.role", "attr.id": "this.id" } }, viewQueries: [{ propertyName: "pinCollapseContainer", first: true, predicate: ["pincollapseContainer"], descendants: true }], ngImport: i0, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
251
255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: DynamicPageSubheaderComponent, decorators: [{
252
256
  type: Component,
253
- args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
257
+ args: [{ selector: 'fd-dynamic-page-subheader', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n" }]
254
258
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: DynamicPageConfig }, { type: DynamicPageService }]; }, propDecorators: { collapsible: [{
255
259
  type: Input
256
260
  }], pinnable: [{
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/src/lib/dynamic-page/constants.ts","../../../../libs/core/src/lib/dynamic-page/utils.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/core/src/lib/dynamic-page/deprecated-dynamic-page-compact.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/core/src/lib/dynamic-page/fundamental-ngx-core-dynamic-page.ts"],"sourcesContent":["export const DYNAMIC_PAGE_CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed',\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageToolbar: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActionsToolbar: 'fd-dynamic-page__toolbar--actions',\n dynamicPageLayoutContentToolbar: 'fd-dynamic-page__toolbar--content',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\nimport { DynamicPageResponsiveSize } from './constants';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\n/** @hidden Returns dynamic page size based on width\n * @param width - dynamic page window width\n **/\nexport function dynamicPageWidthToSize(width: number): DynamicPageResponsiveSize {\n if (width < 599) {\n return 'small';\n } else if (width < 1023) {\n return 'medium';\n } else if (width < 1439) {\n return 'large';\n }\n return 'extra-large';\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n@Component({\n selector: 'fd-dynamic-page-content',\n templateUrl: './dynamic-page-content.component.html',\n styleUrls: ['./dynamic-page-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageContentComponent implements OnInit {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /** @hidden */\n _showSpacer = false;\n\n /** @hidden */\n constructor(\n public _renderer: Renderer2,\n private _elementRef: ElementRef<HTMLElement>,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** Element reference to host of content dynamic page */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n _toggleSpacer(state: boolean): void {\n this._showSpacer = state;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n}\n","<ng-content></ng-content>\n\n<div *ngIf=\"_showSpacer\" class=\"footer-spacer\"></div>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pinned = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pixelsSizeChanged = new BehaviorSubject<number>(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n focusLayoutAction = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.next(!this.collapsed.value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectorRef\n} from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\n\nlet dynamicPageSubHeaderId = 0;\n@Component({\n selector: 'fd-dynamic-page-subheader',\n templateUrl: './dynamic-page-subheader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageSubheaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n set collapsed(collapsed: boolean) {\n this._handleCollapsedChange(collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\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 @HostBinding('attr.role')\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n @HostBinding('attr.id')\n id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;\n\n /**\n * aria label for header\n */\n @Input()\n headerAriaLabel: Nullable<string>;\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 /** Collapse/Expand change event raised */\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n /** Reference to page header content */\n @ViewChild('pincollapseContainer')\n pinCollapseContainer: ElementRef<HTMLElement>;\n\n /**\n * tracking if pin button is pinned\n */\n _pinned = false;\n\n /**\n * @hidden\n * tracking expand/collapse button\n */\n private _collapsed = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n protected _dynamicPageConfig: DynamicPageConfig,\n private _dynamicPageService: DynamicPageService\n ) {\n this._dynamicPageService.collapsed\n .pipe(distinctUntilChanged())\n .subscribe((collapsed) => this._handleCollapsedChange(collapsed));\n }\n\n /**\n * toggles the state of the header and\n * handles expanded/collapsed event\n */\n toggleCollapse(): void {\n this._pinned = false;\n this._handleCollapsedChange(!this._collapsed);\n }\n\n /**\n * @hidden\n * click action on pin button\n */\n togglePinned(): void {\n this._pinned = !this._pinned;\n this._dynamicPageService.pinned.next(this._pinned);\n }\n\n /** @hidden */\n private _handleCollapsedChange(collapsed: boolean): void {\n if (collapsed === this._collapsed) {\n return;\n }\n\n this._collapsed = collapsed;\n this._dynamicPageService.collapsed.next(collapsed);\n this.collapsedChange.emit(this._collapsed);\n this._cd.detectChanges();\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"id\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n /** @hidden */\n addClassToToolbar(_class: string, elementRef: ElementRef): void {\n // adds global actions classes to its toolbar\n const toolbarEl = elementRef.nativeElement.querySelector('.fd-toolbar');\n if (toolbarEl) {\n toolbarEl.classList.add(_class);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'fd-dynamic-page-layout-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-dynamic-page-global-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n if (this._toolbarComponent) {\n this._handleOverflow(size === 'small');\n }\n }\n\n /** @hidden */\n private _handleOverflow(shouldBeHidden: boolean): void {\n this._toolbarComponent.forceOverflow = shouldBeHidden;\n this._toolbarComponent.shouldOverflow = shouldBeHidden;\n this._toolbarComponent.detectChanges();\n setTimeout(() => {\n this._toolbarComponent.updateCollapsibleItems();\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { DynamicPageResponsiveSize } from '../../constants';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n <ng-container *ngIf=\"_size === 'small'\">\n <fd-toolbar\n fdType=\"transparent\"\n (click)=\"$event.stopPropagation()\"\n class=\"dynamicPageLayoutContentToolbar\"\n [clearBorder]=\"true\"\n [forceOverflow]=\"true\"\n [shouldOverflow]=\"true\"\n >\n <div fd-toolbar-item>\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n </fd-toolbar>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-content\" *ngIf=\"_size !== 'small'\">\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n\n <ng-template #templateContentRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()]\n})\nexport class DynamicPageTitleContentComponent {\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef, readonly _contentDensityObserver: ContentDensityObserver) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\n\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { addClassNameToElement } from '../../utils';\nimport { DynamicPageLayoutActionsComponent } from '../actions/dynamic-page-layout-actions.component';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\n\nexport const ActionSquashBreakpointPx = 1280;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrls: ['./dynamic-page-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabindex]': '0'\n },\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageHeaderComponent\n }\n ]\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy, DynamicPageHeader {\n /** @hidden */\n _collapsed = false;\n\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /** @hidden */\n @ContentChild(BreadcrumbComponent)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageLayoutActionsComponent)\n _layoutActions: DynamicPageLayoutActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n private _ngZone: NgZone,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n this._listenToPageChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\n\n this._dynamicPageService.collapsed.pipe(takeUntil(this._onDestroy$)).subscribe((collapsed) => {\n this._collapsed = collapsed;\n this._changeDetRef.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n set size(sizeType: DynamicPageResponsiveSize) {\n this._setSize(sizeType);\n this._size = sizeType;\n }\n\n /** @hidden */\n stopPropagation(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n setTimeout(() => {\n this._breadcrumbComponent?.onResize();\n this._globalActions?._setSize(sizeType);\n this._contentToolbar?._setSize(sizeType);\n this._changeDetRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToElement(this._renderer, element, className);\n }\n\n /** @hidden */\n private _addCustomClassToBreadcrumb(): void {\n if (this._breadcrumbComponent) {\n this._addClassNameToCustomElement(\n this._breadcrumbComponent.elementRef.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageBreadcrumb\n );\n }\n }\n\n /** @hidden */\n private _listenToPageChanges(): void {\n this._dynamicPageService.pixelsSizeChanged.pipe(takeUntil(this._onDestroy$)).subscribe((pixels) => {\n const actionsSquashed: boolean = pixels < ActionSquashBreakpointPx;\n if (actionsSquashed !== this._actionsSquashed) {\n this._actionsSquashed = actionsSquashed;\n this._changeDetRef.detectChanges();\n }\n });\n }\n}\n","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span\n class=\"fd-dynamic-page__title\"\n [class.fd-dynamic-page__title--wrap]=\"titleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"!_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n>\n {{ subtitle }}\n</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-dynamic-page-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]'\n})\nexport class DynamicPageWrapperDirective {\n /** @hidden */\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/core/utils';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\nimport { TabListComponent } from '@fundamental-ngx/core/tabs';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';\n\nimport { asyncScheduler, fromEvent, Observable, startWith, Subject } from 'rxjs';\nimport { debounceTime, map, observeOn, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'fd-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})\nexport class DynamicPageComponent implements AfterViewInit, OnDestroy {\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 /**\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 /** 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 * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(size: DynamicPageResponsiveSize) {\n this._size = size;\n this._propagateSizeToChildren();\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /** @hidden */\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** Offset in PX\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /** @hidden reference to header component */\n @ContentChild(DynamicPageSubheaderComponent)\n _pageSubheaderComponent: DynamicPageSubheaderComponent;\n\n /** @hidden reference to title component */\n @ContentChild(DynamicPageHeaderComponent)\n _headerComponent: DynamicPageHeaderComponent;\n\n /** @hidden reference to content component */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n _contentComponent: QueryList<DynamicPageContentComponent>;\n\n /** @hidden reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n _footerComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(TabListComponent)\n _tabComponent: TabListComponent;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() private _columnLayout: FlexibleColumnLayoutComponent,\n @Optional() private _dynamicPageWrapper: DynamicPageWrapperDirective\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._sizeChangeHandle();\n this._removeShadowWhenTabComponent();\n this._listenOnResize();\n this._listenOnCollapse();\n this._propagatePropertiesToChildren();\n this._setContentFooterSpacer();\n\n if (this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n if (this._columnLayout && this.autoResponsive) {\n this._listenToLayoutChange();\n }\n\n setTimeout(() => this._setContainerPositions());\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** toggle the visibility of the header on click of title area. */\n toggleCollapse(): void {\n if (this._headerCollapsible) {\n this._dynamicPageService.toggleCollapsed();\n }\n }\n\n /**\n * Triggers recheck for spacing and sizing of elements inside DynamicPage.\n */\n refreshSize(): void {\n this._setContainerPositions();\n this._sizeChangeHandle();\n }\n\n /** Set the positions of the tabs and content with respect to the window */\n private _setContainerPositions(): void {\n this._setDynamicPageHeight();\n }\n\n /** @hidden */\n private _propagatePropertiesToChildren(): void {\n this._headerCollapsible = this._pageSubheaderComponent?.collapsible;\n this._propagateSizeToChildren();\n }\n\n /** @hidden\n * Functionality handling column layout changes,\n * - recalculate height of content element\n * - recheck size depending on width of DynamicPage\n */\n private _listenToLayoutChange(): void {\n this._columnLayout.layoutChange.pipe(debounceTime(50), takeUntil(this._onDestroy$)).subscribe(() => {\n this.refreshSize();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _propagateSizeToChildren(): void {\n if (this._headerComponent) {\n this._headerComponent.size = this.size;\n }\n this._setContainerPositions();\n }\n\n /** @hidden */\n private _listenOnCollapse(): void {\n this._dynamicPageService.subheaderVisibilityChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string | null {\n if (!element) {\n return null;\n }\n const distanceFromTop = element.getBoundingClientRect().top;\n return 'calc(100vh - ' + (distanceFromTop + this.offset) + 'px)';\n }\n\n /** @hidden */\n private _sizeChangeHandle(): void {\n if (!this._elementRef || !this.autoResponsive) {\n return;\n }\n const dynamicPageWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n this._dynamicPageService.pixelsSizeChanged.next(dynamicPageWidth);\n const size = dynamicPageWidthToSize(dynamicPageWidth);\n\n if (size !== this.size) {\n this.size = size;\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _addScrollListeners(): void {\n const tabElement = this._tabComponent?.contentContainer?.nativeElement;\n if (tabElement) {\n this._listenOnScroll(tabElement);\n return;\n }\n\n const contentElement = this._contentComponent.first?.elementRef?.nativeElement;\n if (contentElement) {\n this._listenOnScroll(contentElement);\n }\n }\n\n /** @hidden */\n private _listenOnScroll(element: HTMLElement): void {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned.value &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.next(collapse);\n });\n }\n\n /** @hidden Listen for window resize and adjust tab and content positions accordingly */\n private _listenOnResize(): void {\n const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();\n\n listener.pipe(debounceTime(100), takeUntil(this._onDestroy$)).subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _listenToWrapperResize(): Observable<ResizeObserverEntry[]> {\n return resizeObservable(this._dynamicPageWrapper.elementRef.nativeElement);\n }\n\n /** @hidden */\n private _listenToWindowResize(): Observable<ResizeObserverEntry[]> {\n return fromEvent(window, 'resize').pipe(map(() => []));\n }\n\n /** @hidden\n * set top position of DynamicPage on scrolling\n */\n private _setDynamicPageHeight(): void {\n if (!this._dynamicPageElement || !this.expandContent) {\n return;\n }\n const element = this._dynamicPageElement.nativeElement;\n this._renderer.setStyle(element, 'height', this._getCalculatedFullHeight(element));\n }\n\n /** @hidden */\n private _removeShadowWhenTabComponent(): void {\n if (!this._pageSubheaderComponent?.collapsible || !this._tabComponent) {\n return;\n }\n\n const pinCollapseShadowElement = this._pageSubheaderComponent?.pinCollapseContainer;\n\n if (pinCollapseShadowElement) {\n addClassNameToElement(\n this._renderer,\n pinCollapseShadowElement.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageCollapsibleHeaderPinCollapseNoShadow\n );\n }\n }\n\n /** @hidden */\n private _setContentFooterSpacer(): void {\n this._contentComponent.changes\n .pipe(startWith(this._contentComponent.toArray()), observeOn(asyncScheduler), takeUntil(this._onDestroy$))\n .subscribe((components) => {\n components.forEach((content, index) => {\n /** show spacer when:\n * a) footer + no tabs = only last\n * b) footer + tabs, not stacked = all\n * c) footer + tabs, stacked = only last\n */\n content._toggleSpacer(\n this._footerComponent && (!this._tabComponent?.stackContent || index === components.length - 1)\n );\n });\n });\n }\n}\n","<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-dynamic-page-title-content[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedDynamicPageCompactDirective)\n }\n ]\n})\nexport class DeprecatedDynamicPageCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-dynamic-page-title-content');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/dynamic-page-layout-actions.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { IgnoreClickOnSelectionModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedDynamicPageCompactDirective } from './deprecated-dynamic-page-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ],\n imports: [\n CommonModule,\n ButtonModule,\n ToolbarModule,\n PopoverModule,\n IgnoreClickOnSelectionModule,\n ContentDensityModule\n ],\n exports: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.DynamicPageConfig","i2.DynamicPageService","i3","i1.DynamicPageService","i2","i3.DynamicPageWrapperDirective"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-dynamic-page.mjs","sources":["../../../../libs/core/src/lib/dynamic-page/constants.ts","../../../../libs/core/src/lib/dynamic-page/utils.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-content/dynamic-page-content.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page.config.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.service.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-base-actions.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-layout-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-global-actions.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/actions/dynamic-page-title-content.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.html","../../../../libs/core/src/lib/dynamic-page/dynamic-page-footer/dynamic-page-footer.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page-wrapper.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.component.html","../../../../libs/core/src/lib/dynamic-page/deprecated-dynamic-page-compact.directive.ts","../../../../libs/core/src/lib/dynamic-page/dynamic-page.module.ts","../../../../libs/core/src/lib/dynamic-page/fundamental-ngx-core-dynamic-page.ts"],"sourcesContent":["export const DYNAMIC_PAGE_CLASS_NAME = {\n dynamicPage: 'fd-dynamic-page',\n dynamicPageTitleArea: 'fd-dynamic-page__title-area',\n dynamicPageMainContainer: 'fd-dynamic-page__main-container',\n dynamicPageBreadcrumbTitleContainer: 'fd-dynamic-page__breadcrumb-title-container',\n dynamicPageTitleAreaCollapsed: 'fd-dynamic-page__title-area--collapsed',\n dynamicPageTitleContainer: 'fd-dynamic-page__title-container',\n dynamicPageTitle: 'fd-dynamic-page__title',\n dynamicPageBreadcrumb: 'fd-dynamic-page__breadcrumb',\n dynamicPageKeyInfo: 'fd-dynamic-page__title-content',\n dynamicPageToolbar: 'fd-dynamic-page__toolbar',\n dynamicPageLayoutActionsToolbar: 'fd-dynamic-page__toolbar--actions',\n dynamicPageLayoutContentToolbar: 'fd-dynamic-page__toolbar--content',\n dynamicPageHeader: 'fd-dynamic-page__header',\n dynamicPageCollapsibleHeader: 'fd-dynamic-page__collapsible-header',\n dynamicPageCollapsibleHeaderPinCollapseNoShadow:\n 'fd-dynamic-page__collapsible-header-visibility-container--no-shadow',\n dynamicPageTabs: 'fd-dynamic-page__tabs',\n dynamicPageTabsAddShadow: 'fd-dynamic-page__tabs--add-shadow',\n dynamicPageContent: 'fd-dynamic-page__content',\n dynamicPageSummarizedTitleArea: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaExtraLarge: 'fd-dynamic-page__summarized-title-area',\n dynamicPageSummarizedTitleAreaNoShadow: 'fd-dynamic-page__summarized-title-area--no-shadow',\n dynamicPageSummarizedTitle: 'fd-dynamic-page__summarized-title',\n dynamicPageSummarizedTitleCollapsed: 'fd-dynamic-page__summarized-title-area--collapsed'\n} as const;\n\nexport type DynamicPageBackgroundType = 'solid' | 'list' | 'transparent';\n\nexport type DynamicPageResponsiveSize = 'small' | 'medium' | 'large' | 'extra-large';\n","import { Renderer2 } from '@angular/core';\nimport { DynamicPageResponsiveSize } from './constants';\n\nexport const addClassNameToElement = (renderer: Renderer2, element: Element, className: string): void => {\n renderer.addClass(element, className);\n};\n\n/** @hidden Returns dynamic page size based on width\n * @param width - dynamic page window width\n **/\nexport function dynamicPageWidthToSize(width: number): DynamicPageResponsiveSize {\n if (width < 599) {\n return 'small';\n } else if (width < 1023) {\n return 'medium';\n } else if (width < 1439) {\n return 'large';\n }\n return 'extra-large';\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../constants';\nimport { addClassNameToElement } from '../utils';\n\n@Component({\n selector: 'fd-dynamic-page-content',\n templateUrl: './dynamic-page-content.component.html',\n styleUrls: ['./dynamic-page-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageContentComponent implements OnInit {\n /**\n * label for the tab. If label is provided, tab navigation will be internally set up.\n */\n @Input()\n tabLabel: string;\n\n /**\n * a unique identifier for this content\n */\n @Input()\n id: string;\n\n /** @hidden */\n _showSpacer = false;\n\n /** @hidden */\n constructor(\n public _renderer: Renderer2,\n private _elementRef: ElementRef<HTMLElement>,\n private _cdr: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageContent);\n }\n\n /** Element reference to host of content dynamic page */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n _toggleSpacer(state: boolean): void {\n this._showSpacer = state;\n\n this._cdr.markForCheck();\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n}\n","<ng-content></ng-content>\n\n<div *ngIf=\"_showSpacer\" class=\"footer-spacer\"></div>\n","import { Injectable } from '@angular/core';\n\n/**\n * Default options for core dynamic-page\n */\n@Injectable({ providedIn: 'root' })\nexport class DynamicPageConfig {\n /**\n * aria label for expand/collapse button when the Dynamic Page is collapsed\n */\n expandLabel = 'Expand Header';\n\n /**\n * aria label for expand/collapse button when the Dynamic Page is expanded\n */\n collapseLabel = 'Collapse Header';\n\n /**\n * aria label for pin button when the Dynamic Page should be pinned\n */\n pinLabel = 'Pin Header';\n\n /**\n * aria label for pin button when the Panel should be unpinned\n */\n unpinLabel = 'Unpin Header';\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Subject } from 'rxjs';\n\n@Injectable()\nexport class DynamicPageService {\n /** @hidden */\n collapsed = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pinned = new BehaviorSubject<boolean>(false);\n\n /** @hidden */\n pixelsSizeChanged = new BehaviorSubject<number>(0);\n\n /** @hidden */\n subheaderVisibilityChange = new Subject<void>();\n\n /** @hidden */\n focusLayoutAction = new Subject<void>();\n\n /** @hidden */\n toggleCollapsed(): void {\n this.collapsed.next(!this.collapsed.value);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectorRef\n} from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { Nullable } from '@fundamental-ngx/core/shared';\n\nimport { DynamicPageConfig } from '../../dynamic-page.config';\nimport { DynamicPageService } from '../../dynamic-page.service';\n\nlet dynamicPageSubHeaderId = 0;\n@Component({\n selector: 'fd-dynamic-page-subheader',\n templateUrl: './dynamic-page-subheader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageSubheaderComponent {\n /**\n * whether the header can be collapsed. True by default. If set to false, both pin/collapse buttons disappear\n * and the header stays visible\n */\n @Input()\n collapsible = true;\n\n /**\n * whether the header should be allowed to be pinned or unpinned. When set, the pin button shows up.\n * Pinning the header will make the header stay visible and the collapse button(if present) will disappear until unpinned.\n */\n @Input()\n pinnable = false;\n\n /**\n * the initial state of the header. Set to true if header should be collapsed.\n */\n @Input()\n set collapsed(collapsed: boolean) {\n this._handleCollapsedChange(collapsed);\n }\n\n get collapsed(): boolean {\n return this._collapsed;\n }\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 @HostBinding('attr.role')\n role = 'region';\n\n /**\n * id for header\n */\n @Input()\n @HostBinding('attr.id')\n id = `fd-dynamic-page-header-id-${dynamicPageSubHeaderId++}`;\n\n /**\n * id for collapsible header\n */\n collapsibleHeaderId = `${this.id}-collapsible`;\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 /** Collapse/Expand change event raised */\n @Output()\n collapsedChange = new EventEmitter<boolean>();\n\n /** Reference to page header content */\n @ViewChild('pincollapseContainer')\n pinCollapseContainer: ElementRef<HTMLElement>;\n\n /**\n * tracking if pin button is pinned\n */\n _pinned = false;\n\n /**\n * @hidden\n * tracking expand/collapse button\n */\n private _collapsed = false;\n\n /** @hidden */\n constructor(\n private _cd: ChangeDetectorRef,\n protected _dynamicPageConfig: DynamicPageConfig,\n private _dynamicPageService: DynamicPageService\n ) {\n this._dynamicPageService.collapsed\n .pipe(distinctUntilChanged())\n .subscribe((collapsed) => this._handleCollapsedChange(collapsed));\n }\n\n /**\n * toggles the state of the header and\n * handles expanded/collapsed event\n */\n toggleCollapse(): void {\n this._pinned = false;\n this._handleCollapsedChange(!this._collapsed);\n }\n\n /**\n * @hidden\n * click action on pin button\n */\n togglePinned(): void {\n this._pinned = !this._pinned;\n this._dynamicPageService.pinned.next(this._pinned);\n }\n\n /** @hidden */\n private _handleCollapsedChange(collapsed: boolean): void {\n if (collapsed === this._collapsed) {\n return;\n }\n\n this._collapsed = collapsed;\n this._dynamicPageService.collapsed.next(collapsed);\n this.collapsedChange.emit(this._collapsed);\n this._cd.detectChanges();\n this._dynamicPageService.subheaderVisibilityChange.next();\n }\n}\n","<div class=\"fd-dynamic-page__collapsible-header-container\">\n <div\n class=\"fd-dynamic-page__collapsible-header\"\n [attr.aria-label]=\"headerAriaLabel\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.id]=\"collapsibleHeaderId\"\n role=\"region\"\n #headerContent\n >\n <ng-content></ng-content>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container\" #pincollapseContainer>\n <ng-container *ngIf=\"collapsible\">\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--left-gradient\"></div>\n <div role=\"toolbar\" class=\"fd-dynamic-page__collapsible-header-visibility-container--button-group\">\n <button\n fd-button\n class=\"fd-dynamic-page__collapse-button\"\n aria-haspopup=\"true\"\n [ariaLabel]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.title]=\"collapsed ? expandLabel : collapseLabel\"\n [attr.aria-expanded]=\"!collapsed\"\n [attr.aria-controls]=\"id\"\n (click)=\"toggleCollapse()\"\n >\n <i *ngIf=\"!collapsed\" class=\"sap-icon--slim-arrow-up\"></i>\n <i *ngIf=\"collapsed\" class=\"sap-icon--slim-arrow-down\"></i>\n </button>\n <button\n fd-button\n class=\"fd-dynamic-page__pin-button\"\n [ariaLabel]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.title]=\"_pinned ? unpinAriaLabel : pinAriaLabel\"\n [attr.aria-selected]=\"_pinned\"\n (click)=\"togglePinned()\"\n *ngIf=\"pinnable && !collapsed\"\n >\n <i class=\"sap-icon--pushpin-off\"></i>\n </button>\n </div>\n <div class=\"fd-dynamic-page__collapsible-header-visibility-container--right-gradient\"></div>\n </ng-container>\n </div>\n</div>\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive()\nexport class DynamicPageBaseActions {\n /** @hidden */\n addClassToToolbar(_class: string, elementRef: ElementRef): void {\n // adds global actions classes to its toolbar\n const toolbarEl = elementRef.nativeElement.querySelector('.fd-toolbar');\n if (toolbarEl) {\n toolbarEl.classList.add(_class);\n }\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'fd-dynamic-page-layout-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageLayoutActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n get elementRef(): ElementRef {\n return this._elementRef;\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageLayoutActionsToolbar, this._elementRef);\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n AfterContentInit,\n ElementRef,\n Renderer2,\n ChangeDetectorRef,\n ContentChild\n} from '@angular/core';\nimport { DynamicPageBaseActions } from './dynamic-page-base-actions';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { ToolbarComponent } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-dynamic-page-global-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n role: 'toolbar'\n }\n})\nexport class DynamicPageGlobalActionsComponent extends DynamicPageBaseActions implements AfterContentInit {\n /** @hidden */\n @ContentChild(ToolbarComponent)\n _toolbarComponent: ToolbarComponent;\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _changeDetRef: ChangeDetectorRef\n ) {\n super();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.addClassToToolbar(DYNAMIC_PAGE_CLASS_NAME.dynamicPageToolbar, this._elementRef);\n }\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n if (this._toolbarComponent) {\n this._handleOverflow(size === 'small');\n }\n }\n\n /** @hidden */\n private _handleOverflow(shouldBeHidden: boolean): void {\n this._toolbarComponent.forceOverflow = shouldBeHidden;\n this._toolbarComponent.shouldOverflow = shouldBeHidden;\n this._toolbarComponent.detectChanges();\n setTimeout(() => {\n this._toolbarComponent.updateCollapsibleItems();\n });\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { DynamicPageResponsiveSize } from '../../constants';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n selector: 'fd-dynamic-page-title-content',\n template: `\n <ng-container *ngIf=\"_size === 'small'\">\n <fd-toolbar\n fdType=\"transparent\"\n (click)=\"$event.stopPropagation()\"\n class=\"dynamicPageLayoutContentToolbar\"\n [clearBorder]=\"true\"\n [forceOverflow]=\"true\"\n [shouldOverflow]=\"true\"\n >\n <div fd-toolbar-item>\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n </fd-toolbar>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-content\" *ngIf=\"_size !== 'small'\">\n <ng-container *ngTemplateOutlet=\"templateContentRef\"></ng-container>\n </div>\n\n <ng-template #templateContentRef>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [contentDensityObserverProviders()]\n})\nexport class DynamicPageTitleContentComponent {\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden */\n constructor(private _changeDetRef: ChangeDetectorRef, readonly _contentDensityObserver: ContentDensityObserver) {}\n\n /** @hidden */\n _setSize(size: DynamicPageResponsiveSize): void {\n this._size = size;\n this._changeDetRef.detectChanges();\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_PAGE_HEADER_TOKEN, DynamicPageHeader } from '@fundamental-ngx/core/shared';\nimport { BreadcrumbComponent } from '@fundamental-ngx/core/breadcrumb';\n\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageResponsiveSize } from '../../constants';\nimport { DynamicPageService } from '../../dynamic-page.service';\nimport { addClassNameToElement } from '../../utils';\nimport { DynamicPageLayoutActionsComponent } from '../actions/dynamic-page-layout-actions.component';\nimport { DynamicPageGlobalActionsComponent } from '../actions/dynamic-page-global-actions.component';\nimport { DynamicPageTitleContentComponent } from '../actions/dynamic-page-title-content.component';\n\nexport const ActionSquashBreakpointPx = 1280;\n\n@Component({\n selector: 'fd-dynamic-page-header',\n templateUrl: './dynamic-page-header.component.html',\n styleUrls: ['./dynamic-page-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.tabindex]': '0'\n },\n providers: [\n {\n provide: DYNAMIC_PAGE_HEADER_TOKEN,\n useExisting: DynamicPageHeaderComponent\n }\n ]\n})\nexport class DynamicPageHeaderComponent implements OnInit, AfterViewInit, OnDestroy, DynamicPageHeader {\n /** @hidden */\n _collapsed = false;\n\n /** Title property for dynamic page */\n @Input()\n title: string;\n\n /** Whether title should wrap instead of truncation. */\n @Input()\n titleWrap = false;\n\n /** Subtitle property for dynamic page */\n @Input()\n subtitle: string;\n\n /** Whether subtitle should wrap instead of truncation. */\n @Input()\n subtitleWrap = false;\n\n /** @hidden */\n @ContentChild(BreadcrumbComponent)\n _breadcrumbComponent: BreadcrumbComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageGlobalActionsComponent)\n _globalActions: DynamicPageGlobalActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageLayoutActionsComponent)\n _layoutActions: DynamicPageLayoutActionsComponent;\n\n /** @hidden */\n @ContentChild(DynamicPageTitleContentComponent)\n _contentToolbar: DynamicPageTitleContentComponent;\n\n /** @hidden */\n _actionsSquashed = false;\n\n /** @hidden */\n _size: DynamicPageResponsiveSize;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n private _ngZone: NgZone,\n private _changeDetRef: ChangeDetectorRef\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this._addClassNameToHostElement(DYNAMIC_PAGE_CLASS_NAME.dynamicPageTitleArea);\n this._listenToPageChanges();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._addCustomClassToBreadcrumb();\n\n this._dynamicPageService.collapsed.pipe(takeUntil(this._onDestroy$)).subscribe((collapsed) => {\n this._collapsed = collapsed;\n this._changeDetRef.markForCheck();\n });\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /**\n * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n set size(sizeType: DynamicPageResponsiveSize) {\n this._setSize(sizeType);\n this._size = sizeType;\n }\n\n /** @hidden */\n stopPropagation(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n /**\n * @hidden\n * sets the padding classes\n * @param sizeType\n */\n private _setSize(sizeType: DynamicPageResponsiveSize): void {\n setTimeout(() => {\n this._breadcrumbComponent?.onResize();\n this._globalActions?._setSize(sizeType);\n this._contentToolbar?._setSize(sizeType);\n this._changeDetRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _addClassNameToHostElement(className: string): void {\n addClassNameToElement(this._renderer, this._elementRef.nativeElement, className);\n }\n\n /** @hidden */\n private _addClassNameToCustomElement(element: Element, className: string): void {\n addClassNameToElement(this._renderer, element, className);\n }\n\n /** @hidden */\n private _addCustomClassToBreadcrumb(): void {\n if (this._breadcrumbComponent) {\n this._addClassNameToCustomElement(\n this._breadcrumbComponent.elementRef.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageBreadcrumb\n );\n }\n }\n\n /** @hidden */\n private _listenToPageChanges(): void {\n this._dynamicPageService.pixelsSizeChanged.pipe(takeUntil(this._onDestroy$)).subscribe((pixels) => {\n const actionsSquashed: boolean = pixels < ActionSquashBreakpointPx;\n if (actionsSquashed !== this._actionsSquashed) {\n this._actionsSquashed = actionsSquashed;\n this._changeDetRef.detectChanges();\n }\n });\n }\n}\n","<div class=\"fd-dynamic-page__main-container\">\n <div class=\"fd-dynamic-page__breadcrumb-title-container\">\n <div class=\"fd-dynamic-page__breadcrumb-container\">\n <nav aria-label=\"Breadcrumbs\" class=\"fd-dynamic-page__breadcrumb-wrapper\" (click)=\"stopPropagation($event)\">\n <ng-content select=\"fd-breadcrumb\"></ng-content>\n </nav>\n <ng-container *ngIf=\"_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n <div class=\"fd-dynamic-page__title-container\">\n <ng-container *ngIf=\"_collapsed\">\n <ng-content select=\"fd-facet\"></ng-content>\n </ng-container>\n\n <div class=\"fd-dynamic-page__title-subtitle-container\">\n <div class=\"fd-dynamic-page__title-container\">\n <span\n class=\"fd-dynamic-page__title\"\n [class.fd-dynamic-page__title--wrap]=\"titleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ title }}\n </span>\n <ng-content select=\"fd-dynamic-page-title-content\"></ng-content>\n <div class=\"fd-dynamic-page__toolbar-container\" (click)=\"stopPropagation($event)\">\n <ng-container *ngTemplateOutlet=\"dynamicPageGlobalActionsRef\"></ng-container>\n <ng-container *ngIf=\"!_actionsSquashed\">\n <ng-container *ngTemplateOutlet=\"dynamicPageLayoutActionsRef\"></ng-container>\n </ng-container>\n </div>\n </div>\n <div\n *ngIf=\"_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n >\n {{ subtitle }}\n </div>\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"!_collapsed && subtitle\"\n class=\"fd-dynamic-page__subtitle\"\n [class.fd-dynamic-page__subtitle--wrap]=\"subtitleWrap\"\n fdIgnoreClickOnSelection\n>\n {{ subtitle }}\n</div>\n\n<ng-template #dynamicPageGlobalActionsRef>\n <ng-content select=\"fd-dynamic-page-global-actions\"></ng-content>\n</ng-template>\n<ng-template #dynamicPageLayoutActionsRef>\n <ng-content select=\"fd-dynamic-page-layout-actions\"></ng-content>\n</ng-template>\n","import { Component, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-dynamic-page-footer',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class DynamicPageFooterComponent {}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[fdDynamicPageWrapper], [fd-dynamic-page-wrapper]'\n})\nexport class DynamicPageWrapperDirective {\n /** @hidden */\n constructor(public elementRef: ElementRef<HTMLElement>) {}\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n HostBinding,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { resizeObservable } from '@fundamental-ngx/core/utils';\nimport { DYNAMIC_PAGE_CLASS_NAME, DynamicPageBackgroundType, DynamicPageResponsiveSize } from './constants';\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { DynamicPageService } from './dynamic-page.service';\nimport { addClassNameToElement, dynamicPageWidthToSize } from './utils';\nimport { TabListComponent } from '@fundamental-ngx/core/tabs';\nimport { Nullable } from '@fundamental-ngx/core/shared';\nimport { FlexibleColumnLayoutComponent } from '@fundamental-ngx/core/flexible-column-layout';\n\nimport { asyncScheduler, fromEvent, Observable, startWith, Subject } from 'rxjs';\nimport { debounceTime, map, observeOn, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'fd-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})\nexport class DynamicPageComponent implements AfterViewInit, OnDestroy {\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 /**\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 /** 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 * sets size which in turn adds corresponding padding for the size type.\n * size can be `small`, `medium`, `large`, or `extra-large`.\n */\n @Input()\n set size(size: DynamicPageResponsiveSize) {\n this._size = size;\n this._propagateSizeToChildren();\n }\n\n get size(): DynamicPageResponsiveSize {\n return this._size;\n }\n\n /** @hidden */\n _size: DynamicPageResponsiveSize = 'extra-large';\n\n /** Offset in PX\n * Should be added, when there is something else at the bottom and dynamic page is not expanded to bottom's corners\n */\n @Input()\n offset = 0;\n\n /**\n * Whether dynamic page should be expanded in whole page.\n */\n @Input()\n expandContent = true;\n\n /** @hidden reference to header component */\n @ContentChild(DynamicPageSubheaderComponent)\n _pageSubheaderComponent: DynamicPageSubheaderComponent;\n\n /** @hidden reference to title component */\n @ContentChild(DynamicPageHeaderComponent)\n _headerComponent: DynamicPageHeaderComponent;\n\n /** @hidden reference to content component */\n @ContentChildren(DynamicPageContentComponent, { descendants: true })\n _contentComponent: QueryList<DynamicPageContentComponent>;\n\n /** @hidden reference to footer component */\n @ContentChild(DynamicPageFooterComponent)\n _footerComponent: DynamicPageContentComponent;\n\n /** @hidden reference to tab component */\n @ContentChild(TabListComponent)\n _tabComponent: TabListComponent;\n\n /** @hidden */\n @ViewChild('dynamicPageElement')\n _dynamicPageElement: ElementRef;\n\n /** @hidden */\n _headerCollapsible = true;\n\n /** @hidden **/\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n protected _cd: ChangeDetectorRef,\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _dynamicPageService: DynamicPageService,\n @Optional() private _columnLayout: FlexibleColumnLayoutComponent,\n @Optional() private _dynamicPageWrapper: DynamicPageWrapperDirective\n ) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._sizeChangeHandle();\n this._removeShadowWhenTabComponent();\n this._listenOnResize();\n this._listenOnCollapse();\n this._propagatePropertiesToChildren();\n this._setContentFooterSpacer();\n\n if (this._pageSubheaderComponent?.collapsible) {\n this._addScrollListeners();\n }\n\n if (this._columnLayout && this.autoResponsive) {\n this._listenToLayoutChange();\n }\n\n setTimeout(() => this._setContainerPositions());\n\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** toggle the visibility of the header on click of title area. */\n toggleCollapse(): void {\n if (this._headerCollapsible) {\n this._dynamicPageService.toggleCollapsed();\n }\n }\n\n /**\n * Triggers recheck for spacing and sizing of elements inside DynamicPage.\n */\n refreshSize(): void {\n this._setContainerPositions();\n this._sizeChangeHandle();\n }\n\n /** Set the positions of the tabs and content with respect to the window */\n private _setContainerPositions(): void {\n this._setDynamicPageHeight();\n }\n\n /** @hidden */\n private _propagatePropertiesToChildren(): void {\n this._headerCollapsible = this._pageSubheaderComponent?.collapsible;\n this._propagateSizeToChildren();\n }\n\n /** @hidden\n * Functionality handling column layout changes,\n * - recalculate height of content element\n * - recheck size depending on width of DynamicPage\n */\n private _listenToLayoutChange(): void {\n this._columnLayout.layoutChange.pipe(debounceTime(50), takeUntil(this._onDestroy$)).subscribe(() => {\n this.refreshSize();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _propagateSizeToChildren(): void {\n if (this._headerComponent) {\n this._headerComponent.size = this.size;\n }\n this._setContainerPositions();\n }\n\n /** @hidden */\n private _listenOnCollapse(): void {\n this._dynamicPageService.subheaderVisibilityChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._setContainerPositions());\n }\n\n /** @hidden */\n private _getCalculatedFullHeight(element: HTMLElement): string | null {\n if (!element) {\n return null;\n }\n const distanceFromTop = element.getBoundingClientRect().top;\n return 'calc(100vh - ' + (distanceFromTop + this.offset) + 'px)';\n }\n\n /** @hidden */\n private _sizeChangeHandle(): void {\n if (!this._elementRef || !this.autoResponsive) {\n return;\n }\n const dynamicPageWidth = this._elementRef.nativeElement.getBoundingClientRect().width;\n this._dynamicPageService.pixelsSizeChanged.next(dynamicPageWidth);\n const size = dynamicPageWidthToSize(dynamicPageWidth);\n\n if (size !== this.size) {\n this.size = size;\n this._cd.detectChanges();\n }\n }\n\n /** @hidden */\n private _addScrollListeners(): void {\n const tabElement = this._tabComponent?.contentContainer?.nativeElement;\n if (tabElement) {\n this._listenOnScroll(tabElement);\n return;\n }\n\n const contentElement = this._contentComponent.first?.elementRef?.nativeElement;\n if (contentElement) {\n this._listenOnScroll(contentElement);\n }\n }\n\n /** @hidden */\n private _listenOnScroll(element: HTMLElement): void {\n fromEvent(element, 'scroll')\n .pipe(debounceTime(10), takeUntil(this._onDestroy$))\n .subscribe(() => {\n const collapse =\n !this._dynamicPageService.pinned.value &&\n (element.scrollTop > 0 || element.scrollHeight <= element.clientHeight);\n this._dynamicPageService.collapsed.next(collapse);\n });\n }\n\n /** @hidden Listen for window resize and adjust tab and content positions accordingly */\n private _listenOnResize(): void {\n const listener = this._dynamicPageWrapper ? this._listenToWrapperResize() : this._listenToWindowResize();\n\n listener.pipe(debounceTime(100), takeUntil(this._onDestroy$)).subscribe(() => {\n this._setContainerPositions();\n this._sizeChangeHandle();\n });\n }\n\n /** @hidden */\n private _listenToWrapperResize(): Observable<ResizeObserverEntry[]> {\n return resizeObservable(this._dynamicPageWrapper.elementRef.nativeElement);\n }\n\n /** @hidden */\n private _listenToWindowResize(): Observable<ResizeObserverEntry[]> {\n return fromEvent(window, 'resize').pipe(map(() => []));\n }\n\n /** @hidden\n * set top position of DynamicPage on scrolling\n */\n private _setDynamicPageHeight(): void {\n if (!this._dynamicPageElement || !this.expandContent) {\n return;\n }\n const element = this._dynamicPageElement.nativeElement;\n this._renderer.setStyle(element, 'height', this._getCalculatedFullHeight(element));\n }\n\n /** @hidden */\n private _removeShadowWhenTabComponent(): void {\n if (!this._pageSubheaderComponent?.collapsible || !this._tabComponent) {\n return;\n }\n\n const pinCollapseShadowElement = this._pageSubheaderComponent?.pinCollapseContainer;\n\n if (pinCollapseShadowElement) {\n addClassNameToElement(\n this._renderer,\n pinCollapseShadowElement.nativeElement,\n DYNAMIC_PAGE_CLASS_NAME.dynamicPageCollapsibleHeaderPinCollapseNoShadow\n );\n }\n }\n\n /** @hidden */\n private _setContentFooterSpacer(): void {\n this._contentComponent.changes\n .pipe(startWith(this._contentComponent.toArray()), observeOn(asyncScheduler), takeUntil(this._onDestroy$))\n .subscribe((components) => {\n components.forEach((content, index) => {\n /** show spacer when:\n * a) footer + no tabs = only last\n * b) footer + tabs, not stacked = all\n * c) footer + tabs, stacked = only last\n */\n content._toggleSpacer(\n this._footerComponent && (!this._tabComponent?.stackContent || index === components.length - 1)\n );\n });\n });\n }\n}\n","<section\n #dynamicPageElement\n class=\"fd-dynamic-page\"\n [class.fd-dynamic-page--sm]=\"size === 'small'\"\n [class.fd-dynamic-page--md]=\"size === 'medium'\"\n [class.fd-dynamic-page--lg]=\"size === 'large'\"\n [class.fd-dynamic-page--xl]=\"size === 'extra-large'\"\n [class.fd-dynamic-page--transparent-bg]=\"background === 'transparent'\"\n [class.fd-dynamic-page--list-bg]=\"background === 'list'\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <header class=\"fd-dynamic-page__header\" [class.fd-dynamic-page__header--not-collapsible]=\"!_headerCollapsible\">\n <div>\n <div (click)=\"toggleCollapse()\" (keydown.enter)=\"toggleCollapse()\">\n <ng-content select=\"fd-dynamic-page-header\"></ng-content>\n </div>\n <ng-content select=\"fd-dynamic-page-subheader\"></ng-content>\n </div>\n </header>\n\n <ng-content select=\"fd-tab-list\"></ng-content>\n\n <ng-content select=\"fd-dynamic-page-content\"></ng-content>\n\n <footer>\n <ng-content select=\"fd-dynamic-page-footer\"></ng-content>\n </footer>\n</section>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-dynamic-page-title-content[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedDynamicPageCompactDirective)\n }\n ]\n})\nexport class DeprecatedDynamicPageCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-dynamic-page-title-content');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DynamicPageContentComponent } from './dynamic-page-content/dynamic-page-content.component';\nimport { DynamicPageFooterComponent } from './dynamic-page-footer/dynamic-page-footer.component';\nimport { DynamicPageGlobalActionsComponent } from './dynamic-page-header/actions/dynamic-page-global-actions.component';\nimport { DynamicPageLayoutActionsComponent } from './dynamic-page-header/actions/dynamic-page-layout-actions.component';\nimport { DynamicPageSubheaderComponent } from './dynamic-page-header/subheader/dynamic-page-subheader.component';\nimport { DynamicPageHeaderComponent } from './dynamic-page-header/header/dynamic-page-header.component';\nimport { DynamicPageComponent } from './dynamic-page.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { DynamicPageTitleContentComponent } from './dynamic-page-header/actions/dynamic-page-title-content.component';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { DynamicPageWrapperDirective } from './dynamic-page-wrapper.directive';\nimport { IgnoreClickOnSelectionModule } from '@fundamental-ngx/core/utils';\nimport { DeprecatedDynamicPageCompactDirective } from './deprecated-dynamic-page-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ],\n imports: [\n CommonModule,\n ButtonModule,\n ToolbarModule,\n PopoverModule,\n IgnoreClickOnSelectionModule,\n ContentDensityModule\n ],\n exports: [\n DynamicPageComponent,\n DynamicPageHeaderComponent,\n DynamicPageGlobalActionsComponent,\n DynamicPageLayoutActionsComponent,\n DynamicPageSubheaderComponent,\n DynamicPageContentComponent,\n DynamicPageFooterComponent,\n DynamicPageTitleContentComponent,\n DynamicPageWrapperDirective,\n DeprecatedDynamicPageCompactDirective\n ]\n})\nexport class DynamicPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.DynamicPageConfig","i2.DynamicPageService","i3","i1.DynamicPageService","i2","i3.DynamicPageWrapperDirective"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/core",
3
- "version": "0.37.0-rc.18",
3
+ "version": "0.37.0-rc.19",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "ng-update": {
6
6
  "migrations": "./schematics/migrations.json"
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "focus-trap": "6.7.3",
32
- "@fundamental-ngx/i18n": "0.37.0-rc.18",
32
+ "@fundamental-ngx/i18n": "0.37.0-rc.19",
33
33
  "fast-deep-equal": "3.1.3",
34
34
  "lodash-es": "4.17.21",
35
35
  "tslib": "^2.0.0",