@gravitee/ui-particles-angular 7.15.0 → 7.16.0-theme-submenu-c7158a3

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.
@@ -28,10 +28,10 @@ export class GioSubmenuItemComponent {
28
28
  }
29
29
  }
30
30
  GioSubmenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- GioSubmenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuItemComponent, selector: "gio-submenu-item", inputs: { active: "active", iconRight: "iconRight" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenuItem", first: true, predicate: ["gioSubmenuItem"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
31
+ GioSubmenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuItemComponent, selector: "gio-submenu-item", inputs: { active: "active", iconRight: "iconRight" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenuItem", first: true, predicate: ["gioSubmenuItem"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}:host-context(.gio-submenu__light) .gio-submenu-item__active{background:#876fec}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}:host-context(.gio-submenu__light) .gio-submenu-item:hover:not(.gio-submenu-item__active){background:#6c59bd}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
32
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, decorators: [{
33
33
  type: Component,
34
- args: [{ selector: 'gio-submenu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"] }]
34
+ args: [{ selector: 'gio-submenu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}:host-context(.gio-submenu__light) .gio-submenu-item__active{background:#876fec}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}:host-context(.gio-submenu__light) .gio-submenu-item:hover:not(.gio-submenu-item__active){background:#6c59bd}\n"] }]
35
35
  }], propDecorators: { active: [{
36
36
  type: Input
37
37
  }], iconRight: [{
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { Component, Directive, HostListener, ViewChild } from '@angular/core';
16
+ import { Component, Directive, HostListener, Input, ViewChild, } from '@angular/core';
17
17
  import { of, Subject } from 'rxjs';
18
18
  import { delay, filter, switchMap, takeUntil, tap } from 'rxjs/operators';
19
19
  import * as i0 from "@angular/core";
@@ -29,8 +29,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
29
29
  }]
30
30
  }] });
31
31
  export class GioSubmenuComponent {
32
- constructor(gioMenuService) {
32
+ constructor(gioMenuService, changeDetectorRef) {
33
33
  this.gioMenuService = gioMenuService;
34
+ this.changeDetectorRef = changeDetectorRef;
35
+ this.theme = 'dark';
34
36
  this.reduced = false;
35
37
  this.loaded = false;
36
38
  this.overlayOptions = { open: false };
@@ -51,7 +53,9 @@ export class GioSubmenuComponent {
51
53
  this.gioSubmenu.nativeElement.style.maxHeight = `calc(100vh - ${top + 8}px)`;
52
54
  }
53
55
  }), filter(overlayOptions => !!overlayOptions.focus), delay(200), switchMap(() => of(this.gioSubmenu.nativeElement.querySelectorAll('gio-submenu-item'))), filter(submenuItems => submenuItems.length > 0), tap(submenuItems => submenuItems[0].focus()))
54
- .subscribe();
56
+ .subscribe(() => {
57
+ this.changeDetectorRef.detectChanges();
58
+ });
55
59
  this.gioMenuService.reduce
56
60
  .pipe(takeUntil(this.unsubscribe$), filter(reduced => !reduced), tap(() => {
57
61
  this.reduced = false;
@@ -59,7 +63,9 @@ export class GioSubmenuComponent {
59
63
  this.gioSubmenu.nativeElement.style.height = '100%';
60
64
  this.gioSubmenu.nativeElement.style.maxHeight = 'none';
61
65
  }))
62
- .subscribe();
66
+ .subscribe(() => {
67
+ this.changeDetectorRef.detectChanges();
68
+ });
63
69
  }
64
70
  ngOnDestroy() {
65
71
  this.unsubscribe$.next();
@@ -79,16 +85,18 @@ export class GioSubmenuComponent {
79
85
  .subscribe();
80
86
  }
81
87
  }
82
- GioSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, deps: [{ token: i1.GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
83
- GioSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuComponent, selector: "gio-submenu", host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenu", first: true, predicate: ["gioSubmenu"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] });
88
+ GioSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, deps: [{ token: i1.GioMenuService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
89
+ GioSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuComponent, selector: "gio-submenu", inputs: { theme: "theme" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenu", first: true, predicate: ["gioSubmenu"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n [class.gio-submenu__light]=\"theme === 'light'\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__light{background:#51438e}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] });
84
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, decorators: [{
85
91
  type: Component,
86
- args: [{ selector: 'gio-submenu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] }]
87
- }], ctorParameters: function () { return [{ type: i1.GioMenuService }]; }, propDecorators: { gioSubmenu: [{
92
+ args: [{ selector: 'gio-submenu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n [class.gio-submenu__light]=\"theme === 'light'\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__light{background:#51438e}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] }]
93
+ }], ctorParameters: function () { return [{ type: i1.GioMenuService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { theme: [{
94
+ type: Input
95
+ }], gioSubmenu: [{
88
96
  type: ViewChild,
89
97
  args: ['gioSubmenu', { static: false }]
90
98
  }], onKeydownHandler: [{
91
99
  type: HostListener,
92
100
  args: ['keydown', ['$event']]
93
101
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXN1Ym1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tc3VibWVudS9naW8tc3VibWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1zdWJtZW51L2dpby1zdWJtZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUFpQixTQUFTLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTyx3QkFBd0I7O3NIQUF4Qix3QkFBd0I7MEdBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOztBQVFELE1BQU0sT0FBTyxtQkFBbUI7SUFTOUIsWUFBNkIsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBUnBELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLG1CQUFjLEdBQW1CLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ2hELFVBQUssR0FBRyxLQUFLLENBQUM7UUFHZCxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFeUIsQ0FBQztJQUV4RCxlQUFlO1FBQ3BCLElBQUksQ0FBQyxjQUFj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QztJQUdNLGdCQUFnQixDQUFDLEtBQW9CO1FBQzFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDO2FBQ3ZDLElBQUksQ0FDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQzVDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDVixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDL0M7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOztpSEE3RVUsbUJBQW1CO3FHQUFuQixtQkFBbUIsNk5DL0JoQyxxbUNBK0JBOzRGREFhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3FHQVVmLFVBQVU7c0JBRGpCLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkErRG5DLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHaW9NZW51U2VydmljZSwgT3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuLi9naW8tbWVudS9naW8tbWVudS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dpb1N1Ym1lbnVUaXRsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9TdWJtZW51VGl0bGVEaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLXN1Ym1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2lvLXN1Ym1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tc3VibWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9TdWJtZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHJlZHVjZWQgPSBmYWxzZTtcbiAgcHVibGljIGxvYWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgb3ZlcmxheU9wdGlvbnM6IE92ZXJsYXlPcHRpb25zID0geyBvcGVuOiBmYWxzZSB9O1xuICBwcml2YXRlIGhvdmVyID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoJ2dpb1N1Ym1lbnUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSBnaW9TdWJtZW51ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGdpb01lbnVTZXJ2aWNlOiBHaW9NZW51U2VydmljZSkge31cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ2lvTWVudVNlcnZpY2UucmVkdWNlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSxcbiAgICAgICAgZmlsdGVyKHJlZHVjZWQgPT4gcmVkdWNlZCksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWR1Y2VkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWU7XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5naW9NZW51U2VydmljZS5vdmVybGF5T2JzZXJ2YWJsZSksXG4gICAgICAgIHRhcChvdmVybGF5T3B0aW9ucyA9PiB7XG4gICAgICAgICAgdGhpcy5vdmVybGF5T3B0aW9ucyA9IG92ZXJsYXlPcHRpb25zO1xuICAgICAgICAgIGlmIChvdmVybGF5T3B0aW9ucy5vcGVuKSB7XG4gICAgICAgICAgICBjb25zdCB0b3AgPSBvdmVybGF5T3B0aW9ucy50b3AgfHwgMDtcbiAgICAgICAgICAgIHRoaXMuZ2lvU3VibWVudS5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IGAke3RvcH1weGA7XG4gICAgICAgICAgICB0aGlzLmdpb1N1Ym1lbnUubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSAnYXV0byc7XG4gICAgICAgICAgICB0aGlzLmdpb1N1Ym1lbnUubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPSBgY2FsYygxMDB2aCAtICR7dG9wICsgOH1weClgO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGZpbHRlcihvdmVybGF5T3B0aW9ucyA9PiAhIW92ZXJsYXlPcHRpb25zLmZvY3VzKSxcbiAgICAgICAgZGVsYXkoMjAwKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IG9mKHRoaXMuZ2lvU3VibWVudS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCdnaW8tc3VibWVudS1pdGVtJykpKSxcbiAgICAgICAgZmlsdGVyKHN1Ym1lbnVJdGVtcyA9PiBzdWJtZW51SXRlbXMubGVuZ3RoID4gMCksXG4gICAgICAgIHRhcChzdWJtZW51SXRlbXMgPT4gc3VibWVudUl0ZW1zWzBdLmZvY3VzKCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5naW9NZW51U2VydmljZS5yZWR1Y2VcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICBmaWx0ZXIocmVkdWNlZCA9PiAhcmVkdWNlZCksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWR1Y2VkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuZ2lvU3VibWVudS5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9ICcxMDAlJztcbiAgICAgICAgICB0aGlzLmdpb1N1Ym1lbnUubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPSAnbm9uZSc7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmhvdmVyID0gdHJ1ZTtcbiAgICB0aGlzLmdpb01lbnVTZXJ2aWNlLm92ZXJsYXkodGhpcy5vdmVybGF5T3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuaG92ZXIgPSBmYWxzZTtcbiAgICB0aGlzLmdpb01lbnVTZXJ2aWNlLm92ZXJsYXkoeyBvcGVuOiBmYWxzZSB9KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIG9mKHRoaXMucmVkdWNlZCAmJiBldmVudC5rZXkgPT09ICdFc2NhcGUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihyZWR1Y2VkQW5kRXNjYXBlID0+IHJlZHVjZWRBbmRFc2NhcGUpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5naW9NZW51U2VydmljZS5vdmVybGF5KHsgb3BlbjogZmFsc2UgfSkpLFxuICAgICAgICBkZWxheSgxMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5vdmVybGF5T3B0aW9ucy5wYXJlbnQ/LmZvY3VzKCkpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMjIgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cbjxkaXZcbiAgI2dpb1N1Ym1lbnVcbiAgY2xhc3M9XCJnaW8tc3VibWVudVwiXG4gIFtjbGFzcy5naW8tc3VibWVudV9fbG9hZGVkXT1cImxvYWRlZFwiXG4gIFtjbGFzcy5naW8tc3VibWVudV9fcmVkdWNlZF09XCJyZWR1Y2VkXCJcbiAgW2NsYXNzLmdpby1zdWJtZW51X19vdmVybGF5XT1cIm92ZXJsYXlPcHRpb25zLm9wZW5cIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbj5cbiAgPGRpdiAjdGl0bGUgY2xhc3M9XCJnaW8tc3VibWVudV9fdGl0bGVcIiBbY2xhc3MuaGlkZV09XCIhdGl0bGUuY2hpbGRyZW4ubGVuZ3RoIHx8IHJlZHVjZWRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZ2lvU3VibWVudVRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXN1Ym1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tc3VibWVudS9naW8tc3VibWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1zdWJtZW51L2dpby1zdWJtZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsT0FBTyxFQUdMLFNBQVMsRUFDVCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTyx3QkFBd0I7O3NIQUF4Qix3QkFBd0I7MEdBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUhwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOztBQVVELE1BQU0sT0FBTyxtQkFBbUI7SUFZOUIsWUFBNkIsY0FBOEIsRUFBbUIsaUJBQW9DO1FBQXJGLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFtQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBVjNHLFVBQUssR0FBb0IsTUFBTSxDQUFDO1FBRWhDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUNmLG1CQUFjLEdBQW1CLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQ2hELFVBQUssR0FBRyxLQUFLLENB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QUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUdNLGdCQUFnQixDQUFDLEtBQW9CO1FBQzFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDO2FBQ3ZDLElBQUksQ0FDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQzVDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFDVixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FDL0M7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOztpSEFwRlUsbUJBQW1CO3FHQUFuQixtQkFBbUIseVBDM0NoQyx5cENBZ0NBOzRGRFdhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxhQUFhO3FJQU1oQixLQUFLO3NCQURYLEtBQUs7Z0JBUUUsVUFBVTtzQkFEakIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQW1FbkMsZ0JBQWdCO3NCQUR0QixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHaW9NZW51U2VydmljZSwgT3ZlcmxheU9wdGlvbnMgfSBmcm9tICcuLi9naW8tbWVudS9naW8tbWVudS5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dpb1N1Ym1lbnVUaXRsZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9TdWJtZW51VGl0bGVEaXJlY3RpdmUge31cblxuZXhwb3J0IHR5cGUgR2lvU3VibWVudVRoZW1lID0gJ2RhcmsnIHwgJ2xpZ2h0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLXN1Ym1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2lvLXN1Ym1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9naW8tc3VibWVudS5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHaW9TdWJtZW51Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgcHVibGljIHRoZW1lOiBHaW9TdWJtZW51VGhlbWUgPSAnZGFyayc7XG5cbiAgcHVibGljIHJlZHVjZWQgPSBmYWxzZTtcbiAgcHVibGljIGxvYWRlZCA9IGZhbHNlO1xuICBwdWJsaWMgb3ZlcmxheU9wdGlvbnM6IE92ZXJsYXlPcHRpb25zID0geyBvcGVuOiBmYWxzZSB9O1xuICBwcml2YXRlIGhvdmVyID0gZmFsc2U7XG4gIEBWaWV3Q2hpbGQoJ2dpb1N1Ym1lbnUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSBnaW9TdWJtZW51ITogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIHByaXZhdGUgdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGdpb01lbnVTZXJ2aWNlOiBHaW9NZW51U2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdpb01lbnVTZXJ2aWNlLnJlZHVjZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCksXG4gICAgICAgIGZpbHRlcihyZWR1Y2VkID0+IHJlZHVjZWQpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVkdWNlZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICB9KSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZ2lvTWVudVNlcnZpY2Uub3ZlcmxheU9ic2VydmFibGUpLFxuICAgICAgICB0YXAob3ZlcmxheU9wdGlvbnMgPT4ge1xuICAgICAgICAgIHRoaXMub3ZlcmxheU9wdGlvbnMgPSBvdmVybGF5T3B0aW9ucztcbiAgICAgICAgICBpZiAob3ZlcmxheU9wdGlvbnMub3Blbikge1xuICAgICAgICAgICAgY29uc3QgdG9wID0gb3ZlcmxheU9wdGlvbnMudG9wIHx8IDA7XG4gICAgICAgICAgICB0aGlzLmdpb1N1Ym1lbnUubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBgJHt0b3B9cHhgO1xuICAgICAgICAgICAgdGhpcy5naW9TdWJtZW51Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgICAgICAgdGhpcy5naW9TdWJtZW51Lm5hdGl2ZUVsZW1lbnQuc3R5bGUubWF4SGVpZ2h0ID0gYGNhbGMoMTAwdmggLSAke3RvcCArIDh9cHgpYDtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIob3ZlcmxheU9wdGlvbnMgPT4gISFvdmVybGF5T3B0aW9ucy5mb2N1cyksXG4gICAgICAgIGRlbGF5KDIwMCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBvZih0aGlzLmdpb1N1Ym1lbnUubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignZ2lvLXN1Ym1lbnUtaXRlbScpKSksXG4gICAgICAgIGZpbHRlcihzdWJtZW51SXRlbXMgPT4gc3VibWVudUl0ZW1zLmxlbmd0aCA+IDApLFxuICAgICAgICB0YXAoc3VibWVudUl0ZW1zID0+IHN1Ym1lbnVJdGVtc1swXS5mb2N1cygpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5naW9NZW51U2VydmljZS5yZWR1Y2VcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpLFxuICAgICAgICBmaWx0ZXIocmVkdWNlZCA9PiAhcmVkdWNlZCksXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWR1Y2VkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuZ2lvU3VibWVudS5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9ICcxMDAlJztcbiAgICAgICAgICB0aGlzLmdpb1N1Ym1lbnUubmF0aXZlRWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPSAnbm9uZSc7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgIHRoaXMuaG92ZXIgPSB0cnVlO1xuICAgIHRoaXMuZ2lvTWVudVNlcnZpY2Uub3ZlcmxheSh0aGlzLm92ZXJsYXlPcHRpb25zKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5ob3ZlciA9IGZhbHNlO1xuICAgIHRoaXMuZ2lvTWVudVNlcnZpY2Uub3ZlcmxheSh7IG9wZW46IGZhbHNlIH0pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgb2YodGhpcy5yZWR1Y2VkICYmIGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKHJlZHVjZWRBbmRFc2NhcGUgPT4gcmVkdWNlZEFuZEVzY2FwZSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmdpb01lbnVTZXJ2aWNlLm92ZXJsYXkoeyBvcGVuOiBmYWxzZSB9KSksXG4gICAgICAgIGRlbGF5KDEwMCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLm92ZXJsYXlPcHRpb25zLnBhcmVudD8uZm9jdXMoKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjwhLS1cblxuICAgIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG5cbi0tPlxuPGRpdlxuICAjZ2lvU3VibWVudVxuICBjbGFzcz1cImdpby1zdWJtZW51XCJcbiAgW2NsYXNzLmdpby1zdWJtZW51X19sb2FkZWRdPVwibG9hZGVkXCJcbiAgW2NsYXNzLmdpby1zdWJtZW51X19yZWR1Y2VkXT1cInJlZHVjZWRcIlxuICBbY2xhc3MuZ2lvLXN1Ym1lbnVfX292ZXJsYXldPVwib3ZlcmxheU9wdGlvbnMub3BlblwiXG4gIFtjbGFzcy5naW8tc3VibWVudV9fbGlnaHRdPVwidGhlbWUgPT09ICdsaWdodCdcIlxuICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbj5cbiAgPGRpdiAjdGl0bGUgY2xhc3M9XCJnaW8tc3VibWVudV9fdGl0bGVcIiBbY2xhc3MuaGlkZV09XCIhdGl0bGUuY2hpbGRyZW4ubGVuZ3RoIHx8IHJlZHVjZWRcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZ2lvU3VibWVudVRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -2096,8 +2096,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
2096
2096
  }]
2097
2097
  }] });
2098
2098
  class GioSubmenuComponent {
2099
- constructor(gioMenuService) {
2099
+ constructor(gioMenuService, changeDetectorRef) {
2100
2100
  this.gioMenuService = gioMenuService;
2101
+ this.changeDetectorRef = changeDetectorRef;
2102
+ this.theme = 'dark';
2101
2103
  this.reduced = false;
2102
2104
  this.loaded = false;
2103
2105
  this.overlayOptions = { open: false };
@@ -2118,7 +2120,9 @@ class GioSubmenuComponent {
2118
2120
  this.gioSubmenu.nativeElement.style.maxHeight = `calc(100vh - ${top + 8}px)`;
2119
2121
  }
2120
2122
  }), filter(overlayOptions => !!overlayOptions.focus), delay(200), switchMap(() => of(this.gioSubmenu.nativeElement.querySelectorAll('gio-submenu-item'))), filter(submenuItems => submenuItems.length > 0), tap(submenuItems => submenuItems[0].focus()))
2121
- .subscribe();
2123
+ .subscribe(() => {
2124
+ this.changeDetectorRef.detectChanges();
2125
+ });
2122
2126
  this.gioMenuService.reduce
2123
2127
  .pipe(takeUntil(this.unsubscribe$), filter(reduced => !reduced), tap(() => {
2124
2128
  this.reduced = false;
@@ -2126,7 +2130,9 @@ class GioSubmenuComponent {
2126
2130
  this.gioSubmenu.nativeElement.style.height = '100%';
2127
2131
  this.gioSubmenu.nativeElement.style.maxHeight = 'none';
2128
2132
  }))
2129
- .subscribe();
2133
+ .subscribe(() => {
2134
+ this.changeDetectorRef.detectChanges();
2135
+ });
2130
2136
  }
2131
2137
  ngOnDestroy() {
2132
2138
  this.unsubscribe$.next();
@@ -2146,12 +2152,14 @@ class GioSubmenuComponent {
2146
2152
  .subscribe();
2147
2153
  }
2148
2154
  }
2149
- GioSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
2150
- GioSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuComponent, selector: "gio-submenu", host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenu", first: true, predicate: ["gioSubmenu"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] });
2155
+ GioSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, deps: [{ token: GioMenuService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2156
+ GioSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuComponent, selector: "gio-submenu", inputs: { theme: "theme" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenu", first: true, predicate: ["gioSubmenu"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n [class.gio-submenu__light]=\"theme === 'light'\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__light{background:#51438e}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] });
2151
2157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, decorators: [{
2152
2158
  type: Component,
2153
- args: [{ selector: 'gio-submenu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] }]
2154
- }], ctorParameters: function () { return [{ type: GioMenuService }]; }, propDecorators: { gioSubmenu: [{
2159
+ args: [{ selector: 'gio-submenu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n [class.gio-submenu__light]=\"theme === 'light'\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__light{background:#51438e}.gio-submenu__reduced{position:absolute;overflow:auto;border-radius:8px;margin:0 0 0 8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] }]
2160
+ }], ctorParameters: function () { return [{ type: GioMenuService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { theme: [{
2161
+ type: Input
2162
+ }], gioSubmenu: [{
2155
2163
  type: ViewChild,
2156
2164
  args: ['gioSubmenu', { static: false }]
2157
2165
  }], onKeydownHandler: [{
@@ -2215,10 +2223,10 @@ class GioSubmenuItemComponent {
2215
2223
  }
2216
2224
  }
2217
2225
  GioSubmenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2218
- GioSubmenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuItemComponent, selector: "gio-submenu-item", inputs: { active: "active", iconRight: "iconRight" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenuItem", first: true, predicate: ["gioSubmenuItem"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2226
+ GioSubmenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuItemComponent, selector: "gio-submenu-item", inputs: { active: "active", iconRight: "iconRight" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenuItem", first: true, predicate: ["gioSubmenuItem"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}:host-context(.gio-submenu__light) .gio-submenu-item__active{background:#876fec}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}:host-context(.gio-submenu__light) .gio-submenu-item:hover:not(.gio-submenu-item__active){background:#6c59bd}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2219
2227
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, decorators: [{
2220
2228
  type: Component,
2221
- args: [{ selector: 'gio-submenu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"] }]
2229
+ args: [{ selector: 'gio-submenu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n <mat-icon *ngIf=\"iconRight\" class=\"gio-submenu-item__icon-right\" [svgIcon]=\"iconRight\"></mat-icon>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;border-radius:4px;margin:1px 0;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}.gio-submenu-item__icon-right{width:20px;height:20px;color:#fff;float:right}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}:host-context(.gio-submenu__light) .gio-submenu-item__active{background:#876fec}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}:host-context(.gio-submenu__light) .gio-submenu-item:hover:not(.gio-submenu-item__active){background:#6c59bd}\n"] }]
2222
2230
  }], propDecorators: { active: [{
2223
2231
  type: Input
2224
2232
  }], iconRight: [{