@eui/components 17.2.0-snapshot-1707293003477 → 17.2.0-snapshot-1707383196998
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/EuiMenuComponent.html +6 -1
- package/docs/components/EuiSidebarMenuComponent.html +5 -0
- package/docs/dependencies.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/functions.html +0 -62
- package/esm2022/eui-menu/eui-menu.component.mjs +6 -9
- package/esm2022/eui-sidebar-menu/eui-sidebar-menu.component.mjs +3 -2
- package/esm2022/layout/eui-app/eui-app-sidebar/sidebar-menu/sidebar-menu.component.mjs +1 -1
- package/eui-menu/eui-menu.component.d.ts +2 -3
- package/eui-menu/eui-menu.component.d.ts.map +1 -1
- package/eui-sidebar-menu/eui-sidebar-menu.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-menu.mjs +5 -8
- package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs +2 -1
- package/fesm2022/eui-components-eui-sidebar-menu.mjs.map +1 -1
- package/fesm2022/eui-components-layout.mjs +1 -1
- package/fesm2022/eui-components-layout.mjs.map +1 -1
- package/package.json +7 -23
@@ -131,9 +131,6 @@
|
|
131
131
|
<li>
|
132
132
|
<a href="#applyMixins" title="packages/eui/packages/components/shared/base/mixins/index.ts" ><b>applyMixins</b> (packages/.../index.ts)</a>
|
133
133
|
</li>
|
134
|
-
<li>
|
135
|
-
<a href="#emptyStringAttribute" title="packages/eui/packages/components/eui-menu/eui-menu.component.ts" ><b>emptyStringAttribute</b> (packages/.../eui-menu.component.ts)</a>
|
136
|
-
</li>
|
137
134
|
<li>
|
138
135
|
<a href="#mixinEuiAccent" title="packages/eui/packages/components/shared/base/mixins/typeclass/eui-accent.mixin.ts" ><b>mixinEuiAccent</b> (packages/.../eui-accent.mixin.ts)</a>
|
139
136
|
</li>
|
@@ -469,65 +466,6 @@
|
|
469
466
|
<div class="io-description">
|
470
467
|
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
|
471
468
|
|
472
|
-
</div>
|
473
|
-
<div class="io-description">
|
474
|
-
|
475
|
-
</div>
|
476
|
-
</td>
|
477
|
-
</tr>
|
478
|
-
</tbody>
|
479
|
-
</table>
|
480
|
-
</section> <h3>packages/eui/packages/components/eui-menu/eui-menu.component.ts</h3>
|
481
|
-
<section data-compodoc="block-methods">
|
482
|
-
<h3></h3> <table class="table table-sm table-bordered">
|
483
|
-
<tbody>
|
484
|
-
<tr>
|
485
|
-
<td class="col-md-4">
|
486
|
-
<a name="emptyStringAttribute"></a>
|
487
|
-
<span class="name">
|
488
|
-
<span ><b>emptyStringAttribute</b></span>
|
489
|
-
<a href="#emptyStringAttribute"><span class="icon ion-ios-link"></span></a>
|
490
|
-
</span>
|
491
|
-
</td>
|
492
|
-
</tr>
|
493
|
-
<tr>
|
494
|
-
<td class="col-md-4">
|
495
|
-
<code>emptyStringAttribute(value)</code>
|
496
|
-
</td>
|
497
|
-
</tr>
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
<tr>
|
503
|
-
<td class="col-md-4">
|
504
|
-
|
505
|
-
<div class="io-description">
|
506
|
-
<b>Parameters :</b>
|
507
|
-
|
508
|
-
<table class="params">
|
509
|
-
<thead>
|
510
|
-
<tr>
|
511
|
-
<td>Name</td>
|
512
|
-
<td>Optional</td>
|
513
|
-
</tr>
|
514
|
-
</thead>
|
515
|
-
<tbody>
|
516
|
-
<tr>
|
517
|
-
<td>value</td>
|
518
|
-
|
519
|
-
<td>
|
520
|
-
No
|
521
|
-
</td>
|
522
|
-
|
523
|
-
|
524
|
-
</tr>
|
525
|
-
</tbody>
|
526
|
-
</table>
|
527
|
-
</div>
|
528
|
-
<div class="io-description">
|
529
|
-
<b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
|
530
|
-
|
531
469
|
</div>
|
532
470
|
<div class="io-description">
|
533
471
|
|
@@ -11,9 +11,6 @@ import * as i3 from "@angular/common";
|
|
11
11
|
import * as i4 from "@eui/components/eui-icon";
|
12
12
|
import * as i5 from "@eui/components/eui-input-text";
|
13
13
|
import * as i6 from "./eui-menu-item.component";
|
14
|
-
function emptyStringAttribute(value) {
|
15
|
-
return value ?? '';
|
16
|
-
}
|
17
14
|
export class EuiMenuComponent {
|
18
15
|
get cssClasses() {
|
19
16
|
return [this.baseStatesDirective.getCssClasses('eui-menu-wrapper'),
|
@@ -26,6 +23,7 @@ export class EuiMenuComponent {
|
|
26
23
|
this.router = router;
|
27
24
|
this.route = route;
|
28
25
|
this.baseStatesDirective = baseStatesDirective;
|
26
|
+
this.filterValue = '';
|
29
27
|
this.isCollapsed = false;
|
30
28
|
this.hasCollapsedInitials = false;
|
31
29
|
this.hasFilter = false;
|
@@ -58,7 +56,7 @@ export class EuiMenuComponent {
|
|
58
56
|
this.items = this.setExpandedToAllItems(coerceBooleanProperty(changes.expandAllItems.currentValue), this.items);
|
59
57
|
}
|
60
58
|
if (changes.filterValue && this.hasFilter) {
|
61
|
-
this.onFilter(changes.filterValue.currentValue);
|
59
|
+
this.onFilter(changes.filterValue.currentValue ?? '');
|
62
60
|
}
|
63
61
|
}
|
64
62
|
ngOnInit() {
|
@@ -286,7 +284,7 @@ export class EuiMenuComponent {
|
|
286
284
|
}
|
287
285
|
}
|
288
286
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiMenuComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
289
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute], filterValue: ["filterValue", "filterValue", emptyStringAttribute] }, outputs: { isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, usesOnChanges: true, hostDirectives: [{ directive: i2.BaseStatesDirective }], ngImport: i0, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [isLabelLowercase]=\"hasLowercaseItems\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", styles: [".eui-menu,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;margin-top:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--flat a.eui-menu-item__link{border-top:none}.eui-menu--flat a.eui-menu-item__link .eui-menu-item__link-label{line-height:32px;border-radius:10px}.eui-menu--flat .eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-2)!important}.eui-menu--flat .eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{font-weight:700;background-color:var(--eui-base-color-info-100);color:var(--eui-base-color-white)!important;padding-left:var(--eui-base-spacing-xs)}.eui-menu--flat .eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{font-weight:400!important;line-height:20px!important}.eui-menu--flat a:focus{outline:none!important}.eui-menu--flat a:focus .eui-menu-item__link-label{outline:1px solid var(--eui-base-color-accent-110)}.eui-menu--flat a:hover{background-color:var(--eui-base-color-grey-2)!important}.eui-menu--flat a:hover .eui-menu-item__link-label{background-color:var(--eui-base-color-info-10)}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-2xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-75);display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;font:normal normal 400 .875rem/1rem var(--eui-base-font-family);font-weight:700}.eui-page-column__body .eui-menu-item__category{text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.eui-menu-item__category-icon--default:before{background:#9b9b9b;border-radius:50%;content:\"\";height:5px;width:5px}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-text)!important;cursor:pointer;display:flex;justify-content:center;padding:calc(.5 * var(--eui-base-spacing-xs)) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__link-action-icon{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-initials{display:flex;background-color:var(--eui-base-color-grey-5);padding:var(--eui-base-spacing-2xs);border-radius:var(--eui-base-spacing-s);min-width:2rem;text-align:center;justify-content:center;border:1px solid var(--eui-base-color-grey-15);font:normal normal 400 .875rem/1rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-50);margin-left:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-menu-item__label-external .eui-icon-svg{fill:var(--eui-base-color-grey-75);height:var(--eui-base-spacing-s);width:var(--eui-base-spacing-s)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:focus:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus [tabindex=\"0\"]:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus [tabindex=\"0\"]:focus:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active [tabindex=\"0\"]:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu-item a:focus:active:not([readonly]),.eui-menu-item a:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-menu-item a:focus [tabindex=\"0\"]:active:not([readonly]),.eui-menu-item a:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-menu-item--lowercase .eui-menu-item__link{text-transform:capitalize}.eui-menu-item--lowercase .eui-menu-item__link-label{font-size:var(--eui-base-font-size)}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-l);text-decoration:none;text-transform:uppercase}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover{background-color:transparent;cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-primary-75);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{display:block;border-bottom:1px solid var(--eui-base-color-grey-15);padding-bottom:var(--eui-base-spacing-2xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:calc(2 * var(--eui-base-spacing-m));text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link-icon{font-size:var(--eui-base-font-size-2xl)}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i5.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i6.EuiMenuItemComponent, selector: "eui-menu-item", inputs: ["item", "hasIcon", "hasTooltip", "isCollapsed", "hasCollapsedInitials", "isLabelLowercase"], outputs: ["expandToggle", "itemClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
287
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiMenuComponent, selector: "eui-menu", inputs: { items: "items", searchFilterLabel: "searchFilterLabel", externalLinkLabel: "externalLinkLabel", fragmentId: "fragmentId", filterValue: "filterValue", isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute] }, outputs: { isClick: "isClick", itemClick: "itemClick" }, host: { listeners: { "click": "stopPropagation($event)" }, properties: { "class": "this.cssClasses" } }, usesOnChanges: true, hostDirectives: [{ directive: i2.BaseStatesDirective }], ngImport: i0, template: "<div *ngIf=\"hasFilter && !isCollapsed\" class=\"eui-menu-filter\" (click)=\"onMenuFilterClick($event)\">\n <div class=\"eui-menu-filter__input-wrapper\">\n <input\n euiInputText\n [euiClearable]=\"true\"\n (input)=\"onFilter($event)\"\n class=\"eui-menu-filter__input\"\n [placeholder]=\"searchFilterLabel\"\n [attr.aria-label]=\"searchFilterLabel\"\n [value]=\"filterValue\" />\n <eui-icon-svg icon=\"eui-search\" class=\"eui-menu-filter__input-search\" fillColor=\"grey-50\" aria-label=\"Search Icon\"></eui-icon-svg>\n </div>\n</div>\n<ul euiList class=\"eui-menu\" role=\"menubar\" aria-orientation=\"vertical\">\n <span *ngIf=\"!items\" class=\"eui-menu--no-items\">No menu items defined</span>\n <ng-template ngFor let-item let-index [ngForOf]=\"items\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: item, index: index }\"> </ng-template>\n </ng-template>\n</ul>\n\n<!-- describe the recursive template of the menu item -->\n<ng-template #menuItemTemplateRef let-item=\"menuItem\" let-i=\"index\">\n <!-- render the menu item-->\n <eui-menu-item\n *ngIf=\"item.filtered\"\n [item]=\"item\"\n [hasIcon]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [isLabelLowercase]=\"hasLowercaseItems\"\n (expandToggle)=\"onExpandToggle($event)\"\n (itemClick)=\"onClick($event)\">\n <!-- if the menu item has children, render the children -->\n <ul euiList *ngIf=\"item.children && item.expanded\" class=\"eui-menu eui-menu-sub\" role=\"menu\" [attr.aria-label]=\"item.label\">\n <ng-container *ngFor=\"let child of item.children; let childIndex = index\">\n <ng-template [ngTemplateOutlet]=\"menuItemTemplateRef\" [ngTemplateOutletContext]=\"{ menuItem: child, index: childIndex }\">\n </ng-template>\n </ng-container>\n </ul>\n </eui-menu-item>\n</ng-template>\n", styles: [".eui-menu,.eui-menu-wrapper{display:flex;flex-direction:column;flex-shrink:0;width:100%;list-style:none;margin-bottom:0;margin-top:0;padding:0}.eui-menu--no-items,.eui-menu-wrapper--no-items{color:var(--eui-base-color-grey-25);display:block;text-align:center}.eui-menu--collapsed .eui-menu-filter{transition:none;visibility:hidden}.eui-menu--flat a.eui-menu-item__link{border-top:none}.eui-menu--flat a.eui-menu-item__link .eui-menu-item__link-label{line-height:32px;border-radius:10px}.eui-menu--flat .eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-2)!important}.eui-menu--flat .eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{font-weight:700;background-color:var(--eui-base-color-info-100);color:var(--eui-base-color-white)!important;padding-left:var(--eui-base-spacing-xs)}.eui-menu--flat .eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{font-weight:400!important;line-height:20px!important}.eui-menu--flat a:focus{outline:none!important}.eui-menu--flat a:focus .eui-menu-item__link-label{outline:1px solid var(--eui-base-color-accent-110)}.eui-menu--flat a:hover{background-color:var(--eui-base-color-grey-2)!important}.eui-menu--flat a:hover .eui-menu-item__link-label{background-color:var(--eui-base-color-info-10)}.eui-menu-filter{margin:var(--eui-base-spacing-m) 0;padding:0 var(--eui-base-spacing-m);position:relative}.eui-menu-filter__input-wrapper{align-items:center;display:flex;position:relative}.eui-menu-filter__input-wrapper .eui-menu-filter__input{padding-left:var(--eui-base-spacing-2xl);padding-right:var(--eui-base-spacing-xl)}.eui-menu-filter__input-wrapper .eui-menu-filter__input-search{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-menu-item{display:flex;flex-direction:column;position:relative;width:100%}.eui-menu--collapsed .eui-menu-item{align-items:center;display:flex;flex-direction:column}.eui-menu-item__category{align-items:center;color:var(--eui-base-color-grey-75);display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;font:normal normal 400 .875rem/1rem var(--eui-base-font-family);font-weight:700}.eui-page-column__body .eui-menu-item__category{text-transform:inherit}.eui-menu-item__category:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-grey-10);cursor:default;text-decoration:none}.eui-menu-item__category-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--none)+.eui-menu-item__category-label,.eui-menu-item__category-icon:not(.eui-menu-item__category-icon--default)+.eui-menu-item__category-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__category-icon--none{padding:0}.eui-menu-item__category-icon--default{align-items:center;display:flex;justify-content:center;width:100%}.eui-menu-item__category-icon--default:before{background:#9b9b9b;border-radius:50%;content:\"\";height:5px;width:5px}.ff.eui-menu--collapsed .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__category-label{position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__category-label{display:none}.eui-page-column__body .eui-menu-item__category-label{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-menu-item a.eui-menu-item__link{border-bottom:none}.eui-menu-item__link{align-items:center;border-top:1px solid var(--eui-base-color-grey-10);color:var(--eui-base-color-text)!important;cursor:pointer;display:flex;justify-content:center;padding:calc(.5 * var(--eui-base-spacing-xs)) var(--eui-base-spacing-m);text-decoration:none;text-transform:uppercase;white-space:nowrap;width:100%}.eui-page-column__body .eui-menu-item__link{text-transform:inherit}.eui-menu-item__link:focus{border-bottom:none;text-decoration:none}.eui-menu-item__link:hover:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none!important}.eui-menu-item__link:hover:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link--active:not(.eui-menu-item--disabled){background-color:var(--eui-base-color-primary-10);text-decoration:none;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__link--active:not(.eui-menu-item--disabled) .eui-menu-item__link-label{color:var(--eui-base-color-primary-100)}.eui-menu-item__link-icon{color:var(--eui-base-color-grey-90);font-size:var(--eui-base-font-size-2xl)}.eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-item__link-icon--with-badge .eui-chip{display:flex;height:var(--eui-base-spacing-m);left:-12px;position:absolute;top:-4px}.eui-menu-item__link-icon--none{padding:0}.eui-menu-item__link-icon--none+.eui-menu-item__category-label{margin-left:calc(-1 * var(--eui-base-spacing-s))}.eui-menu-item__link-icon--default{align-items:center;display:flex;flex-direction:column;font-size:var(--eui-base-font-size-xs);justify-content:inherit;width:100%}.ff.eui-menu--collapsed .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);position:relative;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-item__link-label{display:none}.eui-page-column__body .eui-menu-item__link-label{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-item__link-right-content{margin:0}.eui-menu--collapsed .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__link-tag-label{display:flex;margin-left:var(--eui-base-spacing-xs);transform:scale(1)}.eui-menu--collapsed .eui-menu-item__link-tag-label{position:absolute;right:1px;top:0;transform:scale(.875)}.eui-menu-item__link-toggle{margin-left:var(--eui-base-spacing-2xs);margin-right:calc(-1 * var(--eui-base-spacing-xs));transition:all .3s linear}.eui-menu--collapsed .eui-menu-item__link-toggle{display:none;transition:none}.eui-menu-item__link-action-icon{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-item__link-initials{display:flex;background-color:var(--eui-base-color-grey-5);padding:var(--eui-base-spacing-2xs);border-radius:var(--eui-base-spacing-s);min-width:2rem;text-align:center;justify-content:center;border:1px solid var(--eui-base-color-grey-15);font:normal normal 400 .875rem/1rem var(--eui-base-font-family);font-weight:700}.eui-menu-item__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-item__label-external{color:var(--eui-base-color-grey-50);margin-left:var(--eui-base-spacing-xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family)}.eui-menu-item__label-external .eui-icon-svg{fill:var(--eui-base-color-grey-75);height:var(--eui-base-spacing-s);width:var(--eui-base-spacing-s)}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus:focus:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus [tabindex=\"0\"]:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:focus [tabindex=\"0\"]:focus:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active [tabindex=\"0\"]:active:not([readonly]),.eui-menu-item .eui-button.eui-menu-item__link-toggle:active [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-app.ff.sidebar--close .eui-menu-item__link-tag-label{right:0}.eui-menu-item--expanded .eui-menu-item__category{display:flex}.eui-menu-item--disabled{background-image:none;box-shadow:none;cursor:default;opacity:.65;pointer-events:none}.eui-menu-item a:focus:active:not([readonly]),.eui-menu-item a:focus:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-menu-item a:focus [tabindex=\"0\"]:active:not([readonly]),.eui-menu-item a:focus [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-base-color-accessible-focus);outline-offset:-2px;transition:none}.eui-menu-item--lowercase .eui-menu-item__link{text-transform:capitalize}.eui-menu-item--lowercase .eui-menu-item__link-label{font-size:var(--eui-base-font-size)}.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__category-icon--default,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon,.eui-menu--no-icons:not(.eui-menu--collapsed) .eui-menu-item__link-icon--default{display:none}.eui-menu-sub{text-decoration:none}.eui-menu-sub .eui-menu-item__category{align-items:center;display:flex;flex-direction:row;justify-content:center;padding:var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs) var(--eui-base-spacing-l);text-decoration:none;text-transform:uppercase}.eui-page-column__body .eui-menu-sub .eui-menu-item__category{text-transform:inherit}.eui-menu-sub .eui-menu-item__category:hover{background-color:transparent;cursor:default;text-decoration:none}.eui-menu-sub .eui-menu-item__category-icon--default{color:var(--eui-base-color-primary-75);font-size:var(--eui-base-font-size)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__category-label .eui-menu-item__label{display:block;border-bottom:1px solid var(--eui-base-color-grey-15);padding-bottom:var(--eui-base-spacing-2xs);font:normal normal 400 .875rem/1rem var(--eui-base-font-family);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__category{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link{border:none;height:calc(2.25 * var(--eui-base-spacing-m));padding-left:calc(2 * var(--eui-base-spacing-m));text-transform:initial}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link{padding-left:var(--eui-base-spacing-m)}.eui-menu-sub .eui-menu-item__link-icon{font-size:var(--eui-base-font-size-2xl)}.eui-menu-sub .eui-menu-item__link-icon+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.eui-menu-sub .eui-menu-item__link-icon--default{font-size:var(--eui-base-font-size-xs);margin:0}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-icon--default{margin-left:var(--eui-base-spacing-2xs)}.eui-menu-sub .eui-menu-item__link-icon--none{display:none}.eui-menu-sub .eui-menu-item__link-marker{display:flex;justify-content:center;position:relative}.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--none+.eui-menu-item__link-label,.eui-menu-sub .eui-menu-item__link-marker.eui-menu-item__link-marker--default+.eui-menu-item__link-label{padding-left:var(--eui-base-spacing-xs)}.ff.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-marker{margin-left:calc(-1 * var(--eui-base-spacing-2xs))}.eui-menu-sub .eui-menu-item__link-label{font-size:calc(var(--eui-base-font-size) - 1px);height:auto;padding-top:var(--eui-base-spacing-3xs);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-item__link-right-content{align-items:center;display:flex;height:calc(2.5 * var(--eui-base-spacing-m));margin-left:auto}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content{margin-left:var(--eui-base-spacing-2xs)}.eui-menu--collapsed .eui-menu-sub .eui-menu-item__link-right-content .eui-chip .eui-chip__content-container>span{display:inline-block;max-width:var(--eui-base-spacing-xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eui-menu-sub .eui-menu-sub .eui-menu-item{padding-left:calc(1 * var(--eui-base-spacing-m))}.eui-menu--collapsed .eui-menu--no-icons .eui-menu-sub .eui-menu-item__link{margin-left:calc(-1 * var(--eui-base-spacing-m))}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "transform", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "component", type: i5.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i6.EuiMenuItemComponent, selector: "eui-menu-item", inputs: ["item", "hasIcon", "hasTooltip", "isCollapsed", "hasCollapsedInitials", "isLabelLowercase"], outputs: ["expandToggle", "itemClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
290
288
|
}
|
291
289
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiMenuComponent, decorators: [{
|
292
290
|
type: Component,
|
@@ -306,6 +304,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
306
304
|
type: Input
|
307
305
|
}], fragmentId: [{
|
308
306
|
type: Input
|
307
|
+
}], filterValue: [{
|
308
|
+
type: Input
|
309
309
|
}], isCollapsed: [{
|
310
310
|
type: Input,
|
311
311
|
args: [{ transform: booleanAttribute }]
|
@@ -333,9 +333,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
333
333
|
}], hasLowercaseItems: [{
|
334
334
|
type: Input,
|
335
335
|
args: [{ transform: booleanAttribute }]
|
336
|
-
}], filterValue: [{
|
337
|
-
type: Input,
|
338
|
-
args: [{ transform: emptyStringAttribute }]
|
339
336
|
}], isClick: [{
|
340
337
|
type: Output
|
341
338
|
}], itemClick: [{
|
@@ -344,4 +341,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
344
341
|
type: HostListener,
|
345
342
|
args: ['click', ['$event']]
|
346
343
|
}] } });
|
347
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFlBQVksRUFDWixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixhQUFhLEVBQXdCLE1BQU0saUJBQWlCLENBQUM7QUFDOUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUs3RCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFFN0IsU0FBUyxvQkFBb0IsQ0FBQyxLQUFnQztJQUMxRCxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7QUFDdkIsQ0FBQztBQWFELE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsSUFDVyxVQUFVO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO1lBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzdDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUEsQ0FBQyxDQUFDLEVBQUU7U0FDckMsQ0FBQyxJQUFJLENBQUMs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TztnQkFTWCxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVrQyxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG9CQUFvQjtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ00sV0FBVztzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRTtnQkFFaEMsT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQWNQLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgRXZlbnQgYXMgUm91dGVyRXZlbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuaW1wb3J0IHsgY29uc3VtZUV2ZW50IH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvc2hhcmVkJztcblxuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICcuL21vZGVscy9ldWktbWVudS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xuXG5mdW5jdGlvbiBlbXB0eVN0cmluZ0F0dHJpYnV0ZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHZhbHVlID8/ICcnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1tZW51JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZ2V0Q3NzQ2xhc3NlcygnZXVpLW1lbnUtd3JhcHBlcicpLFxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA/ICdldWktbWVudS0tY29sbGFwc2VkJyA6ICcnLFxuICAgICAgICAgICAgIXRoaXMuaGFzSWNvbnMgPyAnZXVpLW1lbnUtLW5vLWljb25zJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0ZsYXQgPyAnZXVpLW1lbnUtLWZsYXQnOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGl0ZW1zOiBFdWlNZW51SXRlbVtdO1xuICAgIEBJbnB1dCgpIHNlYXJjaEZpbHRlckxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0ZXJuYWxMaW5rTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBmcmFnbWVudElkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Rvb2x0aXAgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXhwYW5kQWxsSXRlbXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNGbGF0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Njcm9sbFRvSXRlbSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNMb3dlcmNhc2VJdGVtcyA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogZW1wdHlTdHJpbmdBdHRyaWJ1dGUgfSkgZmlsdGVyVmFsdWU7XG5cbiAgICBAT3V0cHV0KCkgaXNDbGljazogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBpdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPigpO1xuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgaXRlbXNTdGF0ZTogYW55W107XG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHVibGljIGJhc2VTdGF0ZXNEaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgKSB7fVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIHN0b3BQcm9wYWdhdGlvbihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5pdGVtcykge1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuY29uZmlndXJlSXRlbXModGhpcy5pdGVtcyk7XG4gICAgICAgICAgICAvLyBnZXQgY3VycmVudCB1cmxcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRVcmwgPSB0aGlzLnJvdXRlci51cmw7XG4gICAgICAgICAgICAvLyBmaW5kIGFuIGl0ZW0gdGhhdCBtYXRjaGVzIHRoZSBjdXJyZW50IHVybCBvciB0aGUgbW9zdCByZWxldmFudCBvbmVcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmZpbmRNb3N0UmVsZXZhbnRJdGVtKGN1cnJlbnRVcmwsIHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgLy8gZXhwYW5kIHRvIHRoYXQgaXRlbVxuICAgICAgICAgICAgaWYgKGl0ZW0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZFRvR2l2ZW5JdGVtKGl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXhwYW5kIC8gQ29sbGFwc2UgQWxsIGl0ZW1zXG4gICAgICAgIGlmIChjaGFuZ2VzLmV4cGFuZEFsbEl0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5zZXRFeHBhbmRlZFRvQWxsSXRlbXMoY29lcmNlQm9vbGVhblByb3BlcnR5KGNoYW5nZXMuZXhwYW5kQWxsSXRlbXMuY3VycmVudFZhbHVlKSwgdGhpcy5pdGVtcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hhbmdlcy5maWx0ZXJWYWx1ZSAmJiB0aGlzLmhhc0ZpbHRlcikge1xuICAgICAgICAgICAgdGhpcy5vbkZpbHRlcihjaGFuZ2VzLmZpbHRlclZhbHVlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTGFiZWxzIGRlZmF1bHQgdmFsdWVzIC0gVE9ETyA6IHRyYW5zbGF0aW9uc1xuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoRmlsdGVyTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoRmlsdGVyTGFiZWwgPSAnU2VhcmNoIGZpbHRlcic7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbGVtZW50SXNWaXNpYmxlSW5WaWV3cG9ydCA9IChlbCwgcGFydGlhbGx5VmlzaWJsZSA9IGZhbHNlKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHRvcCwgbGVmdCwgYm90dG9tLCByaWdodCB9ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCB7IGlubmVySGVpZ2h0LCBpbm5lcldpZHRoIH0gPSB3aW5kb3c7XG4gICAgICAgICAgICByZXR1cm4gcGFydGlhbGx5VmlzaWJsZVxuICAgICAgICAgICAgPyAoKHRvcCA+IDAgJiYgdG9wIDwgaW5uZXJIZWlnaHQpIHx8XG4gICAgICAgICAgICAoYm90dG9tID4gMCAmJiBib3R0b20gPCBpbm5lckhlaWdodCkpICYmXG4gICAgICAgICAgICAoKGxlZnQgPiAwICYmIGxlZnQgPCBpbm5lcldpZHRoKSB8fCAocmlnaHQgPiAwICYmIHJpZ2h0IDwgaW5uZXJXaWR0aCkpXG4gICAgICAgICAgICA6IHRvcCA+PSAwICYmIGxlZnQgPj0gMCAmJiBib3R0b20gPD0gaW5uZXJIZWlnaHQgJiYgcmlnaHQgPD0gaW5uZXJXaWR0aDtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBzdWJzY3JpcHRpb24gdG8gcm91dGVzIHVybCBjaGFuZ2VzIGZvciBhY3RpdmF0aW5nIHRoZSBzY3JvbGxJbnRvVmlldyAob3B0aW9uYWwpXG4gICAgICAgIGlmICh0aGlzLmhhc1Njcm9sbFRvSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogUm91dGVyRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmZpbmRNb3N0UmVsZXZhbnRJdGVtKGV2ZW50LnVybCwgdGhpcy5pdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KF8gPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWVsZW1lbnRJc1Zpc2libGVJblZpZXdwb3J0KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6dm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWNrKGl0ZW06IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIGlmICghaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKGl0ZW0udXJsRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgICAgICB3aW5kb3cub3BlbihpdGVtLnVybEV4dGVybmFsLCBpdGVtLnVybEV4dGVybmFsVGFyZ2V0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS51cmwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUsIGZyYWdtZW50OiB0aGlzLmZyYWdtZW50SWQgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaXRlbS5jb21tYW5kID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY29tbWFuZCgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FeHBhbmRUb2dnbGUoaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXM/Lm1hcCgoaXQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaXQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC5pZCA9PT0gaXRlbS5pZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXQuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzQ2xpY2suZW1pdCh0cnVlKTtcbiAgICAgICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBhbmRUb2dnbGUoaXRlbTogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkV4cGFuZFRvZ2dsZWQoaXRlbSwgdGhpcy5pdGVtcyk7XG4gICAgICAgIC8vIFRPRE86IGludmVzdGlnYXRlIHdoeSB0aGUgYWJvdmUgaXMgbmVlZGVkLiBDYW4gaXQgYmUgc2ltcGx5IFwiaXRlbS5leHBhbmRlZCA9ICFpdGVtLmV4cGFuZGVkO1wiID9cbiAgICB9XG5cbiAgICBwdWJsaWMgb25NZW51RmlsdGVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3VtZUV2ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnQ6IEV2ZW50KVxuICAgIHB1YmxpYyBvbkZpbHRlcih2YWx1ZTogc3RyaW5nKVxuICAgIHB1YmxpYyBvbkZpbHRlcihldmVudE9yVmFsdWU6IEV2ZW50IHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnRPclZhbHVlIGluc3RhbmNlb2YgRXZlbnRcbiAgICAgICAgICAgID8gKGV2ZW50T3JWYWx1ZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVcbiAgICAgICAgICAgIDogZXZlbnRPclZhbHVlO1xuICAgICAgICB0aGlzLl9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHZhbHVlID8gdHJ1ZSA6IGZhbHNlKTtcblxuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5maWx0ZXJNZW51SXRlbXModGhpcy5pdGVtcywgdmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29uVG9nZ2xlRXhwYW5kQWxsSXRlbXMoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKHN0YXRlLCB0aGlzLml0ZW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBmaWx0ZXIgYWxsIG1lbnUgaXRlbXMgZ2l2ZW4gYSB2YWx1ZVxuICAgICAqXG4gICAgICogQHBhcmFtIG1lbnVJdGVtcyBhbiBhcnJheSBvZiBtZW51IGl0ZW1zXG4gICAgICogQHBhcmFtIGZpbHRlclZhbHVlIHRoZSB2YWx1ZSB0byBmaWx0ZXIgbWVudSBpdGVtc1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaWx0ZXJNZW51SXRlbXMobWVudUl0ZW1zOiBFdWlNZW51SXRlbVtdLCBmaWx0ZXJWYWx1ZTogc3RyaW5nKTogRXVpTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBtZW51SXRlbXM/Lm1hcCgoaXRlbTogRXVpTWVudUl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kID0gaXRlbS5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZmlsdGVyVmFsdWUudG9Mb3dlckNhc2UoKSkgIT09IC0xO1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJNZW51SXRlbXMoaXRlbS5jaGlsZHJlbiwgZmlsdGVyVmFsdWUpO1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBpdGVtLmNoaWxkcmVuLmZpbHRlcigobCkgPT4gbFsnZmlsdGVyZWQnXSA9PT0gdHJ1ZSkubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZm91bmQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpbHRlcmVkID0gZm91bmQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmlsdGVyZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBleHBhbmQgLyBjb2xsYXBzZSBhbGwgaXRlbXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0V4cGFuZGVkXG4gICAgICogQHBhcmFtIGl0ZW1zXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHNldEV4cGFuZGVkVG9BbGxJdGVtcyhpc0V4cGFuZGVkLCBpdGVtczogRXVpTWVudUl0ZW1bXSk6IEV1aU1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gaXRlbXM/Lm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gaXNFeHBhbmRlZDtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5zZXRFeHBhbmRlZFRvQWxsSXRlbXMoaXNFeHBhbmRlZCwgaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihpdGVtLCB7IHZpc2libGU6IGl0ZW0udmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGl0ZW0udmlzaWJsZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXhwYW5kIC8gY29sbGFwc2UgYSBtZW51IGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIFRoZSBpdGVtIHdoZXJlIHRoZSBcImV4cGFuZFwiIGhhZCBiZWVuIHRvZ2dsZWRcbiAgICAgKiBAcGFyYW0gaXRlbXMgVGhlIGl0ZW1zIGxpc3QgKHVzZWQgZm9yIHJlY3Vyc2lvbilcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgb25FeHBhbmRUb2dnbGVkKGl0ZW06IEV1aU1lbnVJdGVtLCBpdGVtczogRXVpTWVudUl0ZW1bXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtSWR4ID0gaXRlbXM/LmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpdGVtSWR4ID4gLTEpIHtcbiAgICAgICAgICAgIGl0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkID0gIWl0ZW1zW2l0ZW1JZHhdLmV4cGFuZGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXRlbXMuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FeHBhbmRUb2dnbGVkKGl0ZW0sIGkuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY29uZmlndXJlIGFuIGFycmF5IG9mIGl0ZW1zIHdpdGggdmlzaWJsZSwgZmlsdGVyZWQgYW5kIGV4cGFuZCAoaW4gY2FzZSBvZiBleHBhbmRBbGxJdGVtcyBmbGFnIGVuYWJsZWQpIHByb3BlcnRpZXNcbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtcyBBbiBhcnJheSBvZiBFdWlNZW51SXRlbVxuICAgICAqIEBwYXJhbSBwYXJlbnQgdGhlIHBhcmVudCBpdGVtIG9mIGl0ZW1zIGlmIGV4aXN0c1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb25maWd1cmVJdGVtcyhpdGVtczogRXVpTWVudUl0ZW1bXSwgcGFyZW50PzogRXVpTWVudUl0ZW0pOiBFdWlNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIC8vIHJlY3Vyc2lvbiBpbiBjYXNlIHRoZXJlIGFyZSBjaGlsZHJlblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuID0gdGhpcy5jb25maWd1cmVJdGVtcyhpdGVtLmNoaWxkcmVuLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAvLyBleHBhbmQgYWxsIHBhcmVudHMgd2l0aCBjaGlsZHJlblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV4cGFuZEFsbEl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uZXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHBvaW50IHRvIHRoZSBwYXJlbnRcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBpdGVtLnBhcmVudCA9IHBhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFpdGVtLmlkICYmIHRoaXMuaGFzU2Nyb2xsVG9JdGVtKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pZCA9IHV1aWQudjQoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGFiZWwgJiYgdGhpcy5oYXNDb2xsYXBzZWRJbml0aWFscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdvcmRzID0gaXRlbS5sYWJlbC5zcGxpdCgnICcpO1xuICAgICAgICAgICAgICAgIGlmICh3b3Jkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pbml0aWFscyA9IGAke2l0ZW0ubGFiZWwuc3Vic3RyaW5nKDAsIDEpfSR7aXRlbS5sYWJlbC5zdWJzdHJpbmcoMSwgMSl9YDtcblxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaW5pdGlhbHMgPSBgJHt3b3Jkc1swXS5zdWJzdHJpbmcoMCwgMSl9JHt3b3Jkc1sxXS5zdWJzdHJpbmcoMCwgMSl9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKGl0ZW0sIHsgdmlzaWJsZTogaXRlbS52aXNpYmxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogaXRlbS52aXNpYmxlLCBmaWx0ZXJlZDogdHJ1ZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2l2ZW4gYSBVUkwgYW5kIGEgbGlzdCBvZiBpdGVtcywgaXQgd2lsbCBleHBhbmQgdGhlIGl0ZW0gdGhhdCBtYXRjaGVzIHRoZSBVUkwuIElmIG5vdCBpdGVtIG1hdGNoZXMgZXhhY3RseSB0aGUgdXJsLCB0aGVuIGl0IHdpbGxcbiAgICAgKiBtYXRjaCB0aGUgaXRlbSB0aGF0IGlzIG1vc3QgcmVsZXZhbnQgdG8gdGhhdCB1cmwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbXNcbiAgICAgKiBAcGFyYW0gdmFsdWVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmluZE1vc3RSZWxldmFudEl0ZW0odXJsOiBzdHJpbmcsIGl0ZW1zOiBFdWlNZW51SXRlbVtdLCByZWxldmFudEl0ZW0/OiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtIHtcbiAgICAgICAgaWYgKCFpdGVtcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS51cmwgJiYgdXJsLmluZGV4T2YoaXRlbS51cmwuc3Vic3RyKDEpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgcmVsZXZhbnRJdGVtID0gdGhpcy5nZXRNb3N0UmVsZXZhbnRJdGVtKHVybCwgcmVsZXZhbnRJdGVtLCBpdGVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICByZWxldmFudEl0ZW0gPSB0aGlzLmZpbmRNb3N0UmVsZXZhbnRJdGVtKHVybCwgaXRlbS5jaGlsZHJlbiwgcmVsZXZhbnRJdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHJlbGV2YW50SXRlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHaXZlbiB0d28gaXRlbXMgd2l0aCB1cmwgcmV0dXJuIHRoZSBvbmUgd2l0aCB0aGUgbW9zdCByZWxldmFudCB1cmwgdGhhdCBtYXRjaGVzIGdpdmVuIHVybFxuICAgICAqXG4gICAgICogQHBhcmFtIHVybCBBIFVSTCB0byBiZSBtYXRjaGVkIHdpdGggdGhlIG9uZSBvZiBnaXZlbiBpdGVtc1xuICAgICAqIEBwYXJhbSBpdGVtMVxuICAgICAqIEBwYXJhbSBpdGVtMlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRNb3N0UmVsZXZhbnRJdGVtKHVybDogc3RyaW5nLCBpdGVtMTogRXVpTWVudUl0ZW0sIGl0ZW0yOiBFdWlNZW51SXRlbSk6IEV1aU1lbnVJdGVtIHtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyMSA9IHVybC5yZXBsYWNlKGl0ZW0xPy51cmwgfHwgJycsICcnKTtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyMiA9IHVybC5yZXBsYWNlKGl0ZW0yPy51cmwgfHwgJycsICcnKTtcblxuICAgICAgICByZXR1cm4gcmVtYWluZGVyMS5sZW5ndGggPCByZW1haW5kZXIyLmxlbmd0aCA/IGl0ZW0xIDogaXRlbTI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2l2ZW4gYW4gaXRlbSwgaWYgdGhlcmUncyBhIHBhcmVudCBleHBhbmQgaXQgdW50aWwgeW91IHJlYWNoIHRoZSByb290IGl0ZW1cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtIEdpdmVuIG1lbnUgaXRlbVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBleHBhbmRUb0dpdmVuSXRlbShpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbS5wYXJlbnQpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKGl0ZW0ucGFyZW50LmV4cGFuZGVkID0gdHJ1ZSkpO1xuICAgICAgICAgICAgdGhpcy5leHBhbmRUb0dpdmVuSXRlbShpdGVtLnBhcmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiaGFzRmlsdGVyICYmICFpc0NvbGxhcHNlZFwiIGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyXCIgKGNsaWNrKT1cIm9uTWVudUZpbHRlckNsaWNrKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyX19pbnB1dC13cmFwcGVyXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgZXVpSW5wdXRUZXh0XG4gICAgICAgICAgICBbZXVpQ2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICAgICAgKGlucHV0KT1cIm9uRmlsdGVyKCRldmVudClcIlxuICAgICAgICAgICAgY2xhc3M9XCJldWktbWVudS1maWx0ZXJfX2lucHV0XCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hGaWx0ZXJMYWJlbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJmaWx0ZXJWYWx1ZVwiIC8+XG4gICAgICAgIDxldWktaWNvbi1zdmcgaWNvbj1cImV1aS1zZWFyY2hcIiBjbGFzcz1cImV1aS1tZW51LWZpbHRlcl9faW5wdXQtc2VhcmNoXCIgZmlsbENvbG9yPVwiZ3JleS01MFwiIGFyaWEtbGFiZWw9XCJTZWFyY2ggSWNvblwiPjwvZXVpLWljb24tc3ZnPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48dWwgZXVpTGlzdCBjbGFzcz1cImV1aS1tZW51XCIgcm9sZT1cIm1lbnViYXJcIiBhcmlhLW9yaWVudGF0aW9uPVwidmVydGljYWxcIj5cbiAgICA8c3BhbiAqbmdJZj1cIiFpdGVtc1wiIGNsYXNzPVwiZXVpLW1lbnUtLW5vLWl0ZW1zXCI+Tm8gbWVudSBpdGVtcyBkZWZpbmVkPC9zcGFuPlxuICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtaXRlbSBsZXQtaW5kZXggW25nRm9yT2ZdPVwiaXRlbXNcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZW51SXRlbTogaXRlbSwgaW5kZXg6IGluZGV4IH1cIj4gPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC91bD5cblxuPCEtLSBkZXNjcmliZSB0aGUgcmVjdXJzaXZlIHRlbXBsYXRlIG9mIHRoZSBtZW51IGl0ZW0gLS0+XG48bmctdGVtcGxhdGUgI21lbnVJdGVtVGVtcGxhdGVSZWYgbGV0LWl0ZW09XCJtZW51SXRlbVwiIGxldC1pPVwiaW5kZXhcIj5cbiAgICA8IS0tIHJlbmRlciB0aGUgbWVudSBpdGVtLS0+XG4gICAgPGV1aS1tZW51LWl0ZW1cbiAgICAgICAgKm5nSWY9XCJpdGVtLmZpbHRlcmVkXCJcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFtoYXNJY29uXT1cImhhc0ljb25zXCJcbiAgICAgICAgW2hhc1Rvb2x0aXBdPVwiaGFzVG9vbHRpcFwiXG4gICAgICAgIFtpc0NvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgIFtoYXNDb2xsYXBzZWRJbml0aWFsc109XCJoYXNDb2xsYXBzZWRJbml0aWFsc1wiXG4gICAgICAgIFtpc0xhYmVsTG93ZXJjYXNlXT1cImhhc0xvd2VyY2FzZUl0ZW1zXCJcbiAgICAgICAgKGV4cGFuZFRvZ2dsZSk9XCJvbkV4cGFuZFRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgICAgKGl0ZW1DbGljayk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgPCEtLSBpZiB0aGUgbWVudSBpdGVtIGhhcyBjaGlsZHJlbiwgcmVuZGVyIHRoZSBjaGlsZHJlbiAtLT5cbiAgICAgICAgPHVsIGV1aUxpc3QgKm5nSWY9XCJpdGVtLmNoaWxkcmVuICYmIGl0ZW0uZXhwYW5kZWRcIiBjbGFzcz1cImV1aS1tZW51IGV1aS1tZW51LXN1YlwiIHJvbGU9XCJtZW51XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmxhYmVsXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBpdGVtLmNoaWxkcmVuOyBsZXQgY2hpbGRJbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lbnVJdGVtVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBtZW51SXRlbTogY2hpbGQsIGluZGV4OiBjaGlsZEluZGV4IH1cIj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdWw+XG4gICAgPC9ldWktbWVudS1pdGVtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
344
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLW1lbnUvZXVpLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUdaLFlBQVksRUFDWixnQkFBZ0IsR0FFbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQixhQUFhLEVBQXdCLE1BQU0saUJBQWlCLENBQUM7QUFDOUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUs3RCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7QUFhN0IsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixJQUNXLFVBQVU7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUM7WUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDN0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQSxDQUFDLENBQUMsRUFBRTtTQUNyQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBMEJELFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVB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SztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVrQyxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLG9CQUFvQjtzQkFBM0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLE1BQU07c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZUFBZTtzQkFBdEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRTVCLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFjUCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIEV2ZW50IGFzIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmltcG9ydCB7IGNvbnN1bWVFdmVudCB9IGZyb20gJ0BldWkvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5cbmltcG9ydCB7IEV1aU1lbnVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZXVpLW1lbnUtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWktbWVudScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aS1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgcHVibGljIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmdldENzc0NsYXNzZXMoJ2V1aS1tZW51LXdyYXBwZXInKSxcbiAgICAgICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPyAnZXVpLW1lbnUtLWNvbGxhcHNlZCcgOiAnJyxcbiAgICAgICAgICAgICF0aGlzLmhhc0ljb25zID8gJ2V1aS1tZW51LS1uby1pY29ucycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNGbGF0ID8gJ2V1aS1tZW51LS1mbGF0JzogJycsXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpdGVtczogRXVpTWVudUl0ZW1bXTtcbiAgICBASW5wdXQoKSBzZWFyY2hGaWx0ZXJMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dGVybmFsTGlua0xhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZnJhZ21lbnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGZpbHRlclZhbHVlID0gJyc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Rvb2x0aXAgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXhwYW5kQWxsSXRlbXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNGbGF0ID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Njcm9sbFRvSXRlbSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNMb3dlcmNhc2VJdGVtcyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpIGlzQ2xpY2s6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgaXRlbUNsaWNrOiBFdmVudEVtaXR0ZXI8RXVpTWVudUl0ZW0+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdWlNZW51SXRlbT4oKTtcblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGl0ZW1zU3RhdGU6IGFueVtdO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHB1YmxpYyBiYXNlU3RhdGVzRGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICkge31cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBzdG9wUHJvcGFnYXRpb24oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaXRlbXMpIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmNvbmZpZ3VyZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgLy8gZ2V0IGN1cnJlbnQgdXJsXG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5yb3V0ZXIudXJsO1xuICAgICAgICAgICAgLy8gZmluZCBhbiBpdGVtIHRoYXQgbWF0Y2hlcyB0aGUgY3VycmVudCB1cmwgb3IgdGhlIG1vc3QgcmVsZXZhbnQgb25lXG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kTW9zdFJlbGV2YW50SXRlbShjdXJyZW50VXJsLCB0aGlzLml0ZW1zKTtcbiAgICAgICAgICAgIC8vIGV4cGFuZCB0byB0aGF0IGl0ZW1cbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRUb0dpdmVuSXRlbShpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV4cGFuZCAvIENvbGxhcHNlIEFsbCBpdGVtc1xuICAgICAgICBpZiAoY2hhbmdlcy5leHBhbmRBbGxJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShjaGFuZ2VzLmV4cGFuZEFsbEl0ZW1zLmN1cnJlbnRWYWx1ZSksIHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXMuZmlsdGVyVmFsdWUgJiYgdGhpcy5oYXNGaWx0ZXIpIHtcbiAgICAgICAgICAgIHRoaXMub25GaWx0ZXIoY2hhbmdlcy5maWx0ZXJWYWx1ZS5jdXJyZW50VmFsdWUgPz8gJycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIExhYmVscyBkZWZhdWx0IHZhbHVlcyAtIFRPRE8gOiB0cmFuc2xhdGlvbnNcbiAgICAgICAgaWYgKCF0aGlzLnNlYXJjaEZpbHRlckxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaEZpbHRlckxhYmVsID0gJ1NlYXJjaCBmaWx0ZXInO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWxlbWVudElzVmlzaWJsZUluVmlld3BvcnQgPSAoZWwsIHBhcnRpYWxseVZpc2libGUgPSBmYWxzZSk6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIGxlZnQsIGJvdHRvbSwgcmlnaHQgfSA9IGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgeyBpbm5lckhlaWdodCwgaW5uZXJXaWR0aCB9ID0gd2luZG93O1xuICAgICAgICAgICAgcmV0dXJuIHBhcnRpYWxseVZpc2libGVcbiAgICAgICAgICAgID8gKCh0b3AgPiAwICYmIHRvcCA8IGlubmVySGVpZ2h0KSB8fFxuICAgICAgICAgICAgKGJvdHRvbSA+IDAgJiYgYm90dG9tIDwgaW5uZXJIZWlnaHQpKSAmJlxuICAgICAgICAgICAgKChsZWZ0ID4gMCAmJiBsZWZ0IDwgaW5uZXJXaWR0aCkgfHwgKHJpZ2h0ID4gMCAmJiByaWdodCA8IGlubmVyV2lkdGgpKVxuICAgICAgICAgICAgOiB0b3AgPj0gMCAmJiBsZWZ0ID49IDAgJiYgYm90dG9tIDw9IGlubmVySGVpZ2h0ICYmIHJpZ2h0IDw9IGlubmVyV2lkdGg7XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gc3Vic2NyaXB0aW9uIHRvIHJvdXRlcyB1cmwgY2hhbmdlcyBmb3IgYWN0aXZhdGluZyB0aGUgc2Nyb2xsSW50b1ZpZXcgKG9wdGlvbmFsKVxuICAgICAgICBpZiAodGhpcy5oYXNTY3JvbGxUb0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQ6IFJvdXRlckV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5maW5kTW9zdFJlbGV2YW50SXRlbShldmVudC51cmwsIHRoaXMuaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChfID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbS5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFlbGVtZW50SXNWaXNpYmxlSW5WaWV3cG9ydChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOnZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGljayhpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICBpZiAoIWl0ZW0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLnVybEV4dGVybmFsKSB7XG4gICAgICAgICAgICAgICAgd2luZG93Lm9wZW4oaXRlbS51cmxFeHRlcm5hbCwgaXRlbS51cmxFeHRlcm5hbFRhcmdldCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0udXJsXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogdGhpcy5mcmFnbWVudElkIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGl0ZW0uY29tbWFuZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbW1hbmQoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhwYW5kVG9nZ2xlKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGl0ZW0ubGluaykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zPy5tYXAoKGl0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQuaWQgPT09IGl0ZW0uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0NsaWNrLmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRXhwYW5kVG9nZ2xlKGl0ZW06IEV1aU1lbnVJdGVtKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25FeHBhbmRUb2dnbGVkKGl0ZW0sIHRoaXMuaXRlbXMpO1xuICAgICAgICAvLyBUT0RPOiBpbnZlc3RpZ2F0ZSB3aHkgdGhlIGFib3ZlIGlzIG5lZWRlZC4gQ2FuIGl0IGJlIHNpbXBseSBcIml0ZW0uZXhwYW5kZWQgPSAhaXRlbS5leHBhbmRlZDtcIiA/XG4gICAgfVxuXG4gICAgcHVibGljIG9uTWVudUZpbHRlckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN1bWVFdmVudChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRmlsdGVyKGV2ZW50OiBFdmVudClcbiAgICBwdWJsaWMgb25GaWx0ZXIodmFsdWU6IHN0cmluZylcbiAgICBwdWJsaWMgb25GaWx0ZXIoZXZlbnRPclZhbHVlOiBFdmVudCB8IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50T3JWYWx1ZSBpbnN0YW5jZW9mIEV2ZW50XG4gICAgICAgICAgICA/IChldmVudE9yVmFsdWUudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlXG4gICAgICAgICAgICA6IGV2ZW50T3JWYWx1ZTtcbiAgICAgICAgdGhpcy5fb25Ub2dnbGVFeHBhbmRBbGxJdGVtcyh2YWx1ZSA/IHRydWUgOiBmYWxzZSk7XG5cbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuZmlsdGVyTWVudUl0ZW1zKHRoaXMuaXRlbXMsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9vblRvZ2dsZUV4cGFuZEFsbEl0ZW1zKHN0YXRlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNldEV4cGFuZGVkVG9BbGxJdGVtcyhzdGF0ZSwgdGhpcy5pdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZmlsdGVyIGFsbCBtZW51IGl0ZW1zIGdpdmVuIGEgdmFsdWVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBtZW51SXRlbXMgYW4gYXJyYXkgb2YgbWVudSBpdGVtc1xuICAgICAqIEBwYXJhbSBmaWx0ZXJWYWx1ZSB0aGUgdmFsdWUgdG8gZmlsdGVyIG1lbnUgaXRlbXNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZmlsdGVyTWVudUl0ZW1zKG1lbnVJdGVtczogRXVpTWVudUl0ZW1bXSwgZmlsdGVyVmFsdWU6IHN0cmluZyk6IEV1aU1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gbWVudUl0ZW1zPy5tYXAoKGl0ZW06IEV1aU1lbnVJdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZCA9IGl0ZW0ubGFiZWwudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlclZhbHVlLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5jaGlsZHJlbiA9IHRoaXMuZmlsdGVyTWVudUl0ZW1zKGl0ZW0uY2hpbGRyZW4sIGZpbHRlclZhbHVlKTtcbiAgICAgICAgICAgICAgICBpdGVtLmZpbHRlcmVkID0gaXRlbS5jaGlsZHJlbi5maWx0ZXIoKGwpID0+IGxbJ2ZpbHRlcmVkJ10gPT09IHRydWUpLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZvdW5kKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5maWx0ZXJlZCA9IGZvdW5kO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpbHRlcmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZXhwYW5kIC8gY29sbGFwc2UgYWxsIGl0ZW1zXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXNFeHBhbmRlZFxuICAgICAqIEBwYXJhbSBpdGVtc1xuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRFeHBhbmRlZFRvQWxsSXRlbXMoaXNFeHBhbmRlZCwgaXRlbXM6IEV1aU1lbnVJdGVtW10pOiBFdWlNZW51SXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zPy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5leHBhbmRlZCA9IGlzRXhwYW5kZWQ7XG4gICAgICAgICAgICAgICAgaXRlbS5jaGlsZHJlbiA9IHRoaXMuc2V0RXhwYW5kZWRUb0FsbEl0ZW1zKGlzRXhwYW5kZWQsIGl0ZW0uY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oaXRlbSwgeyB2aXNpYmxlOiBpdGVtLnZpc2libGUgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBpdGVtLnZpc2libGUgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGV4cGFuZCAvIGNvbGxhcHNlIGEgbWVudSBpdGVtXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbSBUaGUgaXRlbSB3aGVyZSB0aGUgXCJleHBhbmRcIiBoYWQgYmVlbiB0b2dnbGVkXG4gICAgICogQHBhcmFtIGl0ZW1zIFRoZSBpdGVtcyBsaXN0ICh1c2VkIGZvciByZWN1cnNpb24pXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIG9uRXhwYW5kVG9nZ2xlZChpdGVtOiBFdWlNZW51SXRlbSwgaXRlbXM6IEV1aU1lbnVJdGVtW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbUlkeCA9IGl0ZW1zPy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICBpZiAoaXRlbUlkeCA+IC0xKSB7XG4gICAgICAgICAgICBpdGVtc1tpdGVtSWR4XS5leHBhbmRlZCA9ICFpdGVtc1tpdGVtSWR4XS5leHBhbmRlZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaS5jaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXhwYW5kVG9nZ2xlZChpdGVtLCBpLmNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNvbmZpZ3VyZSBhbiBhcnJheSBvZiBpdGVtcyB3aXRoIHZpc2libGUsIGZpbHRlcmVkIGFuZCBleHBhbmQgKGluIGNhc2Ugb2YgZXhwYW5kQWxsSXRlbXMgZmxhZyBlbmFibGVkKSBwcm9wZXJ0aWVzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbXMgQW4gYXJyYXkgb2YgRXVpTWVudUl0ZW1cbiAgICAgKiBAcGFyYW0gcGFyZW50IHRoZSBwYXJlbnQgaXRlbSBvZiBpdGVtcyBpZiBleGlzdHNcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgY29uZmlndXJlSXRlbXMoaXRlbXM6IEV1aU1lbnVJdGVtW10sIHBhcmVudD86IEV1aU1lbnVJdGVtKTogRXVpTWVudUl0ZW1bXSB7XG4gICAgICAgIHJldHVybiBpdGVtcz8ubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAvLyByZWN1cnNpb24gaW4gY2FzZSB0aGVyZSBhcmUgY2hpbGRyZW5cbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5jaGlsZHJlbiA9IHRoaXMuY29uZmlndXJlSXRlbXMoaXRlbS5jaGlsZHJlbiwgaXRlbSk7XG4gICAgICAgICAgICAgICAgLy8gZXhwYW5kIGFsbCBwYXJlbnRzIHdpdGggY2hpbGRyZW5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5leHBhbmRBbGxJdGVtcykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBwb2ludCB0byB0aGUgcGFyZW50XG4gICAgICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICAgICAgaXRlbS5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaXRlbS5pZCAmJiB0aGlzLmhhc1Njcm9sbFRvSXRlbSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uaWQgPSB1dWlkLnY0KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmxhYmVsICYmIHRoaXMuaGFzQ29sbGFwc2VkSW5pdGlhbHMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3b3JkcyA9IGl0ZW0ubGFiZWwuc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICBpZiAod29yZHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uaW5pdGlhbHMgPSBgJHtpdGVtLmxhYmVsLnN1YnN0cmluZygwLCAxKX0ke2l0ZW0ubGFiZWwuc3Vic3RyaW5nKDEsIDEpfWA7XG5cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLmluaXRpYWxzID0gYCR7d29yZHNbMF0uc3Vic3RyaW5nKDAsIDEpfSR7d29yZHNbMV0uc3Vic3RyaW5nKDAsIDEpfWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihpdGVtLCB7IHZpc2libGU6IGl0ZW0udmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGl0ZW0udmlzaWJsZSwgZmlsdGVyZWQ6IHRydWUgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpdmVuIGEgVVJMIGFuZCBhIGxpc3Qgb2YgaXRlbXMsIGl0IHdpbGwgZXhwYW5kIHRoZSBpdGVtIHRoYXQgbWF0Y2hlcyB0aGUgVVJMLiBJZiBub3QgaXRlbSBtYXRjaGVzIGV4YWN0bHkgdGhlIHVybCwgdGhlbiBpdCB3aWxsXG4gICAgICogbWF0Y2ggdGhlIGl0ZW0gdGhhdCBpcyBtb3N0IHJlbGV2YW50IHRvIHRoYXQgdXJsLlxuICAgICAqXG4gICAgICogQHBhcmFtIGl0ZW1zXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGZpbmRNb3N0UmVsZXZhbnRJdGVtKHVybDogc3RyaW5nLCBpdGVtczogRXVpTWVudUl0ZW1bXSwgcmVsZXZhbnRJdGVtPzogRXVpTWVudUl0ZW0pOiBFdWlNZW51SXRlbSB7XG4gICAgICAgIGlmICghaXRlbXMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0udXJsICYmIHVybC5pbmRleE9mKGl0ZW0udXJsLnN1YnN0cigxKSkgPiAtMSkge1xuICAgICAgICAgICAgICAgIHJlbGV2YW50SXRlbSA9IHRoaXMuZ2V0TW9zdFJlbGV2YW50SXRlbSh1cmwsIHJlbGV2YW50SXRlbSwgaXRlbSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgcmVsZXZhbnRJdGVtID0gdGhpcy5maW5kTW9zdFJlbGV2YW50SXRlbSh1cmwsIGl0ZW0uY2hpbGRyZW4sIHJlbGV2YW50SXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZWxldmFudEl0ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2l2ZW4gdHdvIGl0ZW1zIHdpdGggdXJsIHJldHVybiB0aGUgb25lIHdpdGggdGhlIG1vc3QgcmVsZXZhbnQgdXJsIHRoYXQgbWF0Y2hlcyBnaXZlbiB1cmxcbiAgICAgKlxuICAgICAqIEBwYXJhbSB1cmwgQSBVUkwgdG8gYmUgbWF0Y2hlZCB3aXRoIHRoZSBvbmUgb2YgZ2l2ZW4gaXRlbXNcbiAgICAgKiBAcGFyYW0gaXRlbTFcbiAgICAgKiBAcGFyYW0gaXRlbTJcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0TW9zdFJlbGV2YW50SXRlbSh1cmw6IHN0cmluZywgaXRlbTE6IEV1aU1lbnVJdGVtLCBpdGVtMjogRXVpTWVudUl0ZW0pOiBFdWlNZW51SXRlbSB7XG4gICAgICAgIGNvbnN0IHJlbWFpbmRlcjEgPSB1cmwucmVwbGFjZShpdGVtMT8udXJsIHx8ICcnLCAnJyk7XG4gICAgICAgIGNvbnN0IHJlbWFpbmRlcjIgPSB1cmwucmVwbGFjZShpdGVtMj8udXJsIHx8ICcnLCAnJyk7XG5cbiAgICAgICAgcmV0dXJuIHJlbWFpbmRlcjEubGVuZ3RoIDwgcmVtYWluZGVyMi5sZW5ndGggPyBpdGVtMSA6IGl0ZW0yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdpdmVuIGFuIGl0ZW0sIGlmIHRoZXJlJ3MgYSBwYXJlbnQgZXhwYW5kIGl0IHVudGlsIHlvdSByZWFjaCB0aGUgcm9vdCBpdGVtXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbSBHaXZlbiBtZW51IGl0ZW1cbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZXhwYW5kVG9HaXZlbkl0ZW0oaXRlbTogRXVpTWVudUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgaWYgKGl0ZW0ucGFyZW50KSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IChpdGVtLnBhcmVudC5leHBhbmRlZCA9IHRydWUpKTtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kVG9HaXZlbkl0ZW0oaXRlbS5wYXJlbnQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImhhc0ZpbHRlciAmJiAhaXNDb2xsYXBzZWRcIiBjbGFzcz1cImV1aS1tZW51LWZpbHRlclwiIChjbGljayk9XCJvbk1lbnVGaWx0ZXJDbGljaygkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1tZW51LWZpbHRlcl9faW5wdXQtd3JhcHBlclwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIGV1aUlucHV0VGV4dFxuICAgICAgICAgICAgW2V1aUNsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgIChpbnB1dCk9XCJvbkZpbHRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZXVpLW1lbnUtZmlsdGVyX19pbnB1dFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoRmlsdGVyTGFiZWxcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZWFyY2hGaWx0ZXJMYWJlbFwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiZmlsdGVyVmFsdWVcIiAvPlxuICAgICAgICA8ZXVpLWljb24tc3ZnIGljb249XCJldWktc2VhcmNoXCIgY2xhc3M9XCJldWktbWVudS1maWx0ZXJfX2lucHV0LXNlYXJjaFwiIGZpbGxDb2xvcj1cImdyZXktNTBcIiBhcmlhLWxhYmVsPVwiU2VhcmNoIEljb25cIj48L2V1aS1pY29uLXN2Zz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPHVsIGV1aUxpc3QgY2xhc3M9XCJldWktbWVudVwiIHJvbGU9XCJtZW51YmFyXCIgYXJpYS1vcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+XG4gICAgPHNwYW4gKm5nSWY9XCIhaXRlbXNcIiBjbGFzcz1cImV1aS1tZW51LS1uby1pdGVtc1wiPk5vIG1lbnUgaXRlbXMgZGVmaW5lZDwvc3Bhbj5cbiAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWl0ZW0gbGV0LWluZGV4IFtuZ0Zvck9mXT1cIml0ZW1zXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51SXRlbVRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbWVudUl0ZW06IGl0ZW0sIGluZGV4OiBpbmRleCB9XCI+IDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvdWw+XG5cbjwhLS0gZGVzY3JpYmUgdGhlIHJlY3Vyc2l2ZSB0ZW1wbGF0ZSBvZiB0aGUgbWVudSBpdGVtIC0tPlxuPG5nLXRlbXBsYXRlICNtZW51SXRlbVRlbXBsYXRlUmVmIGxldC1pdGVtPVwibWVudUl0ZW1cIiBsZXQtaT1cImluZGV4XCI+XG4gICAgPCEtLSByZW5kZXIgdGhlIG1lbnUgaXRlbS0tPlxuICAgIDxldWktbWVudS1pdGVtXG4gICAgICAgICpuZ0lmPVwiaXRlbS5maWx0ZXJlZFwiXG4gICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICBbaGFzSWNvbl09XCJoYXNJY29uc1wiXG4gICAgICAgIFtoYXNUb29sdGlwXT1cImhhc1Rvb2x0aXBcIlxuICAgICAgICBbaXNDb2xsYXBzZWRdPVwiaXNDb2xsYXBzZWRcIlxuICAgICAgICBbaGFzQ29sbGFwc2VkSW5pdGlhbHNdPVwiaGFzQ29sbGFwc2VkSW5pdGlhbHNcIlxuICAgICAgICBbaXNMYWJlbExvd2VyY2FzZV09XCJoYXNMb3dlcmNhc2VJdGVtc1wiXG4gICAgICAgIChleHBhbmRUb2dnbGUpPVwib25FeHBhbmRUb2dnbGUoJGV2ZW50KVwiXG4gICAgICAgIChpdGVtQ2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgIDwhLS0gaWYgdGhlIG1lbnUgaXRlbSBoYXMgY2hpbGRyZW4sIHJlbmRlciB0aGUgY2hpbGRyZW4gLS0+XG4gICAgICAgIDx1bCBldWlMaXN0ICpuZ0lmPVwiaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmV4cGFuZGVkXCIgY2xhc3M9XCJldWktbWVudSBldWktbWVudS1zdWJcIiByb2xlPVwibWVudVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5sYWJlbFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgaXRlbS5jaGlsZHJlbjsgbGV0IGNoaWxkSW5kZXggPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJtZW51SXRlbVRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgbWVudUl0ZW06IGNoaWxkLCBpbmRleDogY2hpbGRJbmRleCB9XCI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgIDwvZXVpLW1lbnUtaXRlbT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
@@ -15,6 +15,7 @@ export class EuiSidebarMenuComponent {
|
|
15
15
|
this.expandAllItems = false;
|
16
16
|
this.hasLowercaseItems = false;
|
17
17
|
this.style = '';
|
18
|
+
this.filterValue = '';
|
18
19
|
// TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
|
19
20
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @angular-eslint/no-output-on-prefix
|
20
21
|
this.menuClick = new EventEmitter();
|
@@ -34,7 +35,7 @@ export class EuiSidebarMenuComponent {
|
|
34
35
|
this.isCollapsed = event;
|
35
36
|
}
|
36
37
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiSidebarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
37
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiSidebarMenuComponent, selector: "eui-sidebar-menu", inputs: { items: "items", hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute], style: "style", fragmentId: "fragmentId", searchFilterLabel: "searchFilterLabel", externalTarget: "externalTarget", filterValue: "filterValue" }, outputs: { menuClick: "menuClick", itemClick: "itemClick" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasLowercaseItems]=\"hasLowercaseItems\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n [filterValue]=\"filterValue\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu__container{background-color:var(--eui-base-color-grey-2);height:100%;position:relative;transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;width:100%}.eui-sidebar-menu__container--collapsed{top:var(--eui-spacing);width:var(--eui-app-sidebar-width-close-active)}.eui-sidebar-menu__content{border-right:1px solid var(--eui-base-color-grey-5);box-shadow:0 8px 10px #b7c0ce33;display:flex;flex-direction:column;height:100%;margin-bottom:var(--eui-base-spacing-xs);overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-5)}.eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-page-column__body .eui-sidebar-menu__content{box-shadow:inherit}\n"], dependencies: [{ kind: "component", type: i1.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem", "hasLowercaseItems"
|
38
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiSidebarMenuComponent, selector: "eui-sidebar-menu", inputs: { items: "items", hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute], style: "style", fragmentId: "fragmentId", searchFilterLabel: "searchFilterLabel", externalTarget: "externalTarget", filterValue: "filterValue" }, outputs: { menuClick: "menuClick", itemClick: "itemClick" }, host: { properties: { "class": "this.string" } }, ngImport: i0, template: "<div class=\"eui-sidebar-menu__container\" [class.eui-sidebar-menu__container--collapsed]=\"isCollapsed\" [style]=\"style\">\n <div class=\"eui-sidebar-menu__content\">\n <eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [isCollapsed]=\"isCollapsed\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasLowercaseItems]=\"hasLowercaseItems\"\n [expandAllItems]=\"expandAllItems\"\n [fragmentId]=\"fragmentId\"\n [searchFilterLabel]=\"searchFilterLabel\"\n [filterValue]=\"filterValue\"\n (isClick)=\"onMenuClicked($event)\"\n (itemClick)=\"onMenuItemClicked($event)\">\n </eui-menu>\n </div>\n</div>\n", styles: [".eui-sidebar-menu{display:flex;height:100%;width:100%}.eui-sidebar-menu__container{background-color:var(--eui-base-color-grey-2);height:100%;position:relative;transition:top .1s ease,width .1s ease-in,margin-left .1s ease-in-out;width:100%}.eui-sidebar-menu__container--collapsed{top:var(--eui-spacing);width:var(--eui-app-sidebar-width-close-active)}.eui-sidebar-menu__content{border-right:1px solid var(--eui-base-color-grey-5);box-shadow:0 8px 10px #b7c0ce33;display:flex;flex-direction:column;height:100%;margin-bottom:var(--eui-base-spacing-xs);overflow-x:hidden;overflow-y:auto;position:relative}.eui-sidebar-menu__content::-webkit-scrollbar{display:inherit;height:6px;width:6px;background-color:var(--eui-base-color-grey-5)}.eui-sidebar-menu__content::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-sidebar-menu__content::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-50)}.eui-sidebar-menu__content::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-5);border-radius:0}.eui-page-column__body .eui-sidebar-menu__content{box-shadow:inherit}\n"], dependencies: [{ kind: "component", type: i1.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "filterValue", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem", "hasLowercaseItems"], outputs: ["isClick", "itemClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
38
39
|
}
|
39
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiSidebarMenuComponent, decorators: [{
|
40
41
|
type: Component,
|
@@ -80,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
80
81
|
}], itemClick: [{
|
81
82
|
type: Output
|
82
83
|
}] } });
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXNpZGViYXItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9ldWktc2lkZWJhci1tZW51L2V1aS1zaWRlYmFyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXNpZGViYXItbWVudS9ldWktc2lkZWJhci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFVbEosTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVEwQixXQUFNLEdBQUcsa0JBQWtCLENBQUM7UUFFbEQsbUhBQW1IO1FBQ25ILDhEQUE4RDtRQUNyRCxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBRWEseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUV6RCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBSVgsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFDMUIsbUhBQW1IO1FBQ25ILG1HQUFtRztRQUN6RixjQUFTLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEQsY0FBUyxHQUE4QixJQUFJLFlBQVksRUFBRSxDQUFDO0tBaUJ2RTtJQWZVLGlCQUFpQixDQUFDLElBQWlCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQ3ZELGFBQWEsQ0FBQyxLQUFVO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQ3ZELGVBQWUsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7aUlBdkNRLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlJQU9aLGdCQUFnQiwrQ0FDaEIsZ0JBQWdCLHlDQUNoQixnQkFBZ0Isc0NBQ2hCLGdCQUFnQiw0Q0FDaEIsZ0JBQWdCLHdEQUNoQixnQkFBZ0IsaUVBQ2hCLGdCQUFnQiw0UkN2QnhDLG0wQkFtQkE7OzJGRFRhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBR1gsdUJBQXVCLENBQUMsT0FBTyxpQkFDakMsaUJBQWlCLENBQUMsSUFBSTs4QkFHZixNQUFNO3NCQUEzQixXQUFXO3VCQUFDLE9BQU87Z0JBSVgsS0FBSztzQkFBYixLQUFLO2dCQUVrQyxvQkFBb0I7c0JBQTNELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxTQUFTO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGlCQUFpQjtzQkFBeEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFN0IsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHSSxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3RW5jYXBzdWxhdGlvbiwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZXVpLW1lbnUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS1zaWRlYmFyLW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktc2lkZWJhci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9fc3R5bGVzL19pbmRleC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVNpZGViYXJNZW51Q29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgc3RyaW5nID0gJ2V1aS1zaWRlYmFyLW1lbnUnO1xuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQElucHV0KCkgaXRlbXM6IGFueVtdID0gW107XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzQ29sbGFwc2VkSW5pdGlhbHMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzRmlsdGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0ljb25zID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1Rvb2x0aXAgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZXhwYW5kQWxsSXRlbXMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzTG93ZXJjYXNlSXRlbXMgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHN0eWxlID0gJyc7XG4gICAgQElucHV0KCkgZnJhZ21lbnRJZDogc3RyaW5nOyAvLyBBbmNob3IgdG8gbmF2aWdhdGUgdG8gKHNlZSBldWktbWVudSlcbiAgICBASW5wdXQoKSBzZWFyY2hGaWx0ZXJMYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dGVybmFsVGFyZ2V0OiBzdHJpbmc7XG4gICAgQElucHV0KCkgZmlsdGVyVmFsdWUgPSAnJztcbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gICAgQE91dHB1dCgpIG1lbnVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGl0ZW1DbGljazogRXZlbnRFbWl0dGVyPEV1aU1lbnVJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBvbk1lbnVJdGVtQ2xpY2tlZChpdGVtOiBFdWlNZW51SXRlbSk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1DbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cblxuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHB1YmxpYyBvbk1lbnVDbGlja2VkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51Q2xpY2suZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHVibGljIG9uTWVudUNvbGxhcHNlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSBldmVudDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXVpLXNpZGViYXItbWVudV9fY29udGFpbmVyXCIgW2NsYXNzLmV1aS1zaWRlYmFyLW1lbnVfX2NvbnRhaW5lci0tY29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCIgW3N0eWxlXT1cInN0eWxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImV1aS1zaWRlYmFyLW1lbnVfX2NvbnRlbnRcIj5cbiAgICAgICAgPGV1aS1tZW51XG4gICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICAgICAgW2hhc0ZpbHRlcl09XCJoYXNGaWx0ZXJcIlxuICAgICAgICAgICAgW2hhc0ljb25zXT1cImhhc0ljb25zXCJcbiAgICAgICAgICAgIFtoYXNUb29sdGlwXT1cImhhc1Rvb2x0aXBcIlxuICAgICAgICAgICAgW2lzQ29sbGFwc2VkXT1cImlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgIFtoYXNDb2xsYXBzZWRJbml0aWFsc109XCJoYXNDb2xsYXBzZWRJbml0aWFsc1wiXG4gICAgICAgICAgICBbaGFzTG93ZXJjYXNlSXRlbXNdPVwiaGFzTG93ZXJjYXNlSXRlbXNcIlxuICAgICAgICAgICAgW2V4cGFuZEFsbEl0ZW1zXT1cImV4cGFuZEFsbEl0ZW1zXCJcbiAgICAgICAgICAgIFtmcmFnbWVudElkXT1cImZyYWdtZW50SWRcIlxuICAgICAgICAgICAgW3NlYXJjaEZpbHRlckxhYmVsXT1cInNlYXJjaEZpbHRlckxhYmVsXCJcbiAgICAgICAgICAgIFtmaWx0ZXJWYWx1ZV09XCJmaWx0ZXJWYWx1ZVwiXG4gICAgICAgICAgICAoaXNDbGljayk9XCJvbk1lbnVDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgICAgKGl0ZW1DbGljayk9XCJvbk1lbnVJdGVtQ2xpY2tlZCgkZXZlbnQpXCI+XG4gICAgICAgIDwvZXVpLW1lbnU+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
@@ -48,7 +48,7 @@ export class EuiAppSidebarMenuComponent {
|
|
48
48
|
this.sidebarItemClick.emit(event);
|
49
49
|
}
|
50
50
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiAppSidebarMenuComponent, deps: [{ token: i1.EuiAppShellService }], target: i0.ɵɵFactoryTarget.Component }); }
|
51
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiAppSidebarMenuComponent, selector: "eui-app-sidebar-menu", inputs: { hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute], items: "items" }, outputs: { sidebarItemClick: "sidebarItemClick" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "<eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasLowercaseItems]=\"hasLowercaseItems\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen && !(asService.state$ | async).isSidebarHover\"\n (itemClick)=\"onMenuItemClicked($event)\">\n</eui-menu>\n", dependencies: [{ kind: "component", type: i2.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem", "hasLowercaseItems"
|
51
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.8", type: EuiAppSidebarMenuComponent, selector: "eui-app-sidebar-menu", inputs: { hasFilter: ["hasFilter", "hasFilter", booleanAttribute], hasIcons: ["hasIcons", "hasIcons", booleanAttribute], hasTooltip: ["hasTooltip", "hasTooltip", booleanAttribute], expandAllItems: ["expandAllItems", "expandAllItems", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], hasCollapsedInitials: ["hasCollapsedInitials", "hasCollapsedInitials", booleanAttribute], isFlat: ["isFlat", "isFlat", booleanAttribute], hasScrollToItem: ["hasScrollToItem", "hasScrollToItem", booleanAttribute], hasLowercaseItems: ["hasLowercaseItems", "hasLowercaseItems", booleanAttribute], items: "items" }, outputs: { sidebarItemClick: "sidebarItemClick" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "<eui-menu\n [items]=\"items\"\n [hasFilter]=\"hasFilter\"\n [hasIcons]=\"hasIcons\"\n [hasTooltip]=\"hasTooltip\"\n [expandAllItems]=\"expandAllItems\"\n [isFlat]=\"isFlat\"\n [hasScrollToItem]=\"hasScrollToItem\"\n [hasCollapsedInitials]=\"hasCollapsedInitials\"\n [hasLowercaseItems]=\"hasLowercaseItems\"\n [isCollapsed]=\"!(asService.state$ | async).isSidebarOpen && !(asService.state$ | async).isSidebarHover\"\n (itemClick)=\"onMenuItemClicked($event)\">\n</eui-menu>\n", dependencies: [{ kind: "component", type: i2.EuiMenuComponent, selector: "eui-menu", inputs: ["items", "searchFilterLabel", "externalLinkLabel", "fragmentId", "filterValue", "isCollapsed", "hasCollapsedInitials", "hasFilter", "hasIcons", "hasTooltip", "expandAllItems", "isFlat", "hasScrollToItem", "hasLowercaseItems"], outputs: ["isClick", "itemClick"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
52
52
|
}
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EuiAppSidebarMenuComponent, decorators: [{
|
54
54
|
type: Component,
|
@@ -13,6 +13,7 @@ export declare class EuiMenuComponent implements OnInit, OnChanges, OnDestroy {
|
|
13
13
|
searchFilterLabel: string;
|
14
14
|
externalLinkLabel: string;
|
15
15
|
fragmentId: string;
|
16
|
+
filterValue: string;
|
16
17
|
isCollapsed: boolean;
|
17
18
|
hasCollapsedInitials: boolean;
|
18
19
|
hasFilter: boolean;
|
@@ -22,7 +23,6 @@ export declare class EuiMenuComponent implements OnInit, OnChanges, OnDestroy {
|
|
22
23
|
isFlat: boolean;
|
23
24
|
hasScrollToItem: boolean;
|
24
25
|
hasLowercaseItems: boolean;
|
25
|
-
filterValue: any;
|
26
26
|
isClick: EventEmitter<boolean>;
|
27
27
|
itemClick: EventEmitter<EuiMenuItem>;
|
28
28
|
itemsState: any[];
|
@@ -96,7 +96,7 @@ export declare class EuiMenuComponent implements OnInit, OnChanges, OnDestroy {
|
|
96
96
|
*/
|
97
97
|
private expandToGivenItem;
|
98
98
|
static ɵfac: i0.ɵɵFactoryDeclaration<EuiMenuComponent, never>;
|
99
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<EuiMenuComponent, "eui-menu", never, { "items": { "alias": "items"; "required": false; }; "searchFilterLabel": { "alias": "searchFilterLabel"; "required": false; }; "externalLinkLabel": { "alias": "externalLinkLabel"; "required": false; }; "fragmentId": { "alias": "fragmentId"; "required": false; }; "
|
99
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EuiMenuComponent, "eui-menu", never, { "items": { "alias": "items"; "required": false; }; "searchFilterLabel": { "alias": "searchFilterLabel"; "required": false; }; "externalLinkLabel": { "alias": "externalLinkLabel"; "required": false; }; "fragmentId": { "alias": "fragmentId"; "required": false; }; "filterValue": { "alias": "filterValue"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "hasCollapsedInitials": { "alias": "hasCollapsedInitials"; "required": false; }; "hasFilter": { "alias": "hasFilter"; "required": false; }; "hasIcons": { "alias": "hasIcons"; "required": false; }; "hasTooltip": { "alias": "hasTooltip"; "required": false; }; "expandAllItems": { "alias": "expandAllItems"; "required": false; }; "isFlat": { "alias": "isFlat"; "required": false; }; "hasScrollToItem": { "alias": "hasScrollToItem"; "required": false; }; "hasLowercaseItems": { "alias": "hasLowercaseItems"; "required": false; }; }, { "isClick": "isClick"; "itemClick": "itemClick"; }, never, never, false, [{ directive: typeof i1.BaseStatesDirective; inputs: {}; outputs: {}; }]>;
|
100
100
|
static ngAcceptInputType_isCollapsed: unknown;
|
101
101
|
static ngAcceptInputType_hasCollapsedInitials: unknown;
|
102
102
|
static ngAcceptInputType_hasFilter: unknown;
|
@@ -106,6 +106,5 @@ export declare class EuiMenuComponent implements OnInit, OnChanges, OnDestroy {
|
|
106
106
|
static ngAcceptInputType_isFlat: unknown;
|
107
107
|
static ngAcceptInputType_hasScrollToItem: unknown;
|
108
108
|
static ngAcceptInputType_hasLowercaseItems: unknown;
|
109
|
-
static ngAcceptInputType_filterValue: string | undefined | null;
|
110
109
|
}
|
111
110
|
//# sourceMappingURL=eui-menu.component.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-menu.component.d.ts","sourceRoot":"","sources":["../../eui-menu/eui-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,MAAM,EAEN,YAAY,EACZ,SAAS,EACT,aAAa,EAGb,SAAS,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAuC,MAAM,iBAAiB,CAAC;AAI9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;;;
|
1
|
+
{"version":3,"file":"eui-menu.component.d.ts","sourceRoot":"","sources":["../../eui-menu/eui-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,MAAM,EAEN,YAAY,EACZ,SAAS,EACT,aAAa,EAGb,SAAS,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAuC,MAAM,iBAAiB,CAAC;AAI9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;;;AAK3D,qBAWa,gBAAiB,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IAmC7D,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACN,mBAAmB,EAAE,mBAAmB;IApCnD,IACW,UAAU,IAAI,MAAM,CAM9B;IAEQ,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,SAAM;IAEc,WAAW,UAAS;IACpB,oBAAoB,UAAS;IAC7B,SAAS,UAAS;IAClB,QAAQ,UAAS;IACjB,UAAU,UAAS;IACnB,cAAc,UAAS;IACvB,MAAM,UAAS;IACf,eAAe,UAAS;IACxB,iBAAiB,UAAS;IAExD,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,CAAsB;IACpD,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAmC;IAIjF,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,OAAO,CAAC,YAAY,CAAe;gBAGvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EACtB,mBAAmB,EAAE,mBAAmB;IAInD,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAuBzC,QAAQ,IAAI,IAAI;IAkChB,WAAW,IAAG,IAAI;IAMX,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IA6BhC,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKvC,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAI1C,QAAQ,CAAC,KAAK,EAAE,KAAK;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM;IAU7B,OAAO,CAAC,uBAAuB;IAI/B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAevB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAavB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAiCtB;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;yCAnThB,gBAAgB;2CAAhB,gBAAgB;0CA0Tkpf,OAAQ;mDAAR,OAAQ;wCAAR,OAAQ;uCAAR,OAAQ;yCAAR,OAAQ;6CAAR,OAAQ;qCAAR,OAAQ;8CAAR,OAAQ;gDAAR,OAAQ;CADtrf"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-sidebar-menu.component.d.ts","sourceRoot":"","sources":["../../eui-sidebar-menu/eui-sidebar-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,YAAY,EAAuC,MAAM,eAAe,CAAC;AAClJ,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;;AAEvD,qBAOa,uBAAuB;IACV,MAAM,SAAsB;IAIzC,KAAK,EAAE,GAAG,EAAE,CAAM;IAEa,oBAAoB,UAAS;IAC7B,WAAW,UAAS;IACpB,SAAS,UAAS;IAClB,QAAQ,UAAS;IACjB,UAAU,UAAS;IACnB,cAAc,UAAS;IACvB,iBAAiB,UAAS;IAEzD,KAAK,SAAM;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,
|
1
|
+
{"version":3,"file":"eui-sidebar-menu.component.d.ts","sourceRoot":"","sources":["../../eui-sidebar-menu/eui-sidebar-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,YAAY,EAAuC,MAAM,eAAe,CAAC;AAClJ,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;;AAEvD,qBAOa,uBAAuB;IACV,MAAM,SAAsB;IAIzC,KAAK,EAAE,GAAG,EAAE,CAAM;IAEa,oBAAoB,UAAS;IAC7B,WAAW,UAAS;IACpB,SAAS,UAAS;IAClB,QAAQ,UAAS;IACjB,UAAU,UAAS;IACnB,cAAc,UAAS;IACvB,iBAAiB,UAAS;IAEzD,KAAK,SAAM;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,SAAM;IAGhB,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC,CAAsB;IAClD,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAsB;IAE7D,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAM1C,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAM/B,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;yCArC/B,uBAAuB;2CAAvB,uBAAuB;mDAyCiqyB,OAAQ;0CAAR,OAAQ;wCAAR,OAAQ;uCAAR,OAAQ;yCAAR,OAAQ;6CAAR,OAAQ;gDAAR,OAAQ;CAD5syB"}
|