@eui/components 18.0.0-rc.36 → 18.0.0-rc.38
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/docs/components/EuiAppSidebarFooterComponent.html +13 -1
- package/docs/components/EuiAppSidebarHeaderComponent.html +13 -1
- package/docs/components/EuiAppToolbarComponent.html +13 -1
- package/docs/components/EuiChipComponent.html +1 -1
- package/docs/components/EuiToolbarMenuComponent.html +13 -1
- package/docs/components/QuillEditorComponent.html +2 -2
- package/docs/dependencies.html +1 -1
- package/docs/directives/EuiInputNumberDirective.html +24 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/eui-chip/eui-chip.component.mjs +3 -3
- package/esm2022/eui-chip-list/eui-chip-list.component.mjs +2 -2
- package/esm2022/eui-fieldset/eui-fieldset.component.mjs +2 -2
- package/esm2022/eui-input-number/eui-number-control.directive.mjs +17 -5
- package/esm2022/externals/quill/quill-editor.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-header/header.component.mjs +2 -2
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.mjs +11 -6
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.mjs +11 -6
- package/esm2022/layout/eui-app/eui-app-toolbar/toolbar.component.mjs +11 -6
- package/esm2022/layout/eui-app/eui-app.component.mjs +12 -10
- package/esm2022/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.mjs +14 -10
- package/eui-input-number/eui-number-control.directive.d.ts +4 -2
- package/eui-input-number/eui-number-control.directive.d.ts.map +1 -1
- package/externals/quill/quill-editor.component.d.ts +1 -1
- package/fesm2022/eui-components-eui-chip-list.mjs +2 -2
- package/fesm2022/eui-components-eui-chip-list.mjs.map +1 -1
- package/fesm2022/eui-components-eui-chip.mjs +2 -2
- package/fesm2022/eui-components-eui-chip.mjs.map +1 -1
- package/fesm2022/eui-components-eui-fieldset.mjs +2 -2
- package/fesm2022/eui-components-eui-fieldset.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-number.mjs +14 -3
- package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
- package/fesm2022/eui-components-externals-quill.mjs +1 -1
- package/fesm2022/eui-components-externals-quill.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +47 -29
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.d.ts +2 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-footer/sidebar-footer.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.d.ts +2 -1
- package/layout/eui-app/eui-app-sidebar/sidebar-header/sidebar-header.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app-toolbar/toolbar.component.d.ts +2 -1
- package/layout/eui-app/eui-app-toolbar/toolbar.component.d.ts.map +1 -1
- package/layout/eui-app/eui-app.component.d.ts.map +1 -1
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts +2 -1
- package/layout/eui-toolbar/toolbar-menu/toolbar-menu.component.d.ts.map +1 -1
- package/package.json +3 -3
@@ -1,7 +1,7 @@
|
|
1
|
-
import { Component, HostBinding, ViewEncapsulation, Input, Output, EventEmitter, } from '@angular/core';
|
1
|
+
import { Component, HostBinding, ViewEncapsulation, Input, Output, EventEmitter, Inject, } from '@angular/core';
|
2
2
|
import { Subscription } from 'rxjs';
|
3
3
|
import { EuiIconModule } from '@eui/components/eui-icon';
|
4
|
-
import { NgFor, NgForOf, NgIf } from '@angular/common';
|
4
|
+
import { DOCUMENT, NgFor, NgForOf, NgIf } from '@angular/common';
|
5
5
|
import { TranslateModule } from '@ngx-translate/core';
|
6
6
|
import { RouterLink } from '@angular/router';
|
7
7
|
import * as i0 from "@angular/core";
|
@@ -12,9 +12,10 @@ export class EuiToolbarMenuComponent {
|
|
12
12
|
get cssClasses() {
|
13
13
|
return 'eui-toolbar-menu';
|
14
14
|
}
|
15
|
-
constructor(asService, cd) {
|
15
|
+
constructor(asService, cd, document) {
|
16
16
|
this.asService = asService;
|
17
17
|
this.cd = cd;
|
18
|
+
this.document = document;
|
18
19
|
this.menuItemClick = new EventEmitter();
|
19
20
|
this.isdropdownOpen = false;
|
20
21
|
this.subs = new Subscription();
|
@@ -52,13 +53,13 @@ export class EuiToolbarMenuComponent {
|
|
52
53
|
if (!link.disabled && !link.children) {
|
53
54
|
this.menuItemClick.emit(link);
|
54
55
|
// click on dropitems to close dropdown
|
55
|
-
const dropdown = document.querySelectorAll('#top-menu li:hover > ul');
|
56
|
+
const dropdown = this.document.querySelectorAll('#top-menu li:hover > ul');
|
56
57
|
dropdown.forEach((menus) => {
|
57
58
|
menus.classList.remove('show');
|
58
59
|
menus.classList.remove('showOnEnter');
|
59
60
|
});
|
60
61
|
// open again on mouseover
|
61
|
-
const dropBtns = document.querySelectorAll('#top-menu li:hover');
|
62
|
+
const dropBtns = this.document.querySelectorAll('#top-menu li:hover');
|
62
63
|
dropBtns.forEach((btn) => {
|
63
64
|
btn.addEventListener('mouseover', (e) => {
|
64
65
|
const dropContent = btn.querySelector('#top-menu li:hover > ul');
|
@@ -102,7 +103,7 @@ export class EuiToolbarMenuComponent {
|
|
102
103
|
}
|
103
104
|
case 'Tab': {
|
104
105
|
if (this.isdropdownOpen) {
|
105
|
-
const lastchild = Array.from(document.querySelectorAll('.child > a')).reverse()[0];
|
106
|
+
const lastchild = Array.from(this.document.querySelectorAll('.child > a')).reverse()[0];
|
106
107
|
lastchild.onblur = () => {
|
107
108
|
// last child onblur
|
108
109
|
if (!event.shiftKey) {
|
@@ -124,7 +125,7 @@ export class EuiToolbarMenuComponent {
|
|
124
125
|
}
|
125
126
|
if (event.shiftKey && event.key === 'Tab') {
|
126
127
|
if (this.isdropdownOpen) {
|
127
|
-
const firstchild = Array.from(document.querySelectorAll('.child > a'))[0];
|
128
|
+
const firstchild = Array.from(this.document.querySelectorAll('.child > a'))[0];
|
128
129
|
firstchild.onblur = () => {
|
129
130
|
// first child onblur
|
130
131
|
this.isdropdownOpen = false;
|
@@ -138,7 +139,7 @@ export class EuiToolbarMenuComponent {
|
|
138
139
|
}
|
139
140
|
}
|
140
141
|
}
|
141
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarMenuComponent, deps: [{ token: i1.EuiAppShellService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarMenuComponent, deps: [{ token: i1.EuiAppShellService }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
142
143
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: EuiToolbarMenuComponent, isStandalone: true, selector: "eui-toolbar-menu", inputs: { items: "items" }, outputs: { menuItemClick: "menuItemClick" }, host: { properties: { "class": "this.cssClasses" } }, usesOnChanges: true, ngImport: i0, template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"chevron-down:sharp\" [fillColor]=\"link.active ? 'neutral' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"chevron-down:sharp\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", styles: [".eui-toolbar-menu{display:flex;height:var(--eui-app-toolbar-height);width:100%}.eui-toolbar-menu-content{display:grid;height:var(--eui-app-toolbar-height);list-style-type:none;margin:0;padding:0;position:relative;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul:not(.show){display:flex;list-style:none;width:100%;z-index:calc(var(--eui-zi-sidebar) + 1)}.eui-toolbar-menu-content ul,.eui-toolbar-menu-content ul li,.eui-toolbar-menu-content ul li a{border:var(--eui-bw-none);border-bottom:2px solid var(--eui-c-branding);color:var(--eui-c-white);display:block;height:var(--eui-app-toolbar-height);line-height:var(--eui-s-l);margin:0;max-height:var(--eui-app-toolbar-height);min-width:0;padding:0;position:relative;text-decoration:none;display:flex}.eui-toolbar-menu-content ul.disabled,.eui-toolbar-menu-content ul li.disabled,.eui-toolbar-menu-content ul li a.disabled{opacity:var(--eui-o-50)}.eui-toolbar-menu-content ul.hidden,.eui-toolbar-menu-content ul li.hidden,.eui-toolbar-menu-content ul li a.hidden{display:none!important}.eui-toolbar-menu-content ul:hover,.eui-toolbar-menu-content ul li:hover,.eui-toolbar-menu-content ul li a:hover{background-color:var(--eui-c-branding);text-decoration:none!important}.eui-toolbar-menu-content:after,.eui-toolbar-menu-content>ul:after{clear:both;content:\".\";display:block;height:0;line-height:0;visibility:hidden}.eui-toolbar-menu-content>ul>li{border-right:1px ridge rgba(255,255,255,.25);box-sizing:border-box;display:inline-block;min-width:60px}.eui-toolbar-menu-content>ul>li:empty{min-width:0}.eui-toolbar-menu-content>ul>li:last-child{border-right:none}.eui-toolbar-menu-content>ul>li>a{border-bottom:3px solid transparent;padding:var(--eui-s-m) var(--eui-s-s) var(--eui-s-xs);text-align:center;transition:color 0s linear,background-color .3s linear}.eui-toolbar-menu-content>ul>li>a:hover,.eui-toolbar-menu-content>ul>li>a:focus{border-color:var(--eui-c-neutral-lighter)!important}.eui-toolbar-menu-content>ul>li>a:hover.disabled,.eui-toolbar-menu-content>ul>li>a:focus.disabled{border-bottom:0 transparent}.eui-toolbar-menu-content>ul>li>a:not(.icon-home-link){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-menu-content>ul>li.selected>a,.eui-toolbar-menu-content>ul>li:hover>a{background-color:var(--eui-c-accent);border-bottom:3px solid var(--eui-c-accent-dark);color:var(--eui-c-black)!important}.eui-toolbar-menu-content>ul>li.selected>a .eui-icon-svg>svg,.eui-toolbar-menu-content>ul>li:hover>a .eui-icon-svg>svg{color:var(--eui-c-neutral-bg-light);fill:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content>ul>li.selected>a.disabled,.eui-toolbar-menu-content>ul>li:hover>a.disabled{background-color:transparent!important;border-bottom:0;border-left:0;opacity:var(--eui-o-50);cursor:not-allowed}.eui-toolbar-menu-content ul ul{left:-9999px;position:absolute;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content li:hover>ul.show,.eui-toolbar-menu-content li:focus-within>ul.showOnEnter{left:auto}.eui-toolbar-menu-content .showOnEnter a:focus{border-color:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content ul.show .eui-icon-svg>svg{color:var(--eui-c-white);fill:var(--eui-c-white);height:1.25rem;width:1.25rem}.eui-toolbar-menu-content ul ul ul{margin-left:100%;top:0;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul ul li{height:0;transition:height .2s ease-in-out}.eui-toolbar-menu-content ul ul li.child{background:var(--eui-c-branding-dark);height:auto;min-height:var(--eui-s-3xl)}.eui-toolbar-menu-content ul ul li.child:empty{min-height:0}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__icon{margin-right:var(--eui-s-xs)}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__label{padding:var(--eui-s-2xs);position:relative}.eui-toolbar-menu-content ul ul li.hidden{display:none!important}.eui-toolbar-menu-content ul ul li a,.eui-toolbar-menu-content ul ul li h2{align-items:center;background:var(--eui-c-branding-dark);display:flex;line-height:1.25;min-height:var(--eui-s-3xl);min-width:260px;padding:var(--eui-s-2xs) var(--eui-s-xs);text-decoration:none;transition:color .2s ease-in-out}.eui-toolbar-menu-content ul ul li h2{color:var(--eui-c-accent);font-size:var(--eui-f-size-m);padding-left:var(--eui-s-xs);padding-top:var(--eui-s-s)}.eui-toolbar-menu-content ul ul li a{border-left:3px solid transparent;padding-left:var(--eui-s-2xs)}.eui-toolbar-menu-content ul ul li:hover>a,.eui-toolbar-menu-content ul ul li a:hover{border-left:3px solid var(--eui-c-accent-dark);color:var(--eui-c-accent)!important}.eui-toolbar-menu-content ul ul li.has-sub>a:after{border-bottom:2px solid var(--eui-c-neutral-lightest);border-right:2px solid var(--eui-c-neutral-lightest);content:\"\";height:10px;position:absolute;right:10px;top:var(--eui-s-s);transform:rotate(-45deg);width:10px}.eui-toolbar-menu-content ul ul li a.disabled{opacity:var(--eui-o-50);cursor:default}.eui-toolbar-menu-content ul ul li a.disabled:hover{border-left:0}.eui-toolbar-menu-content ul ul li.separator{background-color:var(--eui-c-neutral-bg-light)!important;height:1px!important}.eui-toolbar-menu-content .icon-home-link .eui-icon-svg>svg{height:1.5rem;width:1.5rem}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:after,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:after{border-right:0}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:before,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:before{border-left:0}.eui-toolbar-menu-content .eui-toolbar-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nav-bar.sidebar-toggle-with-top-menu #top-menu{left:calc(var(--eui-layout-sidebar-width) + var(--eui-f-size-base));position:absolute}\n"], dependencies: [{ kind: "ngmodule", type: EuiIconModule }, { kind: "component", type: i2.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
143
144
|
}
|
144
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiToolbarMenuComponent, decorators: [{
|
@@ -151,7 +152,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
151
152
|
RouterLink,
|
152
153
|
TranslateModule,
|
153
154
|
], template: "<nav id=\"top-menu\" class=\"eui-toolbar-menu-content\" *ngIf=\"items && items.length !== 0\">\n <ul>\n <ng-container *ngFor=\"let link of items\">\n <li *ngIf=\"link.visible === undefined || link.visible === true\" [class.has-sub]=\"link.children\" [class.selected]=\"link.active\" routerLinkActive=\"selected\">\n <a\n *ngIf=\"!link.url\"\n [class.disabled]=\"link.disabled\"\n [tabindex]=\"!link.disabled ? 0 : -1\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg *ngIf=\"link.children\" icon=\"chevron-down:sharp\" [fillColor]=\"link.active ? 'neutral' : 'white'\" size=\"s\">\n </eui-icon-svg>\n </div>\n </a>\n <a\n *ngIf=\"link.url\"\n [routerLink]=\"link.url\"\n [class.disabled]=\"link.disabled\"\n (click)=\"onLinkClick(link)\"\n (keydown)=\"onKeyDown($event, link)\"\n title=\"{{ link.label | translate }}\"\n [class.icon-home-link]=\"link.isHome\">\n <div class=\"eui-u-flex\">\n <eui-icon-svg\n *ngIf=\"link.iconSvgName\"\n [icon]=\"link.iconSvgName\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-mr-xs\">\n </eui-icon-svg>\n <span *ngIf=\"link.iconClass && !link.iconSvgName\" class=\"{{ link.iconClass }} eui-icon\"></span>\n <span class=\"eui-toolbar-menu-label\">{{ link.label | translate }}</span>\n <eui-icon-svg\n *ngIf=\"link.children\"\n icon=\"chevron-down:sharp\"\n [fillColor]=\"link.active ? 'neutral' : 'white'\"\n size=\"s\"\n class=\"eui-u-ml-xs\">\n </eui-icon-svg>\n </div>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"link.children\">\n <ng-container *ngFor=\"let childLink of link.children\">\n <li\n *ngIf=\"childLink.visible === undefined || childLink.visible === true\"\n class=\"child\"\n [class.has-sub]=\"childLink?.children\"\n [class.separator]=\"childLink.isSeparator\">\n <a\n *ngIf=\"!childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"childLink.url\"\n [tabindex]=\"isdropdownOpen && !childLink.disabled ? 0 : -1\"\n [class.disabled]=\"childLink.disabled\"\n [routerLink]=\"childLink.url\"\n (click)=\"onLinkClick(childLink)\"\n (keydown)=\"onKeyDown($event, childLink)\">\n <span *ngIf=\"childLink.iconClass\" class=\"eui-toolbar-menu-item__icon eui-icon {{ childLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childLink.label | translate }}</span>\n </a>\n\n <ul class=\"show\" [class.showOnEnter]=\"isdropdownOpen\" *ngIf=\"childLink.children\">\n <ng-container *ngFor=\"let childSubLink of childLink.children\">\n <li *ngIf=\"childSubLink.visible === undefined || childSubLink.visible === true\" class=\"child\" [class.separator]=\"childSubLink.isSeparator\">\n <a\n *ngIf=\"childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n [routerLink]=\"childSubLink.url\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n <a\n *ngIf=\"!childSubLink.url\"\n [tabindex]=\"isdropdownOpen && !childSubLink.disabled ? 0 : -1\"\n [class.disabled]=\"childSubLink.disabled\"\n (click)=\"onLinkClick(childSubLink)\"\n (keydown)=\"onKeyDown($event, childSubLink)\">\n <span\n *ngIf=\"childSubLink.iconClass\"\n class=\"eui-toolbar-menu-item__icon eui-icon {{ childSubLink.iconClass }}\"></span>\n <eui-icon-svg\n *ngIf=\"childSubLink.iconSvgName\"\n class=\"eui-toolbar-menu-item__icon\"\n icon=\"{{ childSubLink.iconSvgName }}\"></eui-icon-svg>\n <span class=\"eui-toolbar-menu-item__label\">{{ childSubLink.label | translate }}</span>\n </a>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n </li>\n </ng-container>\n </ul>\n</nav>\n", styles: [".eui-toolbar-menu{display:flex;height:var(--eui-app-toolbar-height);width:100%}.eui-toolbar-menu-content{display:grid;height:var(--eui-app-toolbar-height);list-style-type:none;margin:0;padding:0;position:relative;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul:not(.show){display:flex;list-style:none;width:100%;z-index:calc(var(--eui-zi-sidebar) + 1)}.eui-toolbar-menu-content ul,.eui-toolbar-menu-content ul li,.eui-toolbar-menu-content ul li a{border:var(--eui-bw-none);border-bottom:2px solid var(--eui-c-branding);color:var(--eui-c-white);display:block;height:var(--eui-app-toolbar-height);line-height:var(--eui-s-l);margin:0;max-height:var(--eui-app-toolbar-height);min-width:0;padding:0;position:relative;text-decoration:none;display:flex}.eui-toolbar-menu-content ul.disabled,.eui-toolbar-menu-content ul li.disabled,.eui-toolbar-menu-content ul li a.disabled{opacity:var(--eui-o-50)}.eui-toolbar-menu-content ul.hidden,.eui-toolbar-menu-content ul li.hidden,.eui-toolbar-menu-content ul li a.hidden{display:none!important}.eui-toolbar-menu-content ul:hover,.eui-toolbar-menu-content ul li:hover,.eui-toolbar-menu-content ul li a:hover{background-color:var(--eui-c-branding);text-decoration:none!important}.eui-toolbar-menu-content:after,.eui-toolbar-menu-content>ul:after{clear:both;content:\".\";display:block;height:0;line-height:0;visibility:hidden}.eui-toolbar-menu-content>ul>li{border-right:1px ridge rgba(255,255,255,.25);box-sizing:border-box;display:inline-block;min-width:60px}.eui-toolbar-menu-content>ul>li:empty{min-width:0}.eui-toolbar-menu-content>ul>li:last-child{border-right:none}.eui-toolbar-menu-content>ul>li>a{border-bottom:3px solid transparent;padding:var(--eui-s-m) var(--eui-s-s) var(--eui-s-xs);text-align:center;transition:color 0s linear,background-color .3s linear}.eui-toolbar-menu-content>ul>li>a:hover,.eui-toolbar-menu-content>ul>li>a:focus{border-color:var(--eui-c-neutral-lighter)!important}.eui-toolbar-menu-content>ul>li>a:hover.disabled,.eui-toolbar-menu-content>ul>li>a:focus.disabled{border-bottom:0 transparent}.eui-toolbar-menu-content>ul>li>a:not(.icon-home-link){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-toolbar-menu-content>ul>li.selected>a,.eui-toolbar-menu-content>ul>li:hover>a{background-color:var(--eui-c-accent);border-bottom:3px solid var(--eui-c-accent-dark);color:var(--eui-c-black)!important}.eui-toolbar-menu-content>ul>li.selected>a .eui-icon-svg>svg,.eui-toolbar-menu-content>ul>li:hover>a .eui-icon-svg>svg{color:var(--eui-c-neutral-bg-light);fill:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content>ul>li.selected>a.disabled,.eui-toolbar-menu-content>ul>li:hover>a.disabled{background-color:transparent!important;border-bottom:0;border-left:0;opacity:var(--eui-o-50);cursor:not-allowed}.eui-toolbar-menu-content ul ul{left:-9999px;position:absolute;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content li:hover>ul.show,.eui-toolbar-menu-content li:focus-within>ul.showOnEnter{left:auto}.eui-toolbar-menu-content .showOnEnter a:focus{border-color:var(--eui-c-neutral-bg-light)}.eui-toolbar-menu-content ul.show .eui-icon-svg>svg{color:var(--eui-c-white);fill:var(--eui-c-white);height:1.25rem;width:1.25rem}.eui-toolbar-menu-content ul ul ul{margin-left:100%;top:0;z-index:var(--eui-zi-nav)}.eui-toolbar-menu-content ul ul li{height:0;transition:height .2s ease-in-out}.eui-toolbar-menu-content ul ul li.child{background:var(--eui-c-branding-dark);height:auto;min-height:var(--eui-s-3xl)}.eui-toolbar-menu-content ul ul li.child:empty{min-height:0}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__icon{margin-right:var(--eui-s-xs)}.eui-toolbar-menu-content ul ul li.child .eui-toolbar-menu-item__label{padding:var(--eui-s-2xs);position:relative}.eui-toolbar-menu-content ul ul li.hidden{display:none!important}.eui-toolbar-menu-content ul ul li a,.eui-toolbar-menu-content ul ul li h2{align-items:center;background:var(--eui-c-branding-dark);display:flex;line-height:1.25;min-height:var(--eui-s-3xl);min-width:260px;padding:var(--eui-s-2xs) var(--eui-s-xs);text-decoration:none;transition:color .2s ease-in-out}.eui-toolbar-menu-content ul ul li h2{color:var(--eui-c-accent);font-size:var(--eui-f-size-m);padding-left:var(--eui-s-xs);padding-top:var(--eui-s-s)}.eui-toolbar-menu-content ul ul li a{border-left:3px solid transparent;padding-left:var(--eui-s-2xs)}.eui-toolbar-menu-content ul ul li:hover>a,.eui-toolbar-menu-content ul ul li a:hover{border-left:3px solid var(--eui-c-accent-dark);color:var(--eui-c-accent)!important}.eui-toolbar-menu-content ul ul li.has-sub>a:after{border-bottom:2px solid var(--eui-c-neutral-lightest);border-right:2px solid var(--eui-c-neutral-lightest);content:\"\";height:10px;position:absolute;right:10px;top:var(--eui-s-s);transform:rotate(-45deg);width:10px}.eui-toolbar-menu-content ul ul li a.disabled{opacity:var(--eui-o-50);cursor:default}.eui-toolbar-menu-content ul ul li a.disabled:hover{border-left:0}.eui-toolbar-menu-content ul ul li.separator{background-color:var(--eui-c-neutral-bg-light)!important;height:1px!important}.eui-toolbar-menu-content .icon-home-link .eui-icon-svg>svg{height:1.5rem;width:1.5rem}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:after,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:after{border-right:0}.eui-toolbar-menu-content .icon-menu-item.selected .icon-home-link:before,.eui-toolbar-menu-content .icon-menu-item:hover .icon-home-link:before{border-left:0}.eui-toolbar-menu-content .eui-toolbar-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#nav-bar.sidebar-toggle-with-top-menu #top-menu{left:calc(var(--eui-layout-sidebar-width) + var(--eui-f-size-base));position:absolute}\n"] }]
|
154
|
-
}], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i0.ChangeDetectorRef }
|
155
|
+
}], ctorParameters: () => [{ type: i1.EuiAppShellService }, { type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
|
156
|
+
type: Inject,
|
157
|
+
args: [DOCUMENT]
|
158
|
+
}] }], propDecorators: { cssClasses: [{
|
155
159
|
type: HostBinding,
|
156
160
|
args: ['class']
|
157
161
|
}], items: [{
|
@@ -159,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
159
163
|
}], menuItemClick: [{
|
160
164
|
type: Output
|
161
165
|
}] } });
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBSUwsTUFBTSxFQUNOLFlBQVksR0FHZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQWlCN0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxJQUNXLFVBQVU7UUFDakIsT0FBTyxrQkFBa0IsQ0FBQztJQUM5QixDQUFDO0lBWUQsWUFDVyxTQUE2QixFQUM1QixFQUFxQjtRQUR0QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtRQUM1QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQVJ2QixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFFMUQsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFRbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENB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LENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUN4QixnRUFBZ0U7b0JBQ2hFLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBUyxFQUFFLEdBQUUsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDLENBQUM7Z0JBQ0YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOzhHQXRKUSx1QkFBdUI7a0dBQXZCLHVCQUF1QixnT0NwQ3BDLGlxUkFvSUEsa3FMRHhHUSxhQUFhLHVVQUNiLEtBQUssbUhBRUwsSUFBSSw2RkFDSixVQUFVLG1PQUNWLGVBQWU7OzJGQUdWLHVCQUF1QjtrQkFmbkMsU0FBUzsrQkFDSSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1A7d0JBQ0wsYUFBYTt3QkFDYixLQUFLO3dCQUNMLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixVQUFVO3dCQUNWLGVBQWU7cUJBQ2xCO3VIQUlVLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsT0FBTztnQkFPWCxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIElucHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLW1lbnUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdWlJY29uTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1pY29uJztcbmltcG9ydCB7IE5nRm9yLCBOZ0Zvck9mLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpLXRvb2xiYXItbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXItbWVudS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3Rvb2xiYXItbWVudS5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgRXVpSWNvbk1vZHVsZSxcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFJvdXRlckxpbmssXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlUb29sYmFyTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ2V1aS10b29sYmFyLW1lbnUnO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXTtcblxuICAgIEBPdXRwdXQoKSBtZW51SXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4oKTtcblxuICAgIGlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHN1YnM6IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgYXNTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICB0aGlzLnN1YnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IHRydWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIHN1YnNjcmliZSB0byBzdGF0ZSBjaGFuZ2VzXG4gICAgICAgIHRoaXMuc3Vicy5hZGQodGhpcy5hc1NlcnZpY2UuZ2V0U3RhdGUoJ21lbnVMaW5rcycpLnN1YnNjcmliZSgobGlua3MpID0+ICh0aGlzLml0ZW1zID0gbGlua3MpKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vicy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLmFzU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgIGhhc1Rvb2xiYXJNZW51OiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5pdGVtcykge1xuICAgICAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgICAgIG1lbnVMaW5rczogY2hhbmdlcy5pdGVtcy5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTGlua0NsaWNrKGxpbms6IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmIChsaW5rLnVybCkge1xuICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbGluay5kaXNhYmxlZCAmJiBsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWxpbmsuZGlzYWJsZWQgJiYgIWxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuXG4gICAgICAgICAgICAvLyBjbGljayBvbiBkcm9waXRlbXMgdG8gY2xvc2UgZHJvcGRvd25cbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3RvcC1tZW51IGxpOmhvdmVyID4gdWwnKTtcbiAgICAgICAgICAgIGRyb3Bkb3duLmZvckVhY2goKG1lbnVzKSA9PiB7XG4gICAgICAgICAgICAgICAgbWVudXMuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgICAgICAgICAgICAgIG1lbnVzLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3dPbkVudGVyJyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gb3BlbiBhZ2FpbiBvbiBtb3VzZW92ZXJcbiAgICAgICAgICAgIGNvbnN0IGRyb3BCdG5zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3RvcC1tZW51IGxpOmhvdmVyJyk7XG4gICAgICAgICAgICBkcm9wQnRucy5mb3JFYWNoKChidG4pID0+IHtcbiAgICAgICAgICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHJvcENvbnRlbnQgPSBidG4ucXVlcnlTZWxlY3RvcignI3RvcC1tZW51IGxpOmhvdmVyID4gdWwnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkT3BlbiA9IGRyb3BDb250ZW50ID8gIWRyb3BDb250ZW50LmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG91bGRPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkcm9wQ29udGVudC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaW5rLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihsaW5rLnVybEV4dGVybmFsLCBsaW5rPy51cmxFeHRlcm5hbFRhcmdldCB8fCAnX2JsYW5rJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmsuY29tbWFuZCkge1xuICAgICAgICAgICAgbGluay5jb21tYW5kKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGxpbms6IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdFbnRlcic6IHtcbiAgICAgICAgICAgICAgICBpZiAobGluay51cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay51cmxFeHRlcm5hbCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihsaW5rLnVybEV4dGVybmFsLCBsaW5rLnVybEV4dGVybmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY29tbWFuZCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdUYWInOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNkcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdGNoaWxkID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hpbGQgPiBhJykpLnJldmVyc2UoKVswXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgbGFzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxhc3QgY2hpbGQgb25ibHVyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge307XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnRXNjYXBlJzoge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuc2hpZnRLZXkgJiYgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNkcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdGNoaWxkID0gQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hpbGQgPiBhJykpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGZpcnN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBmaXJzdCBjaGlsZCBvbmJsdXJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICBmaXJzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHt9O1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuYXYgaWQ9XCJ0b3AtbWVudVwiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1jb250ZW50XCIgKm5nSWY9XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGggIT09IDBcIj5cbiAgICA8dWw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgaXRlbXNcIj5cbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImxpbmsudmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGxpbmsudmlzaWJsZSA9PT0gdHJ1ZVwiIFtjbGFzcy5oYXMtc3ViXT1cImxpbmsuY2hpbGRyZW5cIiBbY2xhc3Muc2VsZWN0ZWRdPVwibGluay5hY3RpdmVcIiByb3V0ZXJMaW5rQWN0aXZlPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cIiFsaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgbGluaylcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1ob21lLWxpbmtdPVwibGluay5pc0hvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnbmV1dHJhbCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LW1yLXhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGluay5pY29uQ2xhc3MgJiYgIWxpbmsuaWNvblN2Z05hbWVcIiBjbGFzcz1cInt7IGxpbmsuaWNvbkNsYXNzIH19IGV1aS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWxhYmVsXCI+e3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmcgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCIgaWNvbj1cImNoZXZyb24tZG93bjpzaGFycFwiIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnbmV1dHJhbCcgOiAnd2hpdGUnXCIgc2l6ZT1cInNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImxpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2sobGluaylcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWhvbWUtbGlua109XCJsaW5rLmlzSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpLXUtZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGxDb2xvcl09XCJsaW5rLmFjdGl2ZSA/ICduZXV0cmFsJyA6ICd3aGl0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS11LW1yLXhzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibGluay5pY29uQ2xhc3MgJiYgIWxpbmsuaWNvblN2Z05hbWVcIiBjbGFzcz1cInt7IGxpbmsuaWNvbkNsYXNzIH19IGV1aS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWxhYmVsXCI+e3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuY2hpbGRyZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJjaGV2cm9uLWRvd246c2hhcnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnbmV1dHJhbCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tbC14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNob3dcIiBbY2xhc3Muc2hvd09uRW50ZXJdPVwiaXNkcm9wZG93bk9wZW5cIiAqbmdJZj1cImxpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGRMaW5rIG9mIGxpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLnZpc2libGUgPT09IHVuZGVmaW5lZCB8fCBjaGlsZExpbmsudmlzaWJsZSA9PT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGlsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmhhcy1zdWJdPVwiY2hpbGRMaW5rPy5jaGlsZHJlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlcGFyYXRvcl09XCJjaGlsZExpbmsuaXNTZXBhcmF0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZExpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZExpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpbGRMaW5rLmljb25DbGFzc1wiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZExpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwiaXNkcm9wZG93bk9wZW4gJiYgIWNoaWxkTGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJjaGlsZExpbmsuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZExpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hpbGRMaW5rLmljb25DbGFzc1wiIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZExpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNob3dcIiBbY2xhc3Muc2hvd09uRW50ZXJdPVwiaXNkcm9wZG93bk9wZW5cIiAqbmdJZj1cImNoaWxkTGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZFN1Ykxpbmsgb2YgY2hpbGRMaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgKm5nSWY9XCJjaGlsZFN1YkxpbmsudmlzaWJsZSA9PT0gdW5kZWZpbmVkIHx8IGNoaWxkU3ViTGluay52aXNpYmxlID09PSB0cnVlXCIgY2xhc3M9XCJjaGlsZFwiIFtjbGFzcy5zZXBhcmF0b3JdPVwiY2hpbGRTdWJMaW5rLmlzU2VwYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZFN1YkxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRTdWJMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZFN1YkxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRTdWJMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkU3ViTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRTdWJMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFjaGlsZFN1YkxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZFN1YkxpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRTdWJMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGNoaWxkU3ViTGluaylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50LCBjaGlsZFN1YkxpbmspXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb24gZXVpLWljb24ge3sgY2hpbGRTdWJMaW5rLmljb25DbGFzcyB9fVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGV1aS1pY29uLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2ljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj1cInt7IGNoaWxkU3ViTGluay5pY29uU3ZnTmFtZSB9fVwiPjwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9fbGFiZWxcIj57eyBjaGlsZFN1YkxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuPC9uYXY+XG4iXX0=
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xheW91dC9ldWktdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixLQUFLLEVBSUwsTUFBTSxFQUNOLFlBQVksRUFFWixNQUFNLEdBRVQsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBaUI3QyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDLElBQ1csVUFBVTtRQUNqQixPQUFPLGtCQUFrQixDQUFDO0lBQzlCLENBQUM7SUFZRCxZQUNXLFNBQTZCLEVBQzVCLEVBQXFCLEVBQ0gsUUFBa0I7UUFGckMsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFDNUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDSCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBVHRDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUUxRCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQVNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENB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QzlGLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBUyxFQUFFO29CQUMzQixxQkFBcUI7b0JBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO29CQUM1QixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUN4QixnRUFBZ0U7b0JBQ2hFLFVBQVUsQ0FBQyxNQUFNLEdBQUcsR0FBUyxFQUFFLEdBQUUsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDLENBQUM7Z0JBQ0YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUNoQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOzhHQXZKUSx1QkFBdUIscUZBbUJwQixRQUFRO2tHQW5CWCx1QkFBdUIsZ09DckNwQyxpcVJBb0lBLGtxTER2R1EsYUFBYSx1VUFDYixLQUFLLG1IQUVMLElBQUksNkZBQ0osVUFBVSxtT0FDVixlQUFlOzsyRkFHVix1QkFBdUI7a0JBZm5DLFNBQVM7K0JBQ0ksa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLGFBQWE7d0JBQ2IsS0FBSzt3QkFDTCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osVUFBVTt3QkFDVixlQUFlO3FCQUNsQjs7MEJBcUJJLE1BQU07MkJBQUMsUUFBUTt5Q0FqQlQsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPO2dCQU9YLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSW5qZWN0LFxuICAgIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLW1lbnUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdWlJY29uTW9kdWxlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1pY29uJztcbmltcG9ydCB7IERPQ1VNRU5ULCBOZ0ZvciwgTmdGb3JPZiwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10b29sYmFyLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi90b29sYmFyLW1lbnUuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEV1aUljb25Nb2R1bGUsXG4gICAgICAgIE5nRm9yLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVG9vbGJhck1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICdldWktdG9vbGJhci1tZW51JztcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBASW5wdXQoKSBpdGVtczogYW55W107XG5cbiAgICBAT3V0cHV0KCkgbWVudUl0ZW1DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+KCk7XG5cbiAgICBpc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGFzU2VydmljZTogRXVpQXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hc1NlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBoYXNUb29sYmFyTWVudTogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXNcbiAgICAgICAgdGhpcy5zdWJzLmFkZCh0aGlzLmFzU2VydmljZS5nZXRTdGF0ZSgnbWVudUxpbmtzJykuc3Vic2NyaWJlKChsaW5rcykgPT4gKHRoaXMuaXRlbXMgPSBsaW5rcykpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuYXNTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgICAgIC4uLnRoaXMuYXNTZXJ2aWNlLnN0YXRlLFxuICAgICAgICAgICAgaGFzVG9vbGJhck1lbnU6IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLmFzU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5hc1NlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICAgICAgbWVudUxpbmtzOiBjaGFuZ2VzLml0ZW1zLmN1cnJlbnRWYWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25MaW5rQ2xpY2sobGluazogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGxpbmsudXJsKSB7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFsaW5rLmRpc2FibGVkICYmIGxpbmsuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMubWVudUl0ZW1DbGljay5lbWl0KGxpbmspO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbGluay5kaXNhYmxlZCAmJiAhbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5tZW51SXRlbUNsaWNrLmVtaXQobGluayk7XG5cbiAgICAgICAgICAgIC8vIGNsaWNrIG9uIGRyb3BpdGVtcyB0byBjbG9zZSBkcm9wZG93blxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSB0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0b3AtbWVudSBsaTpob3ZlciA+IHVsJyk7XG4gICAgICAgICAgICBkcm9wZG93bi5mb3JFYWNoKChtZW51cykgPT4ge1xuICAgICAgICAgICAgICAgIG1lbnVzLmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgICAgICAgICBtZW51cy5jbGFzc0xpc3QucmVtb3ZlKCdzaG93T25FbnRlcicpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIG9wZW4gYWdhaW4gb24gbW91c2VvdmVyXG4gICAgICAgICAgICBjb25zdCBkcm9wQnRucyA9IHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3RvcC1tZW51IGxpOmhvdmVyJyk7XG4gICAgICAgICAgICBkcm9wQnRucy5mb3JFYWNoKChidG4pID0+IHtcbiAgICAgICAgICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdmVyJywgKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHJvcENvbnRlbnQgPSBidG4ucXVlcnlTZWxlY3RvcignI3RvcC1tZW51IGxpOmhvdmVyID4gdWwnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkT3BlbiA9IGRyb3BDb250ZW50ID8gIWRyb3BDb250ZW50LmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzaG91bGRPcGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkcm9wQ29udGVudC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaW5rLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICB3aW5kb3cub3BlbihsaW5rLnVybEV4dGVybmFsLCBsaW5rPy51cmxFeHRlcm5hbFRhcmdldCB8fCAnX2JsYW5rJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxpbmsuY29tbWFuZCkge1xuICAgICAgICAgICAgbGluay5jb21tYW5kKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGxpbms6IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlICdFbnRlcic6IHtcbiAgICAgICAgICAgICAgICBpZiAobGluay51cmwpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghbGluay5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lbnVJdGVtQ2xpY2suZW1pdChsaW5rKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGluay51cmxFeHRlcm5hbCkge1xuICAgICAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihsaW5rLnVybEV4dGVybmFsLCBsaW5rLnVybEV4dGVybmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxpbmsuY29tbWFuZCkge1xuICAgICAgICAgICAgICAgICAgICBsaW5rLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdUYWInOiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNkcm9wZG93bk9wZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdGNoaWxkID0gQXJyYXkuZnJvbSh0aGlzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGlsZCA+IGEnKSkucmV2ZXJzZSgpWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBsYXN0Y2hpbGQub25ibHVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGFzdCBjaGlsZCBvbmJsdXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdFc2NhcGUnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc2Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC5zaGlmdEtleSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc2Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpcnN0Y2hpbGQgPSBBcnJheS5mcm9tKHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNoaWxkID4gYScpKVswXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgICBmaXJzdGNoaWxkLm9uYmx1ciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZmlyc3QgY2hpbGQgb25ibHVyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgZmlyc3RjaGlsZC5vbmJsdXIgPSAoKTogdm9pZCA9PiB7fTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGlmIChsaW5rLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNkcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmF2IGlkPVwidG9wLW1lbnVcIiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtY29udGVudFwiICpuZ0lmPVwiaXRlbXMgJiYgaXRlbXMubGVuZ3RoICE9PSAwXCI+XG4gICAgPHVsPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGl0ZW1zXCI+XG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJsaW5rLnZpc2libGUgPT09IHVuZGVmaW5lZCB8fCBsaW5rLnZpc2libGUgPT09IHRydWVcIiBbY2xhc3MuaGFzLXN1Yl09XCJsaW5rLmNoaWxkcmVuXCIgW2NsYXNzLnNlbGVjdGVkXT1cImxpbmsuYWN0aXZlXCIgcm91dGVyTGlua0FjdGl2ZT1cInNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhbGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwibGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCIhbGluay5kaXNhYmxlZCA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhsaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmljb24taG9tZS1saW5rXT1cImxpbmsuaXNIb21lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWktdS1mbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJsaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ25ldXRyYWwnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnICpuZ0lmPVwibGluay5jaGlsZHJlblwiIGljb249XCJjaGV2cm9uLWRvd246c2hhcnBcIiBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ25ldXRyYWwnIDogJ3doaXRlJ1wiIHNpemU9XCJzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJsaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJsaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGlua0NsaWNrKGxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgbGluaylcIlxuICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaWNvbi1ob21lLWxpbmtdPVwibGluay5pc0hvbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aS11LWZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImxpbmsuaWNvblN2Z05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxsQ29sb3JdPVwibGluay5hY3RpdmUgPyAnbmV1dHJhbCcgOiAnd2hpdGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktdS1tci14c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImxpbmsuaWNvbkNsYXNzICYmICFsaW5rLmljb25TdmdOYW1lXCIgY2xhc3M9XCJ7eyBsaW5rLmljb25DbGFzcyB9fSBldWktaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1sYWJlbFwiPnt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwiY2hldnJvbi1kb3duOnNoYXJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsbENvbG9yXT1cImxpbmsuYWN0aXZlID8gJ25ldXRyYWwnIDogJ3doaXRlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXUtbWwteHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZXVpLWljb24tc3ZnPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzaG93XCIgW2NsYXNzLnNob3dPbkVudGVyXT1cImlzZHJvcGRvd25PcGVuXCIgKm5nSWY9XCJsaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNoaWxkTGluayBvZiBsaW5rLmNoaWxkcmVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay52aXNpYmxlID09PSB1bmRlZmluZWQgfHwgY2hpbGRMaW5rLnZpc2libGUgPT09IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hpbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oYXMtc3ViXT1cImNoaWxkTGluaz8uY2hpbGRyZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zZXBhcmF0b3JdPVwiY2hpbGRMaW5rLmlzU2VwYXJhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY2hpbGRMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZExpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoaWxkTGluay5pY29uQ2xhc3NcIiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZExpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZExpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cImlzZHJvcGRvd25PcGVuICYmICFjaGlsZExpbmsuZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiY2hpbGRMaW5rLmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY2hpbGRMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZExpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNoaWxkTGluay5pY29uQ2xhc3NcIiBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZExpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzaG93XCIgW2NsYXNzLnNob3dPbkVudGVyXT1cImlzZHJvcGRvd25PcGVuXCIgKm5nSWY9XCJjaGlsZExpbmsuY2hpbGRyZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGRTdWJMaW5rIG9mIGNoaWxkTGluay5jaGlsZHJlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwiY2hpbGRTdWJMaW5rLnZpc2libGUgPT09IHVuZGVmaW5lZCB8fCBjaGlsZFN1YkxpbmsudmlzaWJsZSA9PT0gdHJ1ZVwiIGNsYXNzPVwiY2hpbGRcIiBbY2xhc3Muc2VwYXJhdG9yXT1cImNoaWxkU3ViTGluay5pc1NlcGFyYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRTdWJMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkU3ViTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImNoaWxkU3ViTGluay51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MaW5rQ2xpY2soY2hpbGRTdWJMaW5rKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQsIGNoaWxkU3ViTGluaylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25DbGFzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvbiBldWktaWNvbiB7eyBjaGlsZFN1YkxpbmsuaWNvbkNsYXNzIH19XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXVpLWljb24tc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkU3ViTGluay5pY29uU3ZnTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS10b29sYmFyLW1lbnUtaXRlbV9faWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwie3sgY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lIH19XCI+PC9ldWktaWNvbi1zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19sYWJlbFwiPnt7IGNoaWxkU3ViTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhY2hpbGRTdWJMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJpc2Ryb3Bkb3duT3BlbiAmJiAhY2hpbGRTdWJMaW5rLmRpc2FibGVkID8gMCA6IC0xXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImNoaWxkU3ViTGluay5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkxpbmtDbGljayhjaGlsZFN1YkxpbmspXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudCwgY2hpbGRTdWJMaW5rKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZFN1YkxpbmsuaWNvbkNsYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uIGV1aS1pY29uIHt7IGNoaWxkU3ViTGluay5pY29uQ2xhc3MgfX1cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxldWktaWNvbi1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGRTdWJMaW5rLmljb25TdmdOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLXRvb2xiYXItbWVudS1pdGVtX19pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJ7eyBjaGlsZFN1YkxpbmsuaWNvblN2Z05hbWUgfX1cIj48L2V1aS1pY29uLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJldWktdG9vbGJhci1tZW51LWl0ZW1fX2xhYmVsXCI+e3sgY2hpbGRTdWJMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC91bD5cbjwvbmF2PlxuIl19
|
@@ -5,10 +5,12 @@ import * as i0 from "@angular/core";
|
|
5
5
|
export declare class EuiInputNumberDirective implements ControlValueAccessor, OnInit {
|
6
6
|
private elementRef;
|
7
7
|
private euiNumberComponent;
|
8
|
+
private document;
|
9
|
+
private platformId;
|
8
10
|
/** hold a copy of the value */
|
9
11
|
private value;
|
10
12
|
private onChange;
|
11
|
-
constructor(elementRef: ElementRef, euiNumberComponent: EuiInputNumberComponent);
|
13
|
+
constructor(elementRef: ElementRef, euiNumberComponent: EuiInputNumberComponent, document: Document, platformId: unknown);
|
12
14
|
ngOnInit(): void;
|
13
15
|
writeValue(obj: any): void;
|
14
16
|
registerOnChange(fn: any): void;
|
@@ -16,7 +18,7 @@ export declare class EuiInputNumberDirective implements ControlValueAccessor, On
|
|
16
18
|
setDisabledState(isDisabled: boolean): void;
|
17
19
|
private onTouched;
|
18
20
|
private valueChanges;
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputNumberDirective, [null, { optional: true; }]>;
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EuiInputNumberDirective, [null, { optional: true; }, null, null]>;
|
20
22
|
static ɵdir: i0.ɵɵDirectiveDeclaration<EuiInputNumberDirective, "input[euiInputNumber][formControl],input[euiInputNumber][formControlName],input[euiInputNumber][ngModel]", never, {}, {}, never, never, false, never>;
|
21
23
|
}
|
22
24
|
//# sourceMappingURL=eui-number-control.directive.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-number-control.directive.d.ts","sourceRoot":"","sources":["../../eui-input-number/eui-number-control.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,
|
1
|
+
{"version":3,"file":"eui-number-control.directive.d.ts","sourceRoot":"","sources":["../../eui-input-number/eui-number-control.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAsB,MAAM,EAAyB,MAAM,eAAe,CAAC;AACzG,OAAO,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAkB,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;;AAIvF,qBAUa,uBAAwB,YAAW,oBAAoB,EAAE,MAAM;IAQpE,OAAO,CAAC,UAAU;IACN,OAAO,CAAC,kBAAkB;IACpB,OAAO,CAAC,QAAQ;IACb,OAAO,CAAC,UAAU;IAV3C,+BAA+B;IAC/B,OAAO,CAAC,KAAK,CAAS;IAGtB,OAAO,CAAC,QAAQ,CAAmB;gBAGvB,UAAU,EAAE,UAAU,EACV,kBAAkB,EAAE,uBAAuB,EACrC,QAAQ,EAAE,QAAQ,EACf,UAAU,EAAE,OAAO;IAGpD,QAAQ,IAAI,IAAI;IAMhB,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IA2B1B,gBAAgB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAS/B,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,IAAI;IAIhC,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAI3C,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;yCApEX,uBAAuB;2CAAvB,uBAAuB;CA6EnC"}
|
@@ -55,7 +55,7 @@ export declare class QuillEditorComponent implements AfterViewInit, ControlValue
|
|
55
55
|
strict: boolean;
|
56
56
|
preserveWhitespace: boolean;
|
57
57
|
private disabled;
|
58
|
-
constructor(elementRef: ElementRef, domSanitizer: DomSanitizer, doc: any, platformId:
|
58
|
+
constructor(elementRef: ElementRef, domSanitizer: DomSanitizer, doc: any, platformId: object, renderer: Renderer2, zone: NgZone, config: QuillConfig, loader: LoaderService);
|
59
59
|
onModelChange(_modelValue?: any): void;
|
60
60
|
onModelTouched(): void;
|
61
61
|
valueGetter: (quillEditor: any, editorElement: HTMLElement) => string | any;
|
@@ -276,7 +276,7 @@ class EuiChipListComponent {
|
|
276
276
|
return tab;
|
277
277
|
}
|
278
278
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiChipListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: EuiChipListDragService }, { token: i2.DomSanitizer }, { token: i3.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
279
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: EuiChipListComponent, selector: "eui-chip-list, div[euiChipList], ul[euiChipList]", inputs: { chips: "chips", toggleLinkMoreLabel: "toggleLinkMoreLabel", toggleLinkLessLabel: "toggleLinkLessLabel", chipsSortOrder: "chipsSortOrder", dragAndDropSourceName: "dragAndDropSourceName", dragAndDropConnectedTo: "dragAndDropConnectedTo", ariaLabel: "ariaLabel", dropListOrientation: "dropListOrientation", isSquared: ["isSquared", "isSquared", booleanAttribute], isChipsRemovable: ["isChipsRemovable", "isChipsRemovable", booleanAttribute], isMaxVisibleChipsOpened: ["isMaxVisibleChipsOpened", "isMaxVisibleChipsOpened", booleanAttribute], isChipsSorted: ["isChipsSorted", "isChipsSorted", booleanAttribute], isChipsDragAndDrop: ["isChipsDragAndDrop", "isChipsDragAndDrop", booleanAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], maxVisibleChipsCount: ["maxVisibleChipsCount", "maxVisibleChipsCount", numberAttribute], chipsLabelTruncateCount: ["chipsLabelTruncateCount", "chipsLabelTruncateCount", numberAttribute] }, outputs: { chipsInit: "chipsInit", chipRemove: "chipRemove", chipDragStart: "chipDragStart", chipDragRelease: "chipDragRelease", chipDrop: "chipDrop", chiplistFocus: "chiplistFocus" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses" } }, queries: [{ propertyName: "euiChipsContent", predicate: i0.forwardRef(() => EuiChipComponent) }], viewQueries: [{ propertyName: "chipListDropList", first: true, predicate: ["chipListDropList"], descendants: true, read: CdkDropList }, { propertyName: "chipListDragAndDropItems", first: true, predicate: ["chipListDragAndDropItems"], descendants: true, read: CdkDropList }, { propertyName: "euiChipItems", predicate: ["euiChipItem"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i3.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiOutline", "euiOutline", "euiDisabled", "euiDisabled"] }], ngImport: i0, template: "<div *ngIf=\"!isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListOrientation]=\"dropListOrientation\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chips }\"\n [cdkDropListConnectedTo]=\"droppableArea\"\n (cdkDropListDropped)=\"drop($event)\"\n (focus)=\"onFocus()\"\n class=\"eui-chip-list__list\">\n <div\n class=\"eui-chip-list__chip-container\"\n *ngFor=\"let chip of chips; let i = index; trackBy: trackByFn\"\n cdkDrag\n [cdkDragData]=\"chip\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"chip.iconClass\" class=\"{{ chip.iconClass }}\"></span>\n <span class=\"eui-chip-list__chip-content\" *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<div *ngIf=\"isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div class=\"eui-chip-list__group\" cdkDropListGroup>\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n *ngFor=\"let chip of chips; let i = index\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chip: chip, index: i }\"\n (focus)=\"onFocus()\"\n (cdkDropListDropped)=\"onDropGrid($event)\"\n class=\"eui-chip-list__custom\">\n <div\n class=\"eui-chip-list__chip-container\"\n cdkDrag\n [cdkDragData]=\"{ chip: chip, index: i }\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\"\n (cdkDragEntered)=\"onDragEnter($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [id]=\"chip.id\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<ng-template #euiChipListAppendContent>\n <ng-content select=\"euiChipListAppendContent\"></ng-content>\n</ng-template>\n\n<ng-template #additionalContent>\n <ng-container *ngIf=\"maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount\">\n <div class=\"eui-chip-list__expand-button-wrapper\">\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"isMaxVisibleChipsOpened\">\n <eui-icon-svg icon=\"chevron-back:sharp\" aria-label=\"Collapse icon\"></eui-icon-svg>\n <span euiLabel *ngIf=\"toggleLinkLessLabel\">{{ toggleLinkLessLabel | translate }}</span>\n </button>\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n aria-haspopup=\"true\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"!isMaxVisibleChipsOpened\">\n <span euiLabel *ngIf=\"toggleLinkMoreLabel\">{{ toggleLinkMoreLabel | translate }}</span>\n <eui-icon-svg icon=\"chevron-forward:sharp\" aria-label=\"Expand icon\"></eui-icon-svg>\n </button>\n </div>\n </ng-container>\n</ng-template>\n", styles: [".eui-chip-list{align-items:center;display:flex;margin:0;padding:0}.eui-chip-list .eui-chip-list-container{align-items:center;display:flex;width:100%}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper{align-items:center;display:flex;width:100%;flex-wrap:wrap}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__list{flex-wrap:wrap}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__chip-container{align-items:center;display:inline-flex}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__chip-container .eui-chip{margin-bottom:var(--eui-s-2xs);margin-right:var(--eui-s-2xs)}.eui-chip-list[ischipsdraganddrop] .eui-chip-list-container{width:100%}.eui-chip-list__group{display:flex;flex-wrap:wrap}.eui-chip-list__chip-container.cdk-drag:not(.cdk-drag-disabled){cursor:move!important}.eui-chip-list__custom{min-width:auto!important;width:auto!important}.eui-chip-list__chip-content{display:flex;align-items:center;gap:var(--eui-s-xs)}@media screen and (max-width: 767px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i10.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }, { kind: "pipe", type: i12.EuiTruncatePipe, name: "euiTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
279
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: EuiChipListComponent, selector: "eui-chip-list, div[euiChipList], ul[euiChipList]", inputs: { chips: "chips", toggleLinkMoreLabel: "toggleLinkMoreLabel", toggleLinkLessLabel: "toggleLinkLessLabel", chipsSortOrder: "chipsSortOrder", dragAndDropSourceName: "dragAndDropSourceName", dragAndDropConnectedTo: "dragAndDropConnectedTo", ariaLabel: "ariaLabel", dropListOrientation: "dropListOrientation", isSquared: ["isSquared", "isSquared", booleanAttribute], isChipsRemovable: ["isChipsRemovable", "isChipsRemovable", booleanAttribute], isMaxVisibleChipsOpened: ["isMaxVisibleChipsOpened", "isMaxVisibleChipsOpened", booleanAttribute], isChipsSorted: ["isChipsSorted", "isChipsSorted", booleanAttribute], isChipsDragAndDrop: ["isChipsDragAndDrop", "isChipsDragAndDrop", booleanAttribute], isGrid: ["isGrid", "isGrid", booleanAttribute], maxVisibleChipsCount: ["maxVisibleChipsCount", "maxVisibleChipsCount", numberAttribute], chipsLabelTruncateCount: ["chipsLabelTruncateCount", "chipsLabelTruncateCount", numberAttribute] }, outputs: { chipsInit: "chipsInit", chipRemove: "chipRemove", chipDragStart: "chipDragStart", chipDragRelease: "chipDragRelease", chipDrop: "chipDrop", chiplistFocus: "chiplistFocus" }, host: { properties: { "attr.aria-label": "this.ariaLabel", "class": "this.cssClasses" } }, queries: [{ propertyName: "euiChipsContent", predicate: i0.forwardRef(() => EuiChipComponent) }], viewQueries: [{ propertyName: "chipListDropList", first: true, predicate: ["chipListDropList"], descendants: true, read: CdkDropList }, { propertyName: "chipListDragAndDropItems", first: true, predicate: ["chipListDragAndDropItems"], descendants: true, read: CdkDropList }, { propertyName: "euiChipItems", predicate: ["euiChipItem"], descendants: true, read: ElementRef }], usesOnChanges: true, hostDirectives: [{ directive: i3.BaseStatesDirective, inputs: ["euiPrimary", "euiPrimary", "euiSecondary", "euiSecondary", "euiSuccess", "euiSuccess", "euiInfo", "euiInfo", "euiWarning", "euiWarning", "euiDanger", "euiDanger", "euiAccent", "euiAccent", "euiVariant", "euiVariant", "euiOutline", "euiOutline", "euiDisabled", "euiDisabled"] }], ngImport: i0, template: "<div *ngIf=\"!isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListOrientation]=\"dropListOrientation\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chips }\"\n [cdkDropListConnectedTo]=\"droppableArea\"\n (cdkDropListDropped)=\"drop($event)\"\n (focus)=\"onFocus()\"\n class=\"eui-chip-list__list\">\n <div\n class=\"eui-chip-list__chip-container\"\n *ngFor=\"let chip of chips; let i = index; trackBy: trackByFn\"\n cdkDrag\n [cdkDragData]=\"chip\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"chip.iconClass\" class=\"{{ chip.iconClass }}\"></span>\n <span class=\"eui-chip-list__chip-content\" *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<div *ngIf=\"isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div class=\"eui-chip-list__group\" cdkDropListGroup>\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n *ngFor=\"let chip of chips; let i = index\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chip: chip, index: i }\"\n (focus)=\"onFocus()\"\n (cdkDropListDropped)=\"onDropGrid($event)\"\n class=\"eui-chip-list__custom\">\n <div\n class=\"eui-chip-list__chip-container\"\n cdkDrag\n [cdkDragData]=\"{ chip: chip, index: i }\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\"\n (cdkDragEntered)=\"onDragEnter($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [id]=\"chip.id\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<ng-template #euiChipListAppendContent>\n <ng-content select=\"euiChipListAppendContent\"></ng-content>\n</ng-template>\n\n<ng-template #additionalContent>\n <ng-container *ngIf=\"maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount\">\n <div class=\"eui-chip-list__expand-button-wrapper\">\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"isMaxVisibleChipsOpened\">\n <eui-icon-svg icon=\"chevron-back:sharp\" aria-label=\"Collapse icon\"></eui-icon-svg>\n <span euiLabel *ngIf=\"toggleLinkLessLabel\">{{ toggleLinkLessLabel | translate }}</span>\n </button>\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n aria-haspopup=\"true\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"!isMaxVisibleChipsOpened\">\n <span euiLabel *ngIf=\"toggleLinkMoreLabel\">{{ toggleLinkMoreLabel | translate }}</span>\n <eui-icon-svg icon=\"chevron-forward:sharp\" aria-label=\"Expand icon\"></eui-icon-svg>\n </button>\n </div>\n </ng-container>\n</ng-template>\n", styles: [".eui-chip-list{align-items:center;display:flex;margin:0;padding:0}.eui-chip-list .eui-chip-list-container{align-items:center;display:flex}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper{align-items:center;display:flex;width:100%;flex-wrap:wrap}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__list{flex-wrap:wrap;gap:var(--eui-s-xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__chip-container{align-items:center;display:inline-flex}.eui-chip-list[ischipsdraganddrop] .eui-chip-list-container{width:100%}.eui-chip-list__group{display:flex;flex-wrap:wrap}.eui-chip-list__chip-container.cdk-drag:not(.cdk-drag-disabled){cursor:move!important}.eui-chip-list__custom{min-width:auto!important;width:auto!important}.eui-chip-list__chip-content{display:flex;align-items:center;gap:var(--eui-s-xs)}@media screen and (max-width: 767px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.EuiChipComponent, selector: "eui-chip, span[euiChip], li[euiChip]", inputs: ["ariaLabel", "e2eAttr", "euiInternalId", "tooltipMessage", "id", "data", "isChipRemovable", "isSquared", "isFilled"], outputs: ["remove"] }, { kind: "component", type: i6.EuiButtonComponent, selector: "button[euiButton], a[euiButton]", inputs: ["e2eAttr", "id", "euiBasicButton", "euiButtonCall", "euiBlockButton", "euiIconButton", "euiLineWrap", "isChecked", "euiDisabled"], outputs: ["buttonClick"] }, { kind: "component", type: i7.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "fillColor", "set", "size", "style", "iconUrl", "transform", "euiVariant", "aria-label", "ariaHidden", "focusable", "isLoading", "isInputIcon", "euiStart", "euiEnd"] }, { kind: "component", type: i8.EuiLabelComponent, selector: "label[euiLabel], span[euiLabel], div[euiLabel], a[euiLabel], eui-label, label[euiSublabel], span[euiSublabel], div[euiSublabel], a[euiSublabel], eui-sublabel", inputs: ["euiRequired", "euiReadonly", "euiSublabel"] }, { kind: "directive", type: i9.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i9.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i9.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i10.EuiTooltipDirective, selector: "[euiTooltip]", inputs: ["e2eAttr", "showDelay", "hideDelay", "contentAlignment", "position", "isDisabled", "euiTooltip", "euiTooltipPrimary", "euiTooltipSecondary", "euiTooltipInfo", "euiTooltipSuccess", "euiTooltipWarning", "euiTooltipDanger", "euiTooltipAccent"], exportAs: ["euiTooltip"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }, { kind: "pipe", type: i12.EuiTruncatePipe, name: "euiTruncate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
280
280
|
}
|
281
281
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: EuiChipListComponent, decorators: [{
|
282
282
|
type: Component,
|
@@ -296,7 +296,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
|
|
296
296
|
'euiDisabled',
|
297
297
|
],
|
298
298
|
},
|
299
|
-
], template: "<div *ngIf=\"!isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListOrientation]=\"dropListOrientation\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chips }\"\n [cdkDropListConnectedTo]=\"droppableArea\"\n (cdkDropListDropped)=\"drop($event)\"\n (focus)=\"onFocus()\"\n class=\"eui-chip-list__list\">\n <div\n class=\"eui-chip-list__chip-container\"\n *ngFor=\"let chip of chips; let i = index; trackBy: trackByFn\"\n cdkDrag\n [cdkDragData]=\"chip\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"chip.iconClass\" class=\"{{ chip.iconClass }}\"></span>\n <span class=\"eui-chip-list__chip-content\" *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<div *ngIf=\"isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div class=\"eui-chip-list__group\" cdkDropListGroup>\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n *ngFor=\"let chip of chips; let i = index\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chip: chip, index: i }\"\n (focus)=\"onFocus()\"\n (cdkDropListDropped)=\"onDropGrid($event)\"\n class=\"eui-chip-list__custom\">\n <div\n class=\"eui-chip-list__chip-container\"\n cdkDrag\n [cdkDragData]=\"{ chip: chip, index: i }\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\"\n (cdkDragEntered)=\"onDragEnter($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [id]=\"chip.id\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<ng-template #euiChipListAppendContent>\n <ng-content select=\"euiChipListAppendContent\"></ng-content>\n</ng-template>\n\n<ng-template #additionalContent>\n <ng-container *ngIf=\"maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount\">\n <div class=\"eui-chip-list__expand-button-wrapper\">\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"isMaxVisibleChipsOpened\">\n <eui-icon-svg icon=\"chevron-back:sharp\" aria-label=\"Collapse icon\"></eui-icon-svg>\n <span euiLabel *ngIf=\"toggleLinkLessLabel\">{{ toggleLinkLessLabel | translate }}</span>\n </button>\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n aria-haspopup=\"true\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"!isMaxVisibleChipsOpened\">\n <span euiLabel *ngIf=\"toggleLinkMoreLabel\">{{ toggleLinkMoreLabel | translate }}</span>\n <eui-icon-svg icon=\"chevron-forward:sharp\" aria-label=\"Expand icon\"></eui-icon-svg>\n </button>\n </div>\n </ng-container>\n</ng-template>\n", styles: [".eui-chip-list{align-items:center;display:flex;margin:0;padding:0}.eui-chip-list .eui-chip-list-container{align-items:center;display:flex
|
299
|
+
], template: "<div *ngIf=\"!isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n [cdkDropListOrientation]=\"dropListOrientation\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chips }\"\n [cdkDropListConnectedTo]=\"droppableArea\"\n (cdkDropListDropped)=\"drop($event)\"\n (focus)=\"onFocus()\"\n class=\"eui-chip-list__list\">\n <div\n class=\"eui-chip-list__chip-container\"\n *ngFor=\"let chip of chips; let i = index; trackBy: trackByFn\"\n cdkDrag\n [cdkDragData]=\"chip\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"chip.iconClass\" class=\"{{ chip.iconClass }}\"></span>\n <span class=\"eui-chip-list__chip-content\" *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<div *ngIf=\"isGrid\" class=\"eui-chip-list-container\">\n <div class=\"eui-chip-list-wrapper\">\n <div class=\"eui-chip-list__group\" cdkDropListGroup>\n <div\n role=\"list\"\n #chipList\n #chipListDropList\n #chipListDragAndDropItems\n cdkDropList\n *ngFor=\"let chip of chips; let i = index\"\n [cdkDropListDisabled]=\"!isChipsDragAndDrop\"\n [cdkDropListData]=\"{ chip: chip, index: i }\"\n (focus)=\"onFocus()\"\n (cdkDropListDropped)=\"onDropGrid($event)\"\n class=\"eui-chip-list__custom\">\n <div\n class=\"eui-chip-list__chip-container\"\n cdkDrag\n [cdkDragData]=\"{ chip: chip, index: i }\"\n (cdkDragStarted)=\"onDragStarted($event)\"\n (cdkDragReleased)=\"onDragReleased($event)\"\n (cdkDragEntered)=\"onDragEnter($event)\">\n <eui-chip\n #euiChipItem\n *ngIf=\"\n (maxVisibleChipsCount && isMaxVisibleChipsOpened) ||\n (maxVisibleChipsCount && maxVisibleChipsCount > i) ||\n !maxVisibleChipsCount\n \"\n [data]=\"chip.data ? chip.data : chip\"\n [id]=\"chip.id\"\n [attr.role]=\"'listitem'\"\n ariaLabel=\"{{ getChipLabel(chip) }}\"\n [euiInternalId]=\"chip.euiInternalId\"\n [isChipRemovable]=\"chip.isChipRemovable || (isChipsRemovable && chip.isRemovable) !== false\"\n [euiOutline]=\"chip.euiOutline || this.baseStatesDirective?.euiOutline || chip.isOutline\"\n [euiVariant]=\"chip.typeClass || this.baseStatesDirective?.euiVariant || chip.baseStatesDirective?.euiVariant\"\n [euiDisabled]=\"chip.euiDisabled || this.baseStatesDirective?.euiDisabled || chip.isDisabled\"\n [euiTooltip]=\"chip.tooltipMessage\"\n [position]=\"chip.tooltip?.position\"\n [contentAlignment]=\"chip.tooltip?.contentAlignment\"\n (remove)=\"onRemove($event)\">\n <eui-icon-svg *ngIf=\"chip.iconSvgName\" [icon]=\"chip.iconSvgName\"></eui-icon-svg>\n <span *ngIf=\"!chipsLabelTruncateCount\" [innerHTML]=\"getChipContent(chip)\"></span>\n <span *ngIf=\"chipsLabelTruncateCount\" title=\"{{ getChipLabel(chip) }}\">{{\n getChipLabel(chip) | euiTruncate: chipsLabelTruncateCount\n }}</span>\n </eui-chip>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"euiChipListAppendContent\"></ng-container>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"additionalContent\"></ng-container>\n</div>\n\n<ng-template #euiChipListAppendContent>\n <ng-content select=\"euiChipListAppendContent\"></ng-content>\n</ng-template>\n\n<ng-template #additionalContent>\n <ng-container *ngIf=\"maxVisibleChipsCount && chips && chips.length > maxVisibleChipsCount\">\n <div class=\"eui-chip-list__expand-button-wrapper\">\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"isMaxVisibleChipsOpened\">\n <eui-icon-svg icon=\"chevron-back:sharp\" aria-label=\"Collapse icon\"></eui-icon-svg>\n <span euiLabel *ngIf=\"toggleLinkLessLabel\">{{ toggleLinkLessLabel | translate }}</span>\n </button>\n <button\n euiButton\n euiBasicButton\n euiButtonSecondary\n euiSizeS\n type=\"button\"\n aria-haspopup=\"true\"\n class=\"eui-chip-list__expand-button\"\n (click)=\"toggleTags()\"\n *ngIf=\"!isMaxVisibleChipsOpened\">\n <span euiLabel *ngIf=\"toggleLinkMoreLabel\">{{ toggleLinkMoreLabel | translate }}</span>\n <eui-icon-svg icon=\"chevron-forward:sharp\" aria-label=\"Expand icon\"></eui-icon-svg>\n </button>\n </div>\n </ng-container>\n</ng-template>\n", styles: [".eui-chip-list{align-items:center;display:flex;margin:0;padding:0}.eui-chip-list .eui-chip-list-container{align-items:center;display:flex}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper{align-items:center;display:flex;width:100%;flex-wrap:wrap}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__list{flex-wrap:wrap;gap:var(--eui-s-xs)}.eui-chip-list .eui-chip-list-container .eui-chip-list-wrapper .eui-chip-list__chip-container{align-items:center;display:inline-flex}.eui-chip-list[ischipsdraganddrop] .eui-chip-list-container{width:100%}.eui-chip-list__group{display:flex;flex-wrap:wrap}.eui-chip-list__chip-container.cdk-drag:not(.cdk-drag-disabled){cursor:move!important}.eui-chip-list__custom{min-width:auto!important;width:auto!important}.eui-chip-list__chip-content{display:flex;align-items:center;gap:var(--eui-s-xs)}@media screen and (max-width: 767px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}@media screen and (min-width: 768px) and (max-width: 995px){.eui-chip-list .eui-chip-list-container{flex-wrap:wrap}}\n"] }]
|
300
300
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: EuiChipListDragService }, { type: i2.DomSanitizer }, { type: i3.BaseStatesDirective }], propDecorators: { chips: [{
|
301
301
|
type: Input
|
302
302
|
}], toggleLinkMoreLabel: [{
|