@kirbydesign/designsystem 11.2.1 → 11.2.2
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.
- package/fesm2022/kirbydesign-designsystem-accordion.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-avatar.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-button.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-calendar.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-card.mjs +16 -16
- package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
- package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-data-table.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-form-field.mjs +29 -31
- package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-header.mjs +19 -19
- package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
- package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-item.mjs +11 -11
- package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-list.mjs +40 -40
- package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-modal.mjs +42 -42
- package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-page.mjs +40 -40
- package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-radio.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-range.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-section-header.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-shared.mjs +18 -18
- package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +10 -10
- package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-tabs.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs +286 -286
- package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
- package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
- package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
- package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-toggle.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
- package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
- package/fesm2022/kirbydesign-designsystem.mjs +13 -13
- package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
- package/form-field/index.d.ts.map +1 -1
- package/package.json +19 -19
|
@@ -40,10 +40,10 @@ class LoadingOverlayService {
|
|
|
40
40
|
this.ionLoading = null;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
44
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
43
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: LoadingOverlayService, deps: [{ token: i1.LoadingController }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: LoadingOverlayService, providedIn: 'root' }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: LoadingOverlayService, decorators: [{
|
|
47
47
|
type: Injectable,
|
|
48
48
|
args: [{
|
|
49
49
|
providedIn: 'root',
|
|
@@ -56,10 +56,10 @@ class LoadingOverlayComponent {
|
|
|
56
56
|
this.showBackdrop = true;
|
|
57
57
|
this.hideContent = false;
|
|
58
58
|
}
|
|
59
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
60
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
59
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: LoadingOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: LoadingOverlayComponent, isStandalone: true, selector: "kirby-loading-overlay", inputs: { isLoading: "isLoading", showBackdrop: "showBackdrop", hideContent: "hideContent" }, ngImport: i0, template: "<div class=\"overlay-wrapper\">\n @if (isLoading) {\n <div\n [ngClass]=\"{\n backdrop: showBackdrop && !hideContent,\n 'hide-content': hideContent,\n }\"\n class=\"spinner-wrapper\"\n >\n <kirby-spinner class=\"spinner\"></kirby-spinner>\n </div>\n }\n <div class=\"content-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:block;min-height:32px}.overlay-wrapper{min-height:inherit;height:100%;width:100%;position:relative}.overlay-wrapper .spinner-wrapper{height:100%;width:100%;position:absolute;z-index:1001;display:flex;background:transparent;justify-content:center;place-items:center}.overlay-wrapper .spinner-wrapper.backdrop{background-color:#f6f6f6cc}.overlay-wrapper .spinner-wrapper.hide-content{background-color:#f6f6f6}.overlay-wrapper .spinner-wrapper .spinner{width:32px;height:32px}\n"], dependencies: [{ kind: "ngmodule", type: SpinnerModule }, { kind: "component", type: i1$1.SpinnerComponent, selector: "kirby-spinner" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
61
61
|
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: LoadingOverlayComponent, decorators: [{
|
|
63
63
|
type: Component,
|
|
64
64
|
args: [{ imports: [SpinnerModule, CommonModule], selector: 'kirby-loading-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"overlay-wrapper\">\n @if (isLoading) {\n <div\n [ngClass]=\"{\n backdrop: showBackdrop && !hideContent,\n 'hide-content': hideContent,\n }\"\n class=\"spinner-wrapper\"\n >\n <kirby-spinner class=\"spinner\"></kirby-spinner>\n </div>\n }\n <div class=\"content-wrapper\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{display:block;min-height:32px}.overlay-wrapper{min-height:inherit;height:100%;width:100%;position:relative}.overlay-wrapper .spinner-wrapper{height:100%;width:100%;position:absolute;z-index:1001;display:flex;background:transparent;justify-content:center;place-items:center}.overlay-wrapper .spinner-wrapper.backdrop{background-color:#f6f6f6cc}.overlay-wrapper .spinner-wrapper.hide-content{background-color:#f6f6f6}.overlay-wrapper .spinner-wrapper .spinner{width:32px;height:32px}\n"] }]
|
|
65
65
|
}], propDecorators: { isLoading: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-loading-overlay.mjs","sources":["../tmp-esm2022/loading-overlay/loading-overlay.service.js","../tmp-esm2022/loading-overlay/loading-overlay.component.js","../tmp-esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { SpinnerComponent } from '@kirbydesign/designsystem/spinner';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ionic/angular/standalone\";\nexport class LoadingOverlayService {\n constructor(loadingController, componentFactoryResolver, injector) {\n this.loadingController = loadingController;\n this.componentFactoryResolver = componentFactoryResolver;\n this.injector = injector;\n this.ionLoading = null;\n }\n async showLoadingOverlay(showBackdrop = true, hideContent = false) {\n if (!this.ionLoading) {\n const cssClasses = ['kirby-loading-overlay'];\n if (hideContent) {\n cssClasses.push('kirby-loading-hide-content');\n }\n this.ionLoading = await this.loadingController.create({\n cssClass: cssClasses,\n duration: 0,\n message: null,\n showBackdrop: showBackdrop || hideContent,\n spinner: null,\n });\n const loadingWrapper = this.ionLoading.querySelector('.loading-wrapper');\n const kirbySpinner = document.createElement('kirby-spinner');\n const factory = this.componentFactoryResolver.resolveComponentFactory(SpinnerComponent);\n factory.create(this.injector, [], kirbySpinner);\n loadingWrapper.appendChild(kirbySpinner);\n await this.ionLoading.present();\n }\n }\n async hideLoadingOverlay() {\n if (this.ionLoading) {\n await this.ionLoading.dismiss();\n this.ionLoading = null;\n }\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LoadingOverlayService, deps: [{ token: i1.LoadingController }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LoadingOverlayService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LoadingOverlayService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.LoadingController }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1vdmVybGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9sb2FkaW5nLW92ZXJsYXkvc3JjL2xvYWRpbmctb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFLckUsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUNVLGlCQUFvQyxFQUNwQyx3QkFBa0QsRUFDbEQsUUFBa0I7UUFGbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFMcEIsZUFBVSxHQUEwQixJQUFJLENBQUM7SUFNOUMsQ0FBQztJQUVHLEtBQUssQ0FBQyxrQkFBa0IsQ0FDN0IsZUFBd0IsSUFBSSxFQUM1QixjQUF1QixLQUFLO1FBRTVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsTUFBTSxVQUFVLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBRTdDLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BELFFBQVEsRUFBRSxVQUFVO2dCQUNwQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsWUFBWSxJQUFJLFdBQVc7Z0JBQ3pDLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1lBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN6RSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzdELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hGLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDaEQsY0FBYyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUV6QyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztpSUEzQ1UscUJBQXFCO3FJQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9zcGlubmVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdPdmVybGF5U2VydmljZSB7XG4gIHByaXZhdGUgaW9uTG9hZGluZzogSFRNTElvbkxvYWRpbmdFbGVtZW50ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxvYWRpbmdDb250cm9sbGVyOiBMb2FkaW5nQ29udHJvbGxlcixcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgc2hvd0xvYWRpbmdPdmVybGF5KFxuICAgIHNob3dCYWNrZHJvcDogYm9vbGVhbiA9IHRydWUsXG4gICAgaGlkZUNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuaW9uTG9hZGluZykge1xuICAgICAgY29uc3QgY3NzQ2xhc3NlcyA9IFsna2lyYnktbG9hZGluZy1vdmVybGF5J107XG5cbiAgICAgIGlmIChoaWRlQ29udGVudCkge1xuICAgICAgICBjc3NDbGFzc2VzLnB1c2goJ2tpcmJ5LWxvYWRpbmctaGlkZS1jb250ZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW9uTG9hZGluZyA9IGF3YWl0IHRoaXMubG9hZGluZ0NvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgICAgY3NzQ2xhc3M6IGNzc0NsYXNzZXMsXG4gICAgICAgIGR1cmF0aW9uOiAwLFxuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBzaG93QmFja2Ryb3A6IHNob3dCYWNrZHJvcCB8fCBoaWRlQ29udGVudCxcbiAgICAgICAgc3Bpbm5lcjogbnVsbCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBsb2FkaW5nV3JhcHBlciA9IHRoaXMuaW9uTG9hZGluZy5xdWVyeVNlbGVjdG9yKCcubG9hZGluZy13cmFwcGVyJyk7XG4gICAgICBjb25zdCBraXJieVNwaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdraXJieS1zcGlubmVyJyk7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoU3Bpbm5lckNvbXBvbmVudCk7XG4gICAgICBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yLCBbXSwga2lyYnlTcGlubmVyKTtcbiAgICAgIGxvYWRpbmdXcmFwcGVyLmFwcGVuZENoaWxkKGtpcmJ5U3Bpbm5lcik7XG5cbiAgICAgIGF3YWl0IHRoaXMuaW9uTG9hZGluZy5wcmVzZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVMb2FkaW5nT3ZlcmxheSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pb25Mb2FkaW5nKSB7XG4gICAgICBhd2FpdCB0aGlzLmlvbkxvYWRpbmcuZGlzbWlzcygpO1xuICAgICAgdGhpcy5pb25Mb2FkaW5nID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SpinnerModule } from '@kirbydesign/designsystem/spinner';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@kirbydesign/designsystem/spinner\";\nimport * as i2 from \"@angular/common\";\nexport class LoadingOverlayComponent {\n constructor() {\n this.isLoading = true;\n this.showBackdrop = true;\n this.hideContent = false;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LoadingOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.1\", type: LoadingOverlayComponent, isStandalone: true, selector: \"kirby-loading-overlay\", inputs: { isLoading: \"isLoading\", showBackdrop: \"showBackdrop\", hideContent: \"hideContent\" }, ngImport: i0, template: \"<div class=\\\"overlay-wrapper\\\">\\n @if (isLoading) {\\n <div\\n [ngClass]=\\\"{\\n backdrop: showBackdrop && !hideContent,\\n 'hide-content': hideContent,\\n }\\\"\\n class=\\\"spinner-wrapper\\\"\\n >\\n <kirby-spinner class=\\\"spinner\\\"></kirby-spinner>\\n </div>\\n }\\n <div class=\\\"content-wrapper\\\">\\n <ng-content></ng-content>\\n </div>\\n</div>\\n\", styles: [\":host{display:block;min-height:32px}.overlay-wrapper{min-height:inherit;height:100%;width:100%;position:relative}.overlay-wrapper .spinner-wrapper{height:100%;width:100%;position:absolute;z-index:1001;display:flex;background:transparent;justify-content:center;place-items:center}.overlay-wrapper .spinner-wrapper.backdrop{background-color:#f6f6f6cc}.overlay-wrapper .spinner-wrapper.hide-content{background-color:#f6f6f6}.overlay-wrapper .spinner-wrapper .spinner{width:32px;height:32px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SpinnerModule }, { kind: \"component\", type: i1.SpinnerComponent, selector: \"kirby-spinner\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: LoadingOverlayComponent, decorators: [{\n type: Component,\n args: [{ imports: [SpinnerModule, CommonModule], selector: 'kirby-loading-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"overlay-wrapper\\\">\\n @if (isLoading) {\\n <div\\n [ngClass]=\\\"{\\n backdrop: showBackdrop && !hideContent,\\n 'hide-content': hideContent,\\n }\\\"\\n class=\\\"spinner-wrapper\\\"\\n >\\n <kirby-spinner class=\\\"spinner\\\"></kirby-spinner>\\n </div>\\n }\\n <div class=\\\"content-wrapper\\\">\\n <ng-content></ng-content>\\n </div>\\n</div>\\n\", styles: [\":host{display:block;min-height:32px}.overlay-wrapper{min-height:inherit;height:100%;width:100%;position:relative}.overlay-wrapper .spinner-wrapper{height:100%;width:100%;position:absolute;z-index:1001;display:flex;background:transparent;justify-content:center;place-items:center}.overlay-wrapper .spinner-wrapper.backdrop{background-color:#f6f6f6cc}.overlay-wrapper .spinner-wrapper.hide-content{background-color:#f6f6f6}.overlay-wrapper .spinner-wrapper .spinner{width:32px;height:32px}\\n\"] }]\n }], propDecorators: { isLoading: [{\n type: Input\n }], showBackdrop: [{\n type: Input\n }], hideContent: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xvYWRpbmctb3ZlcmxheS9zcmMvbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2xvYWRpbmctb3ZlcmxheS9zcmMvbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFTbEUsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVFrQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBQ3JDO2lJQUpZLHVCQUF1QjtxSEFBdkIsdUJBQXVCLCtLQ1hwQywrWEFnQkEsa2lCRFhZLGFBQWEsMkdBQUUsWUFBWTs7MkZBTTFCLHVCQUF1QjtrQkFQbkMsU0FBUzs4QkFDQyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsWUFDNUIsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUcvQixTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc3Bpbm5lcic7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbU3Bpbm5lck1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdraXJieS1sb2FkaW5nLW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nT3ZlcmxheUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc0xvYWRpbmcgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0JhY2tkcm9wID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGhpZGVDb250ZW50ID0gZmFsc2U7XG59XG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheS13cmFwcGVyXCI+XG4gIEBpZiAoaXNMb2FkaW5nKSB7XG4gICAgPGRpdlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICBiYWNrZHJvcDogc2hvd0JhY2tkcm9wICYmICFoaWRlQ29udGVudCxcbiAgICAgICAgJ2hpZGUtY29udGVudCc6IGhpZGVDb250ZW50LFxuICAgICAgfVwiXG4gICAgICBjbGFzcz1cInNwaW5uZXItd3JhcHBlclwiXG4gICAgPlxuICAgICAgPGtpcmJ5LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCI+PC9raXJieS1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWxvYWRpbmctb3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xvYWRpbmctb3ZlcmxheS9zcmMva2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWxvYWRpbmctb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-loading-overlay.mjs","sources":["../tmp-esm2022/loading-overlay/loading-overlay.service.js","../tmp-esm2022/loading-overlay/loading-overlay.component.js","../tmp-esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { SpinnerComponent } from '@kirbydesign/designsystem/spinner';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@ionic/angular/standalone\";\nexport class LoadingOverlayService {\n constructor(loadingController, componentFactoryResolver, injector) {\n this.loadingController = loadingController;\n this.componentFactoryResolver = componentFactoryResolver;\n this.injector = injector;\n this.ionLoading = null;\n }\n async showLoadingOverlay(showBackdrop = true, hideContent = false) {\n if (!this.ionLoading) {\n const cssClasses = ['kirby-loading-overlay'];\n if (hideContent) {\n cssClasses.push('kirby-loading-hide-content');\n }\n this.ionLoading = await this.loadingController.create({\n cssClass: cssClasses,\n duration: 0,\n message: null,\n showBackdrop: showBackdrop || hideContent,\n spinner: null,\n });\n const loadingWrapper = this.ionLoading.querySelector('.loading-wrapper');\n const kirbySpinner = document.createElement('kirby-spinner');\n const factory = this.componentFactoryResolver.resolveComponentFactory(SpinnerComponent);\n factory.create(this.injector, [], kirbySpinner);\n loadingWrapper.appendChild(kirbySpinner);\n await this.ionLoading.present();\n }\n }\n async hideLoadingOverlay() {\n if (this.ionLoading) {\n await this.ionLoading.dismiss();\n this.ionLoading = null;\n }\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: LoadingOverlayService, deps: [{ token: i1.LoadingController }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: LoadingOverlayService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: LoadingOverlayService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.LoadingController }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1vdmVybGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9sb2FkaW5nLW92ZXJsYXkvc3JjL2xvYWRpbmctb3ZlcmxheS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFLckUsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUNVLGlCQUFvQyxFQUNwQyx3QkFBa0QsRUFDbEQsUUFBa0I7UUFGbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGFBQVEsR0FBUixRQUFRLENBQVU7UUFMcEIsZUFBVSxHQUEwQixJQUFJLENBQUM7SUFNOUMsQ0FBQztJQUVHLEtBQUssQ0FBQyxrQkFBa0IsQ0FDN0IsZUFBd0IsSUFBSSxFQUM1QixjQUF1QixLQUFLO1FBRTVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsTUFBTSxVQUFVLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBRTdDLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BELFFBQVEsRUFBRSxVQUFVO2dCQUNwQixRQUFRLEVBQUUsQ0FBQztnQkFDWCxPQUFPLEVBQUUsSUFBSTtnQkFDYixZQUFZLEVBQUUsWUFBWSxJQUFJLFdBQVc7Z0JBQ3pDLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1lBRUgsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN6RSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzdELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hGLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFDaEQsY0FBYyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUV6QyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsa0JBQWtCO1FBQzdCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztpSUEzQ1UscUJBQXFCO3FJQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmdDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9zcGlubmVyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdPdmVybGF5U2VydmljZSB7XG4gIHByaXZhdGUgaW9uTG9hZGluZzogSFRNTElvbkxvYWRpbmdFbGVtZW50ID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGxvYWRpbmdDb250cm9sbGVyOiBMb2FkaW5nQ29udHJvbGxlcixcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgc2hvd0xvYWRpbmdPdmVybGF5KFxuICAgIHNob3dCYWNrZHJvcDogYm9vbGVhbiA9IHRydWUsXG4gICAgaGlkZUNvbnRlbnQ6IGJvb2xlYW4gPSBmYWxzZVxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuaW9uTG9hZGluZykge1xuICAgICAgY29uc3QgY3NzQ2xhc3NlcyA9IFsna2lyYnktbG9hZGluZy1vdmVybGF5J107XG5cbiAgICAgIGlmIChoaWRlQ29udGVudCkge1xuICAgICAgICBjc3NDbGFzc2VzLnB1c2goJ2tpcmJ5LWxvYWRpbmctaGlkZS1jb250ZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaW9uTG9hZGluZyA9IGF3YWl0IHRoaXMubG9hZGluZ0NvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgICAgY3NzQ2xhc3M6IGNzc0NsYXNzZXMsXG4gICAgICAgIGR1cmF0aW9uOiAwLFxuICAgICAgICBtZXNzYWdlOiBudWxsLFxuICAgICAgICBzaG93QmFja2Ryb3A6IHNob3dCYWNrZHJvcCB8fCBoaWRlQ29udGVudCxcbiAgICAgICAgc3Bpbm5lcjogbnVsbCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBsb2FkaW5nV3JhcHBlciA9IHRoaXMuaW9uTG9hZGluZy5xdWVyeVNlbGVjdG9yKCcubG9hZGluZy13cmFwcGVyJyk7XG4gICAgICBjb25zdCBraXJieVNwaW5uZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdraXJieS1zcGlubmVyJyk7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoU3Bpbm5lckNvbXBvbmVudCk7XG4gICAgICBmYWN0b3J5LmNyZWF0ZSh0aGlzLmluamVjdG9yLCBbXSwga2lyYnlTcGlubmVyKTtcbiAgICAgIGxvYWRpbmdXcmFwcGVyLmFwcGVuZENoaWxkKGtpcmJ5U3Bpbm5lcik7XG5cbiAgICAgIGF3YWl0IHRoaXMuaW9uTG9hZGluZy5wcmVzZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGhpZGVMb2FkaW5nT3ZlcmxheSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pb25Mb2FkaW5nKSB7XG4gICAgICBhd2FpdCB0aGlzLmlvbkxvYWRpbmcuZGlzbWlzcygpO1xuICAgICAgdGhpcy5pb25Mb2FkaW5nID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { SpinnerModule } from '@kirbydesign/designsystem/spinner';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@kirbydesign/designsystem/spinner\";\nimport * as i2 from \"@angular/common\";\nexport class LoadingOverlayComponent {\n constructor() {\n this.isLoading = true;\n this.showBackdrop = true;\n this.hideContent = false;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: LoadingOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: LoadingOverlayComponent, isStandalone: true, selector: \"kirby-loading-overlay\", inputs: { isLoading: \"isLoading\", showBackdrop: \"showBackdrop\", hideContent: \"hideContent\" }, ngImport: i0, template: \"<div class=\\\"overlay-wrapper\\\">\\n @if (isLoading) {\\n <div\\n [ngClass]=\\\"{\\n backdrop: showBackdrop && !hideContent,\\n 'hide-content': hideContent,\\n }\\\"\\n class=\\\"spinner-wrapper\\\"\\n >\\n <kirby-spinner class=\\\"spinner\\\"></kirby-spinner>\\n </div>\\n }\\n <div class=\\\"content-wrapper\\\">\\n <ng-content></ng-content>\\n </div>\\n</div>\\n\", styles: [\":host{display:block;min-height:32px}.overlay-wrapper{min-height:inherit;height:100%;width:100%;position:relative}.overlay-wrapper .spinner-wrapper{height:100%;width:100%;position:absolute;z-index:1001;display:flex;background:transparent;justify-content:center;place-items:center}.overlay-wrapper .spinner-wrapper.backdrop{background-color:#f6f6f6cc}.overlay-wrapper .spinner-wrapper.hide-content{background-color:#f6f6f6}.overlay-wrapper .spinner-wrapper .spinner{width:32px;height:32px}\\n\"], dependencies: [{ kind: \"ngmodule\", type: SpinnerModule }, { kind: \"component\", type: i1.SpinnerComponent, selector: \"kirby-spinner\" }, { kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i2.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: LoadingOverlayComponent, decorators: [{\n type: Component,\n args: [{ imports: [SpinnerModule, CommonModule], selector: 'kirby-loading-overlay', changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"overlay-wrapper\\\">\\n @if (isLoading) {\\n <div\\n [ngClass]=\\\"{\\n backdrop: showBackdrop && !hideContent,\\n 'hide-content': hideContent,\\n }\\\"\\n class=\\\"spinner-wrapper\\\"\\n >\\n <kirby-spinner class=\\\"spinner\\\"></kirby-spinner>\\n </div>\\n }\\n <div class=\\\"content-wrapper\\\">\\n <ng-content></ng-content>\\n </div>\\n</div>\\n\", styles: [\":host{display:block;min-height:32px}.overlay-wrapper{min-height:inherit;height:100%;width:100%;position:relative}.overlay-wrapper .spinner-wrapper{height:100%;width:100%;position:absolute;z-index:1001;display:flex;background:transparent;justify-content:center;place-items:center}.overlay-wrapper .spinner-wrapper.backdrop{background-color:#f6f6f6cc}.overlay-wrapper .spinner-wrapper.hide-content{background-color:#f6f6f6}.overlay-wrapper .spinner-wrapper .spinner{width:32px;height:32px}\\n\"] }]\n }], propDecorators: { isLoading: [{\n type: Input\n }], showBackdrop: [{\n type: Input\n }], hideContent: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xvYWRpbmctb3ZlcmxheS9zcmMvbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2xvYWRpbmctb3ZlcmxheS9zcmMvbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFTbEUsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVFrQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBQ3JDO2lJQUpZLHVCQUF1QjtxSEFBdkIsdUJBQXVCLCtLQ1hwQywrWEFnQkEsa2lCRFhZLGFBQWEsMkdBQUUsWUFBWTs7MkZBTTFCLHVCQUF1QjtrQkFQbkMsU0FBUzs4QkFDQyxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsWUFDNUIsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUcvQixTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vc3Bpbm5lcic7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbU3Bpbm5lck1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdraXJieS1sb2FkaW5nLW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGluZy1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nT3ZlcmxheUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc0xvYWRpbmcgPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0JhY2tkcm9wID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGhpZGVDb250ZW50ID0gZmFsc2U7XG59XG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheS13cmFwcGVyXCI+XG4gIEBpZiAoaXNMb2FkaW5nKSB7XG4gICAgPGRpdlxuICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICBiYWNrZHJvcDogc2hvd0JhY2tkcm9wICYmICFoaWRlQ29udGVudCxcbiAgICAgICAgJ2hpZGUtY29udGVudCc6IGhpZGVDb250ZW50LFxuICAgICAgfVwiXG4gICAgICBjbGFzcz1cInNwaW5uZXItd3JhcHBlclwiXG4gICAgPlxuICAgICAgPGtpcmJ5LXNwaW5uZXIgY2xhc3M9XCJzcGlubmVyXCI+PC9raXJieS1zcGlubmVyPlxuICAgIDwvZGl2PlxuICB9XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWxvYWRpbmctb3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xvYWRpbmctb3ZlcmxheS9zcmMva2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLWxvYWRpbmctb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["i1"],"mappings":"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"}
|
|
@@ -236,10 +236,10 @@ class MenuComponent {
|
|
|
236
236
|
ngOnDestroy() {
|
|
237
237
|
this.disposeIonScrollListener?.();
|
|
238
238
|
}
|
|
239
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
240
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
239
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
240
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.2", type: MenuComponent, isStandalone: true, selector: "kirby-menu", inputs: { isDisabled: "isDisabled", buttonSize: "buttonSize", placement: "placement", attentionLevel: "attentionLevel", triggers: "triggers", DOMPortalOutlet: "DOMPortalOutlet", portalOutletConfig: "portalOutletConfig", autoPlacement: "autoPlacement", closeOnSelect: "closeOnSelect", closeOnEscapeKey: "closeOnEscapeKey", closeOnBackdrop: "closeOnBackdrop", shift: "shift", minWidth: "minWidth" }, host: { listeners: { "keydown": "_onKeydown($event)", "click": "_onClick($event)" } }, queries: [{ propertyName: "userProvidedButton", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef }, { propertyName: "kirbyItems", predicate: ItemComponent, read: ElementRef }, { propertyName: "kirbyItemComponents", predicate: ItemComponent }], viewQueries: [{ propertyName: "buttonContainerElement", first: true, predicate: ["buttonContainer"], descendants: true, read: ElementRef }, { propertyName: "defaultButtonElement", first: true, predicate: ["defaultButton"], descendants: true, read: ElementRef }, { propertyName: "floatingMenu", first: true, predicate: FloatingDirective, descendants: true }], ngImport: i0, template: "<div class=\"button-container\" #buttonContainer>\n <ng-content select=\"button[kirby-button]\"></ng-content>\n @if (!userProvidedButton) {\n <button\n #defaultButton\n [id]=\"triggerButtonId\"\n kirby-button\n [size]=\"buttonSize\"\n [disabled]=\"isDisabled\"\n type=\"button\"\n [attentionLevel]=\"attentionLevel\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"menuId\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"translations.get('more')\"\n >\n <kirby-icon [name]=\"'more'\"></kirby-icon>\n </button>\n }\n</div>\n<kirby-card\n [id]=\"menuId\"\n kirbyFloating\n [strategy]=\"'fixed'\"\n [reference]=\"buttonContainerElement\"\n [isDisabled]=\"isDisabled\"\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [DOMPortalOutlet]=\"DOMPortalOutlet\"\n [portalOutletConfig]=\"portalOutletConfig\"\n [closeOnBackdrop]=\"closeOnBackdrop\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnSelect]=\"closeOnSelect\"\n [autoPlacement]=\"autoPlacement\"\n [shift]=\"shift\"\n [style.minWidth]=\"minWidth ? minWidth + 'px' : null\"\n class=\"menu-popover\"\n (keydown)=\"_onKeydown($event)\"\n (displayChanged)=\"menuVisibilityChanged($event)\"\n role=\"menu\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n>\n <ng-content select=\"kirby-item\"></ng-content>\n</kirby-card>\n", styles: [":host{position:relative}.button-container{display:inline-block}kirby-card{max-height:352px;overflow-y:auto;box-shadow:0 0 5px #1c1c1c0a,0 10px 15px -10px #1c1c1c26;min-width:240px;max-width:460px}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kirby-button],Button[kirby-button],a[kirby-button]", inputs: ["attentionLevel", "noDecoration", "themeColor", "expand", "isFloating", "size", "showIconOnly"] }, { kind: "directive", type: FloatingDirective, selector: "[kirbyFloating]", inputs: ["reference", "placement", "strategy", "triggers", "DOMPortalOutlet", "portalOutletConfig", "isDisabled", "offset", "shift", "autoPlacement", "closeOnSelect", "closeOnEscapeKey", "closeOnBackdrop"], outputs: ["displayChanged"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i2.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i3.CardComponent, selector: "kirby-card", inputs: ["title", "subtitle", "backgroundImageUrl", "hasPadding", "sizes", "variant"] }, { kind: "ngmodule", type: ItemModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
241
241
|
}
|
|
242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: MenuComponent, decorators: [{
|
|
243
243
|
type: Component,
|
|
244
244
|
args: [{ selector: 'kirby-menu', imports: [ButtonComponent, FloatingDirective, IconModule, CardModule, ItemModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"button-container\" #buttonContainer>\n <ng-content select=\"button[kirby-button]\"></ng-content>\n @if (!userProvidedButton) {\n <button\n #defaultButton\n [id]=\"triggerButtonId\"\n kirby-button\n [size]=\"buttonSize\"\n [disabled]=\"isDisabled\"\n type=\"button\"\n [attentionLevel]=\"attentionLevel\"\n aria-haspopup=\"true\"\n [attr.aria-controls]=\"menuId\"\n aria-expanded=\"false\"\n [attr.aria-label]=\"translations.get('more')\"\n >\n <kirby-icon [name]=\"'more'\"></kirby-icon>\n </button>\n }\n</div>\n<kirby-card\n [id]=\"menuId\"\n kirbyFloating\n [strategy]=\"'fixed'\"\n [reference]=\"buttonContainerElement\"\n [isDisabled]=\"isDisabled\"\n [triggers]=\"triggers\"\n [placement]=\"placement\"\n [DOMPortalOutlet]=\"DOMPortalOutlet\"\n [portalOutletConfig]=\"portalOutletConfig\"\n [closeOnBackdrop]=\"closeOnBackdrop\"\n [closeOnEscapeKey]=\"closeOnEscapeKey\"\n [closeOnSelect]=\"closeOnSelect\"\n [autoPlacement]=\"autoPlacement\"\n [shift]=\"shift\"\n [style.minWidth]=\"minWidth ? minWidth + 'px' : null\"\n class=\"menu-popover\"\n (keydown)=\"_onKeydown($event)\"\n (displayChanged)=\"menuVisibilityChanged($event)\"\n role=\"menu\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n>\n <ng-content select=\"kirby-item\"></ng-content>\n</kirby-card>\n", styles: [":host{position:relative}.button-container{display:inline-block}kirby-card{max-height:352px;overflow-y:auto;box-shadow:0 0 5px #1c1c1c0a,0 10px 15px -10px #1c1c1c26;min-width:240px;max-width:460px}\n"] }]
|
|
245
245
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.TranslationService }], propDecorators: { isDisabled: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kirbydesign-designsystem-menu.mjs","sources":["../tmp-esm2022/menu/menu.component.js","../tmp-esm2022/menu/kirbydesign-designsystem-menu.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, HostListener, Input, ViewChild, } from '@angular/core';\nimport { ItemComponent, ItemModule } from '@kirbydesign/designsystem/item';\nimport { CardModule } from '@kirbydesign/designsystem/card';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { ButtonComponent, ButtonSize } from '@kirbydesign/designsystem/button';\nimport { FloatingDirective, FloatingOffset, } from '@kirbydesign/designsystem/shared/floating';\nimport { StringSearchHelper, UniqueIdGenerator } from '@kirbydesign/designsystem/helpers';\nimport { forwardAttributes } from '@kirbydesign/designsystem/shared';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@kirbydesign/designsystem/shared\";\nimport * as i2 from \"@kirbydesign/designsystem/icon\";\nimport * as i3 from \"@kirbydesign/designsystem/card\";\nexport class MenuComponent {\n constructor(cdr, elementRef, zone, renderer, translations) {\n this.cdr = cdr;\n this.elementRef = elementRef;\n this.zone = zone;\n this.renderer = renderer;\n this.translations = translations;\n this.menuId = UniqueIdGenerator.scopedTo('kirby-menu').next();\n this.triggerButtonId = UniqueIdGenerator.scopedTo('kirby-menu-trigger-button').next();\n this._attributesToForward = ['aria-label', 'aria-labelledby'];\n this.isDisabled = false;\n this.buttonSize = ButtonSize.MD;\n this.placement = 'bottom-start';\n this.attentionLevel = '3';\n this.triggers = ['click'];\n this.DOMPortalOutlet = this.elementRef.nativeElement.ownerDocument.body;\n this.autoPlacement = false;\n this.closeOnSelect = true;\n this.closeOnEscapeKey = true;\n this.closeOnBackdrop = true;\n this.shift = true;\n this.floatingMenuIsShown = false;\n this.FloatingOffset = FloatingOffset;\n this.focusedIndex = -1;\n }\n _onKeydown(event) {\n if (this.kirbyItems.length === 0) {\n console.warn('[Kirby] No items found within menu');\n return;\n }\n if (this.floatingMenuIsShown) {\n this.handleKeyDownForOpenedMenu(event);\n }\n else {\n this.handleKeyDownForClosedMenu(event);\n }\n }\n _onClick() {\n if (!this.floatingMenuIsShown)\n return;\n this.focusedIndex = 0;\n this.focusItem();\n }\n preventDefaultAndStopImmediatePropagation(event) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n getFirstInteractiveElement(el) {\n return el.querySelector('ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled])');\n }\n handleKeyDownForClosedMenu(event) {\n const key = event.key;\n switch (key) {\n case ' ':\n case 'Enter':\n case 'ArrowDown':\n this.preventDefaultAndStopImmediatePropagation(event);\n this.focusedIndex = 0;\n this.floatingMenu.show();\n this.focusItem();\n break;\n case 'ArrowUp':\n this.preventDefaultAndStopImmediatePropagation(event);\n this.focusedIndex = this.kirbyItems.length - 1;\n this.floatingMenu.show();\n this.focusItem();\n break;\n }\n }\n handleKeyDownForOpenedMenu(event) {\n const key = event.key;\n switch (key) {\n case 'ArrowDown':\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex === this.kirbyItems.length - 1) {\n this.focusedIndex = 0;\n }\n else {\n this.focusedIndex++;\n }\n this.focusItem();\n break;\n case 'ArrowUp':\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex === 0) {\n this.focusedIndex = this.kirbyItems.length - 1;\n }\n else {\n this.focusedIndex--;\n }\n this.focusItem();\n break;\n case 'Home': {\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex > 0) {\n this.focusedIndex = 0;\n this.focusItem();\n }\n break;\n }\n case 'End': {\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex < this.kirbyItems.length - 1) {\n this.focusedIndex = this.kirbyItems.length - 1;\n this.focusItem();\n }\n break;\n }\n case 'Escape':\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.closeOnEscapeKey) {\n this.floatingMenu.hide();\n }\n break;\n case 'Tab':\n this.floatingMenu.hide();\n break;\n default: {\n if (StringSearchHelper.isPrintableCharacter(key)) {\n this.preventDefaultAndStopImmediatePropagation(event);\n const foundItemIndex = this.getIndexOfItemByFirstCharacter(key);\n if (foundItemIndex > -1) {\n this.focusedIndex = foundItemIndex;\n this.focusItem();\n }\n }\n }\n }\n }\n getIndexOfItemByFirstCharacter(char) {\n return StringSearchHelper.getIndexByFirstMatchingStartString(char, this.kirbyItems.map((item) => item.nativeElement.innerText), this.focusedIndex + 1);\n }\n focusItem() {\n const itemToBeFocused = this.kirbyItems.get(this.focusedIndex);\n const ionItem = itemToBeFocused.nativeElement.querySelector('ion-item');\n // Look for interactive element within ion-item like toggle or checkbox and set focus if found\n const firstInteractiveElementWithinItem = this.getFirstInteractiveElement(ionItem);\n if (firstInteractiveElementWithinItem) {\n firstInteractiveElementWithinItem.focus();\n }\n else {\n this.focusSelectableItem(ionItem);\n }\n }\n focusSelectableItem(ionItem) {\n const nativeButton = ionItem.shadowRoot.querySelector('button:not([disabled])');\n nativeButton?.focus();\n }\n getTriggerButton() {\n return (this.userProvidedButton ?? this.defaultButtonElement).nativeElement;\n }\n ngAfterViewInit() {\n this.cdr.detectChanges(); // Sets the updated reference for kirby-floating\n this.zone.runOutsideAngular(() => {\n /*\n * Listen for ionScroll outside of Angular's change detection to\n * avoid a change detection cycle for every scroll-event fired\n */\n this.disposeIonScrollListener = this.renderer.listen(document, 'ionScroll', () => {\n this.floatingMenu.hide();\n });\n });\n this.forwardAriaLabelToTriggerButton();\n }\n ngAfterContentInit() {\n this.setRoleAttributeForAllItems();\n this.setUserProvidedButtonAriaAttributes();\n this.ensureSelectableOnItems();\n }\n forwardAriaLabelToTriggerButton() {\n forwardAttributes(this.elementRef.nativeElement, this._attributesToForward, this.renderer, this.getTriggerButton());\n }\n ensureSelectableOnItems() {\n this.kirbyItemComponents.forEach((itemComponent) => {\n if (itemComponent.selectable === undefined) {\n itemComponent.selectable = true;\n }\n });\n }\n setRoleAttributeForAllItems() {\n this.kirbyItems.forEach((item) => {\n this.setRoleAttributeForItem(item.nativeElement);\n });\n }\n setRoleAttributeForItem(item) {\n let menuItemRole = 'menuitem';\n if (item.matches(':has(kirby-toggle, kirby-checkbox)')) {\n menuItemRole = 'menuitemcheckbox';\n }\n else if (item.matches(':has(kirby-radio)')) {\n menuItemRole = 'menuitemradio';\n }\n this.renderer.setAttribute(item, 'role', menuItemRole);\n }\n menuVisibilityChanged(menuIsShown) {\n this.floatingMenuIsShown = menuIsShown;\n this.renderer.setAttribute(this.getTriggerButton(), 'aria-expanded', menuIsShown.toString());\n if (!menuIsShown) {\n this.focusedIndex = -1;\n this.getTriggerButton().focus();\n }\n }\n setUserProvidedButtonAriaAttributes() {\n if (!this.userProvidedButton)\n return;\n const button = this.userProvidedButton.nativeElement;\n if (button.id) {\n this.triggerButtonId = button.id;\n }\n else {\n this.renderer.setAttribute(button, 'id', this.triggerButtonId);\n }\n if (!button.getAttribute('aria-controls')) {\n this.renderer.setAttribute(button, 'aria-controls', this.menuId);\n }\n if (!button.getAttribute('aria-haspopup')) {\n this.renderer.setAttribute(button, 'aria-haspopup', 'true');\n }\n if (!button.getAttribute('aria-label')) {\n this.renderer.setAttribute(button, 'aria-label', this.translations.get('more'));\n }\n }\n ngOnDestroy() {\n this.disposeIonScrollListener?.();\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.1\", type: MenuComponent, isStandalone: true, selector: \"kirby-menu\", inputs: { isDisabled: \"isDisabled\", buttonSize: \"buttonSize\", placement: \"placement\", attentionLevel: \"attentionLevel\", triggers: \"triggers\", DOMPortalOutlet: \"DOMPortalOutlet\", portalOutletConfig: \"portalOutletConfig\", autoPlacement: \"autoPlacement\", closeOnSelect: \"closeOnSelect\", closeOnEscapeKey: \"closeOnEscapeKey\", closeOnBackdrop: \"closeOnBackdrop\", shift: \"shift\", minWidth: \"minWidth\" }, host: { listeners: { \"keydown\": \"_onKeydown($event)\", \"click\": \"_onClick($event)\" } }, queries: [{ propertyName: \"userProvidedButton\", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef }, { propertyName: \"kirbyItems\", predicate: ItemComponent, read: ElementRef }, { propertyName: \"kirbyItemComponents\", predicate: ItemComponent }], viewQueries: [{ propertyName: \"buttonContainerElement\", first: true, predicate: [\"buttonContainer\"], descendants: true, read: ElementRef }, { propertyName: \"defaultButtonElement\", first: true, predicate: [\"defaultButton\"], descendants: true, read: ElementRef }, { propertyName: \"floatingMenu\", first: true, predicate: FloatingDirective, descendants: true }], ngImport: i0, template: \"<div class=\\\"button-container\\\" #buttonContainer>\\n <ng-content select=\\\"button[kirby-button]\\\"></ng-content>\\n @if (!userProvidedButton) {\\n <button\\n #defaultButton\\n [id]=\\\"triggerButtonId\\\"\\n kirby-button\\n [size]=\\\"buttonSize\\\"\\n [disabled]=\\\"isDisabled\\\"\\n type=\\\"button\\\"\\n [attentionLevel]=\\\"attentionLevel\\\"\\n aria-haspopup=\\\"true\\\"\\n [attr.aria-controls]=\\\"menuId\\\"\\n aria-expanded=\\\"false\\\"\\n [attr.aria-label]=\\\"translations.get('more')\\\"\\n >\\n <kirby-icon [name]=\\\"'more'\\\"></kirby-icon>\\n </button>\\n }\\n</div>\\n<kirby-card\\n [id]=\\\"menuId\\\"\\n kirbyFloating\\n [strategy]=\\\"'fixed'\\\"\\n [reference]=\\\"buttonContainerElement\\\"\\n [isDisabled]=\\\"isDisabled\\\"\\n [triggers]=\\\"triggers\\\"\\n [placement]=\\\"placement\\\"\\n [DOMPortalOutlet]=\\\"DOMPortalOutlet\\\"\\n [portalOutletConfig]=\\\"portalOutletConfig\\\"\\n [closeOnBackdrop]=\\\"closeOnBackdrop\\\"\\n [closeOnEscapeKey]=\\\"closeOnEscapeKey\\\"\\n [closeOnSelect]=\\\"closeOnSelect\\\"\\n [autoPlacement]=\\\"autoPlacement\\\"\\n [shift]=\\\"shift\\\"\\n [style.minWidth]=\\\"minWidth ? minWidth + 'px' : null\\\"\\n class=\\\"menu-popover\\\"\\n (keydown)=\\\"_onKeydown($event)\\\"\\n (displayChanged)=\\\"menuVisibilityChanged($event)\\\"\\n role=\\\"menu\\\"\\n [attr.aria-labelledby]=\\\"triggerButtonId\\\"\\n>\\n <ng-content select=\\\"kirby-item\\\"></ng-content>\\n</kirby-card>\\n\", styles: [\":host{position:relative}.button-container{display:inline-block}kirby-card{max-height:352px;overflow-y:auto;box-shadow:0 0 5px #1c1c1c0a,0 10px 15px -10px #1c1c1c26;min-width:240px;max-width:460px}\\n\"], dependencies: [{ kind: \"component\", type: ButtonComponent, selector: \"button[kirby-button],Button[kirby-button],a[kirby-button]\", inputs: [\"attentionLevel\", \"noDecoration\", \"themeColor\", \"expand\", \"isFloating\", \"size\", \"showIconOnly\"] }, { kind: \"directive\", type: FloatingDirective, selector: \"[kirbyFloating]\", inputs: [\"reference\", \"placement\", \"strategy\", \"triggers\", \"DOMPortalOutlet\", \"portalOutletConfig\", \"isDisabled\", \"offset\", \"shift\", \"autoPlacement\", \"closeOnSelect\", \"closeOnEscapeKey\", \"closeOnBackdrop\"], outputs: [\"displayChanged\"] }, { kind: \"ngmodule\", type: IconModule }, { kind: \"component\", type: i2.IconComponent, selector: \"kirby-icon\", inputs: [\"size\", \"name\"] }, { kind: \"ngmodule\", type: CardModule }, { kind: \"component\", type: i3.CardComponent, selector: \"kirby-card\", inputs: [\"title\", \"subtitle\", \"backgroundImageUrl\", \"hasPadding\", \"sizes\", \"variant\"] }, { kind: \"ngmodule\", type: ItemModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.1\", ngImport: i0, type: MenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'kirby-menu', imports: [ButtonComponent, FloatingDirective, IconModule, CardModule, ItemModule], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"button-container\\\" #buttonContainer>\\n <ng-content select=\\\"button[kirby-button]\\\"></ng-content>\\n @if (!userProvidedButton) {\\n <button\\n #defaultButton\\n [id]=\\\"triggerButtonId\\\"\\n kirby-button\\n [size]=\\\"buttonSize\\\"\\n [disabled]=\\\"isDisabled\\\"\\n type=\\\"button\\\"\\n [attentionLevel]=\\\"attentionLevel\\\"\\n aria-haspopup=\\\"true\\\"\\n [attr.aria-controls]=\\\"menuId\\\"\\n aria-expanded=\\\"false\\\"\\n [attr.aria-label]=\\\"translations.get('more')\\\"\\n >\\n <kirby-icon [name]=\\\"'more'\\\"></kirby-icon>\\n </button>\\n }\\n</div>\\n<kirby-card\\n [id]=\\\"menuId\\\"\\n kirbyFloating\\n [strategy]=\\\"'fixed'\\\"\\n [reference]=\\\"buttonContainerElement\\\"\\n [isDisabled]=\\\"isDisabled\\\"\\n [triggers]=\\\"triggers\\\"\\n [placement]=\\\"placement\\\"\\n [DOMPortalOutlet]=\\\"DOMPortalOutlet\\\"\\n [portalOutletConfig]=\\\"portalOutletConfig\\\"\\n [closeOnBackdrop]=\\\"closeOnBackdrop\\\"\\n [closeOnEscapeKey]=\\\"closeOnEscapeKey\\\"\\n [closeOnSelect]=\\\"closeOnSelect\\\"\\n [autoPlacement]=\\\"autoPlacement\\\"\\n [shift]=\\\"shift\\\"\\n [style.minWidth]=\\\"minWidth ? minWidth + 'px' : null\\\"\\n class=\\\"menu-popover\\\"\\n (keydown)=\\\"_onKeydown($event)\\\"\\n (displayChanged)=\\\"menuVisibilityChanged($event)\\\"\\n role=\\\"menu\\\"\\n [attr.aria-labelledby]=\\\"triggerButtonId\\\"\\n>\\n <ng-content select=\\\"kirby-item\\\"></ng-content>\\n</kirby-card>\\n\", styles: [\":host{position:relative}.button-container{display:inline-block}kirby-card{max-height:352px;overflow-y:auto;box-shadow:0 0 5px #1c1c1c0a,0 10px 15px -10px #1c1c1c26;min-width:240px;max-width:460px}\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.TranslationService }], propDecorators: { isDisabled: [{\n type: Input\n }], buttonSize: [{\n type: Input\n }], placement: [{\n type: Input\n }], attentionLevel: [{\n type: Input\n }], triggers: [{\n type: Input\n }], DOMPortalOutlet: [{\n type: Input\n }], portalOutletConfig: [{\n type: Input\n }], autoPlacement: [{\n type: Input\n }], closeOnSelect: [{\n type: Input\n }], closeOnEscapeKey: [{\n type: Input\n }], closeOnBackdrop: [{\n type: Input\n }], shift: [{\n type: Input\n }], minWidth: [{\n type: Input\n }], buttonContainerElement: [{\n type: ViewChild,\n args: ['buttonContainer', { read: ElementRef }]\n }], defaultButtonElement: [{\n type: ViewChild,\n args: ['defaultButton', { read: ElementRef }]\n }], userProvidedButton: [{\n type: ContentChild,\n args: [ButtonComponent, { read: ElementRef }]\n }], floatingMenu: [{\n type: ViewChild,\n args: [FloatingDirective]\n }], kirbyItems: [{\n type: ContentChildren,\n args: [ItemComponent, { read: ElementRef }]\n }], kirbyItemComponents: [{\n type: ContentChildren,\n args: [ItemComponent]\n }], _onKeydown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], _onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFLTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBa0IsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9GLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsY0FBYyxHQUdmLE1BQU0sMkNBQTJDLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixNQUFNLGtDQUFrQyxDQUFDOzs7OztBQVN6RixNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUNVLEdBQXNCLEVBQ3RCLFVBQW1DLEVBQ25DLElBQVksRUFDWixRQUFtQixFQUNwQixZQUFnQztRQUovQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFUaEMsV0FBTSxHQUFXLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENB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VSxhQUFhO3NCQUE1QixLQUFLO2dCQUVVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSztnQkFHQyxzQkFBc0I7c0JBRDVCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUkzQyxvQkFBb0I7c0JBRDFCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHWSxrQkFBa0I7c0JBQTdFLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLM0MsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBR2lDLFVBQVU7c0JBQXRFLGVBQWU7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJYixtQkFBbUI7c0JBQXpELGVBQWU7dUJBQUMsYUFBYTtnQkFROUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjbkMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5cbmltcG9ydCB7IEl0ZW1Db21wb25lbnQsIEl0ZW1Nb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2l0ZW0nO1xuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vY2FyZCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEF0dGVudGlvbkxldmVsLCBCdXR0b25Db21wb25lbnQsIEJ1dHRvblNpemUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQge1xuICBGbG9hdGluZ0RpcmVjdGl2ZSxcbiAgRmxvYXRpbmdPZmZzZXQsXG4gIFBvcnRhbE91dGxldENvbmZpZyxcbiAgVHJpZ2dlckV2ZW50LFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZC9mbG9hdGluZyc7XG5pbXBvcnQgeyBFdmVudExpc3RlbmVyRGlzcG9zZUZuIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5pbXBvcnQgeyBTdHJpbmdTZWFyY2hIZWxwZXIsIFVuaXF1ZUlkR2VuZXJhdG9yIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcbmltcG9ydCB7IGZvcndhcmRBdHRyaWJ1dGVzLCBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpcmJ5LW1lbnUnLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBGbG9hdGluZ0RpcmVjdGl2ZSwgSWNvbk1vZHVsZSwgQ2FyZE1vZHVsZSwgSXRlbU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IG1lbnVJZDogc3RyaW5nID0gVW5pcXVlSWRHZW5lcmF0b3Iuc2NvcGVkVG8oJ2tpcmJ5LW1lbnUnKS5uZXh0KCk7XG4gIHRyaWdnZXJCdXR0b25JZDogc3RyaW5nID0gVW5pcXVlSWRHZW5lcmF0b3Iuc2NvcGVkVG8oJ2tpcmJ5LW1lbnUtdHJpZ2dlci1idXR0b24nKS5uZXh0KCk7XG4gIHByaXZhdGUgX2F0dHJpYnV0ZXNUb0ZvcndhcmQgPSBbJ2FyaWEtbGFiZWwnLCAnYXJpYS1sYWJlbGxlZGJ5J107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHB1YmxpYyB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgYnV0dG9uU2l6ZTogQnV0dG9uU2l6ZSA9IEJ1dHRvblNpemUuTUQ7XG5cbiAgQElucHV0KCkgcHVibGljIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbS1zdGFydCc7XG5cbiAgQElucHV0KCkgcHVibGljIGF0dGVudGlvbkxldmVsOiBBdHRlbnRpb25MZXZlbCA9ICczJztcblxuICBASW5wdXQoKSBwdWJsaWMgdHJpZ2dlcnM6IEFycmF5PFRyaWdnZXJFdmVudD4gPSBbJ2NsaWNrJ107XG5cbiAgQElucHV0KCkgcHVibGljIERPTVBvcnRhbE91dGxldDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmJvZHk7XG5cbiAgQElucHV0KCkgcHVibGljIHBvcnRhbE91dGxldENvbmZpZzogUG9ydGFsT3V0bGV0Q29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvUGxhY2VtZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uRXNjYXBlS2V5OiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VPbkJhY2tkcm9wOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hpZnQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB3aWR0aCBvZiB0aGUgbWVudS4gSWYgbm90IHNldCwgdGhlIGRlZmF1bHQgd2lkdGggaXMgMjQwcHhcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5XaWR0aDogbnVtYmVyO1xuXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkNvbnRhaW5lcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgYnV0dG9uQ29udGFpbmVyRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnZGVmYXVsdEJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgZGVmYXVsdEJ1dHRvbkVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGQoQnV0dG9uQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHVibGljIHVzZXJQcm92aWRlZEJ1dHRvbjpcbiAgICB8IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChGbG9hdGluZ0RpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBmbG9hdGluZ01lbnU6IEZsb2F0aW5nRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oSXRlbUNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHB1YmxpYyBraXJieUl0ZW1zOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgPjtcblxuICBAQ29udGVudENoaWxkcmVuKEl0ZW1Db21wb25lbnQpIHB1YmxpYyBraXJieUl0ZW1Db21wb25lbnRzOiBRdWVyeUxpc3Q8SXRlbUNvbXBvbmVudD47XG5cbiAgcHVibGljIGZsb2F0aW5nTWVudUlzU2hvd246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIEZsb2F0aW5nT2Zmc2V0OiB0eXBlb2YgRmxvYXRpbmdPZmZzZXQgPSBGbG9hdGluZ09mZnNldDtcbiAgcHJpdmF0ZSBkaXNwb3NlSW9uU2Nyb2xsTGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJEaXNwb3NlRm47XG4gIHByaXZhdGUgZm9jdXNlZEluZGV4ID0gLTE7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIF9vbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5raXJieUl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS53YXJuKCdbS2lyYnldIE5vIGl0ZW1zIGZvdW5kIHdpdGhpbiBtZW51Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmZsb2F0aW5nTWVudUlzU2hvd24pIHtcbiAgICAgIHRoaXMuaGFuZGxlS2V5RG93bkZvck9wZW5lZE1lbnUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhbmRsZUtleURvd25Gb3JDbG9zZWRNZW51KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIF9vbkNsaWNrKCkge1xuICAgIGlmICghdGhpcy5mbG9hdGluZ01lbnVJc1Nob3duKSByZXR1cm47XG4gICAgdGhpcy5mb2N1c2VkSW5kZXggPSAwO1xuICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gIH1cblxuICBwcml2YXRlIHByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RJbnRlcmFjdGl2ZUVsZW1lbnQoZWw6IEhUTUxJb25JdGVtRWxlbWVudCkge1xuICAgIHJldHVybiBlbC5xdWVyeVNlbGVjdG9yPEhUTUxJb25Ub2dnbGVFbGVtZW50IHwgSFRNTElvblJhZGlvRWxlbWVudCB8IEhUTUxJb25DaGVja2JveEVsZW1lbnQ+KFxuICAgICAgJ2lvbi10b2dnbGU6bm90KFtkaXNhYmxlZF0pLCBpb24tY2hlY2tib3g6bm90KFtkaXNhYmxlZF0pLCBpb24tcmFkaW86bm90KFtkaXNhYmxlZF0pJ1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUtleURvd25Gb3JDbG9zZWRNZW51KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICBjYXNlICcgJzpcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIHRoaXMucHJldmVudERlZmF1bHRBbmRTdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCA9IDA7XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LnNob3coKTtcbiAgICAgICAgdGhpcy5mb2N1c0l0ZW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5wcmV2ZW50RGVmYXVsdEFuZFN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbihldmVudCk7XG4gICAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gdGhpcy5raXJieUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LnNob3coKTtcbiAgICAgICAgdGhpcy5mb2N1c0l0ZW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duRm9yT3BlbmVkTWVudShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcblxuICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZEluZGV4ID09PSB0aGlzLmtpcmJ5SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMucHJldmVudERlZmF1bHRBbmRTdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkSW5kZXggPT09IDApIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCA9IHRoaXMua2lyYnlJdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZEluZGV4LS07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb2N1c0l0ZW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzoge1xuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZEluZGV4ID4gMCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gMDtcbiAgICAgICAgICB0aGlzLmZvY3VzSXRlbSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnRW5kJzoge1xuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZEluZGV4IDwgdGhpcy5raXJieUl0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCA9IHRoaXMua2lyYnlJdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPbkVzY2FwZUtleSkge1xuICAgICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LmhpZGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGlmIChTdHJpbmdTZWFyY2hIZWxwZXIuaXNQcmludGFibGVDaGFyYWN0ZXIoa2V5KSkge1xuICAgICAgICAgIHRoaXMucHJldmVudERlZmF1bHRBbmRTdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZGV4ID0gdGhpcy5nZXRJbmRleE9mSXRlbUJ5Rmlyc3RDaGFyYWN0ZXIoa2V5KTtcbiAgICAgICAgICBpZiAoZm91bmRJdGVtSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkSW5kZXggPSBmb3VuZEl0ZW1JbmRleDtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbmRleE9mSXRlbUJ5Rmlyc3RDaGFyYWN0ZXIoY2hhcjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFN0cmluZ1NlYXJjaEhlbHBlci5nZXRJbmRleEJ5Rmlyc3RNYXRjaGluZ1N0YXJ0U3RyaW5nKFxuICAgICAgY2hhcixcbiAgICAgIHRoaXMua2lyYnlJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ubmF0aXZlRWxlbWVudC5pbm5lclRleHQpLFxuICAgICAgdGhpcy5mb2N1c2VkSW5kZXggKyAxXG4gICAgKTtcbiAgfVxuXG4gIGZvY3VzSXRlbSgpIHtcbiAgICBjb25zdCBpdGVtVG9CZUZvY3VzZWQgPSB0aGlzLmtpcmJ5SXRlbXMuZ2V0KHRoaXMuZm9jdXNlZEluZGV4KTtcbiAgICBjb25zdCBpb25JdGVtID0gaXRlbVRvQmVGb2N1c2VkLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWl0ZW0nKTtcblxuICAgIC8vIExvb2sgZm9yIGludGVyYWN0aXZlIGVsZW1lbnQgd2l0aGluIGlvbi1pdGVtIGxpa2UgdG9nZ2xlIG9yIGNoZWNrYm94IGFuZCBzZXQgZm9jdXMgaWYgZm91bmRcbiAgICBjb25zdCBmaXJzdEludGVyYWN0aXZlRWxlbWVudFdpdGhpbkl0ZW0gPSB0aGlzLmdldEZpcnN0SW50ZXJhY3RpdmVFbGVtZW50KGlvbkl0ZW0pO1xuICAgIGlmIChmaXJzdEludGVyYWN0aXZlRWxlbWVudFdpdGhpbkl0ZW0pIHtcbiAgICAgIGZpcnN0SW50ZXJhY3RpdmVFbGVtZW50V2l0aGluSXRlbS5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzU2VsZWN0YWJsZUl0ZW0oaW9uSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1NlbGVjdGFibGVJdGVtKGlvbkl0ZW06IEhUTUxJb25JdGVtRWxlbWVudCkge1xuICAgIGNvbnN0IG5hdGl2ZUJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgPVxuICAgICAgaW9uSXRlbS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbjpub3QoW2Rpc2FibGVkXSknKTtcbiAgICBuYXRpdmVCdXR0b24/LmZvY3VzKCk7XG4gIH1cblxuICBnZXRUcmlnZ2VyQnV0dG9uKCk6IEhUTUxCdXR0b25FbGVtZW50IHtcbiAgICByZXR1cm4gKHRoaXMudXNlclByb3ZpZGVkQnV0dG9uID8/IHRoaXMuZGVmYXVsdEJ1dHRvbkVsZW1lbnQpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gU2V0cyB0aGUgdXBkYXRlZCByZWZlcmVuY2UgZm9yIGtpcmJ5LWZsb2F0aW5nXG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgLypcbiAgICAgICAqIExpc3RlbiBmb3IgaW9uU2Nyb2xsIG91dHNpZGUgb2YgQW5ndWxhcidzIGNoYW5nZSBkZXRlY3Rpb24gdG9cbiAgICAgICAqIGF2b2lkIGEgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSBmb3IgZXZlcnkgc2Nyb2xsLWV2ZW50IGZpcmVkXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcG9zZUlvblNjcm9sbExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oZG9jdW1lbnQsICdpb25TY3JvbGwnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LmhpZGUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuZm9yd2FyZEFyaWFMYWJlbFRvVHJpZ2dlckJ1dHRvbigpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0Um9sZUF0dHJpYnV0ZUZvckFsbEl0ZW1zKCk7XG4gICAgdGhpcy5zZXRVc2VyUHJvdmlkZWRCdXR0b25BcmlhQXR0cmlidXRlcygpO1xuICAgIHRoaXMuZW5zdXJlU2VsZWN0YWJsZU9uSXRlbXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9yd2FyZEFyaWFMYWJlbFRvVHJpZ2dlckJ1dHRvbigpIHtcbiAgICBmb3J3YXJkQXR0cmlidXRlcyhcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5fYXR0cmlidXRlc1RvRm9yd2FyZCxcbiAgICAgIHRoaXMucmVuZGVyZXIsXG4gICAgICB0aGlzLmdldFRyaWdnZXJCdXR0b24oKVxuICAgICk7XG4gIH1cblxuICBlbnN1cmVTZWxlY3RhYmxlT25JdGVtcygpIHtcbiAgICB0aGlzLmtpcmJ5SXRlbUNvbXBvbmVudHMuZm9yRWFjaCgoaXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgaWYgKGl0ZW1Db21wb25lbnQuc2VsZWN0YWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGl0ZW1Db21wb25lbnQuc2VsZWN0YWJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJvbGVBdHRyaWJ1dGVGb3JBbGxJdGVtcygpIHtcbiAgICB0aGlzLmtpcmJ5SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5zZXRSb2xlQXR0cmlidXRlRm9ySXRlbShpdGVtLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRSb2xlQXR0cmlidXRlRm9ySXRlbShpdGVtOiBIVE1MRWxlbWVudCkge1xuICAgIGxldCBtZW51SXRlbVJvbGUgPSAnbWVudWl0ZW0nO1xuICAgIGlmIChpdGVtLm1hdGNoZXMoJzpoYXMoa2lyYnktdG9nZ2xlLCBraXJieS1jaGVja2JveCknKSkge1xuICAgICAgbWVudUl0ZW1Sb2xlID0gJ21lbnVpdGVtY2hlY2tib3gnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5tYXRjaGVzKCc6aGFzKGtpcmJ5LXJhZGlvKScpKSB7XG4gICAgICBtZW51SXRlbVJvbGUgPSAnbWVudWl0ZW1yYWRpbyc7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGl0ZW0sICdyb2xlJywgbWVudUl0ZW1Sb2xlKTtcbiAgfVxuXG4gIG1lbnVWaXNpYmlsaXR5Q2hhbmdlZChtZW51SXNTaG93bjogYm9vbGVhbikge1xuICAgIHRoaXMuZmxvYXRpbmdNZW51SXNTaG93biA9IG1lbnVJc1Nob3duO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZ2V0VHJpZ2dlckJ1dHRvbigpLCAnYXJpYS1leHBhbmRlZCcsIG1lbnVJc1Nob3duLnRvU3RyaW5nKCkpO1xuICAgIGlmICghbWVudUlzU2hvd24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gLTE7XG4gICAgICB0aGlzLmdldFRyaWdnZXJCdXR0b24oKS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlclByb3ZpZGVkQnV0dG9uQXJpYUF0dHJpYnV0ZXMoKSB7XG4gICAgaWYgKCF0aGlzLnVzZXJQcm92aWRlZEJ1dHRvbikgcmV0dXJuO1xuXG4gICAgY29uc3QgYnV0dG9uID0gdGhpcy51c2VyUHJvdmlkZWRCdXR0b24ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoYnV0dG9uLmlkKSB7XG4gICAgICB0aGlzLnRyaWdnZXJCdXR0b25JZCA9IGJ1dHRvbi5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnV0dG9uLCAnaWQnLCB0aGlzLnRyaWdnZXJCdXR0b25JZCk7XG4gICAgfVxuICAgIGlmICghYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXR0b24sICdhcmlhLWNvbnRyb2xzJywgdGhpcy5tZW51SWQpO1xuICAgIH1cbiAgICBpZiAoIWJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnV0dG9uLCAnYXJpYS1oYXNwb3B1cCcsICd0cnVlJyk7XG4gICAgfVxuICAgIGlmICghYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXR0b24sICdhcmlhLWxhYmVsJywgdGhpcy50cmFuc2xhdGlvbnMuZ2V0KCdtb3JlJykpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZUlvblNjcm9sbExpc3RlbmVyPy4oKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIiAjYnV0dG9uQ29udGFpbmVyPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJidXR0b25ba2lyYnktYnV0dG9uXVwiPjwvbmctY29udGVudD5cbiAgQGlmICghdXNlclByb3ZpZGVkQnV0dG9uKSB7XG4gICAgPGJ1dHRvblxuICAgICAgI2RlZmF1bHRCdXR0b25cbiAgICAgIFtpZF09XCJ0cmlnZ2VyQnV0dG9uSWRcIlxuICAgICAga2lyYnktYnV0dG9uXG4gICAgICBbc2l6ZV09XCJidXR0b25TaXplXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dGVudGlvbkxldmVsXT1cImF0dGVudGlvbkxldmVsXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibWVudUlkXCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyYW5zbGF0aW9ucy5nZXQoJ21vcmUnKVwiXG4gICAgPlxuICAgICAgPGtpcmJ5LWljb24gW25hbWVdPVwiJ21vcmUnXCI+PC9raXJieS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbjxraXJieS1jYXJkXG4gIFtpZF09XCJtZW51SWRcIlxuICBraXJieUZsb2F0aW5nXG4gIFtzdHJhdGVneV09XCInZml4ZWQnXCJcbiAgW3JlZmVyZW5jZV09XCJidXR0b25Db250YWluZXJFbGVtZW50XCJcbiAgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIFt0cmlnZ2Vyc109XCJ0cmlnZ2Vyc1wiXG4gIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgW0RPTVBvcnRhbE91dGxldF09XCJET01Qb3J0YWxPdXRsZXRcIlxuICBbcG9ydGFsT3V0bGV0Q29uZmlnXT1cInBvcnRhbE91dGxldENvbmZpZ1wiXG4gIFtjbG9zZU9uQmFja2Ryb3BdPVwiY2xvc2VPbkJhY2tkcm9wXCJcbiAgW2Nsb3NlT25Fc2NhcGVLZXldPVwiY2xvc2VPbkVzY2FwZUtleVwiXG4gIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICBbYXV0b1BsYWNlbWVudF09XCJhdXRvUGxhY2VtZW50XCJcbiAgW3NoaWZ0XT1cInNoaWZ0XCJcbiAgW3N0eWxlLm1pbldpZHRoXT1cIm1pbldpZHRoID8gbWluV2lkdGggKyAncHgnIDogbnVsbFwiXG4gIGNsYXNzPVwibWVudS1wb3BvdmVyXCJcbiAgKGtleWRvd24pPVwiX29uS2V5ZG93bigkZXZlbnQpXCJcbiAgKGRpc3BsYXlDaGFuZ2VkKT1cIm1lbnVWaXNpYmlsaXR5Q2hhbmdlZCgkZXZlbnQpXCJcbiAgcm9sZT1cIm1lbnVcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidHJpZ2dlckJ1dHRvbklkXCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2lyYnktaXRlbVwiPjwvbmctY29udGVudD5cbjwva2lyYnktY2FyZD5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLW1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9tZW51L3NyYy9raXJieWRlc2lnbi1kZXNpZ25zeXN0ZW0tbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kirbydesign-designsystem-menu.mjs","sources":["../tmp-esm2022/menu/menu.component.js","../tmp-esm2022/menu/kirbydesign-designsystem-menu.js"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, HostListener, Input, ViewChild, } from '@angular/core';\nimport { ItemComponent, ItemModule } from '@kirbydesign/designsystem/item';\nimport { CardModule } from '@kirbydesign/designsystem/card';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { ButtonComponent, ButtonSize } from '@kirbydesign/designsystem/button';\nimport { FloatingDirective, FloatingOffset, } from '@kirbydesign/designsystem/shared/floating';\nimport { StringSearchHelper, UniqueIdGenerator } from '@kirbydesign/designsystem/helpers';\nimport { forwardAttributes } from '@kirbydesign/designsystem/shared';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@kirbydesign/designsystem/shared\";\nimport * as i2 from \"@kirbydesign/designsystem/icon\";\nimport * as i3 from \"@kirbydesign/designsystem/card\";\nexport class MenuComponent {\n constructor(cdr, elementRef, zone, renderer, translations) {\n this.cdr = cdr;\n this.elementRef = elementRef;\n this.zone = zone;\n this.renderer = renderer;\n this.translations = translations;\n this.menuId = UniqueIdGenerator.scopedTo('kirby-menu').next();\n this.triggerButtonId = UniqueIdGenerator.scopedTo('kirby-menu-trigger-button').next();\n this._attributesToForward = ['aria-label', 'aria-labelledby'];\n this.isDisabled = false;\n this.buttonSize = ButtonSize.MD;\n this.placement = 'bottom-start';\n this.attentionLevel = '3';\n this.triggers = ['click'];\n this.DOMPortalOutlet = this.elementRef.nativeElement.ownerDocument.body;\n this.autoPlacement = false;\n this.closeOnSelect = true;\n this.closeOnEscapeKey = true;\n this.closeOnBackdrop = true;\n this.shift = true;\n this.floatingMenuIsShown = false;\n this.FloatingOffset = FloatingOffset;\n this.focusedIndex = -1;\n }\n _onKeydown(event) {\n if (this.kirbyItems.length === 0) {\n console.warn('[Kirby] No items found within menu');\n return;\n }\n if (this.floatingMenuIsShown) {\n this.handleKeyDownForOpenedMenu(event);\n }\n else {\n this.handleKeyDownForClosedMenu(event);\n }\n }\n _onClick() {\n if (!this.floatingMenuIsShown)\n return;\n this.focusedIndex = 0;\n this.focusItem();\n }\n preventDefaultAndStopImmediatePropagation(event) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n getFirstInteractiveElement(el) {\n return el.querySelector('ion-toggle:not([disabled]), ion-checkbox:not([disabled]), ion-radio:not([disabled])');\n }\n handleKeyDownForClosedMenu(event) {\n const key = event.key;\n switch (key) {\n case ' ':\n case 'Enter':\n case 'ArrowDown':\n this.preventDefaultAndStopImmediatePropagation(event);\n this.focusedIndex = 0;\n this.floatingMenu.show();\n this.focusItem();\n break;\n case 'ArrowUp':\n this.preventDefaultAndStopImmediatePropagation(event);\n this.focusedIndex = this.kirbyItems.length - 1;\n this.floatingMenu.show();\n this.focusItem();\n break;\n }\n }\n handleKeyDownForOpenedMenu(event) {\n const key = event.key;\n switch (key) {\n case 'ArrowDown':\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex === this.kirbyItems.length - 1) {\n this.focusedIndex = 0;\n }\n else {\n this.focusedIndex++;\n }\n this.focusItem();\n break;\n case 'ArrowUp':\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex === 0) {\n this.focusedIndex = this.kirbyItems.length - 1;\n }\n else {\n this.focusedIndex--;\n }\n this.focusItem();\n break;\n case 'Home': {\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex > 0) {\n this.focusedIndex = 0;\n this.focusItem();\n }\n break;\n }\n case 'End': {\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.focusedIndex < this.kirbyItems.length - 1) {\n this.focusedIndex = this.kirbyItems.length - 1;\n this.focusItem();\n }\n break;\n }\n case 'Escape':\n this.preventDefaultAndStopImmediatePropagation(event);\n if (this.closeOnEscapeKey) {\n this.floatingMenu.hide();\n }\n break;\n case 'Tab':\n this.floatingMenu.hide();\n break;\n default: {\n if (StringSearchHelper.isPrintableCharacter(key)) {\n this.preventDefaultAndStopImmediatePropagation(event);\n const foundItemIndex = this.getIndexOfItemByFirstCharacter(key);\n if (foundItemIndex > -1) {\n this.focusedIndex = foundItemIndex;\n this.focusItem();\n }\n }\n }\n }\n }\n getIndexOfItemByFirstCharacter(char) {\n return StringSearchHelper.getIndexByFirstMatchingStartString(char, this.kirbyItems.map((item) => item.nativeElement.innerText), this.focusedIndex + 1);\n }\n focusItem() {\n const itemToBeFocused = this.kirbyItems.get(this.focusedIndex);\n const ionItem = itemToBeFocused.nativeElement.querySelector('ion-item');\n // Look for interactive element within ion-item like toggle or checkbox and set focus if found\n const firstInteractiveElementWithinItem = this.getFirstInteractiveElement(ionItem);\n if (firstInteractiveElementWithinItem) {\n firstInteractiveElementWithinItem.focus();\n }\n else {\n this.focusSelectableItem(ionItem);\n }\n }\n focusSelectableItem(ionItem) {\n const nativeButton = ionItem.shadowRoot.querySelector('button:not([disabled])');\n nativeButton?.focus();\n }\n getTriggerButton() {\n return (this.userProvidedButton ?? this.defaultButtonElement).nativeElement;\n }\n ngAfterViewInit() {\n this.cdr.detectChanges(); // Sets the updated reference for kirby-floating\n this.zone.runOutsideAngular(() => {\n /*\n * Listen for ionScroll outside of Angular's change detection to\n * avoid a change detection cycle for every scroll-event fired\n */\n this.disposeIonScrollListener = this.renderer.listen(document, 'ionScroll', () => {\n this.floatingMenu.hide();\n });\n });\n this.forwardAriaLabelToTriggerButton();\n }\n ngAfterContentInit() {\n this.setRoleAttributeForAllItems();\n this.setUserProvidedButtonAriaAttributes();\n this.ensureSelectableOnItems();\n }\n forwardAriaLabelToTriggerButton() {\n forwardAttributes(this.elementRef.nativeElement, this._attributesToForward, this.renderer, this.getTriggerButton());\n }\n ensureSelectableOnItems() {\n this.kirbyItemComponents.forEach((itemComponent) => {\n if (itemComponent.selectable === undefined) {\n itemComponent.selectable = true;\n }\n });\n }\n setRoleAttributeForAllItems() {\n this.kirbyItems.forEach((item) => {\n this.setRoleAttributeForItem(item.nativeElement);\n });\n }\n setRoleAttributeForItem(item) {\n let menuItemRole = 'menuitem';\n if (item.matches(':has(kirby-toggle, kirby-checkbox)')) {\n menuItemRole = 'menuitemcheckbox';\n }\n else if (item.matches(':has(kirby-radio)')) {\n menuItemRole = 'menuitemradio';\n }\n this.renderer.setAttribute(item, 'role', menuItemRole);\n }\n menuVisibilityChanged(menuIsShown) {\n this.floatingMenuIsShown = menuIsShown;\n this.renderer.setAttribute(this.getTriggerButton(), 'aria-expanded', menuIsShown.toString());\n if (!menuIsShown) {\n this.focusedIndex = -1;\n this.getTriggerButton().focus();\n }\n }\n setUserProvidedButtonAriaAttributes() {\n if (!this.userProvidedButton)\n return;\n const button = this.userProvidedButton.nativeElement;\n if (button.id) {\n this.triggerButtonId = button.id;\n }\n else {\n this.renderer.setAttribute(button, 'id', this.triggerButtonId);\n }\n if (!button.getAttribute('aria-controls')) {\n this.renderer.setAttribute(button, 'aria-controls', this.menuId);\n }\n if (!button.getAttribute('aria-haspopup')) {\n this.renderer.setAttribute(button, 'aria-haspopup', 'true');\n }\n if (!button.getAttribute('aria-label')) {\n this.renderer.setAttribute(button, 'aria-label', this.translations.get('more'));\n }\n }\n ngOnDestroy() {\n this.disposeIonScrollListener?.();\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: MenuComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.2\", type: MenuComponent, isStandalone: true, selector: \"kirby-menu\", inputs: { isDisabled: \"isDisabled\", buttonSize: \"buttonSize\", placement: \"placement\", attentionLevel: \"attentionLevel\", triggers: \"triggers\", DOMPortalOutlet: \"DOMPortalOutlet\", portalOutletConfig: \"portalOutletConfig\", autoPlacement: \"autoPlacement\", closeOnSelect: \"closeOnSelect\", closeOnEscapeKey: \"closeOnEscapeKey\", closeOnBackdrop: \"closeOnBackdrop\", shift: \"shift\", minWidth: \"minWidth\" }, host: { listeners: { \"keydown\": \"_onKeydown($event)\", \"click\": \"_onClick($event)\" } }, queries: [{ propertyName: \"userProvidedButton\", first: true, predicate: ButtonComponent, descendants: true, read: ElementRef }, { propertyName: \"kirbyItems\", predicate: ItemComponent, read: ElementRef }, { propertyName: \"kirbyItemComponents\", predicate: ItemComponent }], viewQueries: [{ propertyName: \"buttonContainerElement\", first: true, predicate: [\"buttonContainer\"], descendants: true, read: ElementRef }, { propertyName: \"defaultButtonElement\", first: true, predicate: [\"defaultButton\"], descendants: true, read: ElementRef }, { propertyName: \"floatingMenu\", first: true, predicate: FloatingDirective, descendants: true }], ngImport: i0, template: \"<div class=\\\"button-container\\\" #buttonContainer>\\n <ng-content select=\\\"button[kirby-button]\\\"></ng-content>\\n @if (!userProvidedButton) {\\n <button\\n #defaultButton\\n [id]=\\\"triggerButtonId\\\"\\n kirby-button\\n [size]=\\\"buttonSize\\\"\\n [disabled]=\\\"isDisabled\\\"\\n type=\\\"button\\\"\\n [attentionLevel]=\\\"attentionLevel\\\"\\n aria-haspopup=\\\"true\\\"\\n [attr.aria-controls]=\\\"menuId\\\"\\n aria-expanded=\\\"false\\\"\\n [attr.aria-label]=\\\"translations.get('more')\\\"\\n >\\n <kirby-icon [name]=\\\"'more'\\\"></kirby-icon>\\n </button>\\n }\\n</div>\\n<kirby-card\\n [id]=\\\"menuId\\\"\\n kirbyFloating\\n [strategy]=\\\"'fixed'\\\"\\n [reference]=\\\"buttonContainerElement\\\"\\n [isDisabled]=\\\"isDisabled\\\"\\n [triggers]=\\\"triggers\\\"\\n [placement]=\\\"placement\\\"\\n [DOMPortalOutlet]=\\\"DOMPortalOutlet\\\"\\n [portalOutletConfig]=\\\"portalOutletConfig\\\"\\n [closeOnBackdrop]=\\\"closeOnBackdrop\\\"\\n [closeOnEscapeKey]=\\\"closeOnEscapeKey\\\"\\n [closeOnSelect]=\\\"closeOnSelect\\\"\\n [autoPlacement]=\\\"autoPlacement\\\"\\n [shift]=\\\"shift\\\"\\n [style.minWidth]=\\\"minWidth ? minWidth + 'px' : null\\\"\\n class=\\\"menu-popover\\\"\\n (keydown)=\\\"_onKeydown($event)\\\"\\n (displayChanged)=\\\"menuVisibilityChanged($event)\\\"\\n role=\\\"menu\\\"\\n [attr.aria-labelledby]=\\\"triggerButtonId\\\"\\n>\\n <ng-content select=\\\"kirby-item\\\"></ng-content>\\n</kirby-card>\\n\", styles: [\":host{position:relative}.button-container{display:inline-block}kirby-card{max-height:352px;overflow-y:auto;box-shadow:0 0 5px #1c1c1c0a,0 10px 15px -10px #1c1c1c26;min-width:240px;max-width:460px}\\n\"], dependencies: [{ kind: \"component\", type: ButtonComponent, selector: \"button[kirby-button],Button[kirby-button],a[kirby-button]\", inputs: [\"attentionLevel\", \"noDecoration\", \"themeColor\", \"expand\", \"isFloating\", \"size\", \"showIconOnly\"] }, { kind: \"directive\", type: FloatingDirective, selector: \"[kirbyFloating]\", inputs: [\"reference\", \"placement\", \"strategy\", \"triggers\", \"DOMPortalOutlet\", \"portalOutletConfig\", \"isDisabled\", \"offset\", \"shift\", \"autoPlacement\", \"closeOnSelect\", \"closeOnEscapeKey\", \"closeOnBackdrop\"], outputs: [\"displayChanged\"] }, { kind: \"ngmodule\", type: IconModule }, { kind: \"component\", type: i2.IconComponent, selector: \"kirby-icon\", inputs: [\"size\", \"name\"] }, { kind: \"ngmodule\", type: CardModule }, { kind: \"component\", type: i3.CardComponent, selector: \"kirby-card\", inputs: [\"title\", \"subtitle\", \"backgroundImageUrl\", \"hasPadding\", \"sizes\", \"variant\"] }, { kind: \"ngmodule\", type: ItemModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: MenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'kirby-menu', imports: [ButtonComponent, FloatingDirective, IconModule, CardModule, ItemModule], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"button-container\\\" #buttonContainer>\\n <ng-content select=\\\"button[kirby-button]\\\"></ng-content>\\n @if (!userProvidedButton) {\\n <button\\n #defaultButton\\n [id]=\\\"triggerButtonId\\\"\\n kirby-button\\n [size]=\\\"buttonSize\\\"\\n [disabled]=\\\"isDisabled\\\"\\n type=\\\"button\\\"\\n [attentionLevel]=\\\"attentionLevel\\\"\\n aria-haspopup=\\\"true\\\"\\n [attr.aria-controls]=\\\"menuId\\\"\\n aria-expanded=\\\"false\\\"\\n [attr.aria-label]=\\\"translations.get('more')\\\"\\n >\\n <kirby-icon [name]=\\\"'more'\\\"></kirby-icon>\\n </button>\\n }\\n</div>\\n<kirby-card\\n [id]=\\\"menuId\\\"\\n kirbyFloating\\n [strategy]=\\\"'fixed'\\\"\\n [reference]=\\\"buttonContainerElement\\\"\\n [isDisabled]=\\\"isDisabled\\\"\\n [triggers]=\\\"triggers\\\"\\n [placement]=\\\"placement\\\"\\n [DOMPortalOutlet]=\\\"DOMPortalOutlet\\\"\\n [portalOutletConfig]=\\\"portalOutletConfig\\\"\\n [closeOnBackdrop]=\\\"closeOnBackdrop\\\"\\n [closeOnEscapeKey]=\\\"closeOnEscapeKey\\\"\\n [closeOnSelect]=\\\"closeOnSelect\\\"\\n [autoPlacement]=\\\"autoPlacement\\\"\\n [shift]=\\\"shift\\\"\\n [style.minWidth]=\\\"minWidth ? minWidth + 'px' : null\\\"\\n class=\\\"menu-popover\\\"\\n (keydown)=\\\"_onKeydown($event)\\\"\\n (displayChanged)=\\\"menuVisibilityChanged($event)\\\"\\n role=\\\"menu\\\"\\n [attr.aria-labelledby]=\\\"triggerButtonId\\\"\\n>\\n <ng-content select=\\\"kirby-item\\\"></ng-content>\\n</kirby-card>\\n\", styles: [\":host{position:relative}.button-container{display:inline-block}kirby-card{max-height:352px;overflow-y:auto;box-shadow:0 0 5px #1c1c1c0a,0 10px 15px -10px #1c1c1c26;min-width:240px;max-width:460px}\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i1.TranslationService }], propDecorators: { isDisabled: [{\n type: Input\n }], buttonSize: [{\n type: Input\n }], placement: [{\n type: Input\n }], attentionLevel: [{\n type: Input\n }], triggers: [{\n type: Input\n }], DOMPortalOutlet: [{\n type: Input\n }], portalOutletConfig: [{\n type: Input\n }], autoPlacement: [{\n type: Input\n }], closeOnSelect: [{\n type: Input\n }], closeOnEscapeKey: [{\n type: Input\n }], closeOnBackdrop: [{\n type: Input\n }], shift: [{\n type: Input\n }], minWidth: [{\n type: Input\n }], buttonContainerElement: [{\n type: ViewChild,\n args: ['buttonContainer', { read: ElementRef }]\n }], defaultButtonElement: [{\n type: ViewChild,\n args: ['defaultButton', { read: ElementRef }]\n }], userProvidedButton: [{\n type: ContentChild,\n args: [ButtonComponent, { read: ElementRef }]\n }], floatingMenu: [{\n type: ViewChild,\n args: [FloatingDirective]\n }], kirbyItems: [{\n type: ContentChildren,\n args: [ItemComponent, { read: ElementRef }]\n }], kirbyItemComponents: [{\n type: ContentChildren,\n args: [ItemComponent]\n }], _onKeydown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], _onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFLTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBa0IsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9GLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsY0FBYyxHQUdmLE1BQU0sMkNBQTJDLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixNQUFNLGtDQUFrQyxDQUFDOzs7OztBQVN6RixNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUNVLEdBQXNCLEVBQ3RCLFVBQW1DLEVBQ25DLElBQVksRUFDWixRQUFtQixFQUNwQixZQUFnQztRQUovQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNwQixpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFUaEMsV0FBTSxHQUFXLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxZQUFZLENB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VSxhQUFhO3NCQUE1QixLQUFLO2dCQUVVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFFVSxlQUFlO3NCQUE5QixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSztnQkFHQyxzQkFBc0I7c0JBRDVCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUkzQyxvQkFBb0I7c0JBRDFCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFHWSxrQkFBa0I7c0JBQTdFLFlBQVk7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFLM0MsWUFBWTtzQkFEbkIsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBR2lDLFVBQVU7c0JBQXRFLGVBQWU7dUJBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFJYixtQkFBbUI7c0JBQXpELGVBQWU7dUJBQUMsYUFBYTtnQkFROUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjbkMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZsb2F0aW5nLXVpL2RvbSc7XG5cbmltcG9ydCB7IEl0ZW1Db21wb25lbnQsIEl0ZW1Nb2R1bGUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2l0ZW0nO1xuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ0BraXJieWRlc2lnbi9kZXNpZ25zeXN0ZW0vY2FyZCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9pY29uJztcbmltcG9ydCB7IEF0dGVudGlvbkxldmVsLCBCdXR0b25Db21wb25lbnQsIEJ1dHRvblNpemUgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL2J1dHRvbic7XG5pbXBvcnQge1xuICBGbG9hdGluZ0RpcmVjdGl2ZSxcbiAgRmxvYXRpbmdPZmZzZXQsXG4gIFBvcnRhbE91dGxldENvbmZpZyxcbiAgVHJpZ2dlckV2ZW50LFxufSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZC9mbG9hdGluZyc7XG5pbXBvcnQgeyBFdmVudExpc3RlbmVyRGlzcG9zZUZuIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS90eXBlcyc7XG5pbXBvcnQgeyBTdHJpbmdTZWFyY2hIZWxwZXIsIFVuaXF1ZUlkR2VuZXJhdG9yIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2Rlc2lnbnN5c3RlbS9oZWxwZXJzJztcbmltcG9ydCB7IGZvcndhcmRBdHRyaWJ1dGVzLCBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAa2lyYnlkZXNpZ24vZGVzaWduc3lzdGVtL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpcmJ5LW1lbnUnLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBGbG9hdGluZ0RpcmVjdGl2ZSwgSWNvbk1vZHVsZSwgQ2FyZE1vZHVsZSwgSXRlbU1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IG1lbnVJZDogc3RyaW5nID0gVW5pcXVlSWRHZW5lcmF0b3Iuc2NvcGVkVG8oJ2tpcmJ5LW1lbnUnKS5uZXh0KCk7XG4gIHRyaWdnZXJCdXR0b25JZDogc3RyaW5nID0gVW5pcXVlSWRHZW5lcmF0b3Iuc2NvcGVkVG8oJ2tpcmJ5LW1lbnUtdHJpZ2dlci1idXR0b24nKS5uZXh0KCk7XG4gIHByaXZhdGUgX2F0dHJpYnV0ZXNUb0ZvcndhcmQgPSBbJ2FyaWEtbGFiZWwnLCAnYXJpYS1sYWJlbGxlZGJ5J107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHB1YmxpYyB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uU2VydmljZVxuICApIHt9XG5cbiAgQElucHV0KCkgcHVibGljIGlzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgYnV0dG9uU2l6ZTogQnV0dG9uU2l6ZSA9IEJ1dHRvblNpemUuTUQ7XG5cbiAgQElucHV0KCkgcHVibGljIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbS1zdGFydCc7XG5cbiAgQElucHV0KCkgcHVibGljIGF0dGVudGlvbkxldmVsOiBBdHRlbnRpb25MZXZlbCA9ICczJztcblxuICBASW5wdXQoKSBwdWJsaWMgdHJpZ2dlcnM6IEFycmF5PFRyaWdnZXJFdmVudD4gPSBbJ2NsaWNrJ107XG5cbiAgQElucHV0KCkgcHVibGljIERPTVBvcnRhbE91dGxldDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5vd25lckRvY3VtZW50LmJvZHk7XG5cbiAgQElucHV0KCkgcHVibGljIHBvcnRhbE91dGxldENvbmZpZzogUG9ydGFsT3V0bGV0Q29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBhdXRvUGxhY2VtZW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcHVibGljIGNsb3NlT25TZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjbG9zZU9uRXNjYXBlS2V5OiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBwdWJsaWMgY2xvc2VPbkJhY2tkcm9wOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hpZnQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSB3aWR0aCBvZiB0aGUgbWVudS4gSWYgbm90IHNldCwgdGhlIGRlZmF1bHQgd2lkdGggaXMgMjQwcHhcbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5XaWR0aDogbnVtYmVyO1xuXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkNvbnRhaW5lcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgYnV0dG9uQ29udGFpbmVyRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZCgnZGVmYXVsdEJ1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBwdWJsaWMgZGVmYXVsdEJ1dHRvbkVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGQoQnV0dG9uQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHVibGljIHVzZXJQcm92aWRlZEJ1dHRvbjpcbiAgICB8IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgQFZpZXdDaGlsZChGbG9hdGluZ0RpcmVjdGl2ZSlcbiAgcHJpdmF0ZSBmbG9hdGluZ01lbnU6IEZsb2F0aW5nRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oSXRlbUNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIHB1YmxpYyBraXJieUl0ZW1zOiBRdWVyeUxpc3Q8XG4gICAgRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgPjtcblxuICBAQ29udGVudENoaWxkcmVuKEl0ZW1Db21wb25lbnQpIHB1YmxpYyBraXJieUl0ZW1Db21wb25lbnRzOiBRdWVyeUxpc3Q8SXRlbUNvbXBvbmVudD47XG5cbiAgcHVibGljIGZsb2F0aW5nTWVudUlzU2hvd246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIEZsb2F0aW5nT2Zmc2V0OiB0eXBlb2YgRmxvYXRpbmdPZmZzZXQgPSBGbG9hdGluZ09mZnNldDtcbiAgcHJpdmF0ZSBkaXNwb3NlSW9uU2Nyb2xsTGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJEaXNwb3NlRm47XG4gIHByaXZhdGUgZm9jdXNlZEluZGV4ID0gLTE7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIF9vbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5raXJieUl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS53YXJuKCdbS2lyYnldIE5vIGl0ZW1zIGZvdW5kIHdpdGhpbiBtZW51Jyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmZsb2F0aW5nTWVudUlzU2hvd24pIHtcbiAgICAgIHRoaXMuaGFuZGxlS2V5RG93bkZvck9wZW5lZE1lbnUoZXZlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhbmRsZUtleURvd25Gb3JDbG9zZWRNZW51KGV2ZW50KTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIF9vbkNsaWNrKCkge1xuICAgIGlmICghdGhpcy5mbG9hdGluZ01lbnVJc1Nob3duKSByZXR1cm47XG4gICAgdGhpcy5mb2N1c2VkSW5kZXggPSAwO1xuICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gIH1cblxuICBwcml2YXRlIHByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Rmlyc3RJbnRlcmFjdGl2ZUVsZW1lbnQoZWw6IEhUTUxJb25JdGVtRWxlbWVudCkge1xuICAgIHJldHVybiBlbC5xdWVyeVNlbGVjdG9yPEhUTUxJb25Ub2dnbGVFbGVtZW50IHwgSFRNTElvblJhZGlvRWxlbWVudCB8IEhUTUxJb25DaGVja2JveEVsZW1lbnQ+KFxuICAgICAgJ2lvbi10b2dnbGU6bm90KFtkaXNhYmxlZF0pLCBpb24tY2hlY2tib3g6bm90KFtkaXNhYmxlZF0pLCBpb24tcmFkaW86bm90KFtkaXNhYmxlZF0pJ1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUtleURvd25Gb3JDbG9zZWRNZW51KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICBjYXNlICcgJzpcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIHRoaXMucHJldmVudERlZmF1bHRBbmRTdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCA9IDA7XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LnNob3coKTtcbiAgICAgICAgdGhpcy5mb2N1c0l0ZW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5wcmV2ZW50RGVmYXVsdEFuZFN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbihldmVudCk7XG4gICAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gdGhpcy5raXJieUl0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LnNob3coKTtcbiAgICAgICAgdGhpcy5mb2N1c0l0ZW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duRm9yT3BlbmVkTWVudShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcblxuICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZEluZGV4ID09PSB0aGlzLmtpcmJ5SXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCsrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMucHJldmVudERlZmF1bHRBbmRTdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkSW5kZXggPT09IDApIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCA9IHRoaXMua2lyYnlJdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZEluZGV4LS07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb2N1c0l0ZW0oKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdIb21lJzoge1xuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZEluZGV4ID4gMCkge1xuICAgICAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gMDtcbiAgICAgICAgICB0aGlzLmZvY3VzSXRlbSgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnRW5kJzoge1xuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZEluZGV4IDwgdGhpcy5raXJieUl0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzZWRJbmRleCA9IHRoaXMua2lyYnlJdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdFc2NhcGUnOlxuICAgICAgICB0aGlzLnByZXZlbnREZWZhdWx0QW5kU3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPbkVzY2FwZUtleSkge1xuICAgICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LmhpZGUoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIGlmIChTdHJpbmdTZWFyY2hIZWxwZXIuaXNQcmludGFibGVDaGFyYWN0ZXIoa2V5KSkge1xuICAgICAgICAgIHRoaXMucHJldmVudERlZmF1bHRBbmRTdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oZXZlbnQpO1xuICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZGV4ID0gdGhpcy5nZXRJbmRleE9mSXRlbUJ5Rmlyc3RDaGFyYWN0ZXIoa2V5KTtcbiAgICAgICAgICBpZiAoZm91bmRJdGVtSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkSW5kZXggPSBmb3VuZEl0ZW1JbmRleDtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNJdGVtKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbmRleE9mSXRlbUJ5Rmlyc3RDaGFyYWN0ZXIoY2hhcjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFN0cmluZ1NlYXJjaEhlbHBlci5nZXRJbmRleEJ5Rmlyc3RNYXRjaGluZ1N0YXJ0U3RyaW5nKFxuICAgICAgY2hhcixcbiAgICAgIHRoaXMua2lyYnlJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ubmF0aXZlRWxlbWVudC5pbm5lclRleHQpLFxuICAgICAgdGhpcy5mb2N1c2VkSW5kZXggKyAxXG4gICAgKTtcbiAgfVxuXG4gIGZvY3VzSXRlbSgpIHtcbiAgICBjb25zdCBpdGVtVG9CZUZvY3VzZWQgPSB0aGlzLmtpcmJ5SXRlbXMuZ2V0KHRoaXMuZm9jdXNlZEluZGV4KTtcbiAgICBjb25zdCBpb25JdGVtID0gaXRlbVRvQmVGb2N1c2VkLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW9uLWl0ZW0nKTtcblxuICAgIC8vIExvb2sgZm9yIGludGVyYWN0aXZlIGVsZW1lbnQgd2l0aGluIGlvbi1pdGVtIGxpa2UgdG9nZ2xlIG9yIGNoZWNrYm94IGFuZCBzZXQgZm9jdXMgaWYgZm91bmRcbiAgICBjb25zdCBmaXJzdEludGVyYWN0aXZlRWxlbWVudFdpdGhpbkl0ZW0gPSB0aGlzLmdldEZpcnN0SW50ZXJhY3RpdmVFbGVtZW50KGlvbkl0ZW0pO1xuICAgIGlmIChmaXJzdEludGVyYWN0aXZlRWxlbWVudFdpdGhpbkl0ZW0pIHtcbiAgICAgIGZpcnN0SW50ZXJhY3RpdmVFbGVtZW50V2l0aGluSXRlbS5mb2N1cygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvY3VzU2VsZWN0YWJsZUl0ZW0oaW9uSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb2N1c1NlbGVjdGFibGVJdGVtKGlvbkl0ZW06IEhUTUxJb25JdGVtRWxlbWVudCkge1xuICAgIGNvbnN0IG5hdGl2ZUJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgPVxuICAgICAgaW9uSXRlbS5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbjpub3QoW2Rpc2FibGVkXSknKTtcbiAgICBuYXRpdmVCdXR0b24/LmZvY3VzKCk7XG4gIH1cblxuICBnZXRUcmlnZ2VyQnV0dG9uKCk6IEhUTUxCdXR0b25FbGVtZW50IHtcbiAgICByZXR1cm4gKHRoaXMudXNlclByb3ZpZGVkQnV0dG9uID8/IHRoaXMuZGVmYXVsdEJ1dHRvbkVsZW1lbnQpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gU2V0cyB0aGUgdXBkYXRlZCByZWZlcmVuY2UgZm9yIGtpcmJ5LWZsb2F0aW5nXG5cbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgLypcbiAgICAgICAqIExpc3RlbiBmb3IgaW9uU2Nyb2xsIG91dHNpZGUgb2YgQW5ndWxhcidzIGNoYW5nZSBkZXRlY3Rpb24gdG9cbiAgICAgICAqIGF2b2lkIGEgY2hhbmdlIGRldGVjdGlvbiBjeWNsZSBmb3IgZXZlcnkgc2Nyb2xsLWV2ZW50IGZpcmVkXG4gICAgICAgKi9cbiAgICAgIHRoaXMuZGlzcG9zZUlvblNjcm9sbExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oZG9jdW1lbnQsICdpb25TY3JvbGwnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuZmxvYXRpbmdNZW51LmhpZGUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuZm9yd2FyZEFyaWFMYWJlbFRvVHJpZ2dlckJ1dHRvbigpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0Um9sZUF0dHJpYnV0ZUZvckFsbEl0ZW1zKCk7XG4gICAgdGhpcy5zZXRVc2VyUHJvdmlkZWRCdXR0b25BcmlhQXR0cmlidXRlcygpO1xuICAgIHRoaXMuZW5zdXJlU2VsZWN0YWJsZU9uSXRlbXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZm9yd2FyZEFyaWFMYWJlbFRvVHJpZ2dlckJ1dHRvbigpIHtcbiAgICBmb3J3YXJkQXR0cmlidXRlcyhcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgdGhpcy5fYXR0cmlidXRlc1RvRm9yd2FyZCxcbiAgICAgIHRoaXMucmVuZGVyZXIsXG4gICAgICB0aGlzLmdldFRyaWdnZXJCdXR0b24oKVxuICAgICk7XG4gIH1cblxuICBlbnN1cmVTZWxlY3RhYmxlT25JdGVtcygpIHtcbiAgICB0aGlzLmtpcmJ5SXRlbUNvbXBvbmVudHMuZm9yRWFjaCgoaXRlbUNvbXBvbmVudCkgPT4ge1xuICAgICAgaWYgKGl0ZW1Db21wb25lbnQuc2VsZWN0YWJsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGl0ZW1Db21wb25lbnQuc2VsZWN0YWJsZSA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFJvbGVBdHRyaWJ1dGVGb3JBbGxJdGVtcygpIHtcbiAgICB0aGlzLmtpcmJ5SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5zZXRSb2xlQXR0cmlidXRlRm9ySXRlbShpdGVtLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRSb2xlQXR0cmlidXRlRm9ySXRlbShpdGVtOiBIVE1MRWxlbWVudCkge1xuICAgIGxldCBtZW51SXRlbVJvbGUgPSAnbWVudWl0ZW0nO1xuICAgIGlmIChpdGVtLm1hdGNoZXMoJzpoYXMoa2lyYnktdG9nZ2xlLCBraXJieS1jaGVja2JveCknKSkge1xuICAgICAgbWVudUl0ZW1Sb2xlID0gJ21lbnVpdGVtY2hlY2tib3gnO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5tYXRjaGVzKCc6aGFzKGtpcmJ5LXJhZGlvKScpKSB7XG4gICAgICBtZW51SXRlbVJvbGUgPSAnbWVudWl0ZW1yYWRpbyc7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGl0ZW0sICdyb2xlJywgbWVudUl0ZW1Sb2xlKTtcbiAgfVxuXG4gIG1lbnVWaXNpYmlsaXR5Q2hhbmdlZChtZW51SXNTaG93bjogYm9vbGVhbikge1xuICAgIHRoaXMuZmxvYXRpbmdNZW51SXNTaG93biA9IG1lbnVJc1Nob3duO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZ2V0VHJpZ2dlckJ1dHRvbigpLCAnYXJpYS1leHBhbmRlZCcsIG1lbnVJc1Nob3duLnRvU3RyaW5nKCkpO1xuICAgIGlmICghbWVudUlzU2hvd24pIHtcbiAgICAgIHRoaXMuZm9jdXNlZEluZGV4ID0gLTE7XG4gICAgICB0aGlzLmdldFRyaWdnZXJCdXR0b24oKS5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0VXNlclByb3ZpZGVkQnV0dG9uQXJpYUF0dHJpYnV0ZXMoKSB7XG4gICAgaWYgKCF0aGlzLnVzZXJQcm92aWRlZEJ1dHRvbikgcmV0dXJuO1xuXG4gICAgY29uc3QgYnV0dG9uID0gdGhpcy51c2VyUHJvdmlkZWRCdXR0b24ubmF0aXZlRWxlbWVudDtcbiAgICBpZiAoYnV0dG9uLmlkKSB7XG4gICAgICB0aGlzLnRyaWdnZXJCdXR0b25JZCA9IGJ1dHRvbi5pZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnV0dG9uLCAnaWQnLCB0aGlzLnRyaWdnZXJCdXR0b25JZCk7XG4gICAgfVxuICAgIGlmICghYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1jb250cm9scycpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXR0b24sICdhcmlhLWNvbnRyb2xzJywgdGhpcy5tZW51SWQpO1xuICAgIH1cbiAgICBpZiAoIWJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtaGFzcG9wdXAnKSkge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoYnV0dG9uLCAnYXJpYS1oYXNwb3B1cCcsICd0cnVlJyk7XG4gICAgfVxuICAgIGlmICghYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShidXR0b24sICdhcmlhLWxhYmVsJywgdGhpcy50cmFuc2xhdGlvbnMuZ2V0KCdtb3JlJykpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZUlvblNjcm9sbExpc3RlbmVyPy4oKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIiAjYnV0dG9uQ29udGFpbmVyPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJidXR0b25ba2lyYnktYnV0dG9uXVwiPjwvbmctY29udGVudD5cbiAgQGlmICghdXNlclByb3ZpZGVkQnV0dG9uKSB7XG4gICAgPGJ1dHRvblxuICAgICAgI2RlZmF1bHRCdXR0b25cbiAgICAgIFtpZF09XCJ0cmlnZ2VyQnV0dG9uSWRcIlxuICAgICAga2lyYnktYnV0dG9uXG4gICAgICBbc2l6ZV09XCJidXR0b25TaXplXCJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dGVudGlvbkxldmVsXT1cImF0dGVudGlvbkxldmVsXCJcbiAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwibWVudUlkXCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRyYW5zbGF0aW9ucy5nZXQoJ21vcmUnKVwiXG4gICAgPlxuICAgICAgPGtpcmJ5LWljb24gW25hbWVdPVwiJ21vcmUnXCI+PC9raXJieS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbjxraXJieS1jYXJkXG4gIFtpZF09XCJtZW51SWRcIlxuICBraXJieUZsb2F0aW5nXG4gIFtzdHJhdGVneV09XCInZml4ZWQnXCJcbiAgW3JlZmVyZW5jZV09XCJidXR0b25Db250YWluZXJFbGVtZW50XCJcbiAgW2lzRGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIFt0cmlnZ2Vyc109XCJ0cmlnZ2Vyc1wiXG4gIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgW0RPTVBvcnRhbE91dGxldF09XCJET01Qb3J0YWxPdXRsZXRcIlxuICBbcG9ydGFsT3V0bGV0Q29uZmlnXT1cInBvcnRhbE91dGxldENvbmZpZ1wiXG4gIFtjbG9zZU9uQmFja2Ryb3BdPVwiY2xvc2VPbkJhY2tkcm9wXCJcbiAgW2Nsb3NlT25Fc2NhcGVLZXldPVwiY2xvc2VPbkVzY2FwZUtleVwiXG4gIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICBbYXV0b1BsYWNlbWVudF09XCJhdXRvUGxhY2VtZW50XCJcbiAgW3NoaWZ0XT1cInNoaWZ0XCJcbiAgW3N0eWxlLm1pbldpZHRoXT1cIm1pbldpZHRoID8gbWluV2lkdGggKyAncHgnIDogbnVsbFwiXG4gIGNsYXNzPVwibWVudS1wb3BvdmVyXCJcbiAgKGtleWRvd24pPVwiX29uS2V5ZG93bigkZXZlbnQpXCJcbiAgKGRpc3BsYXlDaGFuZ2VkKT1cIm1lbnVWaXNpYmlsaXR5Q2hhbmdlZCgkZXZlbnQpXCJcbiAgcm9sZT1cIm1lbnVcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwidHJpZ2dlckJ1dHRvbklkXCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwia2lyYnktaXRlbVwiPjwvbmctY29udGVudD5cbjwva2lyYnktY2FyZD5cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2lyYnlkZXNpZ24tZGVzaWduc3lzdGVtLW1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9tZW51L3NyYy9raXJieWRlc2lnbi1kZXNpZ25zeXN0ZW0tbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":[],"mappings":"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"}
|