@danske/sapphire-angular 1.20.1 → 1.20.4
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/esm2020/lib/common/public_api.mjs +3 -1
- package/esm2020/lib/field/src/field-note.directive.mjs +20 -4
- package/esm2020/lib/listbox/src/listbox.component.mjs +2 -2
- package/esm2020/lib/menu/src/menu.component.mjs +2 -2
- package/esm2020/lib/popover/src/popover-trigger.directive.mjs +2 -1
- package/esm2020/lib/select/src/select/select.component.mjs +3 -3
- package/esm2020/lib/theme/src/themes.mjs +4 -4
- package/fesm2015/danske-sapphire-angular.mjs +28 -13
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
- package/fesm2020/danske-sapphire-angular.mjs +28 -13
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
- package/lib/common/public_api.d.ts +2 -0
- package/lib/field/src/field-note.directive.d.ts +6 -1
- package/package.json +3 -3
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// Exported just for the issue with vscode
|
|
2
2
|
export { ScrollMonitorDirective } from './scroll-monitor.directive';
|
|
3
3
|
export { UseComponentStyles, UseComponentStylesOnHost, ViewEncapsulationProvider, } from './sapphire-view-encapsulation';
|
|
4
|
-
|
|
4
|
+
export { PressedDirective } from './pressed.directive';
|
|
5
|
+
export { FocusedDirective } from './focused.directive';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tbW9uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixHQUMxQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRXhwb3J0ZWQganVzdCBmb3IgdGhlIGlzc3VlIHdpdGggdnNjb2RlXG5leHBvcnQgeyBTY3JvbGxNb25pdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtbW9uaXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtcbiAgVXNlQ29tcG9uZW50U3R5bGVzLFxuICBVc2VDb21wb25lbnRTdHlsZXNPbkhvc3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXIsXG59IGZyb20gJy4vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcbmV4cG9ydCB7IFByZXNzZWREaXJlY3RpdmUgfSBmcm9tICcuL3ByZXNzZWQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZvY3VzZWREaXJlY3RpdmUgfSBmcm9tICcuL2ZvY3VzZWQuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -1,17 +1,33 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive, HostBinding, Input } from '@angular/core';
|
|
3
|
+
import { AutoId } from '../../common/auto-id.decorator';
|
|
2
4
|
import * as i0 from "@angular/core";
|
|
3
5
|
/**
|
|
4
6
|
* Used inside field to provide a note for the field.
|
|
5
7
|
*/
|
|
6
8
|
export class FieldNoteDirective {
|
|
9
|
+
constructor() {
|
|
10
|
+
/**
|
|
11
|
+
* A unique id for the host DOM element.
|
|
12
|
+
* If none is supplied, it will be auto-generated.
|
|
13
|
+
*/
|
|
14
|
+
this.id = '';
|
|
15
|
+
}
|
|
7
16
|
}
|
|
8
17
|
FieldNoteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldNoteDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
-
FieldNoteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: FieldNoteDirective, isStandalone: true, selector: "sp-field-note", ngImport: i0 });
|
|
18
|
+
FieldNoteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: FieldNoteDirective, isStandalone: true, selector: "sp-field-note", inputs: { id: "id" }, host: { properties: { "id": "this.id" } }, ngImport: i0 });
|
|
19
|
+
__decorate([
|
|
20
|
+
AutoId()
|
|
21
|
+
], FieldNoteDirective.prototype, "id", void 0);
|
|
10
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: FieldNoteDirective, decorators: [{
|
|
11
23
|
type: Directive,
|
|
12
24
|
args: [{
|
|
13
25
|
selector: 'sp-field-note',
|
|
14
26
|
standalone: true,
|
|
15
27
|
}]
|
|
16
|
-
}]
|
|
17
|
-
|
|
28
|
+
}], propDecorators: { id: [{
|
|
29
|
+
type: HostBinding
|
|
30
|
+
}, {
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbm90ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZpZWxkL3NyYy9maWVsZC1ub3RlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFeEQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBS0U7OztXQUdHO1FBSUgsT0FBRSxHQUFHLEVBQUUsQ0FBQztLQUNUOzsrR0FUWSxrQkFBa0I7bUdBQWxCLGtCQUFrQjtBQVE3QjtJQURDLE1BQU0sRUFBRTs4Q0FDRDsyRkFSRyxrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFTQyxFQUFFO3NCQUhELFdBQVc7O3NCQUNYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0b0lkIH0gZnJvbSAnLi4vLi4vY29tbW9uL2F1dG8taWQuZGVjb3JhdG9yJztcblxuLyoqXG4gKiBVc2VkIGluc2lkZSBmaWVsZCB0byBwcm92aWRlIGEgbm90ZSBmb3IgdGhlIGZpZWxkLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzcC1maWVsZC1ub3RlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGROb3RlRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkIGZvciB0aGUgaG9zdCBET00gZWxlbWVudC5cbiAgICogSWYgbm9uZSBpcyBzdXBwbGllZCwgaXQgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC5cbiAgICovXG4gIEBIb3N0QmluZGluZygpXG4gIEBJbnB1dCgpXG4gIEBBdXRvSWQoKVxuICBpZCA9ICcnO1xufVxuIl19
|
|
@@ -210,7 +210,7 @@ ListboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
210
210
|
useExisting: forwardRef(() => ListboxComponent),
|
|
211
211
|
},
|
|
212
212
|
ViewEncapsulationProvider,
|
|
213
|
-
], queries: [{ propertyName: "itemsInContent", predicate: ListboxChild }], viewQueries: [{ propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true }, { propertyName: "cdkOptions", predicate: CdkOption, descendants: true }], exportAs: ["spListbox"], ngImport: i0, template: "<ul\n class=\"sapphire-listbox\"\n cdkListbox\n [id]=\"id || ''\"\n [cdkListboxCompareWith]=\"\"\n [cdkListboxMultiple]=\"!!multiple\"\n [cdkListboxDisabled]=\"!!disabled\"\n [cdkListboxNavigationWrapDisabled]=\"\n navigationWrapDisabled && !_forceEnableNavigationWrap\n \"\n [cdkListboxValue]=\"_validSelectedValues\"\n [cdkListboxUseActiveDescendant]=\"_shouldUseVirtualFocus()\"\n (cdkListboxValueChange)=\"_handleSelectionChange($event)\"\n (keydown.enter)=\"selected.emit($event)\"\n (keydown.space)=\"selected.emit($event)\"\n (mousedown)=\"_isConnectedToInput() && $event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-container *ngFor=\"let item of options; let last = last\">\n <ng-container *ngIf=\"_isSection(item)\">\n <li role=\"presentation\">\n <ul\n role=\"group\"\n class=\"sapphire-listbox__section\"\n [attr.aria-label]=\"item.ariaLabel\"\n >\n <li\n *ngFor=\"let option of item.children\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"option.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"option\"\n [selected]=\"isSelected(option)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || option.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ul>\n </li>\n <li\n *ngIf=\"!last\"\n role=\"separator\"\n class=\"sapphire-listbox__separator\"\n ></li>\n </ng-container>\n <li\n *ngIf=\"_isOption(item)\"\n [cdkOption]=\"item.value\"\n [cdkOptionDisabled]=\"!!item.disabled\"\n [cdkOptionTypeaheadLabel]=\"item.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"item\"\n [selected]=\"isSelected(item)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || item.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ng-container>\n</ul>\n", styles: [".sapphire-listbox{box-sizing:border-box;
|
|
213
|
+
], queries: [{ propertyName: "itemsInContent", predicate: ListboxChild }], viewQueries: [{ propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true }, { propertyName: "cdkOptions", predicate: CdkOption, descendants: true }], exportAs: ["spListbox"], ngImport: i0, template: "<ul\n class=\"sapphire-listbox\"\n cdkListbox\n [id]=\"id || ''\"\n [cdkListboxCompareWith]=\"\"\n [cdkListboxMultiple]=\"!!multiple\"\n [cdkListboxDisabled]=\"!!disabled\"\n [cdkListboxNavigationWrapDisabled]=\"\n navigationWrapDisabled && !_forceEnableNavigationWrap\n \"\n [cdkListboxValue]=\"_validSelectedValues\"\n [cdkListboxUseActiveDescendant]=\"_shouldUseVirtualFocus()\"\n (cdkListboxValueChange)=\"_handleSelectionChange($event)\"\n (keydown.enter)=\"selected.emit($event)\"\n (keydown.space)=\"selected.emit($event)\"\n (mousedown)=\"_isConnectedToInput() && $event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-container *ngFor=\"let item of options; let last = last\">\n <ng-container *ngIf=\"_isSection(item)\">\n <li role=\"presentation\">\n <ul\n role=\"group\"\n class=\"sapphire-listbox__section\"\n [attr.aria-label]=\"item.ariaLabel\"\n >\n <li\n *ngFor=\"let option of item.children\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"option.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"option\"\n [selected]=\"isSelected(option)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || option.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ul>\n </li>\n <li\n *ngIf=\"!last\"\n role=\"separator\"\n class=\"sapphire-listbox__separator\"\n ></li>\n </ng-container>\n <li\n *ngIf=\"_isOption(item)\"\n [cdkOption]=\"item.value\"\n [cdkOptionDisabled]=\"!!item.disabled\"\n [cdkOptionTypeaheadLabel]=\"item.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"item\"\n [selected]=\"isSelected(item)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || item.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ng-container>\n</ul>\n", styles: [".sapphire-listbox{box-sizing:border-box;min-width:var(--sapphire-listbox-size-width-min);margin:0;position:relative;list-style:none;outline:none;padding:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical)) 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer;min-width:max-content}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;max-width:calc(100vw - 2 * var(--sapphire-listbox-size-width-icon-l));display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}:host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: i2.CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: i3.CdkOptionScrollIssuePatch, selector: "[cdkOption]" }, { kind: "component", type: i4.ListboxItemComponent, selector: "li[sp-listbox-item]", inputs: ["selected", "focused", "option", "size"] }] });
|
|
214
214
|
__decorate([
|
|
215
215
|
CoerceBoolean
|
|
216
216
|
], ListboxComponent.prototype, "disabled", void 0);
|
|
@@ -236,7 +236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
236
236
|
], host: {
|
|
237
237
|
'[attr.aria-label]': 'null',
|
|
238
238
|
'[attr.aria-labelledby]': 'null',
|
|
239
|
-
}, exportAs: 'spListbox', template: "<ul\n class=\"sapphire-listbox\"\n cdkListbox\n [id]=\"id || ''\"\n [cdkListboxCompareWith]=\"\"\n [cdkListboxMultiple]=\"!!multiple\"\n [cdkListboxDisabled]=\"!!disabled\"\n [cdkListboxNavigationWrapDisabled]=\"\n navigationWrapDisabled && !_forceEnableNavigationWrap\n \"\n [cdkListboxValue]=\"_validSelectedValues\"\n [cdkListboxUseActiveDescendant]=\"_shouldUseVirtualFocus()\"\n (cdkListboxValueChange)=\"_handleSelectionChange($event)\"\n (keydown.enter)=\"selected.emit($event)\"\n (keydown.space)=\"selected.emit($event)\"\n (mousedown)=\"_isConnectedToInput() && $event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-container *ngFor=\"let item of options; let last = last\">\n <ng-container *ngIf=\"_isSection(item)\">\n <li role=\"presentation\">\n <ul\n role=\"group\"\n class=\"sapphire-listbox__section\"\n [attr.aria-label]=\"item.ariaLabel\"\n >\n <li\n *ngFor=\"let option of item.children\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"option.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"option\"\n [selected]=\"isSelected(option)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || option.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ul>\n </li>\n <li\n *ngIf=\"!last\"\n role=\"separator\"\n class=\"sapphire-listbox__separator\"\n ></li>\n </ng-container>\n <li\n *ngIf=\"_isOption(item)\"\n [cdkOption]=\"item.value\"\n [cdkOptionDisabled]=\"!!item.disabled\"\n [cdkOptionTypeaheadLabel]=\"item.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"item\"\n [selected]=\"isSelected(item)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || item.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ng-container>\n</ul>\n", styles: [".sapphire-listbox{box-sizing:border-box;
|
|
239
|
+
}, exportAs: 'spListbox', template: "<ul\n class=\"sapphire-listbox\"\n cdkListbox\n [id]=\"id || ''\"\n [cdkListboxCompareWith]=\"\"\n [cdkListboxMultiple]=\"!!multiple\"\n [cdkListboxDisabled]=\"!!disabled\"\n [cdkListboxNavigationWrapDisabled]=\"\n navigationWrapDisabled && !_forceEnableNavigationWrap\n \"\n [cdkListboxValue]=\"_validSelectedValues\"\n [cdkListboxUseActiveDescendant]=\"_shouldUseVirtualFocus()\"\n (cdkListboxValueChange)=\"_handleSelectionChange($event)\"\n (keydown.enter)=\"selected.emit($event)\"\n (keydown.space)=\"selected.emit($event)\"\n (mousedown)=\"_isConnectedToInput() && $event.preventDefault()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-container *ngFor=\"let item of options; let last = last\">\n <ng-container *ngIf=\"_isSection(item)\">\n <li role=\"presentation\">\n <ul\n role=\"group\"\n class=\"sapphire-listbox__section\"\n [attr.aria-label]=\"item.ariaLabel\"\n >\n <li\n *ngFor=\"let option of item.children\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"option.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"option\"\n [selected]=\"isSelected(option)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || option.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ul>\n </li>\n <li\n *ngIf=\"!last\"\n role=\"separator\"\n class=\"sapphire-listbox__separator\"\n ></li>\n </ng-container>\n <li\n *ngIf=\"_isOption(item)\"\n [cdkOption]=\"item.value\"\n [cdkOptionDisabled]=\"!!item.disabled\"\n [cdkOptionTypeaheadLabel]=\"item.label\"\n #cdkOption=\"cdkOption\"\n sp-listbox-item\n [option]=\"item\"\n [selected]=\"isSelected(item)\"\n [focused]=\"cdkOption.isActive()\"\n (click)=\"!(disabled || item.disabled) && selected.emit($event)\"\n [size]=\"size\"\n ></li>\n </ng-container>\n</ul>\n", styles: [".sapphire-listbox{box-sizing:border-box;min-width:var(--sapphire-listbox-size-width-min);margin:0;position:relative;list-style:none;outline:none;padding:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical)) 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer;min-width:max-content}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;max-width:calc(100vw - 2 * var(--sapphire-listbox-size-width-icon-l));display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}:host{display:block}\n"] }]
|
|
240
240
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedValues: [{
|
|
241
241
|
type: Input
|
|
242
242
|
}], selectedValuesChange: [{
|
|
@@ -13,7 +13,7 @@ export class MenuComponent {
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: MenuComponent, selector: "sp-menu", inputs: { size: "size" }, host: { properties: { "class.sapphire-popover": "true", "class.sapphire-popover--max-width": "true" } }, hostDirectives: [{ directive: i1.CdkMenu, outputs: ["closed", "closed"] }, { directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<div\n class=\"sapphire-listbox\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-listbox{box-sizing:border-box;
|
|
16
|
+
MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: MenuComponent, selector: "sp-menu", inputs: { size: "size" }, host: { properties: { "class.sapphire-popover": "true", "class.sapphire-popover--max-width": "true" } }, hostDirectives: [{ directive: i1.CdkMenu, outputs: ["closed", "closed"] }, { directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<div\n class=\"sapphire-listbox\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-listbox{box-sizing:border-box;min-width:var(--sapphire-listbox-size-width-min);margin:0;position:relative;list-style:none;outline:none;padding:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical)) 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer;min-width:max-content}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;max-width:calc(100vw - 2 * var(--sapphire-listbox-size-width-icon-l));display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-popover-color-background);box-shadow:var(--sapphire-popover-shadow);animation:fade-in var(--sapphire-popover-time-transition) ease-in-out;border-radius:var(--sapphire-popover-size-radius);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-popover-size-spacing-padded)}.sapphire-popover--max-width{max-width:var(--sapphire-popover-size-max-width)}.sapphire-menu-backdrop{background:none}\n"] });
|
|
17
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ selector: 'sp-menu', hostDirectives: [
|
|
@@ -26,7 +26,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
26
26
|
// custom class to the cdk overlay pane element.
|
|
27
27
|
'[class.sapphire-popover]': 'true',
|
|
28
28
|
'[class.sapphire-popover--max-width]': 'true',
|
|
29
|
-
}, template: "<div\n class=\"sapphire-listbox\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-listbox{box-sizing:border-box;
|
|
29
|
+
}, template: "<div\n class=\"sapphire-listbox\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-listbox{box-sizing:border-box;min-width:var(--sapphire-listbox-size-width-min);margin:0;position:relative;list-style:none;outline:none;padding:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical)) 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer;min-width:max-content}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;max-width:calc(100vw - 2 * var(--sapphire-listbox-size-width-icon-l));display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-popover-color-background);box-shadow:var(--sapphire-popover-shadow);animation:fade-in var(--sapphire-popover-time-transition) ease-in-out;border-radius:var(--sapphire-popover-size-radius);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-popover-size-spacing-padded)}.sapphire-popover--max-width{max-width:var(--sapphire-popover-size-max-width)}.sapphire-menu-backdrop{background:none}\n"] }]
|
|
30
30
|
}], propDecorators: { size: [{
|
|
31
31
|
type: Input
|
|
32
32
|
}] } });
|
|
@@ -92,6 +92,7 @@ export class PopoverTriggerDirective {
|
|
|
92
92
|
close() {
|
|
93
93
|
if (this.isOpen()) {
|
|
94
94
|
this.overlayRef?.detach();
|
|
95
|
+
this.changeDetectorRef.markForCheck();
|
|
95
96
|
}
|
|
96
97
|
}
|
|
97
98
|
/** Whether the popover is open. */
|
|
@@ -295,4 +296,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
295
296
|
type: HostListener,
|
|
296
297
|
args: ['keydown', ['$event']]
|
|
297
298
|
}] } });
|
|
298
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLGFBQWEsR0FFZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBUXRFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0Msb0JBQW9CLENBQ3JCLENBQUM7QUFFRiw2RUFBNkU7QUFhN0UsTUFBTSxPQUFPLHVCQUF1QjtJQXFEbEMsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUNVLGlCQUFvQyxFQUNwQyxVQUFtQixFQUNuQixnQkFBa0MsRUFDbkMsVUFBbUMsRUFDbEMsUUFBa0I7UUFKbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLHFCQUFn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LGtDQUFrQztnQkFVekMsYUFBYTtzQkFGWixLQUFLO3VCQUFDLCtCQUErQjtnQkFVdEMsUUFBUTtzQkFGUCxLQUFLO3VCQUFDLDBCQUEwQjtnQkFNeEIsTUFBTTtzQkFEZCxNQUFNO3VCQUFDLHdCQUF3QjtnQkFLdkIsTUFBTTtzQkFEZCxNQUFNO3VCQUFDLHdCQUF3QjtnQkFZckIsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBdUV6QixlQUFlO3NCQUR0QixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkF3QjdCLFdBQVc7c0JBRGxCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWN6QixTQUFTO3NCQURoQixZQUFZO3VCQUFDLGFBQWE7Z0JBY25CLFVBQVU7c0JBRGpCLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTJCNUIsYUFBYTtzQkFEcEIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlDb25maWcsXG4gIE92ZXJsYXlSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZsaXAsIFBsYWNlbWVudCwgdG9Db25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9wbGFjZW1lbnQnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyVHJpZ2dlciB7XG4gIHRvZ2dsZSgpOiB2b2lkO1xuICBvcGVuKCk6IHZvaWQ7XG4gIGNsb3NlKCk6IHZvaWQ7XG4gIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xufVxuZXhwb3J0IGNvbnN0IFBPUE9WRVJfVFJJR0dFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQb3BvdmVyVHJpZ2dlcj4oXG4gICdzcC1wb3BvdmVyLXRyaWdnZXInXG4pO1xuXG4vLyBUT0RPKFVDLTI3MjgpOiBpbXByb3ZlIGV2ZW50IGhhbmRsaW5nIHdoZW4gcmV1c2FibGUgcHJlc3MgdXRpbGl0eSBpcyBhZGRlZFxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3BQb3BvdmVyVHJpZ2dlckZvcl0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IFBPUE9WRVJfVFJJR0dFUiwgdXNlRXhpc3Rpbmc6IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmlzLWFjdGl2ZV0nOiAnaXNPcGVuKCknLFxuICAgICdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdpc09wZW4oKScsXG4gIH0sXG4gIGV4cG9ydEFzOiAnc3BQb3BvdmVyVHJpZ2dlcicsXG59KVxuZXhwb3J0IGNsYXNzIFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIGltcGxlbWVudHMgUG9wb3ZlclRyaWdnZXIge1xuICBASW5wdXQoJ3NwUG9wb3ZlclBsYWNlbWVudCcpXG4gIHB1YmxpYyBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICdib3R0b20nO1xuXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlckZvcicpXG4gIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBub3QgYmxvY2sgaW50ZXJhY3Rpb24gd2l0aCBiYWNrZ3JvdW5kLlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJOb25Nb2RhbCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5vbk1vZGFsOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYmUgb3BlbmVkIG9uIHByZXNzIHN0YXJ0LlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyT3Blbk9uUHJlc3NTdGFydCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG9wZW5PblByZXNzU3RhcnQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBjbG9zZWQgd2hlbiB0aGUgY29udGFpbmVyIGlzIHNjcm9sbGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VPblNjcm9sbCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIGNsb3NlT25TY3JvbGw6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDYW4gYmUgdXNlZCB0byBkaXNhYmxlIHRvZ2dsaW5nIHBvcG92ZXIgb24gY2xpY2tzLiBVc2VmdWwgaWYgYHNwUG9wb3ZlclRyaWdnZXJgXG4gICAqIGlzIGFwcGxpZWQgb24gYW4gZWxlbWVudCB3aGljaCBkb2Vzbid0IHN1cHBvcnQgYGRpc2FibGVkYCBwcm9wZXJ0eS5cbiAgICovXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlckRpc2FibGVkJylcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBhdHRhY2hlZCBwb3BvdmVyIGlzIHJlcXVlc3RlZCB0byBvcGVuICovXG4gIEBPdXRwdXQoJ3NwUG9wb3ZlclRyaWdnZXJPcGVuZWQnKVxuICByZWFkb25seSBvcGVuZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgYXR0YWNoZWQgcG9wb3ZlciBpcyByZXF1ZXN0ZWQgdG8gY2xvc2UgKi9cbiAgQE91dHB1dCgnc3BQb3BvdmVyVHJpZ2dlckNsb3NlZCcpXG4gIHJlYWRvbmx5IGNsb3NlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoaXMgdHJpZ2dlciBpcyBkZXN0cm95ZWQuICovXG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIC8qKiBBIHJlZmVyZW5jZSB0byB0aGUgb3ZlcmxheSB3aGljaCBtYW5hZ2VzIHRoZSB0cmlnZ2VyZWQgbWVudSAqL1xuICBwcm90ZWN0ZWQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgaXNCZWluZ1ByZXNzZWQgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1jb250cm9scycpXG4gIHB1YmxpYyBnZXQgZ2V0UG9wb3ZlcklkKCkge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY/Lmhvc3RFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tyb2xlPVwiZGlhbG9nXCJdJyk/LmlkO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBjZGtPdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveU92ZXJsYXkoKTtcblxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqIFRvZ2dsZSB0aGUgYXR0YWNoZWQgcG9wb3Zlci4gKi9cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuaXNPcGVuKCkgPyB0aGlzLmNsb3NlKCkgOiB0aGlzLm9wZW4oKTtcbiAgfVxuXG4gIC8qKiBPcGVuIHRoZSBhdHRhY2hlZCBwb3BvdmVyLiAqL1xuICBvcGVuKCkge1xuICAgIGlmICghdGhpcy5pc09wZW4oKSAmJiB0aGlzLnRlbXBsYXRlUmVmICE9IG51bGwgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMub3BlbmVkLm5leHQoKTtcbiAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMuY2RrT3ZlcmxheS5jcmVhdGUodGhpcy5nZXRPdmVybGF5Q29uZmlnKCkpO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb25TdHJhdGVneShcbiAgICAgICAgICB0aGlzLmdldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsb3NlZC5uZXh0KCk7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5vdmVybGF5UmVmXG4gICAgICAgIC5vdXRzaWRlUG9pbnRlckV2ZW50cygpXG4gICAgICAgIC5waXBlKHRha2VVbnRpbChtZXJnZSh0aGlzLmNsb3NlZCwgdGhpcy5kZXN0cm95ZWQpKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAvLyBJZiBwb3BvdmVyIGlzIG9wZW5lZCBvbiBwcmVzcyBzdGFydCwgYW4gb3V0c2lkZSBwb2ludGVyIGV2ZW50XG4gICAgICAgICAgICAvLyBpcyBlbWl0dGVkIGFzIHRoZSBtb3VzZSBpcyBiZWluZyByZWxlYXNlZCwgd2hpY2ggd291bGQgaW1tZWRpYXRlbHlcbiAgICAgICAgICAgIC8vIGNsb3NlIHRoZSBwb3BvdmVyLiBQcm9iYWJseSBhIGJ1ZyBpbiBAYW5ndWxhci9jZGsvb3ZlcmxheS5cbiAgICAgICAgICAgICEodGhpcy5vcGVuT25QcmVzc1N0YXJ0ICYmIHRoaXMuaXNCZWluZ1ByZXNzZWQpICYmXG4gICAgICAgICAgICAhdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy5nZXRDb250ZW50UG9ydGFsKCkpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsb3NlIHRoZSBvcGVuZWQgcG9wb3Zlci4gKi9cbiAgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgb3Blbi4gKi9cbiAgaXNPcGVuKCkge1xuICAgIHJldHVybiAhIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc0JlaW5nUHJlc3NlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMub3Blbk9uUHJlc3NTdGFydCkge1xuICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGZvY3VzIHRoZSB0cmlnZ2VyIGJlZm9yZSBvcGVuaW5nLiBPdGhlcndpc2UsIHRoZSBmb2N1cyByZXN0b3JhdGlvbiBsb2dpYyB3aWxsXG4gICAgICAgIC8vIGJlIG1lc3NlZCB1cCwgc2luY2UgdGhlIHdyb25nIGVsZW1lbnQgd291bGQgaGF2ZSB0aGUgZm9jdXMgd2hlbiB0aGUgcG9wb3ZlciBpcyBtb3VudGVkLlxuICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgJ21vdXNldXAnLFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzQmVpbmdQcmVzc2VkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVDbGljaygpIHtcbiAgICBpZiAoIXRoaXMub3Blbk9uUHJlc3NTdGFydCkge1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hpbGUgb25Gb2N1c291dCB0YWtlcyBjYXJlIG9mIGNsb3NpbmcgdGhlIHBvcG92ZXIgd2hlbiBmb2N1cyBnb2VzIG91dCwgaW4gdGhlIHJhcmUgY2FzZXNcbiAgICogdGhhdCB0aGVyZSBpcyBubyBtb3JlIGZvY3VzYWJsZSBlbGVtZW50IGJldHdlZW4gdGhlIHRyaWdnZXIgYW5kIHRoZSBwb3BvdmVyLCB0aGUgZm9jdXMgY2FuXG4gICAqIGdvIHRvIHRoZSBwb3BvdmVyIG9uIHByZXNzaW5nIGBUYWJgLiBCdXQgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGNsb3NlZCB3aGVuIHRhYmJpbmcgb24gdGhlXG4gICAqIHRyaWdnZXIuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnRhYicpXG4gIHByaXZhdGUgaGFuZGxlVGFiKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbiBzb21lIHVzZSBjYXNlcyAoZS5nLiBpbiBzZWFyY2hhYmxlIHNlbGVjdCkgcG9wb3ZlciB0cmlnZ2VyIGdyYWJzIHRoZSBmb2N1cywgcmlnaHQgYWZ0ZXJcbiAgICogdGhlIHBvcG92ZXIgaXMgb3BlbmVkLiBUaGF0IHJlcXVpcmVzIHBvcG92ZXIgdHJpZ2dlciB0byBkZXRlY3Qgd2hlbiBmb2N1cyBnb2VzIG91dCBvZiBpdFxuICAgKiBhbmQgY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAqIE5vdGU6IHdlIGNhbid0IHVzZSBgYmx1cmAgZXZlbnQgc2luY2UgaXQgd29uJ3QgYnViYmxlIHVwLCBhbmQgdGhlIGZvY3VzIGNhbiBiZSBvbiBhbiBlbGVtZW50XG4gICAqIGluc2lkZSB0aGUgdHJpZ2dlciwgYnV0IG5vdCB0aGUgdHJpZ2dlciBpdHNlbGYuXG4gICAqXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25Gb2N1c291dChldmVudDogRm9jdXNFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgPT09IG51bGwgJiZcbiAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldFxuICAgICkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIG9uIHRhYiBzd2l0Y2gsIHdpdGhvdXQgZm9jdXMgYmVpbmcgYWN0dWFsbHkgbW92ZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzUmVjZWl2aW5nRWxlbWVudCA9XG4gICAgICBldmVudC5yZWxhdGVkVGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCA/IGV2ZW50LnJlbGF0ZWRUYXJnZXQgOiBudWxsO1xuICAgIGlmIChcbiAgICAgIC8vIGZvY3VzIGlzIGdvaW5nIG5vd2hlcmVcbiAgICAgICFmb2N1c1JlY2VpdmluZ0VsZW1lbnQgfHxcbiAgICAgIC8vIGZvY3VzIGlzIGdvaW5nIGFueXdoZXJlIG91dHNpZGUgcG9wb3ZlciBhbmQgcG9wb3ZlciB0cmlnZ2VyXG4gICAgICAhKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKGZvY3VzUmVjZWl2aW5nRWxlbWVudCkgfHxcbiAgICAgICAgLy8gVGhpcyBpcyB0byBub3QgaGF2ZSB0aGUgcG9wb3ZlciBjbG9zZWQgYXMgc29vbiBhcyBtb3VzZSBpcyBkb3duIG9uIHNvbWV0aGluZyBpbnNpZGUgdGhlXG4gICAgICAgIC8vIHBvcG92ZXIsIGlmIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgb24gdGhlIHRyaWdnZXJcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudD8uY29udGFpbnMoZm9jdXNSZWNlaXZpbmdFbGVtZW50KVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoXG4gICAgICBldmVudC50YXJnZXQgPT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpICYmXG4gICAgICAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKVxuICAgICkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95T3ZlcmxheSgpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKiogR2V0IHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCB1c2VkIHRvIGNyZWF0ZSB0aGUgb3ZlcmxheS4gKi9cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKCkge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5ub25Nb2RhbFxuICAgICAgICA/IHRoaXMuY2xvc2VPblNjcm9sbFxuICAgICAgICAgID8gdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKVxuICAgICAgICAgIDogdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIDogdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSwgLy8gdG8gbWF0Y2ggd2hhdCB3ZSBoYXZlIGluIHJlYWN0XG5cbiAgICAgIC8vIEluY2x1ZGluZyBhIHRyYW5zcGFyZW50IGJhY2tkcm9wIGFjY29yZGluZyB0byB0aGUgbGF0ZXN0IGRlY2lzaW9uIG9mIG1ha2luZyBwb3BvdmVycyBtb2RhbC5cbiAgICAgIGhhc0JhY2tkcm9wOiAhdGhpcy5ub25Nb2RhbCxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXRDb250ZW50UG9ydGFsKCk6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgIHJldHVybiBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgIHRoaXMudGVtcGxhdGVSZWYsXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFBPUE9WRVJfVFJJR0dFUiwgdXNlVmFsdWU6IHRoaXMgfV0sXG4gICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcGxhY2VtZW50ID0gdGhpcy5wbGFjZW1lbnQgfHwgJ2JvdHRvbSc7XG4gICAgY29uc3QgaGFzSG9yaXpvbnRhbGx5Q2VudGVyZWRBbGlnbm1lbnQgPVxuICAgICAgIXBsYWNlbWVudC5pbmNsdWRlcygnc3RhcnQnKSAmJiAhcGxhY2VtZW50LmluY2x1ZGVzKCdlbmQnKTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jZGtPdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAgIC53aXRoR3Jvd0FmdGVyT3BlbigpXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEaXNhYmxpbmcgcHVzaGluZywgdG8gZml4IGFuIGlzc3VlIGluIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB3aGVyZSB0aGVcbiAgICAgICAgICogb3ZlcmxheSdzIGJvdHRvbSBncm93cyBwYXN0IHRoZSB0b3Agb2YgdGhlIHRyaWdnZXIgZWxlbWVudCAoYWthIG9yaWdpbikuXG4gICAgICAgICAqIEkuZS4sIHdoZW4gdGhlIG92ZXJsYXkgaXMgc3VwcG9zZWQgdG8gYmUgcGxhY2VkIGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQsIGl0IGNhblxuICAgICAgICAgKiBncm93IGluIGhlaWdodCBhbmQgY292ZXIgdGhlIHRyaWdnZXIgZWxlbWVudC4gVGhpcyBpcyBtb3JlIG9mIGFuIGlzc3VlIHdoZW4gdGhlIHRyaWdnZXJcbiAgICAgICAgICogZWxlbWVudCByZW1haW5zIGludGVyYWN0aXZlIGFmdGVyIHRoZSBvdmVybGF5IGlzIG9wZW5lZCwgc3VjaCBhcyBpbiBzZWFyY2hhYmxlIHNlbGVjdC5cbiAgICAgICAgICogTm90ZSB0aGF0IHRoaXMgaXMgbm90IHRoZSBjYXNlIHdoZW4gdGhlIG92ZXJsYXkgaXMgcGxhY2VkIGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAgICAgICAqIEluIHRoYXQgY2FzZSB0aGUgb3ZlcmxheSB3aWxsIG5vdCBlYXQgdXAgYWxsIGF2YWlsYWJsZSB2aWV3cG9ydCBoZWlnaHQsIGFuZCBpcyBzaXplZCBpblxuICAgICAgICAgKiBhIHdheSB0aGF0IHJlc3BlY3RzIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAgICAgICAqIERpc2FibGluZyBwdXNoIGlzIG5vdCB0aGUgaWRlYWwgc29sdXRpb24gYnV0IHByZXZlbnRzIHRoZSBpc3N1ZS5cbiAgICAgICAgICogcHVzaCBpcyBkaXNhYmxlZCBvbmx5IGZvciBvdmVybGF5cyB3aGVyZSB0aGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgaXMgYW5jaG9yZWQgdG8gbGVmdFxuICAgICAgICAgKiBvciByaWdodCBvZiB0aGUgdHJpZ2dlciBlbGVtZW50LCBiYXNlZCBvbiB0aGUgZmFpciBhc3N1bXB0aW9uIHRoYXQgdGhlIGNvbm5lY3RlZFxuICAgICAgICAgKiBlbGVtZW50IGlzIGl0c2VsZiB3aXRoaW4gdGhlIHZpZXdwb3J0LCBhbmQgd2Ugd29uJ3QgbmVlZCB0byBwdXNoIHRoZSBvdmVybGF5IGhvcml6b250YWxseVxuICAgICAgICAgKiB0byBoYXZlIGl0IHdpdGhpbiB0aGUgdmlld3BvcnQuIEl0IHNob3VsZCBhbHNvIGJlIG9rIG5vdCB0byBwdXNoIHZlcnRpY2FsbHksIHNpbmNlIHdlXG4gICAgICAgICAqIGFsbG93IGZvciB2ZXJ0aWNhbCBmbGlwcGluZyBpZiBuZWVkZWQuXG4gICAgICAgICAqKi9cbiAgICAgICAgLndpdGhQdXNoKGhhc0hvcml6b250YWxseUNlbnRlcmVkQWxpZ25tZW50KVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgdG9Db25uZWN0ZWRQb3NpdGlvbihwbGFjZW1lbnQpLFxuICAgICAgICAgIHRvQ29ubmVjdGVkUG9zaXRpb24oZmxpcChwbGFjZW1lbnQpKSxcbiAgICAgICAgXSlcbiAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbihwbGFjZW1lbnQuaW5jbHVkZXMoJ2VuZCcpID8gMCA6IDYpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
299
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLGFBQWEsR0FFZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBUXRFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0Msb0JBQW9CLENBQ3JCLENBQUM7QUFFRiw2RUFBNkU7QUFhN0UsTUFBTSxPQUFPLHVCQUF1QjtJQXFEbEMsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUNVLGlCQUFvQyxFQUNwQyxVQUFtQixFQUNuQixnQkFBa0MsRUFDbkMsVUFBbUMsRUFDbEMsUUFBa0I7UUFKbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLHFCQUFn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dUJBQUMsbUJBQW1CO2dCQVMxQixnQkFBZ0I7c0JBRmYsS0FBSzt1QkFBQyxrQ0FBa0M7Z0JBVXpDLGFBQWE7c0JBRlosS0FBSzt1QkFBQywrQkFBK0I7Z0JBVXRDLFFBQVE7c0JBRlAsS0FBSzt1QkFBQywwQkFBMEI7Z0JBTXhCLE1BQU07c0JBRGQsTUFBTTt1QkFBQyx3QkFBd0I7Z0JBS3ZCLE1BQU07c0JBRGQsTUFBTTt1QkFBQyx3QkFBd0I7Z0JBWXJCLFlBQVk7c0JBRHRCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQXdFekIsZUFBZTtzQkFEdEIsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBd0I3QixXQUFXO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjekIsU0FBUztzQkFEaEIsWUFBWTt1QkFBQyxhQUFhO2dCQWNuQixVQUFVO3NCQURqQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkEyQjVCLGFBQWE7c0JBRHBCLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICBPdmVybGF5LFxuICBPdmVybGF5Q29uZmlnLFxuICBPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5qZWN0b3IsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBmbGlwLCBQbGFjZW1lbnQsIHRvQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICcuLi8uLi9jb21tb24vcGxhY2VtZW50JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlclRyaWdnZXIge1xuICB0b2dnbGUoKTogdm9pZDtcbiAgb3BlbigpOiB2b2lkO1xuICBjbG9zZSgpOiB2b2lkO1xuICBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pjtcbn1cbmV4cG9ydCBjb25zdCBQT1BPVkVSX1RSSUdHRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48UG9wb3ZlclRyaWdnZXI+KFxuICAnc3AtcG9wb3Zlci10cmlnZ2VyJ1xuKTtcblxuLy8gVE9ETyhVQy0yNzI4KTogaW1wcm92ZSBldmVudCBoYW5kbGluZyB3aGVuIHJldXNhYmxlIHByZXNzIHV0aWxpdHkgaXMgYWRkZWRcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NwUG9wb3ZlclRyaWdnZXJGb3JdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBQT1BPVkVSX1RSSUdHRVIsIHVzZUV4aXN0aW5nOiBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9LFxuICBdLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5pcy1hY3RpdmVdJzogJ2lzT3BlbigpJyxcbiAgICAnW2F0dHIuYXJpYS1leHBhbmRlZF0nOiAnaXNPcGVuKCknLFxuICB9LFxuICBleHBvcnRBczogJ3NwUG9wb3ZlclRyaWdnZXInLFxufSlcbmV4cG9ydCBjbGFzcyBQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFBvcG92ZXJUcmlnZ2VyIHtcbiAgQElucHV0KCdzcFBvcG92ZXJQbGFjZW1lbnQnKVxuICBwdWJsaWMgcGxhY2VtZW50OiBQbGFjZW1lbnQgPSAnYm90dG9tJztcblxuICBASW5wdXQoJ3NwUG9wb3ZlclRyaWdnZXJGb3InKVxuICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgbm90IGJsb2NrIGludGVyYWN0aW9uIHdpdGggYmFja2dyb3VuZC5cbiAgICovXG4gIEBJbnB1dCgnc3BQb3BvdmVyTm9uTW9kYWwnKVxuICBAQ29lcmNlQm9vbGVhblxuICBub25Nb2RhbDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIG9wZW5lZCBvbiBwcmVzcyBzdGFydC5cbiAgICovXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlck9wZW5PblByZXNzU3RhcnQnKVxuICBAQ29lcmNlQm9vbGVhblxuICBvcGVuT25QcmVzc1N0YXJ0OiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9wb3ZlciBzaG91bGQgYmUgY2xvc2VkIHdoZW4gdGhlIGNvbnRhaW5lciBpcyBzY3JvbGxlZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgnc3BQb3BvdmVyVHJpZ2dlckNsb3NlT25TY3JvbGwnKVxuICBAQ29lcmNlQm9vbGVhblxuICBjbG9zZU9uU2Nyb2xsOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2FuIGJlIHVzZWQgdG8gZGlzYWJsZSB0b2dnbGluZyBwb3BvdmVyIG9uIGNsaWNrcy4gVXNlZnVsIGlmIGBzcFBvcG92ZXJUcmlnZ2VyYFxuICAgKiBpcyBhcHBsaWVkIG9uIGFuIGVsZW1lbnQgd2hpY2ggZG9lc24ndCBzdXBwb3J0IGBkaXNhYmxlZGAgcHJvcGVydHkuXG4gICAqL1xuICBASW5wdXQoJ3NwUG9wb3ZlclRyaWdnZXJEaXNhYmxlZCcpXG4gIEBDb2VyY2VCb29sZWFuXG4gIGRpc2FibGVkOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgYXR0YWNoZWQgcG9wb3ZlciBpcyByZXF1ZXN0ZWQgdG8gb3BlbiAqL1xuICBAT3V0cHV0KCdzcFBvcG92ZXJUcmlnZ2VyT3BlbmVkJylcbiAgcmVhZG9ubHkgb3BlbmVkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIgaXMgcmVxdWVzdGVkIHRvIGNsb3NlICovXG4gIEBPdXRwdXQoJ3NwUG9wb3ZlclRyaWdnZXJDbG9zZWQnKVxuICByZWFkb25seSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGlzIHRyaWdnZXIgaXMgZGVzdHJveWVkLiAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveWVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICAvKiogQSByZWZlcmVuY2UgdG8gdGhlIG92ZXJsYXkgd2hpY2ggbWFuYWdlcyB0aGUgdHJpZ2dlcmVkIG1lbnUgKi9cbiAgcHJvdGVjdGVkIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIGlzQmVpbmdQcmVzc2VkID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtY29udHJvbHMnKVxuICBwdWJsaWMgZ2V0IGdldFBvcG92ZXJJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmPy5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdbcm9sZT1cImRpYWxvZ1wiXScpPy5pZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgY2RrT3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge31cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lPdmVybGF5KCk7XG5cbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKiBUb2dnbGUgdGhlIGF0dGFjaGVkIHBvcG92ZXIuICovXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmlzT3BlbigpID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG4gIH1cblxuICAvKiogT3BlbiB0aGUgYXR0YWNoZWQgcG9wb3Zlci4gKi9cbiAgb3BlbigpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuKCkgJiYgdGhpcy50ZW1wbGF0ZVJlZiAhPSBudWxsICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLm9wZW5lZC5uZXh0KCk7XG4gICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLmNka092ZXJsYXkuY3JlYXRlKHRoaXMuZ2V0T3ZlcmxheUNvbmZpZygpKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koXG4gICAgICAgICAgdGhpcy5nZXRPdmVybGF5UG9zaXRpb25TdHJhdGVneSgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2htZW50cygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5jbG9zZWQubmV4dCgpO1xuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgICAub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5jbG9zZWQsIHRoaXMuZGVzdHJveWVkKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gSWYgcG9wb3ZlciBpcyBvcGVuZWQgb24gcHJlc3Mgc3RhcnQsIGFuIG91dHNpZGUgcG9pbnRlciBldmVudFxuICAgICAgICAgICAgLy8gaXMgZW1pdHRlZCBhcyB0aGUgbW91c2UgaXMgYmVpbmcgcmVsZWFzZWQsIHdoaWNoIHdvdWxkIGltbWVkaWF0ZWx5XG4gICAgICAgICAgICAvLyBjbG9zZSB0aGUgcG9wb3Zlci4gUHJvYmFibHkgYSBidWcgaW4gQGFuZ3VsYXIvY2RrL292ZXJsYXkuXG4gICAgICAgICAgICAhKHRoaXMub3Blbk9uUHJlc3NTdGFydCAmJiB0aGlzLmlzQmVpbmdQcmVzc2VkKSAmJlxuICAgICAgICAgICAgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuZ2V0Q29udGVudFBvcnRhbCgpKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZSB0aGUgb3BlbmVkIHBvcG92ZXIuICovXG4gIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2hldGhlciB0aGUgcG9wb3ZlciBpcyBvcGVuLiAqL1xuICBpc09wZW4oKSB7XG4gICAgcmV0dXJuICEhdGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVNb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmlzQmVpbmdQcmVzc2VkID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5vcGVuT25QcmVzc1N0YXJ0KSB7XG4gICAgICBpZiAoZXZlbnQuY3VycmVudFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gZm9jdXMgdGhlIHRyaWdnZXIgYmVmb3JlIG9wZW5pbmcuIE90aGVyd2lzZSwgdGhlIGZvY3VzIHJlc3RvcmF0aW9uIGxvZ2ljIHdpbGxcbiAgICAgICAgLy8gYmUgbWVzc2VkIHVwLCBzaW5jZSB0aGUgd3JvbmcgZWxlbWVudCB3b3VsZCBoYXZlIHRoZSBmb2N1cyB3aGVuIHRoZSBwb3BvdmVyIGlzIG1vdW50ZWQuXG4gICAgICAgIGV2ZW50LmN1cnJlbnRUYXJnZXQuZm9jdXMoKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAnbW91c2V1cCcsXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuaXNCZWluZ1ByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBvbmNlOiB0cnVlIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUNsaWNrKCkge1xuICAgIGlmICghdGhpcy5vcGVuT25QcmVzc1N0YXJ0KSB7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGlsZSBvbkZvY3Vzb3V0IHRha2VzIGNhcmUgb2YgY2xvc2luZyB0aGUgcG9wb3ZlciB3aGVuIGZvY3VzIGdvZXMgb3V0LCBpbiB0aGUgcmFyZSBjYXNlc1xuICAgKiB0aGF0IHRoZXJlIGlzIG5vIG1vcmUgZm9jdXNhYmxlIGVsZW1lbnQgYmV0d2VlbiB0aGUgdHJpZ2dlciBhbmQgdGhlIHBvcG92ZXIsIHRoZSBmb2N1cyBjYW5cbiAgICogZ28gdG8gdGhlIHBvcG92ZXIgb24gcHJlc3NpbmcgYFRhYmAuIEJ1dCB0aGUgcG9wb3ZlciBzaG91bGQgYmUgY2xvc2VkIHdoZW4gdGFiYmluZyBvbiB0aGVcbiAgICogdHJpZ2dlci5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24udGFiJylcbiAgcHJpdmF0ZSBoYW5kbGVUYWIoKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluIHNvbWUgdXNlIGNhc2VzIChlLmcuIGluIHNlYXJjaGFibGUgc2VsZWN0KSBwb3BvdmVyIHRyaWdnZXIgZ3JhYnMgdGhlIGZvY3VzLCByaWdodCBhZnRlclxuICAgKiB0aGUgcG9wb3ZlciBpcyBvcGVuZWQuIFRoYXQgcmVxdWlyZXMgcG9wb3ZlciB0cmlnZ2VyIHRvIGRldGVjdCB3aGVuIGZvY3VzIGdvZXMgb3V0IG9mIGl0XG4gICAqIGFuZCBjbG9zZSB0aGUgcG9wb3Zlci5cbiAgICogTm90ZTogd2UgY2FuJ3QgdXNlIGBibHVyYCBldmVudCBzaW5jZSBpdCB3b24ndCBidWJibGUgdXAsIGFuZCB0aGUgZm9jdXMgY2FuIGJlIG9uIGFuIGVsZW1lbnRcbiAgICogaW5zaWRlIHRoZSB0cmlnZ2VyLCBidXQgbm90IHRoZSB0cmlnZ2VyIGl0c2VsZi5cbiAgICpcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbkZvY3Vzb3V0KGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgZXZlbnQucmVsYXRlZFRhcmdldCA9PT0gbnVsbCAmJlxuICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0XG4gICAgKSB7XG4gICAgICAvLyBUaGlzIGhhcHBlbnMgb24gdGFiIHN3aXRjaCwgd2l0aG91dCBmb2N1cyBiZWluZyBhY3R1YWxseSBtb3ZlZC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZm9jdXNSZWNlaXZpbmdFbGVtZW50ID1cbiAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50ID8gZXZlbnQucmVsYXRlZFRhcmdldCA6IG51bGw7XG4gICAgaWYgKFxuICAgICAgLy8gZm9jdXMgaXMgZ29pbmcgbm93aGVyZVxuICAgICAgIWZvY3VzUmVjZWl2aW5nRWxlbWVudCB8fFxuICAgICAgLy8gZm9jdXMgaXMgZ29pbmcgYW55d2hlcmUgb3V0c2lkZSBwb3BvdmVyIGFuZCBwb3BvdmVyIHRyaWdnZXJcbiAgICAgICEoXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uY29udGFpbnMoZm9jdXNSZWNlaXZpbmdFbGVtZW50KSB8fFxuICAgICAgICAvLyBUaGlzIGlzIHRvIG5vdCBoYXZlIHRoZSBwb3BvdmVyIGNsb3NlZCBhcyBzb29uIGFzIG1vdXNlIGlzIGRvd24gb24gc29tZXRoaW5nIGluc2lkZSB0aGVcbiAgICAgICAgLy8gcG9wb3ZlciwgaWYgdGhlIGZvY3VzIGlzIGN1cnJlbnRseSBvbiB0aGUgdHJpZ2dlclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWY/Lm92ZXJsYXlFbGVtZW50Py5jb250YWlucyhmb2N1c1JlY2VpdmluZ0VsZW1lbnQpXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgJiZcbiAgICAgICEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MQnV0dG9uRWxlbWVudCkgJiZcbiAgICAgIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpXG4gICAgKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCkge1xuICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgdG8gY3JlYXRlIHRoZSBvdmVybGF5LiAqL1xuICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcoKSB7XG4gICAgcmV0dXJuIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm5vbk1vZGFsXG4gICAgICAgID8gdGhpcy5jbG9zZU9uU2Nyb2xsXG4gICAgICAgICAgPyB0aGlzLmNka092ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpXG4gICAgICAgICAgOiB0aGlzLmNka092ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcbiAgICAgICAgOiB0aGlzLmNka092ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLCAvLyB0byBtYXRjaCB3aGF0IHdlIGhhdmUgaW4gcmVhY3RcblxuICAgICAgLy8gSW5jbHVkaW5nIGEgdHJhbnNwYXJlbnQgYmFja2Ryb3AgYWNjb3JkaW5nIHRvIHRoZSBsYXRlc3QgZGVjaXNpb24gb2YgbWFraW5nIHBvcG92ZXJzIG1vZGFsLlxuICAgICAgaGFzQmFja2Ryb3A6ICF0aGlzLm5vbk1vZGFsLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGdldENvbnRlbnRQb3J0YWwoKTogVGVtcGxhdGVQb3J0YWwgfCBudWxsIHtcbiAgICBpZiAodGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgdGhpcy50ZW1wbGF0ZVJlZixcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBudWxsLFxuICAgICAgICBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUE9QT1ZFUl9UUklHR0VSLCB1c2VWYWx1ZTogdGhpcyB9XSxcbiAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3koKTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICBjb25zdCBwbGFjZW1lbnQgPSB0aGlzLnBsYWNlbWVudCB8fCAnYm90dG9tJztcbiAgICBjb25zdCBoYXNIb3Jpem9udGFsbHlDZW50ZXJlZEFsaWdubWVudCA9XG4gICAgICAhcGxhY2VtZW50LmluY2x1ZGVzKCdzdGFydCcpICYmICFwbGFjZW1lbnQuaW5jbHVkZXMoJ2VuZCcpO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNka092ZXJsYXlcbiAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKClcbiAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKClcbiAgICAgICAgLyoqXG4gICAgICAgICAqIERpc2FibGluZyBwdXNoaW5nLCB0byBmaXggYW4gaXNzdWUgaW4gRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5IHdoZXJlIHRoZVxuICAgICAgICAgKiBvdmVybGF5J3MgYm90dG9tIGdyb3dzIHBhc3QgdGhlIHRvcCBvZiB0aGUgdHJpZ2dlciBlbGVtZW50IChha2Egb3JpZ2luKS5cbiAgICAgICAgICogSS5lLiwgd2hlbiB0aGUgb3ZlcmxheSBpcyBzdXBwb3NlZCB0byBiZSBwbGFjZWQgYWJvdmUgdGhlIHRyaWdnZXIgZWxlbWVudCwgaXQgY2FuXG4gICAgICAgICAqIGdyb3cgaW4gaGVpZ2h0IGFuZCBjb3ZlciB0aGUgdHJpZ2dlciBlbGVtZW50LiBUaGlzIGlzIG1vcmUgb2YgYW4gaXNzdWUgd2hlbiB0aGUgdHJpZ2dlclxuICAgICAgICAgKiBlbGVtZW50IHJlbWFpbnMgaW50ZXJhY3RpdmUgYWZ0ZXIgdGhlIG92ZXJsYXkgaXMgb3BlbmVkLCBzdWNoIGFzIGluIHNlYXJjaGFibGUgc2VsZWN0LlxuICAgICAgICAgKiBOb3RlIHRoYXQgdGhpcyBpcyBub3QgdGhlIGNhc2Ugd2hlbiB0aGUgb3ZlcmxheSBpcyBwbGFjZWQgYWJvdmUgdGhlIHRyaWdnZXIgZWxlbWVudC5cbiAgICAgICAgICogSW4gdGhhdCBjYXNlIHRoZSBvdmVybGF5IHdpbGwgbm90IGVhdCB1cCBhbGwgYXZhaWxhYmxlIHZpZXdwb3J0IGhlaWdodCwgYW5kIGlzIHNpemVkIGluXG4gICAgICAgICAqIGEgd2F5IHRoYXQgcmVzcGVjdHMgdGhlIHByZWZlcnJlZCBwbGFjZW1lbnQgYWJvdmUgdGhlIHRyaWdnZXIgZWxlbWVudC5cbiAgICAgICAgICogRGlzYWJsaW5nIHB1c2ggaXMgbm90IHRoZSBpZGVhbCBzb2x1dGlvbiBidXQgcHJldmVudHMgdGhlIGlzc3VlLlxuICAgICAgICAgKiBwdXNoIGlzIGRpc2FibGVkIG9ubHkgZm9yIG92ZXJsYXlzIHdoZXJlIHRoZSBob3Jpem9udGFsIGFsaWdubWVudCBpcyBhbmNob3JlZCB0byBsZWZ0XG4gICAgICAgICAqIG9yIHJpZ2h0IG9mIHRoZSB0cmlnZ2VyIGVsZW1lbnQsIGJhc2VkIG9uIHRoZSBmYWlyIGFzc3VtcHRpb24gdGhhdCB0aGUgY29ubmVjdGVkXG4gICAgICAgICAqIGVsZW1lbnQgaXMgaXRzZWxmIHdpdGhpbiB0aGUgdmlld3BvcnQsIGFuZCB3ZSB3b24ndCBuZWVkIHRvIHB1c2ggdGhlIG92ZXJsYXkgaG9yaXpvbnRhbGx5XG4gICAgICAgICAqIHRvIGhhdmUgaXQgd2l0aGluIHRoZSB2aWV3cG9ydC4gSXQgc2hvdWxkIGFsc28gYmUgb2sgbm90IHRvIHB1c2ggdmVydGljYWxseSwgc2luY2Ugd2VcbiAgICAgICAgICogYWxsb3cgZm9yIHZlcnRpY2FsIGZsaXBwaW5nIGlmIG5lZWRlZC5cbiAgICAgICAgICoqL1xuICAgICAgICAud2l0aFB1c2goaGFzSG9yaXpvbnRhbGx5Q2VudGVyZWRBbGlnbm1lbnQpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgICB0b0Nvbm5lY3RlZFBvc2l0aW9uKHBsYWNlbWVudCksXG4gICAgICAgICAgdG9Db25uZWN0ZWRQb3NpdGlvbihmbGlwKHBsYWNlbWVudCkpLFxuICAgICAgICBdKVxuICAgICAgICAud2l0aFZpZXdwb3J0TWFyZ2luKHBsYWNlbWVudC5pbmNsdWRlcygnZW5kJykgPyAwIDogNilcbiAgICApO1xuICB9XG59XG4iXX0=
|