@danske/sapphire-angular 1.14.1 → 1.15.0
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/contextual-help/src/contextual-help.component.mjs +1 -1
- package/esm2020/lib/listbox/src/listbox-input.directive.mjs +3 -2
- package/esm2020/lib/listbox/src/listbox.component.mjs +6 -4
- package/esm2020/lib/listbox/src/listbox.module.mjs +3 -3
- package/esm2020/lib/popover/src/popover-trigger.directive.mjs +2 -5
- package/esm2020/lib/popover/src/popover.component.mjs +13 -4
- package/esm2020/lib/select/src/basic-select/basic-select.component.mjs +1 -1
- package/esm2020/lib/select/src/select/select.component.mjs +1 -1
- package/esm2020/lib/table/src/table-cell.directive.mjs +9 -9
- package/esm2020/lib/table/src/table-row.directive.mjs +3 -3
- package/fesm2015/danske-sapphire-angular.mjs +40 -27
- package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
- package/fesm2020/danske-sapphire-angular.mjs +35 -26
- package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
- package/lib/listbox/src/listbox-input.directive.d.ts +1 -1
- package/lib/listbox/src/listbox.component.d.ts +2 -1
- package/lib/listbox/src/listbox.module.d.ts +10 -10
- package/lib/popover/src/popover.component.d.ts +5 -1
- package/lib/table/src/table-cell.directive.d.ts +8 -6
- package/lib/table/src/table-row.directive.d.ts +1 -1
- package/package.json +2 -2
|
@@ -80,7 +80,7 @@ export class ContextualHelpComponent {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
ContextualHelpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
-
ContextualHelpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ContextualHelpComponent, isStandalone: true, selector: "sp-contextual-help", inputs: { variant: "variant", placement: "placement", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "attr.aria-label": "null" } }, queries: [{ propertyName: "_footer", first: true, predicate: ContextualHelpFooterDirective, descendants: true }, { propertyName: "_header", first: true, predicate: ContextualHelpHeaderDirective, descendants: true }], viewQueries: [{ propertyName: "_trigger", first: true, predicate: PopoverTriggerDirective, descendants: true }], ngImport: i0, template: "<button\n sp-icon-button\n size=\"extraSmall\"\n variant=\"tertiary\"\n appearance=\"ghost\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n name=\"questionMarkCircle\"\n size=\"16px\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"info\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-contextual-help-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-contextual-help-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-contextual-help-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-contextual-help-color-content);line-height:var(--sapphire-contextual-help-size-line-height);max-width:var(--sapphire-contextual-help-size-width-max);font-family:var(--sapphire-contextual-help-font-name);font-weight:var(--sapphire-contextual-help-font-weight);font-size:var(--sapphire-contextual-help-size-font);padding:var(--sapphire-contextual-help-size-spacing-vertical) var(--sapphire-contextual-help-size-spacing-horizontal);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-contextual-help-size-spacing-header)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-contextual-help-size-spacing-footer)}.sapphire-contextual-help--no-max-width{max-width:initial}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SapphireTypographyModule }, { kind: "component", type: i1.HeadingComponent, selector: "h1[sp-heading],h2[sp-heading],h3[sp-heading],h4[sp-heading],h5[sp-heading],h6[sp-heading]", inputs: ["sp-heading", "fontVariant"] }, { kind: "ngmodule", type: SapphireButtonModule }, { kind: "component", type: i2.IconButtonComponent, selector: "button[sp-icon-button], a[sp-icon-button]", inputs: ["variant", "appearance", "surface", "size", "disabled", "type"] }, { kind: "ngmodule", type: SapphireIconModule }, { kind: "component", type: i3.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "ngmodule", type: SapphirePopoverModule }, { kind: "component", type: i4.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth"] }, { kind: "directive", type: i5.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i6.PopoverTitleDirective, selector: "[spPopoverTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
83
|
+
ContextualHelpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ContextualHelpComponent, isStandalone: true, selector: "sp-contextual-help", inputs: { variant: "variant", placement: "placement", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "attr.aria-label": "null" } }, queries: [{ propertyName: "_footer", first: true, predicate: ContextualHelpFooterDirective, descendants: true }, { propertyName: "_header", first: true, predicate: ContextualHelpHeaderDirective, descendants: true }], viewQueries: [{ propertyName: "_trigger", first: true, predicate: PopoverTriggerDirective, descendants: true }], ngImport: i0, template: "<button\n sp-icon-button\n size=\"extraSmall\"\n variant=\"tertiary\"\n appearance=\"ghost\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n name=\"questionMarkCircle\"\n size=\"16px\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"info\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-contextual-help-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-contextual-help-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-contextual-help-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-contextual-help-color-content);line-height:var(--sapphire-contextual-help-size-line-height);max-width:var(--sapphire-contextual-help-size-width-max);font-family:var(--sapphire-contextual-help-font-name);font-weight:var(--sapphire-contextual-help-font-weight);font-size:var(--sapphire-contextual-help-size-font);padding:var(--sapphire-contextual-help-size-spacing-vertical) var(--sapphire-contextual-help-size-spacing-horizontal);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-contextual-help-size-spacing-header)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-contextual-help-size-spacing-footer)}.sapphire-contextual-help--no-max-width{max-width:initial}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SapphireTypographyModule }, { kind: "component", type: i1.HeadingComponent, selector: "h1[sp-heading],h2[sp-heading],h3[sp-heading],h4[sp-heading],h5[sp-heading],h6[sp-heading]", inputs: ["sp-heading", "fontVariant"] }, { kind: "ngmodule", type: SapphireButtonModule }, { kind: "component", type: i2.IconButtonComponent, selector: "button[sp-icon-button], a[sp-icon-button]", inputs: ["variant", "appearance", "surface", "size", "disabled", "type"] }, { kind: "ngmodule", type: SapphireIconModule }, { kind: "component", type: i3.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "ngmodule", type: SapphirePopoverModule }, { kind: "component", type: i4.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth", "noAutoFocus"] }, { kind: "directive", type: i5.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i6.PopoverTitleDirective, selector: "[spPopoverTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
84
84
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpComponent, decorators: [{
|
|
85
85
|
type: Component,
|
|
86
86
|
args: [{ selector: 'sp-contextual-help', standalone: true, imports: [
|
|
@@ -20,11 +20,12 @@ export class ListboxInputDirective {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
ListboxInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListboxInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
23
|
-
ListboxInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ListboxInputDirective, selector: "input[spListboxInput]", inputs: { listbox: ["spListboxInput", "listbox"] }, host: { listeners: { "keydown": "onKeyDown($event)", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 });
|
|
23
|
+
ListboxInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ListboxInputDirective, isStandalone: true, selector: "input[spListboxInput]", inputs: { listbox: ["spListboxInput", "listbox"] }, host: { listeners: { "keydown": "onKeyDown($event)", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 });
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListboxInputDirective, decorators: [{
|
|
25
25
|
type: Directive,
|
|
26
26
|
args: [{
|
|
27
27
|
selector: 'input[spListboxInput]',
|
|
28
|
+
standalone: true,
|
|
28
29
|
}]
|
|
29
30
|
}], propDecorators: { listbox: [{
|
|
30
31
|
type: Input,
|
|
@@ -39,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
39
40
|
type: HostListener,
|
|
40
41
|
args: ['blur']
|
|
41
42
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3gtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHL0Q7Ozs7R0FJRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsSUFDSSxPQUFPLENBQUMsT0FBcUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFTTyxTQUFTLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBR08sT0FBTztRQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sTUFBTTtRQUNaLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUM1QixDQUFDOztrSEF4QlUscUJBQXFCO3NHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBR0ssT0FBTztzQkFEVixLQUFLO3VCQUFDLGdCQUFnQjtnQkFZZixTQUFTO3NCQURoQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNM0IsT0FBTztzQkFEZCxZQUFZO3VCQUFDLE9BQU87Z0JBS2IsTUFBTTtzQkFEYixZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpc3Rib3hDb21wb25lbnQgfSBmcm9tICcuL2xpc3Rib3guY29tcG9uZW50JztcblxuLyoqXG4gKiBBIGxvdy1sZXZlbCBkaXJlY3RpdmUgdG8gY29ubmVjdCBhIGxpc3Rib3ggdG8gYW4gaW5wdXQsIGZvciB1c2UgY2FzZXMgbGlrZSBzZWFyY2guXG4gKiBJdCBhZGRzIGV2ZW50IGhhbmRsZXJzIHRvIGVuYWJsZSBuYXZpZ2F0aW9uIHZpYSBhcnJvdyBrZXlzLiBJdCBhbHNvIG1ha2VzXG4gKiB0aGUgbGlzdGJveCB1c2UgdmlydHVhbCBmb2N1cywgc2luY2UgdGhlIGFjdHVhbCBmb2N1cyB3aWxsIGJlIG9uIHRoZSBjb25uZWN0ZWQgaW5wdXQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W3NwTGlzdGJveElucHV0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIExpc3Rib3hJbnB1dERpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnc3BMaXN0Ym94SW5wdXQnKVxuICBzZXQgbGlzdGJveChsaXN0Ym94OiBMaXN0Ym94Q29tcG9uZW50IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5oYW5kbGVycyA9IGxpc3Rib3g/LmNvbm5lY3RUb0lucHV0KHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVycz86IHtcbiAgICBvbktleWRvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdm9pZDtcbiAgICBvbkZvY3VzOiAoKSA9PiB2b2lkO1xuICAgIG9uQmx1cjogKCkgPT4gdm9pZDtcbiAgfTtcblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmhhbmRsZXJzPy5vbktleWRvd24/LihldmVudCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdmb2N1cycpXG4gIHByaXZhdGUgb25Gb2N1cygpIHtcbiAgICB0aGlzLmhhbmRsZXJzPy5vbkZvY3VzPy4oKTtcbiAgfVxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgcHJpdmF0ZSBvbkJsdXIoKSB7XG4gICAgdGhpcy5oYW5kbGVycz8ub25CbHVyPy4oKTtcbiAgfVxufVxuIl19
|
|
@@ -199,7 +199,7 @@ export class ListboxComponent {
|
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
ListboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ListboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
202
|
-
ListboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ListboxComponent, selector: "sp-listbox", inputs: { selectedValues: "selectedValues", _itemsInput: ["spListboxItems", "_itemsInput"], disabled: "disabled", multiple: "multiple", navigationWrapDisabled: "navigationWrapDisabled", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], size: "size" }, outputs: { selectedValuesChange: "selectedValuesChange", selected: "selected" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null" } }, providers: [
|
|
202
|
+
ListboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ListboxComponent, selector: "sp-listbox", inputs: { selectedValues: "selectedValues", _itemsInput: ["spListboxItems", "_itemsInput"], disabled: "disabled", multiple: "multiple", navigationWrapDisabled: "navigationWrapDisabled", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledBy: ["aria-labelledby", "ariaLabelledBy"], size: "size", id: "id" }, outputs: { selectedValuesChange: "selectedValuesChange", selected: "selected" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null" } }, providers: [
|
|
203
203
|
{
|
|
204
204
|
provide: NG_VALUE_ACCESSOR,
|
|
205
205
|
useExisting: forwardRef(() => ListboxComponent),
|
|
@@ -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 [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;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-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}.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%;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"] }] });
|
|
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;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-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}.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%;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 [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;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-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}.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%;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"] }]
|
|
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;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-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}.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%;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: [{
|
|
@@ -258,6 +258,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
258
258
|
args: ['aria-labelledby']
|
|
259
259
|
}], size: [{
|
|
260
260
|
type: Input
|
|
261
|
+
}], id: [{
|
|
262
|
+
type: Input
|
|
261
263
|
}], selected: [{
|
|
262
264
|
type: Output
|
|
263
265
|
}], itemsInContent: [{
|
|
@@ -270,4 +272,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
270
272
|
type: ViewChildren,
|
|
271
273
|
args: [CdkOption]
|
|
272
274
|
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9saXN0Ym94L3NyYy9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEdBRVYsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUF3QjNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFxRTNCOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pELENBQUM7SUE0QkQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUEvRnhEOzs7V0FHRztRQUVILG1CQUFjLEdBQXNCLEVB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RUFnRUE7QURzQkU7SUFEQyxhQUFhO2tEQUNVO0FBT3hCO0lBREMsYUFBYTtrREFDVTtBQVF4QjtJQURDLGFBQWE7Z0VBQ3VCOzJGQTlDMUIsZ0JBQWdCO2tCQXRCNUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3lCQUNoRDt3QkFDRCx5QkFBeUI7cUJBQzFCLFFBQ0s7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTtxQkFDakMsWUFDUyxXQUFXO3dHQWVyQixjQUFjO3NCQURiLEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixNQUFNO2dCQVNQLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS3ZCLFFBQVE7c0JBRlAsS0FBSztnQkFTTixRQUFRO3NCQUZQLEtBQUs7Z0JBVU4sc0JBQXNCO3NCQUZyQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUl4QixJQUFJO3NCQURILEtBQUs7Z0JBT04sUUFBUTtzQkFEUCxNQUFNO2dCQUlDLGNBQWM7c0JBRHJCLGVBQWU7dUJBQUMsWUFBWTtnQkFlckIsVUFBVTtzQkFEakIsU0FBUzt1QkFBQyxVQUFVO2dCQUliLFVBQVU7c0JBRGpCLFlBQVk7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRG9DaGVjayxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENka0xpc3Rib3gsXG4gIENka09wdGlvbixcbiAgTGlzdGJveFZhbHVlQ2hhbmdlRXZlbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9saXN0Ym94JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvZXJjZS1ib29sZWFuLmRlY29yYXRvcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgTGlzdGJveENoaWxkIH0gZnJvbSAnLi9saXN0Ym94LWNoaWxkJztcbmltcG9ydCB7IFNlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4vbGlzdGJveC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlciB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHtcbiAgSUNPTl9TSVpFX1BST1ZJREVSLFxuICBJY29uU2l6ZVByb3ZpZGVyLFxufSBmcm9tICcuLi8uLi9pY29uL3NyYy9pY29uLXNpemUtcHJvdmlkZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1saXN0Ym94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0Ym94LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGlzdGJveENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IElDT05fU0laRV9QUk9WSURFUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3Rib3hDb21wb25lbnQpLFxuICAgIH0sXG4gICAgVmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlcixcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcbiAgfSxcbiAgZXhwb3J0QXM6ICdzcExpc3Rib3gnLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Ym94Q29tcG9uZW50XG4gIGltcGxlbWVudHNcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIEFmdGVyVmlld0NoZWNrZWQsXG4gICAgRG9DaGVjayxcbiAgICBJY29uU2l6ZVByb3ZpZGVyXG57XG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBzZWxlY3RlZCB2YWx1ZXMgKGB2YWx1ZWBzIG9mIHNlbGVjdGVkIHNwLW9wdGlvbnMpLlxuICAgKiBJdCdzIGFsd2F5cyBhbiBhcnJheSwgcmVnYXJkbGVzcyBvZiB7QHByb3BlcnR5IG11bHRpcGxlfSBiZWluZyB0cnVlIG9yIG5vdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNlbGVjdGVkVmFsdWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHNlbGVjdGlvbiBpcyBjaGFuZ2VkLiBFbWl0cyBzZWxlY3RlZCB2YWx1ZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWRWYWx1ZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHJlYWRvbmx5IHN0cmluZ1tdPigpO1xuXG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIHBhc3NpbmcgdGhlIGxpc3Qgb2YgbGlzdGJveCBpdGVtcyBpbnN0ZWFkIG9mIGhhdmluZyB0aGVtIGNvbGxlY3RlZFxuICAgKiBmcm9tIGNoaWxkcmVuLiBVc2VmdWwgd2hlbiBhIGNvbXBvbmVudCB3YW50cyB0byByZW5kZXIgYSBsaXN0Ym94IHdpdGhpbiBpdHMgdmlld1xuICAgKiBidXQgd2FudHMgdG8gY29sbGVjdCBsaXN0Ym94IGl0ZW1zIGZyb20gaXRzIG93biBjb250ZW50LlxuICAgKi9cbiAgQElucHV0KCdzcExpc3Rib3hJdGVtcycpXG4gIF9pdGVtc0lucHV0PzogSXRlcmFibGU8TGlzdGJveENoaWxkPjtcblxuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBkaXNhYmxlZD86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogV2hldGhlciBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgYWxsb3dlZFxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgbXVsdGlwbGU/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIElmIHRydWUsIHByZXNzaW5nIEFycm93VXAvQXJyb3dEb3duIG9uIHRoZSBmaXJzdC9sYXN0IGl0ZW0gd2lsbCBub3QgbW92ZVxuICAgKiBmb2N1cyB0byB0aGUgbGFzdC9maXJzdCBpdGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgbmF2aWdhdGlvbldyYXBEaXNhYmxlZDogQm9vbGVhbklucHV0O1xuXG4gIEBJbnB1dCgnYXJpYS1sYWJlbCcpXG4gIGFyaWFMYWJlbCE6IHN0cmluZztcblxuICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpXG4gIGFyaWFMYWJlbGxlZEJ5Pzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU/OiAnbGFyZ2UnIHwgJ21lZGl1bScgfCAnc21hbGwnID0gJ2xhcmdlJztcblxuICAvKipcbiAgICogRW1pdHMgd2hlbmV2ZXIgYW4gb3B0aW9uIGlzIHNlbGVjdGVkLCByZWdhcmRsZXNzIG9mIGlmIGl0J3MgYWxyZWFkeSBzZWxlY3RlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKExpc3Rib3hDaGlsZClcbiAgcHJpdmF0ZSBpdGVtc0luQ29udGVudDogUXVlcnlMaXN0PExpc3Rib3hDaGlsZD4gPSBuZXcgUXVlcnlMaXN0PExpc3Rib3hDaGlsZD4oKTtcblxuICBwcml2YXRlIG9uVG91Y2hlZDogKCkgPT4ge30gPSAoKSA9PiAoe30pO1xuICBwcml2YXRlIG9uQ2hhbmdlID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygc3BPcHRpb24gb3Igc3BTZWN0aW9uIGNvbXBvbmVudHMgZWl0aGVyIGNvbGxlY3RlZCBmcm9tIHRoZSBjb250ZW50XG4gICAqIG9yIHBhc3NlZCBhcyBpbnB1dC5cbiAgICovXG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc0lucHV0IHx8IHRoaXMuaXRlbXNJbkNvbnRlbnQ7XG4gIH1cblxuICBAVmlld0NoaWxkKENka0xpc3Rib3gpXG4gIHByaXZhdGUgY2RrTGlzdGJveD86IENka0xpc3Rib3g7XG5cbiAgQFZpZXdDaGlsZHJlbihDZGtPcHRpb24pXG4gIHByaXZhdGUgY2RrT3B0aW9ucz86IFF1ZXJ5TGlzdDxDZGtPcHRpb24+O1xuXG4gIHByaXZhdGUgY29ubmVjdGVkSW5wdXQ/OiBMaXN0Ym94SW5wdXREaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIENka0xpc3Rib3ggdGhyb3dzIGlmIHRoZXJlIGlzIGEgc2VsZWN0ZWQgdmFsdWUgdGhhdCBkb2Vzbid0IG1hdGNoIGFueSBvZiB0aGUgY2RrT3B0aW9uc1xuICAgKiBJdCdzIHByb2JhYmx5IGFuIGFydGlmaWNpYWwgY2hlY2ssIGFuZCBtYXliZSB0aGV5IGNvdWxkIHJlbW92ZSBpdCwgYnV0IHRoYXQncyBob3cgaXQgaXMgbm93LFxuICAgKiBhbmQgc2VsZWN0ZWQgdmFsdWUgY2FuIGJlIG5vbmUgb2YgdGhlIGN1cnJlbnRseSB2aXNpYmxlIG9wdGlvbnMgaWYgb3B0aW9ucyBhcmUgc2VhcmNoYWJsZS5cbiAgICogU2luY2UgdGhlIGNoZWNrIHNlZW1zIHVubmVjZXNzYXJ5LCB3ZSBkbyB0aGUgZmlsdGVyaW5nIHJpZ2h0IGluIHRoZSBsaXN0Ym94IGNvbXBvbmVudCBpbnN0ZWFkXG4gICAqIG9mIGluIHNlYXJjaGFibGUgc2VsZWN0LlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3ZhbGlkU2VsZWN0ZWRWYWx1ZXM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW107XG4gIC8qKlxuICAgKiBPdXIgZXhwZWN0ZWQgYmVoYXZpb3IgKG1hdGNoaW5nIHRoZSBSZWFjdCBpbXBsKSBpcyB0byBuYXZpZ2F0ZSB0byB0aGUgbGFzdCBvcHRpb24sIHdoZW5cbiAgICogQXJyb3dEb3duIGlzIHByZXNzZWQgYW5kIG5vIG9wdGlvbiBpcyBjdXJyZW50bHkgZm9jdXNlZCwgYnV0IHRvIG5vdCBoYXZlIGZvY3VzIHdyYXBwaW5nLlxuICAgKiBkaXNhYmxpbmcgZm9jdXMgd3JhcHBpbmcgb24gY2RrTGlzdGJveCBpcyBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseSwgYW5kIGRvZXNuJ3QgYWxsb3cgZm9yXG4gICAqIHRoYXQsIHNvIHdlIGVuYWJsZSBpdCByZWdhcmRsZXNzIG9mIGBuYXZpZ2F0aW9uV3JhcERpc2FibGVkYCBpbnB1dCwgaWYgdGhlcmUgaXMgbm8gYWN0aXZlXG4gICAqIG9wdGlvbi5cbiAgICovXG4gIF9mb3JjZUVuYWJsZU5hdmlnYXRpb25XcmFwID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgLyoqXG4gICAqIENvbm5lY3RzIHRoZSBsaXN0Ym94IHRvIGFuIGlucHV0LCBmb3IgY29tYm9ib3gtbGlrZSB1c2UgY2FzZXMuXG4gICAqIFJldHVybnMgYSBrZXlkb3duIGV2ZW50IGhhbmRsZXIgdG8gYmUgdXNlZCBvbiB0aGUgY29ubmVjdGVkIGlucHV0LlxuICAgKiBDb25uZWN0aW5nIGFuIGlucHV0IHRvIHRoZSBsaXN0Ym94IGFsc28gY2F1c2VzIGxpc3Rib3ggdG8gdXNlIHZpcnR1YWwgZm9jdXNcbiAgICogc2luY2UgdGhlIGFjdHVhbCBmb2N1cyB3aWxsIGJlIGluIHRoZSBpbnB1dC5cbiAgICogQHBhcmFtIGlucHV0RGlyZWN0aXZlXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29ubmVjdFRvSW5wdXQoaW5wdXREaXJlY3RpdmU6IExpc3Rib3hJbnB1dERpcmVjdGl2ZSkge1xuICAgIHRoaXMuY29ubmVjdGVkSW5wdXQgPSBpbnB1dERpcmVjdGl2ZTtcbiAgICAvLyBuZWVkIHRvIHJ1biBjaGFuZ2UgZGV0ZWN0aW9uIGJlY2F1c2UgX2Nvbm5lY3RlZElucHV0IGlzIHVzZWQgdG8gc2V0IHRoZSB2YWx1ZSBvZlxuICAgIC8vIGNka0xpc3Rib3hVc2VBY3RpdmVEZXNjZW5kYW50LCBhbmQgaXQncyBzZXQgYWZ0ZXIgY2hhbmdlIGRldGVjdGlvbiBmb3IgdGhpcyBjb21wb25lbnQgaXMgZG9uZVxuICAgIC8vIGFuZCB3aGVuIExpc3Rib3hJbnB1dERpcmVjdGl2ZSBpbnB1dCBpcyBzZXRcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICByZXR1cm4ge1xuICAgICAgb25LZXlkb3duOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIC8vIE9ubHkgZm9yd2FyZGluZyBjZXJ0YWluIGtleXN0cm9rZXMsIG5vdCB0byB0cmlnZ2VyIHR5cGVhaGVhZCB3aGlsZSBpbnB1dCBpcyBmb2N1c2VkXG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0Fycm93VXAnLFxuICAgICAgICAgICAgJ0Fycm93RG93bicsXG4gICAgICAgICAgICAnSG9tZScsXG4gICAgICAgICAgICAnRW5kJyxcbiAgICAgICAgICAgICdQYWdlVXAnLFxuICAgICAgICAgICAgJ1BhZ2VEb3duJyxcbiAgICAgICAgICAgICdFbnRlcicsXG4gICAgICAgICAgXS5pbmNsdWRlcyhldmVudC5rZXkpXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IoYWNjZXNzKTogX2hhbmRsZUtleWRvd24gaXMgcHJvdGVjdGVkXG4gICAgICAgICAgdGhpcy5jZGtMaXN0Ym94Py5faGFuZGxlS2V5ZG93bj8uKGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgICAgIHRoaXMuc2V0QWN0aXZlT3B0aW9uKG51bGwpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gY2RrTGlzdGJveCBrZWVwcyB0cmFjayBvZiBmb2N1cyBzdGF0ZSwgYW5kIHNldHMgdGhlIGFjdGl2ZSBpdGVtIHRvIHRoZSBzZWxlY3RlZCBpdGVtIGlmXG4gICAgICAvLyB0aGUgbGlzdGJveCBpcyBub3QgZm9jdXNlZCB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzLiBUaGF0IGNhdXNlcyBpc3N1ZXMgZXNwZWNpYWxseSBpblxuICAgICAgLy8gbXVsdGktc2VsZWN0LCB3aGVyZSB0aGUgZHJvcGRvd24ga2VlcHMgb3BlbiB3aGVuIHNlbGVjdGlvbiBjaGFuZ2VzLlxuICAgICAgb25Gb2N1czogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jZGtMaXN0Ym94KSB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcihhY2Nlc3MpOiBfaGFzRm9jdXMgaXMgcHJpdmF0ZVxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveC5faGFzRm9jdXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb25CbHVyOiAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNka0xpc3Rib3gpIHtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yKGFjY2Vzcyk6IF9oYXNGb2N1cyBpcyBwcml2YXRlXG4gICAgICAgICAgdGhpcy5jZGtMaXN0Ym94Ll9oYXNGb2N1cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBpc1NlbGVjdGVkKG9wdGlvbjogT3B0aW9uQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRWYWx1ZXM/LmluY2x1ZGVzKG9wdGlvbi52YWx1ZSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jZGtMaXN0Ym94Py5yZWdpc3Rlck9uQ2hhbmdlKHRoaXMub25DaGFuZ2UpO1xuICAgIHRoaXMuY2RrTGlzdGJveD8ucmVnaXN0ZXJPblRvdWNoZWQodGhpcy5vblRvdWNoZWQpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIC8qKlxuICAgICAqIFByb3BlcnRpZXMgc2V0IGhlcmUgYXJlIHVzZWQgaW4gdGhlIHRlbXBsYXRlLCBidXQgZGVwZW5kIG9uIHRoZSBzdGF0ZSBvZiBjaGlsZCBkaXJlY3RpdmVzLFxuICAgICAqIHdoaWNoIGNhbiBjaGFuZ2UgYWZ0ZXIgdmlldyBpcyBjaGVja2VkIG9uIHRoaXMgY29tcG9uZW50LiBCeSBzZXR0aW5nIHRoZW0gaW4gbmdEb0NoZWNrXG4gICAgICogaW5zdGVhZCBvZiBkaXJlY3RseSByZWZlcmVuY2luZyB0aGVtIGluIHRoZSB0ZW1wbGF0ZSwgd2UgYXZvaWQgTkcwMTAwOiBFeHByZXNzaW9uQ2hhbmdlZC4uLlxuICAgICAqIGVycm9yc1xuICAgICAqL1xuICAgIHRoaXMuX2ZvcmNlRW5hYmxlTmF2aWdhdGlvbldyYXAgPSAhQm9vbGVhbih0aGlzLmdldEFjdGl2ZU9wdGlvbigpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcbiAgICBjb25zdCB2YWxpZFZhbHVlcyA9XG4gICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzPy5maWx0ZXIoKHZhbHVlKSA9PlxuICAgICAgICB0aGlzLmNka09wdGlvbnM/LmZpbmQoKGNka09wdGlvbikgPT4gY2RrT3B0aW9uLnZhbHVlID09PSB2YWx1ZSlcbiAgICAgICkgfHwgW107XG4gICAgaWYgKFxuICAgICAgdmFsaWRWYWx1ZXMubGVuZ3RoICE9PSB0aGlzLl92YWxpZFNlbGVjdGVkVmFsdWVzLmxlbmd0aCB8fFxuICAgICAgdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcy5zb21lKFxuICAgICAgICAodmFsdWUsIGluZGV4KSA9PiB2YWx1ZSAhPT0gdmFsaWRWYWx1ZXNbaW5kZXhdXG4gICAgICApXG4gICAgKSB7XG4gICAgICB0aGlzLl92YWxpZFNlbGVjdGVkVmFsdWVzID0gdmFsaWRWYWx1ZXM7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhY3RpdmUgKGZvY3VzZWQpIG9wdGlvbi4gUGFzc2luZyBudWxsIHJlbW92ZXMgYWN0aXZlIHN0YXRlIGlmIGFueS5cbiAgICogQHBhcmFtIHZhbHVlIG9wdGlvbiB2YWx1ZVxuICAgKi9cbiAgc2V0QWN0aXZlT3B0aW9uKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgY29uc3Qgb3B0aW9uID1cbiAgICAgIHZhbHVlICYmIHRoaXMuY2RrT3B0aW9ucz8uZmluZCgob3B0aW9uKSA9PiBvcHRpb24udmFsdWUgPT09IHZhbHVlKTtcbiAgICBpZiAob3B0aW9uIHx8IG9wdGlvbiA9PT0gbnVsbCkge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogbnVsbCBpcyBhY3R1YWxseSBhY2NlcHRlZCBhbmQgcmVzZXRzIGFjdGl2ZSBpdGVtLCBidXQgdGhlIHR5cGUgZG9lc24ndCBhbGxvdyBpdCBieSBtaXN0YWtlXG4gICAgICB0aGlzLmNka0xpc3Rib3g/Ll9zZXRBY3RpdmVPcHRpb24ob3B0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgY3VycmVudGx5IGFjdGl2ZSAoZm9jdXNlZCkgb3B0aW9uLlxuICAgKi9cbiAgZ2V0QWN0aXZlT3B0aW9uKCk6IHN0cmluZyB8IG51bGwge1xuICAgIC8vIFRoZXJlIGlzIGN1cnJlbnRseSBubyBwdWJsaWMgbWV0aG9kIG9uIENka0xpc3Rib3ggdG8gZ2V0IHRoZSBhY3RpdmUgaXRlbSBvciBzZWxlY3QgaXQgZGlyZWN0bHkuXG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmNka09wdGlvbnM/LmZpbmQoKG9wdGlvbikgPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNka0xpc3Rib3g/LmlzQWN0aXZlKG9wdGlvbikpXG4gICAgICApPy52YWx1ZSBhcyBzdHJpbmcpID8/IG51bGxcbiAgICApO1xuICB9XG5cbiAgLy8vLyBDb250cm9sVmFsdWVBY2Nlc3NvciAvLy8vXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcyA9IG9iajtcbiAgfVxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaGFuZGxlU2VsZWN0aW9uQ2hhbmdlKHsgdmFsdWUgfTogTGlzdGJveFZhbHVlQ2hhbmdlRXZlbnQ8c3RyaW5nPikge1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSB2YWx1ZTtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzQ2hhbmdlLmVtaXQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaXNPcHRpb24oaXRlbTogTGlzdGJveENoaWxkKTogaXRlbSBpcyBPcHRpb25Db21wb25lbnQge1xuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgT3B0aW9uQ29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaXNTZWN0aW9uKGl0ZW06IExpc3Rib3hDaGlsZCk6IGl0ZW0gaXMgU2VjdGlvbkRpcmVjdGl2ZSB7XG4gICAgcmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBTZWN0aW9uRGlyZWN0aXZlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfc2hvdWxkVXNlVmlydHVhbEZvY3VzKCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuY29ubmVjdGVkSW5wdXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaXNDb25uZWN0ZWRUb0lucHV0KCkge1xuICAgIHJldHVybiBCb29sZWFuKHRoaXMuY29ubmVjdGVkSW5wdXQpO1xuICB9XG59XG4iLCI8dWxcbiAgY2xhc3M9XCJzYXBwaGlyZS1saXN0Ym94XCJcbiAgY2RrTGlzdGJveFxuICBbY2RrTGlzdGJveENvbXBhcmVXaXRoXT1cIlwiXG4gIFtjZGtMaXN0Ym94TXVsdGlwbGVdPVwiISFtdWx0aXBsZVwiXG4gIFtjZGtMaXN0Ym94RGlzYWJsZWRdPVwiISFkaXNhYmxlZFwiXG4gIFtjZGtMaXN0Ym94TmF2aWdhdGlvbldyYXBEaXNhYmxlZF09XCJcbiAgICBuYXZpZ2F0aW9uV3JhcERpc2FibGVkICYmICFfZm9yY2VFbmFibGVOYXZpZ2F0aW9uV3JhcFxuICBcIlxuICBbY2RrTGlzdGJveFZhbHVlXT1cIl92YWxpZFNlbGVjdGVkVmFsdWVzXCJcbiAgW2Nka0xpc3Rib3hVc2VBY3RpdmVEZXNjZW5kYW50XT1cIl9zaG91bGRVc2VWaXJ0dWFsRm9jdXMoKVwiXG4gIChjZGtMaXN0Ym94VmFsdWVDaGFuZ2UpPVwiX2hhbmRsZVNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgKGtleWRvd24uZW50ZXIpPVwic2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgKGtleWRvd24uc3BhY2UpPVwic2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJfaXNDb25uZWN0ZWRUb0lucHV0KCkgJiYgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeVwiXG4gIFtjbGFzcy5zYXBwaGlyZS1saXN0Ym94LS1tZWRpdW1dPVwic2l6ZSA9PT0gJ21lZGl1bSdcIlxuICBbY2xhc3Muc2FwcGhpcmUtbGlzdGJveC0tc21hbGxdPVwic2l6ZSA9PT0gJ3NtYWxsJ1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygb3B0aW9uczsgbGV0IGxhc3QgPSBsYXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIl9pc1NlY3Rpb24oaXRlbSlcIj5cbiAgICAgIDxsaSByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICAgIDx1bFxuICAgICAgICAgIHJvbGU9XCJncm91cFwiXG4gICAgICAgICAgY2xhc3M9XCJzYXBwaGlyZS1saXN0Ym94X19zZWN0aW9uXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIml0ZW0uYXJpYUxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBpdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgICAgIFtjZGtPcHRpb25dPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgICAgICAgIFtjZGtPcHRpb25EaXNhYmxlZF09XCIhIW9wdGlvbi5kaXNhYmxlZFwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uVHlwZWFoZWFkTGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcbiAgICAgICAgICAgICNjZGtPcHRpb249XCJjZGtPcHRpb25cIlxuICAgICAgICAgICAgc3AtbGlzdGJveC1pdGVtXG4gICAgICAgICAgICBbb3B0aW9uXT1cIm9wdGlvblwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChvcHRpb24pXCJcbiAgICAgICAgICAgIFtmb2N1c2VkXT1cImNka09wdGlvbi5pc0FjdGl2ZSgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCIhKGRpc2FibGVkIHx8IG9wdGlvbi5kaXNhYmxlZCkgJiYgc2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxuICAgICAgICAgID48L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9saT5cbiAgICAgIDxsaVxuICAgICAgICAqbmdJZj1cIiFsYXN0XCJcbiAgICAgICAgcm9sZT1cInNlcGFyYXRvclwiXG4gICAgICAgIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveF9fc2VwYXJhdG9yXCJcbiAgICAgID48L2xpPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxsaVxuICAgICAgKm5nSWY9XCJfaXNPcHRpb24oaXRlbSlcIlxuICAgICAgW2Nka09wdGlvbl09XCJpdGVtLnZhbHVlXCJcbiAgICAgIFtjZGtPcHRpb25EaXNhYmxlZF09XCIhIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgW2Nka09wdGlvblR5cGVhaGVhZExhYmVsXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgI2Nka09wdGlvbj1cImNka09wdGlvblwiXG4gICAgICBzcC1saXN0Ym94LWl0ZW1cbiAgICAgIFtvcHRpb25dPVwiaXRlbVwiXG4gICAgICBbc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZChpdGVtKVwiXG4gICAgICBbZm9jdXNlZF09XCJjZGtPcHRpb24uaXNBY3RpdmUoKVwiXG4gICAgICAoY2xpY2spPVwiIShkaXNhYmxlZCB8fCBpdGVtLmRpc2FibGVkKSAmJiBzZWxlY3RlZC5lbWl0KCRldmVudClcIlxuICAgICAgW3NpemVdPVwic2l6ZVwiXG4gICAgPjwvbGk+XG4gIDwvbmctY29udGFpbmVyPlxuPC91bD5cbiJdfQ==
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9saXN0Ym94L3NyYy9saXN0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBSUwsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEdBRVYsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDckYsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUF3QjNDLE1BQU0sT0FBTyxnQkFBZ0I7SUF3RTNCOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pELENBQUM7SUE0QkQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFsR3hEOzs7V0FHRztRQUVILG1CQUFjLEdBQXNCLEVB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RUFpRUE7QURxQkU7SUFEQyxhQUFhO2tEQUNVO0FBT3hCO0lBREMsYUFBYTtrREFDVTtBQVF4QjtJQURDLGFBQWE7Z0VBQ3VCOzJGQTlDMUIsZ0JBQWdCO2tCQXRCNUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDO3lCQUNoRDt3QkFDRCx5QkFBeUI7cUJBQzFCLFFBQ0s7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTt3QkFDM0Isd0JBQXdCLEVBQUUsTUFBTTtxQkFDakMsWUFDUyxXQUFXO3dHQWVyQixjQUFjO3NCQURiLEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixNQUFNO2dCQVNQLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS3ZCLFFBQVE7c0JBRlAsS0FBSztnQkFTTixRQUFRO3NCQUZQLEtBQUs7Z0JBVU4sc0JBQXNCO3NCQUZyQixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZO2dCQUluQixjQUFjO3NCQURiLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUl4QixJQUFJO3NCQURILEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQU9OLFFBQVE7c0JBRFAsTUFBTTtnQkFJQyxjQUFjO3NCQURyQixlQUFlO3VCQUFDLFlBQVk7Z0JBZXJCLFVBQVU7c0JBRGpCLFNBQVM7dUJBQUMsVUFBVTtnQkFJYixVQUFVO3NCQURqQixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERvQ2hlY2ssXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDZGtMaXN0Ym94LFxuICBDZGtPcHRpb24sXG4gIExpc3Rib3hWYWx1ZUNoYW5nZUV2ZW50LFxufSBmcm9tICdAYW5ndWxhci9jZGsvbGlzdGJveCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuL29wdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29lcmNlQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb2VyY2UtYm9vbGVhbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IExpc3Rib3hDaGlsZCB9IGZyb20gJy4vbGlzdGJveC1jaGlsZCc7XG5pbXBvcnQgeyBTZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWN0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMaXN0Ym94SW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2xpc3Rib3gtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcbmltcG9ydCB7XG4gIElDT05fU0laRV9QUk9WSURFUixcbiAgSWNvblNpemVQcm92aWRlcixcbn0gZnJvbSAnLi4vLi4vaWNvbi9zcmMvaWNvbi1zaXplLXByb3ZpZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtbGlzdGJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0Ym94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdGJveC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3Rib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBJQ09OX1NJWkVfUFJPVklERVIsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaXN0Ym94Q29tcG9uZW50KSxcbiAgICB9LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXIsXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gICAgJ1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG4gIH0sXG4gIGV4cG9ydEFzOiAnc3BMaXN0Ym94Jyxcbn0pXG5leHBvcnQgY2xhc3MgTGlzdGJveENvbXBvbmVudFxuICBpbXBsZW1lbnRzXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBBZnRlclZpZXdDaGVja2VkLFxuICAgIERvQ2hlY2ssXG4gICAgSWNvblNpemVQcm92aWRlclxue1xuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc2VsZWN0ZWQgdmFsdWVzIChgdmFsdWVgcyBvZiBzZWxlY3RlZCBzcC1vcHRpb25zKS5cbiAgICogSXQncyBhbHdheXMgYW4gYXJyYXksIHJlZ2FyZGxlc3Mgb2Yge0Bwcm9wZXJ0eSBtdWx0aXBsZX0gYmVpbmcgdHJ1ZSBvciBub3QuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZWxlY3RlZFZhbHVlczogcmVhZG9ubHkgc3RyaW5nW10gPSBbXTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3Rpb24gaXMgY2hhbmdlZC4gRW1pdHMgc2VsZWN0ZWQgdmFsdWVzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHNlbGVjdGVkVmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxyZWFkb25seSBzdHJpbmdbXT4oKTtcblxuICAvKipcbiAgICogQWxsb3dzIGZvciBwYXNzaW5nIHRoZSBsaXN0IG9mIGxpc3Rib3ggaXRlbXMgaW5zdGVhZCBvZiBoYXZpbmcgdGhlbSBjb2xsZWN0ZWRcbiAgICogZnJvbSBjaGlsZHJlbi4gVXNlZnVsIHdoZW4gYSBjb21wb25lbnQgd2FudHMgdG8gcmVuZGVyIGEgbGlzdGJveCB3aXRoaW4gaXRzIHZpZXdcbiAgICogYnV0IHdhbnRzIHRvIGNvbGxlY3QgbGlzdGJveCBpdGVtcyBmcm9tIGl0cyBvd24gY29udGVudC5cbiAgICovXG4gIEBJbnB1dCgnc3BMaXN0Ym94SXRlbXMnKVxuICBfaXRlbXNJbnB1dD86IEl0ZXJhYmxlPExpc3Rib3hDaGlsZD47XG5cbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGFsbG93ZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG11bHRpcGxlPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBwcmVzc2luZyBBcnJvd1VwL0Fycm93RG93biBvbiB0aGUgZmlyc3QvbGFzdCBpdGVtIHdpbGwgbm90IG1vdmVcbiAgICogZm9jdXMgdG8gdGhlIGxhc3QvZmlyc3QgaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5hdmlnYXRpb25XcmFwRGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcblxuICBASW5wdXQoJ2FyaWEtbGFiZWwnKVxuICBhcmlhTGFiZWwhOiBzdHJpbmc7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKVxuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaXplPzogJ2xhcmdlJyB8ICdtZWRpdW0nIHwgJ3NtYWxsJyA9ICdsYXJnZSc7XG5cbiAgQElucHV0KClcbiAgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW5ldmVyIGFuIG9wdGlvbiBpcyBzZWxlY3RlZCwgcmVnYXJkbGVzcyBvZiBpZiBpdCdzIGFscmVhZHkgc2VsZWN0ZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0Ym94Q2hpbGQpXG4gIHByaXZhdGUgaXRlbXNJbkNvbnRlbnQ6IFF1ZXJ5TGlzdDxMaXN0Ym94Q2hpbGQ+ID0gbmV3IFF1ZXJ5TGlzdDxMaXN0Ym94Q2hpbGQ+KCk7XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHt9ID0gKCkgPT4gKHt9KTtcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHNwT3B0aW9uIG9yIHNwU2VjdGlvbiBjb21wb25lbnRzIGVpdGhlciBjb2xsZWN0ZWQgZnJvbSB0aGUgY29udGVudFxuICAgKiBvciBwYXNzZWQgYXMgaW5wdXQuXG4gICAqL1xuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNJbnB1dCB8fCB0aGlzLml0ZW1zSW5Db250ZW50O1xuICB9XG5cbiAgQFZpZXdDaGlsZChDZGtMaXN0Ym94KVxuICBwcml2YXRlIGNka0xpc3Rib3g/OiBDZGtMaXN0Ym94O1xuXG4gIEBWaWV3Q2hpbGRyZW4oQ2RrT3B0aW9uKVxuICBwcml2YXRlIGNka09wdGlvbnM/OiBRdWVyeUxpc3Q8Q2RrT3B0aW9uPjtcblxuICBwcml2YXRlIGNvbm5lY3RlZElucHV0PzogTGlzdGJveElucHV0RGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBDZGtMaXN0Ym94IHRocm93cyBpZiB0aGVyZSBpcyBhIHNlbGVjdGVkIHZhbHVlIHRoYXQgZG9lc24ndCBtYXRjaCBhbnkgb2YgdGhlIGNka09wdGlvbnNcbiAgICogSXQncyBwcm9iYWJseSBhbiBhcnRpZmljaWFsIGNoZWNrLCBhbmQgbWF5YmUgdGhleSBjb3VsZCByZW1vdmUgaXQsIGJ1dCB0aGF0J3MgaG93IGl0IGlzIG5vdyxcbiAgICogYW5kIHNlbGVjdGVkIHZhbHVlIGNhbiBiZSBub25lIG9mIHRoZSBjdXJyZW50bHkgdmlzaWJsZSBvcHRpb25zIGlmIG9wdGlvbnMgYXJlIHNlYXJjaGFibGUuXG4gICAqIFNpbmNlIHRoZSBjaGVjayBzZWVtcyB1bm5lY2Vzc2FyeSwgd2UgZG8gdGhlIGZpbHRlcmluZyByaWdodCBpbiB0aGUgbGlzdGJveCBjb21wb25lbnQgaW5zdGVhZFxuICAgKiBvZiBpbiBzZWFyY2hhYmxlIHNlbGVjdC5cbiAgICogQHByaXZhdGVcbiAgICovXG4gIF92YWxpZFNlbGVjdGVkVmFsdWVzOiByZWFkb25seSBzdHJpbmdbXSA9IFtdO1xuICAvKipcbiAgICogT3VyIGV4cGVjdGVkIGJlaGF2aW9yIChtYXRjaGluZyB0aGUgUmVhY3QgaW1wbCkgaXMgdG8gbmF2aWdhdGUgdG8gdGhlIGxhc3Qgb3B0aW9uLCB3aGVuXG4gICAqIEFycm93RG93biBpcyBwcmVzc2VkIGFuZCBubyBvcHRpb24gaXMgY3VycmVudGx5IGZvY3VzZWQsIGJ1dCB0byBub3QgaGF2ZSBmb2N1cyB3cmFwcGluZy5cbiAgICogZGlzYWJsaW5nIGZvY3VzIHdyYXBwaW5nIG9uIGNka0xpc3Rib3ggaXMgaW1wbGVtZW50ZWQgZGlmZmVyZW50bHksIGFuZCBkb2Vzbid0IGFsbG93IGZvclxuICAgKiB0aGF0LCBzbyB3ZSBlbmFibGUgaXQgcmVnYXJkbGVzcyBvZiBgbmF2aWdhdGlvbldyYXBEaXNhYmxlZGAgaW5wdXQsIGlmIHRoZXJlIGlzIG5vIGFjdGl2ZVxuICAgKiBvcHRpb24uXG4gICAqL1xuICBfZm9yY2VFbmFibGVOYXZpZ2F0aW9uV3JhcCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8qKlxuICAgKiBDb25uZWN0cyB0aGUgbGlzdGJveCB0byBhbiBpbnB1dCwgZm9yIGNvbWJvYm94LWxpa2UgdXNlIGNhc2VzLlxuICAgKiBSZXR1cm5zIGEga2V5ZG93biBldmVudCBoYW5kbGVyIHRvIGJlIHVzZWQgb24gdGhlIGNvbm5lY3RlZCBpbnB1dC5cbiAgICogQ29ubmVjdGluZyBhbiBpbnB1dCB0byB0aGUgbGlzdGJveCBhbHNvIGNhdXNlcyBsaXN0Ym94IHRvIHVzZSB2aXJ0dWFsIGZvY3VzXG4gICAqIHNpbmNlIHRoZSBhY3R1YWwgZm9jdXMgd2lsbCBiZSBpbiB0aGUgaW5wdXQuXG4gICAqIEBwYXJhbSBpbnB1dERpcmVjdGl2ZVxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbm5lY3RUb0lucHV0KGlucHV0RGlyZWN0aXZlOiBMaXN0Ym94SW5wdXREaXJlY3RpdmUpIHtcbiAgICB0aGlzLmNvbm5lY3RlZElucHV0ID0gaW5wdXREaXJlY3RpdmU7XG4gICAgLy8gbmVlZCB0byBydW4gY2hhbmdlIGRldGVjdGlvbiBiZWNhdXNlIF9jb25uZWN0ZWRJbnB1dCBpcyB1c2VkIHRvIHNldCB0aGUgdmFsdWUgb2ZcbiAgICAvLyBjZGtMaXN0Ym94VXNlQWN0aXZlRGVzY2VuZGFudCwgYW5kIGl0J3Mgc2V0IGFmdGVyIGNoYW5nZSBkZXRlY3Rpb24gZm9yIHRoaXMgY29tcG9uZW50IGlzIGRvbmVcbiAgICAvLyBhbmQgd2hlbiBMaXN0Ym94SW5wdXREaXJlY3RpdmUgaW5wdXQgaXMgc2V0XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9uS2V5ZG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAvLyBPbmx5IGZvcndhcmRpbmcgY2VydGFpbiBrZXlzdHJva2VzLCBub3QgdG8gdHJpZ2dlciB0eXBlYWhlYWQgd2hpbGUgaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgICAgIFtcbiAgICAgICAgICAgICdBcnJvd1VwJyxcbiAgICAgICAgICAgICdBcnJvd0Rvd24nLFxuICAgICAgICAgICAgJ0hvbWUnLFxuICAgICAgICAgICAgJ0VuZCcsXG4gICAgICAgICAgICAnUGFnZVVwJyxcbiAgICAgICAgICAgICdQYWdlRG93bicsXG4gICAgICAgICAgICAnRW50ZXInLFxuICAgICAgICAgIF0uaW5jbHVkZXMoZXZlbnQua2V5KVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yKGFjY2Vzcyk6IF9oYW5kbGVLZXlkb3duIGlzIHByb3RlY3RlZFxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveD8uX2hhbmRsZUtleWRvd24/LihldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93TGVmdCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgICAgICB0aGlzLnNldEFjdGl2ZU9wdGlvbihudWxsKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIC8vIGNka0xpc3Rib3gga2VlcHMgdHJhY2sgb2YgZm9jdXMgc3RhdGUsIGFuZCBzZXRzIHRoZSBhY3RpdmUgaXRlbSB0byB0aGUgc2VsZWN0ZWQgaXRlbSBpZlxuICAgICAgLy8gdGhlIGxpc3Rib3ggaXMgbm90IGZvY3VzZWQgd2hlbiBzZWxlY3Rpb24gY2hhbmdlcy4gVGhhdCBjYXVzZXMgaXNzdWVzIGVzcGVjaWFsbHkgaW5cbiAgICAgIC8vIG11bHRpLXNlbGVjdCwgd2hlcmUgdGhlIGRyb3Bkb3duIGtlZXBzIG9wZW4gd2hlbiBzZWxlY3Rpb24gY2hhbmdlcy5cbiAgICAgIG9uRm9jdXM6ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY2RrTGlzdGJveCkge1xuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IoYWNjZXNzKTogX2hhc0ZvY3VzIGlzIHByaXZhdGVcbiAgICAgICAgICB0aGlzLmNka0xpc3Rib3guX2hhc0ZvY3VzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uQmx1cjogKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jZGtMaXN0Ym94KSB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcihhY2Nlc3MpOiBfaGFzRm9jdXMgaXMgcHJpdmF0ZVxuICAgICAgICAgIHRoaXMuY2RrTGlzdGJveC5faGFzRm9jdXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgaXNTZWxlY3RlZChvcHRpb246IE9wdGlvbkNvbXBvbmVudCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkVmFsdWVzPy5pbmNsdWRlcyhvcHRpb24udmFsdWUpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2RrTGlzdGJveD8ucmVnaXN0ZXJPbkNoYW5nZSh0aGlzLm9uQ2hhbmdlKTtcbiAgICB0aGlzLmNka0xpc3Rib3g/LnJlZ2lzdGVyT25Ub3VjaGVkKHRoaXMub25Ub3VjaGVkKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICAvKipcbiAgICAgKiBQcm9wZXJ0aWVzIHNldCBoZXJlIGFyZSB1c2VkIGluIHRoZSB0ZW1wbGF0ZSwgYnV0IGRlcGVuZCBvbiB0aGUgc3RhdGUgb2YgY2hpbGQgZGlyZWN0aXZlcyxcbiAgICAgKiB3aGljaCBjYW4gY2hhbmdlIGFmdGVyIHZpZXcgaXMgY2hlY2tlZCBvbiB0aGlzIGNvbXBvbmVudC4gQnkgc2V0dGluZyB0aGVtIGluIG5nRG9DaGVja1xuICAgICAqIGluc3RlYWQgb2YgZGlyZWN0bHkgcmVmZXJlbmNpbmcgdGhlbSBpbiB0aGUgdGVtcGxhdGUsIHdlIGF2b2lkIE5HMDEwMDogRXhwcmVzc2lvbkNoYW5nZWQuLi5cbiAgICAgKiBlcnJvcnNcbiAgICAgKi9cbiAgICB0aGlzLl9mb3JjZUVuYWJsZU5hdmlnYXRpb25XcmFwID0gIUJvb2xlYW4odGhpcy5nZXRBY3RpdmVPcHRpb24oKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgY29uc3QgdmFsaWRWYWx1ZXMgPVxuICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcz8uZmlsdGVyKCh2YWx1ZSkgPT5cbiAgICAgICAgdGhpcy5jZGtPcHRpb25zPy5maW5kKChjZGtPcHRpb24pID0+IGNka09wdGlvbi52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICApIHx8IFtdO1xuICAgIGlmIChcbiAgICAgIHZhbGlkVmFsdWVzLmxlbmd0aCAhPT0gdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcy5sZW5ndGggfHxcbiAgICAgIHRoaXMuX3ZhbGlkU2VsZWN0ZWRWYWx1ZXMuc29tZShcbiAgICAgICAgKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgIT09IHZhbGlkVmFsdWVzW2luZGV4XVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5fdmFsaWRTZWxlY3RlZFZhbHVlcyA9IHZhbGlkVmFsdWVzO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYWN0aXZlIChmb2N1c2VkKSBvcHRpb24uIFBhc3NpbmcgbnVsbCByZW1vdmVzIGFjdGl2ZSBzdGF0ZSBpZiBhbnkuXG4gICAqIEBwYXJhbSB2YWx1ZSBvcHRpb24gdmFsdWVcbiAgICovXG4gIHNldEFjdGl2ZU9wdGlvbih2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xuICAgIGNvbnN0IG9wdGlvbiA9XG4gICAgICB2YWx1ZSAmJiB0aGlzLmNka09wdGlvbnM/LmZpbmQoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgaWYgKG9wdGlvbiB8fCBvcHRpb24gPT09IG51bGwpIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IG51bGwgaXMgYWN0dWFsbHkgYWNjZXB0ZWQgYW5kIHJlc2V0cyBhY3RpdmUgaXRlbSwgYnV0IHRoZSB0eXBlIGRvZXNuJ3QgYWxsb3cgaXQgYnkgbWlzdGFrZVxuICAgICAgdGhpcy5jZGtMaXN0Ym94Py5fc2V0QWN0aXZlT3B0aW9uKG9wdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGN1cnJlbnRseSBhY3RpdmUgKGZvY3VzZWQpIG9wdGlvbi5cbiAgICovXG4gIGdldEFjdGl2ZU9wdGlvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm8gcHVibGljIG1ldGhvZCBvbiBDZGtMaXN0Ym94IHRvIGdldCB0aGUgYWN0aXZlIGl0ZW0gb3Igc2VsZWN0IGl0IGRpcmVjdGx5LlxuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5jZGtPcHRpb25zPy5maW5kKChvcHRpb24pID0+XG4gICAgICAgIEJvb2xlYW4odGhpcy5jZGtMaXN0Ym94Py5pc0FjdGl2ZShvcHRpb24pKVxuICAgICAgKT8udmFsdWUgYXMgc3RyaW5nKSA/PyBudWxsXG4gICAgKTtcbiAgfVxuXG4gIC8vLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgLy8vL1xuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMgPSBvYmo7XG4gIH1cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2hhbmRsZVNlbGVjdGlvbkNoYW5nZSh7IHZhbHVlIH06IExpc3Rib3hWYWx1ZUNoYW5nZUV2ZW50PHN0cmluZz4pIHtcbiAgICB0aGlzLnNlbGVjdGVkVmFsdWVzID0gdmFsdWU7XG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlc0NoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzT3B0aW9uKGl0ZW06IExpc3Rib3hDaGlsZCk6IGl0ZW0gaXMgT3B0aW9uQ29tcG9uZW50IHtcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIE9wdGlvbkNvbXBvbmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzU2VjdGlvbihpdGVtOiBMaXN0Ym94Q2hpbGQpOiBpdGVtIGlzIFNlY3Rpb25EaXJlY3RpdmUge1xuICAgIHJldHVybiBpdGVtIGluc3RhbmNlb2YgU2VjdGlvbkRpcmVjdGl2ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX3Nob3VsZFVzZVZpcnR1YWxGb2N1cygpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbm5lY3RlZElucHV0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2lzQ29ubmVjdGVkVG9JbnB1dCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLmNvbm5lY3RlZElucHV0KTtcbiAgfVxufVxuIiwiPHVsXG4gIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveFwiXG4gIGNka0xpc3Rib3hcbiAgW2lkXT1cImlkIHx8ICcnXCJcbiAgW2Nka0xpc3Rib3hDb21wYXJlV2l0aF09XCJcIlxuICBbY2RrTGlzdGJveE11bHRpcGxlXT1cIiEhbXVsdGlwbGVcIlxuICBbY2RrTGlzdGJveERpc2FibGVkXT1cIiEhZGlzYWJsZWRcIlxuICBbY2RrTGlzdGJveE5hdmlnYXRpb25XcmFwRGlzYWJsZWRdPVwiXG4gICAgbmF2aWdhdGlvbldyYXBEaXNhYmxlZCAmJiAhX2ZvcmNlRW5hYmxlTmF2aWdhdGlvbldyYXBcbiAgXCJcbiAgW2Nka0xpc3Rib3hWYWx1ZV09XCJfdmFsaWRTZWxlY3RlZFZhbHVlc1wiXG4gIFtjZGtMaXN0Ym94VXNlQWN0aXZlRGVzY2VuZGFudF09XCJfc2hvdWxkVXNlVmlydHVhbEZvY3VzKClcIlxuICAoY2RrTGlzdGJveFZhbHVlQ2hhbmdlKT1cIl9oYW5kbGVTZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gIChrZXlkb3duLmVudGVyKT1cInNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gIChrZXlkb3duLnNwYWNlKT1cInNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gIChtb3VzZWRvd24pPVwiX2lzQ29ubmVjdGVkVG9JbnB1dCgpICYmICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICBbY2xhc3Muc2FwcGhpcmUtbGlzdGJveC0tbWVkaXVtXT1cInNpemUgPT09ICdtZWRpdW0nXCJcbiAgW2NsYXNzLnNhcHBoaXJlLWxpc3Rib3gtLXNtYWxsXT1cInNpemUgPT09ICdzbWFsbCdcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnM7IGxldCBsYXN0ID0gbGFzdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaXNTZWN0aW9uKGl0ZW0pXCI+XG4gICAgICA8bGkgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICA8dWxcbiAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveF9fc2VjdGlvblwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpdGVtLmFyaWFMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgaXRlbS5jaGlsZHJlblwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uXT1cIm9wdGlvbi52YWx1ZVwiXG4gICAgICAgICAgICBbY2RrT3B0aW9uRGlzYWJsZWRdPVwiISFvcHRpb24uZGlzYWJsZWRcIlxuICAgICAgICAgICAgW2Nka09wdGlvblR5cGVhaGVhZExhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAjY2RrT3B0aW9uPVwiY2RrT3B0aW9uXCJcbiAgICAgICAgICAgIHNwLWxpc3Rib3gtaXRlbVxuICAgICAgICAgICAgW29wdGlvbl09XCJvcHRpb25cIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQob3B0aW9uKVwiXG4gICAgICAgICAgICBbZm9jdXNlZF09XCJjZGtPcHRpb24uaXNBY3RpdmUoKVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiIShkaXNhYmxlZCB8fCBvcHRpb24uZGlzYWJsZWQpICYmIHNlbGVjdGVkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgICAgICA+PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgKm5nSWY9XCIhbGFzdFwiXG4gICAgICAgIHJvbGU9XCJzZXBhcmF0b3JcIlxuICAgICAgICBjbGFzcz1cInNhcHBoaXJlLWxpc3Rib3hfX3NlcGFyYXRvclwiXG4gICAgICA+PC9saT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bGlcbiAgICAgICpuZ0lmPVwiX2lzT3B0aW9uKGl0ZW0pXCJcbiAgICAgIFtjZGtPcHRpb25dPVwiaXRlbS52YWx1ZVwiXG4gICAgICBbY2RrT3B0aW9uRGlzYWJsZWRdPVwiISFpdGVtLmRpc2FibGVkXCJcbiAgICAgIFtjZGtPcHRpb25UeXBlYWhlYWRMYWJlbF09XCJpdGVtLmxhYmVsXCJcbiAgICAgICNjZGtPcHRpb249XCJjZGtPcHRpb25cIlxuICAgICAgc3AtbGlzdGJveC1pdGVtXG4gICAgICBbb3B0aW9uXT1cIml0ZW1cIlxuICAgICAgW3NlbGVjdGVkXT1cImlzU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgW2ZvY3VzZWRdPVwiY2RrT3B0aW9uLmlzQWN0aXZlKClcIlxuICAgICAgKGNsaWNrKT1cIiEoZGlzYWJsZWQgfHwgaXRlbS5kaXNhYmxlZCkgJiYgc2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgIFtzaXplXT1cInNpemVcIlxuICAgID48L2xpPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvdWw+XG4iXX0=
|
|
@@ -25,7 +25,6 @@ SapphireListboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
|
|
|
25
25
|
OptionSecondaryTextDirective,
|
|
26
26
|
OptionPrimaryTextDirective,
|
|
27
27
|
ListboxComponent,
|
|
28
|
-
ListboxInputDirective,
|
|
29
28
|
ListboxItemComponent], imports: [CommonModule,
|
|
30
29
|
SapphireIconModule,
|
|
31
30
|
CdkListboxModule,
|
|
@@ -33,6 +32,7 @@ SapphireListboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
|
|
|
33
32
|
PressedDirective,
|
|
34
33
|
FocusedDirective,
|
|
35
34
|
UseComponentStyles,
|
|
35
|
+
ListboxInputDirective,
|
|
36
36
|
CdkOptionScrollIssuePatch], exports: [ListboxComponent,
|
|
37
37
|
OptionComponent,
|
|
38
38
|
OptionIconDirective,
|
|
@@ -54,7 +54,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
54
54
|
OptionSecondaryTextDirective,
|
|
55
55
|
OptionPrimaryTextDirective,
|
|
56
56
|
ListboxComponent,
|
|
57
|
-
ListboxInputDirective,
|
|
58
57
|
ListboxItemComponent,
|
|
59
58
|
],
|
|
60
59
|
imports: [
|
|
@@ -65,6 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
65
64
|
PressedDirective,
|
|
66
65
|
FocusedDirective,
|
|
67
66
|
UseComponentStyles,
|
|
67
|
+
ListboxInputDirective,
|
|
68
68
|
CdkOptionScrollIssuePatch,
|
|
69
69
|
],
|
|
70
70
|
exports: [
|
|
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
78
78
|
],
|
|
79
79
|
}]
|
|
80
80
|
}] });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL2xpc3Rib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBaUM1RSxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBN0I5QixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQiw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLGdCQUFnQjtRQUNoQixvQkFBb0IsYUFHcEIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQix5QkFBeUIsYUFHekIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsNEJBQTRCO1FBQzVCLDBCQUEwQjtRQUMxQixnQkFBZ0I7UUFDaEIscUJBQXFCO21IQUdaLHFCQUFxQixZQXBCOUIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFBWTsyRkFpQkgscUJBQXFCO2tCQS9CakMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1QiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixxQkFBcUI7d0JBQ3JCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENka0xpc3Rib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGlzdGJveCc7XG5pbXBvcnQgeyBTYXBwaGlyZUljb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9pY29uL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgT3B0aW9uSWNvbkRpcmVjdGl2ZSB9IGZyb20gJy4vb3B0aW9uLWljb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IE9wdGlvblNlY29uZGFyeVRleHREaXJlY3RpdmUgfSBmcm9tICcuL29wdGlvbi1zZWNvbmRhcnktdGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3B0aW9uUHJpbWFyeVRleHREaXJlY3RpdmUgfSBmcm9tICcuL29wdGlvbi1wcmltYXJ5LXRleHQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hDb21wb25lbnQgfSBmcm9tICcuL2xpc3Rib3guY29tcG9uZW50JztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9vcHRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL3NlY3Rpb24uZGlyZWN0aXZlJztcbmltcG9ydCB7IFByZXNzZWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9jb21tb24vcHJlc3NlZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdGJveElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9saXN0Ym94LWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb2N1c2VkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2ZvY3VzZWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3Rib3hJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0Ym94LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuaW1wb3J0IHsgQ2RrT3B0aW9uU2Nyb2xsSXNzdWVQYXRjaCB9IGZyb20gJy4vY2RrLW9wdGlvbi1zY3JvbGwtaXNzdWUtcGF0Y2gnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTZWN0aW9uRGlyZWN0aXZlLFxuICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICBPcHRpb25JY29uRGlyZWN0aXZlLFxuICAgIE9wdGlvblNlY29uZGFyeVRleHREaXJlY3RpdmUsXG4gICAgT3B0aW9uUHJpbWFyeVRleHREaXJlY3RpdmUsXG4gICAgTGlzdGJveENvbXBvbmVudCxcbiAgICBMaXN0Ym94SXRlbUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTYXBwaGlyZUljb25Nb2R1bGUsXG4gICAgQ2RrTGlzdGJveE1vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgUHJlc3NlZERpcmVjdGl2ZSxcbiAgICBGb2N1c2VkRGlyZWN0aXZlLFxuICAgIFVzZUNvbXBvbmVudFN0eWxlcyxcbiAgICBMaXN0Ym94SW5wdXREaXJlY3RpdmUsXG4gICAgQ2RrT3B0aW9uU2Nyb2xsSXNzdWVQYXRjaCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIExpc3Rib3hDb21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIE9wdGlvbkljb25EaXJlY3RpdmUsXG4gICAgT3B0aW9uU2Vjb25kYXJ5VGV4dERpcmVjdGl2ZSxcbiAgICBPcHRpb25QcmltYXJ5VGV4dERpcmVjdGl2ZSxcbiAgICBTZWN0aW9uRGlyZWN0aXZlLFxuICAgIExpc3Rib3hJbnB1dERpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FwcGhpcmVMaXN0Ym94TW9kdWxlIHt9XG4iXX0=
|
|
@@ -66,7 +66,6 @@ export class PopoverTriggerDirective {
|
|
|
66
66
|
if (!this.overlayRef) {
|
|
67
67
|
this.overlayRef = this.cdkOverlay.create(this.getOverlayConfig());
|
|
68
68
|
this.overlayRef.updatePositionStrategy(this.getOverlayPositionStrategy());
|
|
69
|
-
this.overlayRef.attach(this.getContentPortal());
|
|
70
69
|
this.overlayRef.detachments().subscribe(() => {
|
|
71
70
|
this.closed.next();
|
|
72
71
|
this.changeDetectorRef.detectChanges();
|
|
@@ -85,9 +84,7 @@ export class PopoverTriggerDirective {
|
|
|
85
84
|
}
|
|
86
85
|
});
|
|
87
86
|
}
|
|
88
|
-
|
|
89
|
-
this.overlayRef.attach(this.getContentPortal());
|
|
90
|
-
}
|
|
87
|
+
this.overlayRef.attach(this.getContentPortal());
|
|
91
88
|
this.changeDetectorRef.detectChanges();
|
|
92
89
|
}
|
|
93
90
|
}
|
|
@@ -298,4 +295,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
298
295
|
type: HostListener,
|
|
299
296
|
args: ['keydown', ['$event']]
|
|
300
297
|
}] } });
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLGFBQWEsR0FFZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBUXRFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0Msb0JBQW9CLENBQ3JCLENBQUM7QUFFRiw2RUFBNkU7QUFhN0UsTUFBTSxPQUFPLHVCQUF1QjtJQXFEbEMsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUNVLGlCQUFvQyxFQUNwQyxVQUFtQixFQUNuQixnQkFBa0MsRUFDbkMsVUFBbUMsRUFDbEMsUUFBa0I7UUFKbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLHFCQUFn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QUFLO3VCQUFDLHFCQUFxQjtnQkFRNUIsUUFBUTtzQkFGUCxLQUFLO3VCQUFDLG1CQUFtQjtnQkFTMUIsZ0JBQWdCO3NCQUZmLEtBQUs7dUJBQUMsa0NBQWtDO2dCQVV6QyxhQUFhO3NCQUZaLEtBQUs7dUJBQUMsK0JBQStCO2dCQVV0QyxRQUFRO3NCQUZQLEtBQUs7dUJBQUMsMEJBQTBCO2dCQU14QixNQUFNO3NCQURkLE1BQU07dUJBQUMsd0JBQXdCO2dCQUt2QixNQUFNO3NCQURkLE1BQU07dUJBQUMsd0JBQXdCO2dCQVlyQixZQUFZO3NCQUR0QixXQUFXO3VCQUFDLG9CQUFvQjtnQkF5RXpCLGVBQWU7c0JBRHRCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXdCN0IsV0FBVztzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBY3pCLFNBQVM7c0JBRGhCLFlBQVk7dUJBQUMsYUFBYTtnQkFjbkIsVUFBVTtzQkFEakIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkI1QixhQUFhO3NCQURwQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgT3ZlcmxheVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZmxpcCwgUGxhY2VtZW50LCB0b0Nvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL3BsYWNlbWVudCc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29lcmNlQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb2VyY2UtYm9vbGVhbi5kZWNvcmF0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJUcmlnZ2VyIHtcbiAgdG9nZ2xlKCk6IHZvaWQ7XG4gIG9wZW4oKTogdm9pZDtcbiAgY2xvc2UoKTogdm9pZDtcbiAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG59XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9UUklHR0VSID0gbmV3IEluamVjdGlvblRva2VuPFBvcG92ZXJUcmlnZ2VyPihcbiAgJ3NwLXBvcG92ZXItdHJpZ2dlcidcbik7XG5cbi8vIFRPRE8oVUMtMjcyOCk6IGltcHJvdmUgZXZlbnQgaGFuZGxpbmcgd2hlbiByZXVzYWJsZSBwcmVzcyB1dGlsaXR5IGlzIGFkZGVkXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzcFBvcG92ZXJUcmlnZ2VyRm9yXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogUE9QT1ZFUl9UUklHR0VSLCB1c2VFeGlzdGluZzogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaXMtYWN0aXZlXSc6ICdpc09wZW4oKScsXG4gICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ2lzT3BlbigpJyxcbiAgfSxcbiAgZXhwb3J0QXM6ICdzcFBvcG92ZXJUcmlnZ2VyJyxcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBQb3BvdmVyVHJpZ2dlciB7XG4gIEBJbnB1dCgnc3BQb3BvdmVyUGxhY2VtZW50JylcbiAgcHVibGljIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbSc7XG5cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyRm9yJylcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIG5vdCBibG9jayBpbnRlcmFjdGlvbiB3aXRoIGJhY2tncm91bmQuXG4gICAqL1xuICBASW5wdXQoJ3NwUG9wb3Zlck5vbk1vZGFsJylcbiAgQENvZXJjZUJvb2xlYW5cbiAgbm9uTW9kYWw6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBvcGVuZWQgb24gcHJlc3Mgc3RhcnQuXG4gICAqL1xuICBASW5wdXQoJ3NwUG9wb3ZlclRyaWdnZXJPcGVuT25QcmVzc1N0YXJ0JylcbiAgQENvZXJjZUJvb2xlYW5cbiAgb3Blbk9uUHJlc3NTdGFydDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGNsb3NlZCB3aGVuIHRoZSBjb250YWluZXIgaXMgc2Nyb2xsZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoJ3NwUG9wb3ZlclRyaWdnZXJDbG9zZU9uU2Nyb2xsJylcbiAgQENvZXJjZUJvb2xlYW5cbiAgY2xvc2VPblNjcm9sbDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIGRpc2FibGUgdG9nZ2xpbmcgcG9wb3ZlciBvbiBjbGlja3MuIFVzZWZ1bCBpZiBgc3BQb3BvdmVyVHJpZ2dlcmBcbiAgICogaXMgYXBwbGllZCBvbiBhbiBlbGVtZW50IHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBgZGlzYWJsZWRgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyRGlzYWJsZWQnKVxuICBAQ29lcmNlQm9vbGVhblxuICBkaXNhYmxlZDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIgaXMgcmVxdWVzdGVkIHRvIG9wZW4gKi9cbiAgQE91dHB1dCgnc3BQb3BvdmVyVHJpZ2dlck9wZW5lZCcpXG4gIHJlYWRvbmx5IG9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBhdHRhY2hlZCBwb3BvdmVyIGlzIHJlcXVlc3RlZCB0byBjbG9zZSAqL1xuICBAT3V0cHV0KCdzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VkJylcbiAgcmVhZG9ubHkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhpcyB0cmlnZ2VyIGlzIGRlc3Ryb3llZC4gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IHdoaWNoIG1hbmFnZXMgdGhlIHRyaWdnZXJlZCBtZW51ICovXG4gIHByb3RlY3RlZCBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc0JlaW5nUHJlc3NlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJylcbiAgcHVibGljIGdldCBnZXRQb3BvdmVySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZj8uaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJkaWFsb2dcIl0nKT8uaWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGNka092ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogVG9nZ2xlIHRoZSBhdHRhY2hlZCBwb3BvdmVyLiAqL1xuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5pc09wZW4oKSA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgLyoqIE9wZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIuICovXG4gIG9wZW4oKSB7XG4gICAgaWYgKCF0aGlzLmlzT3BlbigpICYmIHRoaXMudGVtcGxhdGVSZWYgIT0gbnVsbCAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5vcGVuZWQubmV4dCgpO1xuICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5jZGtPdmVybGF5LmNyZWF0ZSh0aGlzLmdldE92ZXJsYXlDb25maWcoKSk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KFxuICAgICAgICAgIHRoaXMuZ2V0T3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3koKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuZ2V0Q29udGVudFBvcnRhbCgpKTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmNsb3NlZC5uZXh0KCk7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWZcbiAgICAgICAgICAub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbChtZXJnZSh0aGlzLmNsb3NlZCwgdGhpcy5kZXN0cm95ZWQpKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAvLyBJZiBwb3BvdmVyIGlzIG9wZW5lZCBvbiBwcmVzcyBzdGFydCwgYW4gb3V0c2lkZSBwb2ludGVyIGV2ZW50XG4gICAgICAgICAgICAgIC8vIGlzIGVtaXR0ZWQgYXMgdGhlIG1vdXNlIGlzIGJlaW5nIHJlbGVhc2VkLCB3aGljaCB3b3VsZCBpbW1lZGlhdGVseVxuICAgICAgICAgICAgICAvLyBjbG9zZSB0aGUgcG9wb3Zlci4gUHJvYmFibHkgYSBidWcgaW4gQGFuZ3VsYXIvY2RrL292ZXJsYXkuXG4gICAgICAgICAgICAgICEodGhpcy5vcGVuT25QcmVzc1N0YXJ0ICYmIHRoaXMuaXNCZWluZ1ByZXNzZWQpICYmXG4gICAgICAgICAgICAgICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgRWxlbWVudClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMuZ2V0Q29udGVudFBvcnRhbCgpKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZSB0aGUgb3BlbmVkIHBvcG92ZXIuICovXG4gIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWY/LmRldGFjaCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIG9wZW4uICovXG4gIGlzT3BlbigpIHtcbiAgICByZXR1cm4gISF0aGlzLm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZU1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuaXNCZWluZ1ByZXNzZWQgPSB0cnVlO1xuICAgIGlmICh0aGlzLm9wZW5PblByZXNzU3RhcnQpIHtcbiAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgLy8gV2UgbmVlZCB0byBmb2N1cyB0aGUgdHJpZ2dlciBiZWZvcmUgb3BlbmluZy4gT3RoZXJ3aXNlLCB0aGUgZm9jdXMgcmVzdG9yYXRpb24gbG9naWMgd2lsbFxuICAgICAgICAvLyBiZSBtZXNzZWQgdXAsIHNpbmNlIHRoZSB3cm9uZyBlbGVtZW50IHdvdWxkIGhhdmUgdGhlIGZvY3VzIHdoZW4gdGhlIHBvcG92ZXIgaXMgbW91bnRlZC5cbiAgICAgICAgZXZlbnQuY3VycmVudFRhcmdldC5mb2N1cygpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdtb3VzZXVwJyxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5pc0JlaW5nUHJlc3NlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IG9uY2U6IHRydWUgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLm9wZW5PblByZXNzU3RhcnQpIHtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoaWxlIG9uRm9jdXNvdXQgdGFrZXMgY2FyZSBvZiBjbG9zaW5nIHRoZSBwb3BvdmVyIHdoZW4gZm9jdXMgZ29lcyBvdXQsIGluIHRoZSByYXJlIGNhc2VzXG4gICAqIHRoYXQgdGhlcmUgaXMgbm8gbW9yZSBmb2N1c2FibGUgZWxlbWVudCBiZXR3ZWVuIHRoZSB0cmlnZ2VyIGFuZCB0aGUgcG9wb3ZlciwgdGhlIGZvY3VzIGNhblxuICAgKiBnbyB0byB0aGUgcG9wb3ZlciBvbiBwcmVzc2luZyBgVGFiYC4gQnV0IHRoZSBwb3BvdmVyIHNob3VsZCBiZSBjbG9zZWQgd2hlbiB0YWJiaW5nIG9uIHRoZVxuICAgKiB0cmlnZ2VyLlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi50YWInKVxuICBwcml2YXRlIGhhbmRsZVRhYigpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogSW4gc29tZSB1c2UgY2FzZXMgKGUuZy4gaW4gc2VhcmNoYWJsZSBzZWxlY3QpIHBvcG92ZXIgdHJpZ2dlciBncmFicyB0aGUgZm9jdXMsIHJpZ2h0IGFmdGVyXG4gICAqIHRoZSBwb3BvdmVyIGlzIG9wZW5lZC4gVGhhdCByZXF1aXJlcyBwb3BvdmVyIHRyaWdnZXIgdG8gZGV0ZWN0IHdoZW4gZm9jdXMgZ29lcyBvdXQgb2YgaXRcbiAgICogYW5kIGNsb3NlIHRoZSBwb3BvdmVyLlxuICAgKiBOb3RlOiB3ZSBjYW4ndCB1c2UgYGJsdXJgIGV2ZW50IHNpbmNlIGl0IHdvbid0IGJ1YmJsZSB1cCwgYW5kIHRoZSBmb2N1cyBjYW4gYmUgb24gYW4gZWxlbWVudFxuICAgKiBpbnNpZGUgdGhlIHRyaWdnZXIsIGJ1dCBub3QgdGhlIHRyaWdnZXIgaXRzZWxmLlxuICAgKlxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnLCBbJyRldmVudCddKVxuICBwcml2YXRlIG9uRm9jdXNvdXQoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBpZiAoXG4gICAgICBldmVudC5yZWxhdGVkVGFyZ2V0ID09PSBudWxsICYmXG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXRcbiAgICApIHtcbiAgICAgIC8vIFRoaXMgaGFwcGVucyBvbiB0YWIgc3dpdGNoLCB3aXRob3V0IGZvY3VzIGJlaW5nIGFjdHVhbGx5IG1vdmVkLlxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBmb2N1c1JlY2VpdmluZ0VsZW1lbnQgPVxuICAgICAgZXZlbnQucmVsYXRlZFRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQgPyBldmVudC5yZWxhdGVkVGFyZ2V0IDogbnVsbDtcbiAgICBpZiAoXG4gICAgICAvLyBmb2N1cyBpcyBnb2luZyBub3doZXJlXG4gICAgICAhZm9jdXNSZWNlaXZpbmdFbGVtZW50IHx8XG4gICAgICAvLyBmb2N1cyBpcyBnb2luZyBhbnl3aGVyZSBvdXRzaWRlIHBvcG92ZXIgYW5kIHBvcG92ZXIgdHJpZ2dlclxuICAgICAgIShcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5jb250YWlucyhmb2N1c1JlY2VpdmluZ0VsZW1lbnQpIHx8XG4gICAgICAgIC8vIFRoaXMgaXMgdG8gbm90IGhhdmUgdGhlIHBvcG92ZXIgY2xvc2VkIGFzIHNvb24gYXMgbW91c2UgaXMgZG93biBvbiBzb21ldGhpbmcgaW5zaWRlIHRoZVxuICAgICAgICAvLyBwb3BvdmVyLCBpZiB0aGUgZm9jdXMgaXMgY3VycmVudGx5IG9uIHRoZSB0cmlnZ2VyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQ/LmNvbnRhaW5zKGZvY3VzUmVjZWl2aW5nRWxlbWVudClcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKFxuICAgICAgZXZlbnQudGFyZ2V0ID09PSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCAmJlxuICAgICAgISh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxCdXR0b25FbGVtZW50KSAmJlxuICAgICAgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJylcbiAgICApIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveU92ZXJsYXkoKSB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqIEdldCB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgdXNlZCB0byBjcmVhdGUgdGhlIG92ZXJsYXkuICovXG4gIHByaXZhdGUgZ2V0T3ZlcmxheUNvbmZpZygpIHtcbiAgICByZXR1cm4gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMubm9uTW9kYWxcbiAgICAgICAgPyB0aGlzLmNsb3NlT25TY3JvbGxcbiAgICAgICAgICA/IHRoaXMuY2RrT3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKClcbiAgICAgICAgICA6IHRoaXMuY2RrT3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICA6IHRoaXMuY2RrT3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCksIC8vIHRvIG1hdGNoIHdoYXQgd2UgaGF2ZSBpbiByZWFjdFxuXG4gICAgICAvLyBJbmNsdWRpbmcgYSB0cmFuc3BhcmVudCBiYWNrZHJvcCBhY2NvcmRpbmcgdG8gdGhlIGxhdGVzdCBkZWNpc2lvbiBvZiBtYWtpbmcgcG9wb3ZlcnMgbW9kYWwuXG4gICAgICBoYXNCYWNrZHJvcDogIXRoaXMubm9uTW9kYWwsXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxuICAgIH0pO1xuICB9XG4gIHByaXZhdGUgZ2V0Q29udGVudFBvcnRhbCgpOiBUZW1wbGF0ZVBvcnRhbCB8IG51bGwge1xuICAgIGlmICh0aGlzLnRlbXBsYXRlUmVmKSB7XG4gICAgICByZXR1cm4gbmV3IFRlbXBsYXRlUG9ydGFsKFxuICAgICAgICB0aGlzLnRlbXBsYXRlUmVmLFxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIG51bGwsXG4gICAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBQT1BPVkVSX1RSSUdHRVIsIHVzZVZhbHVlOiB0aGlzIH1dLFxuICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdmVybGF5UG9zaXRpb25TdHJhdGVneSgpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIGNvbnN0IHBsYWNlbWVudCA9IHRoaXMucGxhY2VtZW50IHx8ICdib3R0b20nO1xuICAgIGNvbnN0IGhhc0hvcml6b250YWxseUNlbnRlcmVkQWxpZ25tZW50ID1cbiAgICAgICFwbGFjZW1lbnQuaW5jbHVkZXMoJ3N0YXJ0JykgJiYgIXBsYWNlbWVudC5pbmNsdWRlcygnZW5kJyk7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY2RrT3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsZW1lbnRSZWYpXG4gICAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oKVxuICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4oKVxuICAgICAgICAvKipcbiAgICAgICAgICogRGlzYWJsaW5nIHB1c2hpbmcsIHRvIGZpeCBhbiBpc3N1ZSBpbiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgd2hlcmUgdGhlXG4gICAgICAgICAqIG92ZXJsYXkncyBib3R0b20gZ3Jvd3MgcGFzdCB0aGUgdG9wIG9mIHRoZSB0cmlnZ2VyIGVsZW1lbnQgKGFrYSBvcmlnaW4pLlxuICAgICAgICAgKiBJLmUuLCB3aGVuIHRoZSBvdmVybGF5IGlzIHN1cHBvc2VkIHRvIGJlIHBsYWNlZCBhYm92ZSB0aGUgdHJpZ2dlciBlbGVtZW50LCBpdCBjYW5cbiAgICAgICAgICogZ3JvdyBpbiBoZWlnaHQgYW5kIGNvdmVyIHRoZSB0cmlnZ2VyIGVsZW1lbnQuIFRoaXMgaXMgbW9yZSBvZiBhbiBpc3N1ZSB3aGVuIHRoZSB0cmlnZ2VyXG4gICAgICAgICAqIGVsZW1lbnQgcmVtYWlucyBpbnRlcmFjdGl2ZSBhZnRlciB0aGUgb3ZlcmxheSBpcyBvcGVuZWQsIHN1Y2ggYXMgaW4gc2VhcmNoYWJsZSBzZWxlY3QuXG4gICAgICAgICAqIE5vdGUgdGhhdCB0aGlzIGlzIG5vdCB0aGUgY2FzZSB3aGVuIHRoZSBvdmVybGF5IGlzIHBsYWNlZCBhYm92ZSB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgICAgICAgKiBJbiB0aGF0IGNhc2UgdGhlIG92ZXJsYXkgd2lsbCBub3QgZWF0IHVwIGFsbCBhdmFpbGFibGUgdmlld3BvcnQgaGVpZ2h0LCBhbmQgaXMgc2l6ZWQgaW5cbiAgICAgICAgICogYSB3YXkgdGhhdCByZXNwZWN0cyB0aGUgcHJlZmVycmVkIHBsYWNlbWVudCBhYm92ZSB0aGUgdHJpZ2dlciBlbGVtZW50LlxuICAgICAgICAgKiBEaXNhYmxpbmcgcHVzaCBpcyBub3QgdGhlIGlkZWFsIHNvbHV0aW9uIGJ1dCBwcmV2ZW50cyB0aGUgaXNzdWUuXG4gICAgICAgICAqIHB1c2ggaXMgZGlzYWJsZWQgb25seSBmb3Igb3ZlcmxheXMgd2hlcmUgdGhlIGhvcml6b250YWwgYWxpZ25tZW50IGlzIGFuY2hvcmVkIHRvIGxlZnRcbiAgICAgICAgICogb3IgcmlnaHQgb2YgdGhlIHRyaWdnZXIgZWxlbWVudCwgYmFzZWQgb24gdGhlIGZhaXIgYXNzdW1wdGlvbiB0aGF0IHRoZSBjb25uZWN0ZWRcbiAgICAgICAgICogZWxlbWVudCBpcyBpdHNlbGYgd2l0aGluIHRoZSB2aWV3cG9ydCwgYW5kIHdlIHdvbid0IG5lZWQgdG8gcHVzaCB0aGUgb3ZlcmxheSBob3Jpem9udGFsbHlcbiAgICAgICAgICogdG8gaGF2ZSBpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LiBJdCBzaG91bGQgYWxzbyBiZSBvayBub3QgdG8gcHVzaCB2ZXJ0aWNhbGx5LCBzaW5jZSB3ZVxuICAgICAgICAgKiBhbGxvdyBmb3IgdmVydGljYWwgZmxpcHBpbmcgaWYgbmVlZGVkLlxuICAgICAgICAgKiovXG4gICAgICAgIC53aXRoUHVzaChoYXNIb3Jpem9udGFsbHlDZW50ZXJlZEFsaWdubWVudClcbiAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgIHRvQ29ubmVjdGVkUG9zaXRpb24ocGxhY2VtZW50KSxcbiAgICAgICAgICB0b0Nvbm5lY3RlZFBvc2l0aW9uKGZsaXAocGxhY2VtZW50KSksXG4gICAgICAgIF0pXG4gICAgICAgIC53aXRoVmlld3BvcnRNYXJnaW4ocGxhY2VtZW50LmluY2x1ZGVzKCdlbmQnKSA/IDAgOiA2KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
298
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLGFBQWEsR0FFZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxRQUFRLEVBQ1IsS0FBSyxFQUNMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBUXRFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FDL0Msb0JBQW9CLENBQ3JCLENBQUM7QUFFRiw2RUFBNkU7QUFhN0UsTUFBTSxPQUFPLHVCQUF1QjtJQXFEbEMsSUFDVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxZQUNVLGlCQUFvQyxFQUNwQyxVQUFtQixFQUNuQixnQkFBa0MsRUFDbkMsVUFBbUMsRUFDbEMsUUFBa0I7UUFKbEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFTO1FBQ25CLHFCQUFn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QUMsa0NBQWtDO2dCQVV6QyxhQUFhO3NCQUZaLEtBQUs7dUJBQUMsK0JBQStCO2dCQVV0QyxRQUFRO3NCQUZQLEtBQUs7dUJBQUMsMEJBQTBCO2dCQU14QixNQUFNO3NCQURkLE1BQU07dUJBQUMsd0JBQXdCO2dCQUt2QixNQUFNO3NCQURkLE1BQU07dUJBQUMsd0JBQXdCO2dCQVlyQixZQUFZO3NCQUR0QixXQUFXO3VCQUFDLG9CQUFvQjtnQkF1RXpCLGVBQWU7c0JBRHRCLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXdCN0IsV0FBVztzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBY3pCLFNBQVM7c0JBRGhCLFlBQVk7dUJBQUMsYUFBYTtnQkFjbkIsVUFBVTtzQkFEakIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBMkI1QixhQUFhO3NCQURwQixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgT3ZlcmxheVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZmxpcCwgUGxhY2VtZW50LCB0b0Nvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vY29tbW9uL3BsYWNlbWVudCc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29lcmNlQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb2VyY2UtYm9vbGVhbi5kZWNvcmF0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvcG92ZXJUcmlnZ2VyIHtcbiAgdG9nZ2xlKCk6IHZvaWQ7XG4gIG9wZW4oKTogdm9pZDtcbiAgY2xvc2UoKTogdm9pZDtcbiAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG59XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9UUklHR0VSID0gbmV3IEluamVjdGlvblRva2VuPFBvcG92ZXJUcmlnZ2VyPihcbiAgJ3NwLXBvcG92ZXItdHJpZ2dlcidcbik7XG5cbi8vIFRPRE8oVUMtMjcyOCk6IGltcHJvdmUgZXZlbnQgaGFuZGxpbmcgd2hlbiByZXVzYWJsZSBwcmVzcyB1dGlsaXR5IGlzIGFkZGVkXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzcFBvcG92ZXJUcmlnZ2VyRm9yXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogUE9QT1ZFUl9UUklHR0VSLCB1c2VFeGlzdGluZzogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSxcbiAgXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuaXMtYWN0aXZlXSc6ICdpc09wZW4oKScsXG4gICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ2lzT3BlbigpJyxcbiAgfSxcbiAgZXhwb3J0QXM6ICdzcFBvcG92ZXJUcmlnZ2VyJyxcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBQb3BvdmVyVHJpZ2dlciB7XG4gIEBJbnB1dCgnc3BQb3BvdmVyUGxhY2VtZW50JylcbiAgcHVibGljIHBsYWNlbWVudDogUGxhY2VtZW50ID0gJ2JvdHRvbSc7XG5cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyRm9yJylcbiAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIG5vdCBibG9jayBpbnRlcmFjdGlvbiB3aXRoIGJhY2tncm91bmQuXG4gICAqL1xuICBASW5wdXQoJ3NwUG9wb3Zlck5vbk1vZGFsJylcbiAgQENvZXJjZUJvb2xlYW5cbiAgbm9uTW9kYWw6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3BvdmVyIHNob3VsZCBiZSBvcGVuZWQgb24gcHJlc3Mgc3RhcnQuXG4gICAqL1xuICBASW5wdXQoJ3NwUG9wb3ZlclRyaWdnZXJPcGVuT25QcmVzc1N0YXJ0JylcbiAgQENvZXJjZUJvb2xlYW5cbiAgb3Blbk9uUHJlc3NTdGFydDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGNsb3NlZCB3aGVuIHRoZSBjb250YWluZXIgaXMgc2Nyb2xsZWQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoJ3NwUG9wb3ZlclRyaWdnZXJDbG9zZU9uU2Nyb2xsJylcbiAgQENvZXJjZUJvb2xlYW5cbiAgY2xvc2VPblNjcm9sbDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENhbiBiZSB1c2VkIHRvIGRpc2FibGUgdG9nZ2xpbmcgcG9wb3ZlciBvbiBjbGlja3MuIFVzZWZ1bCBpZiBgc3BQb3BvdmVyVHJpZ2dlcmBcbiAgICogaXMgYXBwbGllZCBvbiBhbiBlbGVtZW50IHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCBgZGlzYWJsZWRgIHByb3BlcnR5LlxuICAgKi9cbiAgQElucHV0KCdzcFBvcG92ZXJUcmlnZ2VyRGlzYWJsZWQnKVxuICBAQ29lcmNlQm9vbGVhblxuICBkaXNhYmxlZDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIgaXMgcmVxdWVzdGVkIHRvIG9wZW4gKi9cbiAgQE91dHB1dCgnc3BQb3BvdmVyVHJpZ2dlck9wZW5lZCcpXG4gIHJlYWRvbmx5IG9wZW5lZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBhdHRhY2hlZCBwb3BvdmVyIGlzIHJlcXVlc3RlZCB0byBjbG9zZSAqL1xuICBAT3V0cHV0KCdzcFBvcG92ZXJUcmlnZ2VyQ2xvc2VkJylcbiAgcmVhZG9ubHkgY2xvc2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqIEVtaXRzIHdoZW4gdGhpcyB0cmlnZ2VyIGlzIGRlc3Ryb3llZC4gKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3llZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgLyoqIEEgcmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IHdoaWNoIG1hbmFnZXMgdGhlIHRyaWdnZXJlZCBtZW51ICovXG4gIHByb3RlY3RlZCBvdmVybGF5UmVmOiBPdmVybGF5UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBpc0JlaW5nUHJlc3NlZCA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNvbnRyb2xzJylcbiAgcHVibGljIGdldCBnZXRQb3BvdmVySWQoKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZj8uaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvcignW3JvbGU9XCJkaWFsb2dcIl0nKT8uaWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGNka092ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxuICApIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuXG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogVG9nZ2xlIHRoZSBhdHRhY2hlZCBwb3BvdmVyLiAqL1xuICB0b2dnbGUoKSB7XG4gICAgdGhpcy5pc09wZW4oKSA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuICB9XG5cbiAgLyoqIE9wZW4gdGhlIGF0dGFjaGVkIHBvcG92ZXIuICovXG4gIG9wZW4oKSB7XG4gICAgaWYgKCF0aGlzLmlzT3BlbigpICYmIHRoaXMudGVtcGxhdGVSZWYgIT0gbnVsbCAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5vcGVuZWQubmV4dCgpO1xuICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5jZGtPdmVybGF5LmNyZWF0ZSh0aGlzLmdldE92ZXJsYXlDb25maWcoKSk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KFxuICAgICAgICAgIHRoaXMuZ2V0T3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3koKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLm5leHQoKTtcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgICAgIC5vdXRzaWRlUG9pbnRlckV2ZW50cygpXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKG1lcmdlKHRoaXMuY2xvc2VkLCB0aGlzLmRlc3Ryb3llZCkpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIC8vIElmIHBvcG92ZXIgaXMgb3BlbmVkIG9uIHByZXNzIHN0YXJ0LCBhbiBvdXRzaWRlIHBvaW50ZXIgZXZlbnRcbiAgICAgICAgICAgICAgLy8gaXMgZW1pdHRlZCBhcyB0aGUgbW91c2UgaXMgYmVpbmcgcmVsZWFzZWQsIHdoaWNoIHdvdWxkIGltbWVkaWF0ZWx5XG4gICAgICAgICAgICAgIC8vIGNsb3NlIHRoZSBwb3BvdmVyLiBQcm9iYWJseSBhIGJ1ZyBpbiBAYW5ndWxhci9jZGsvb3ZlcmxheS5cbiAgICAgICAgICAgICAgISh0aGlzLm9wZW5PblByZXNzU3RhcnQgJiYgdGhpcy5pc0JlaW5nUHJlc3NlZCkgJiZcbiAgICAgICAgICAgICAgIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy5nZXRDb250ZW50UG9ydGFsKCkpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENsb3NlIHRoZSBvcGVuZWQgcG9wb3Zlci4gKi9cbiAgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgb3Blbi4gKi9cbiAgaXNPcGVuKCkge1xuICAgIHJldHVybiAhIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgaGFuZGxlTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5pc0JlaW5nUHJlc3NlZCA9IHRydWU7XG4gICAgaWYgKHRoaXMub3Blbk9uUHJlc3NTdGFydCkge1xuICAgICAgaWYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGZvY3VzIHRoZSB0cmlnZ2VyIGJlZm9yZSBvcGVuaW5nLiBPdGhlcndpc2UsIHRoZSBmb2N1cyByZXN0b3JhdGlvbiBsb2dpYyB3aWxsXG4gICAgICAgIC8vIGJlIG1lc3NlZCB1cCwgc2luY2UgdGhlIHdyb25nIGVsZW1lbnQgd291bGQgaGF2ZSB0aGUgZm9jdXMgd2hlbiB0aGUgcG9wb3ZlciBpcyBtb3VudGVkLlxuICAgICAgICBldmVudC5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgJ21vdXNldXAnLFxuICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmlzQmVpbmdQcmVzc2VkID0gZmFsc2U7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgb25jZTogdHJ1ZSB9XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLnRvZ2dsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgcHJpdmF0ZSBoYW5kbGVDbGljaygpIHtcbiAgICBpZiAoIXRoaXMub3Blbk9uUHJlc3NTdGFydCkge1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hpbGUgb25Gb2N1c291dCB0YWtlcyBjYXJlIG9mIGNsb3NpbmcgdGhlIHBvcG92ZXIgd2hlbiBmb2N1cyBnb2VzIG91dCwgaW4gdGhlIHJhcmUgY2FzZXNcbiAgICogdGhhdCB0aGVyZSBpcyBubyBtb3JlIGZvY3VzYWJsZSBlbGVtZW50IGJldHdlZW4gdGhlIHRyaWdnZXIgYW5kIHRoZSBwb3BvdmVyLCB0aGUgZm9jdXMgY2FuXG4gICAqIGdvIHRvIHRoZSBwb3BvdmVyIG9uIHByZXNzaW5nIGBUYWJgLiBCdXQgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIGNsb3NlZCB3aGVuIHRhYmJpbmcgb24gdGhlXG4gICAqIHRyaWdnZXIuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnRhYicpXG4gIHByaXZhdGUgaGFuZGxlVGFiKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbiBzb21lIHVzZSBjYXNlcyAoZS5nLiBpbiBzZWFyY2hhYmxlIHNlbGVjdCkgcG9wb3ZlciB0cmlnZ2VyIGdyYWJzIHRoZSBmb2N1cywgcmlnaHQgYWZ0ZXJcbiAgICogdGhlIHBvcG92ZXIgaXMgb3BlbmVkLiBUaGF0IHJlcXVpcmVzIHBvcG92ZXIgdHJpZ2dlciB0byBkZXRlY3Qgd2hlbiBmb2N1cyBnb2VzIG91dCBvZiBpdFxuICAgKiBhbmQgY2xvc2UgdGhlIHBvcG92ZXIuXG4gICAqIE5vdGU6IHdlIGNhbid0IHVzZSBgYmx1cmAgZXZlbnQgc2luY2UgaXQgd29uJ3QgYnViYmxlIHVwLCBhbmQgdGhlIGZvY3VzIGNhbiBiZSBvbiBhbiBlbGVtZW50XG4gICAqIGluc2lkZSB0aGUgdHJpZ2dlciwgYnV0IG5vdCB0aGUgdHJpZ2dlciBpdHNlbGYuXG4gICAqXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgb25Gb2N1c291dChldmVudDogRm9jdXNFdmVudCkge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQgPT09IG51bGwgJiZcbiAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGV2ZW50LnRhcmdldFxuICAgICkge1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIG9uIHRhYiBzd2l0Y2gsIHdpdGhvdXQgZm9jdXMgYmVpbmcgYWN0dWFsbHkgbW92ZWQuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZvY3VzUmVjZWl2aW5nRWxlbWVudCA9XG4gICAgICBldmVudC5yZWxhdGVkVGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCA/IGV2ZW50LnJlbGF0ZWRUYXJnZXQgOiBudWxsO1xuICAgIGlmIChcbiAgICAgIC8vIGZvY3VzIGlzIGdvaW5nIG5vd2hlcmVcbiAgICAgICFmb2N1c1JlY2VpdmluZ0VsZW1lbnQgfHxcbiAgICAgIC8vIGZvY3VzIGlzIGdvaW5nIGFueXdoZXJlIG91dHNpZGUgcG9wb3ZlciBhbmQgcG9wb3ZlciB0cmlnZ2VyXG4gICAgICAhKFxuICAgICAgICB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKGZvY3VzUmVjZWl2aW5nRWxlbWVudCkgfHxcbiAgICAgICAgLy8gVGhpcyBpcyB0byBub3QgaGF2ZSB0aGUgcG9wb3ZlciBjbG9zZWQgYXMgc29vbiBhcyBtb3VzZSBpcyBkb3duIG9uIHNvbWV0aGluZyBpbnNpZGUgdGhlXG4gICAgICAgIC8vIHBvcG92ZXIsIGlmIHRoZSBmb2N1cyBpcyBjdXJyZW50bHkgb24gdGhlIHRyaWdnZXJcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmPy5vdmVybGF5RWxlbWVudD8uY29udGFpbnMoZm9jdXNSZWNlaXZpbmdFbGVtZW50KVxuICAgICAgKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoXG4gICAgICBldmVudC50YXJnZXQgPT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICYmXG4gICAgICAhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnQpICYmXG4gICAgICAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKVxuICAgICkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMudG9nZ2xlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBkZXN0cm95T3ZlcmxheSgpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKiogR2V0IHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCB1c2VkIHRvIGNyZWF0ZSB0aGUgb3ZlcmxheS4gKi9cbiAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKCkge1xuICAgIHJldHVybiBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5ub25Nb2RhbFxuICAgICAgICA/IHRoaXMuY2xvc2VPblNjcm9sbFxuICAgICAgICAgID8gdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKVxuICAgICAgICAgIDogdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIDogdGhpcy5jZGtPdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuYmxvY2soKSwgLy8gdG8gbWF0Y2ggd2hhdCB3ZSBoYXZlIGluIHJlYWN0XG5cbiAgICAgIC8vIEluY2x1ZGluZyBhIHRyYW5zcGFyZW50IGJhY2tkcm9wIGFjY29yZGluZyB0byB0aGUgbGF0ZXN0IGRlY2lzaW9uIG9mIG1ha2luZyBwb3BvdmVycyBtb2RhbC5cbiAgICAgIGhhc0JhY2tkcm9wOiAhdGhpcy5ub25Nb2RhbCxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXRDb250ZW50UG9ydGFsKCk6IFRlbXBsYXRlUG9ydGFsIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgIHJldHVybiBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgIHRoaXMudGVtcGxhdGVSZWYsXG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgbnVsbCxcbiAgICAgICAgSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFBPUE9WRVJfVFJJR0dFUiwgdXNlVmFsdWU6IHRoaXMgfV0sXG4gICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KCk6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB7XG4gICAgY29uc3QgcGxhY2VtZW50ID0gdGhpcy5wbGFjZW1lbnQgfHwgJ2JvdHRvbSc7XG4gICAgY29uc3QgaGFzSG9yaXpvbnRhbGx5Q2VudGVyZWRBbGlnbm1lbnQgPVxuICAgICAgIXBsYWNlbWVudC5pbmNsdWRlcygnc3RhcnQnKSAmJiAhcGxhY2VtZW50LmluY2x1ZGVzKCdlbmQnKTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jZGtPdmVybGF5XG4gICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgICAgLndpdGhMb2NrZWRQb3NpdGlvbigpXG4gICAgICAgIC53aXRoR3Jvd0FmdGVyT3BlbigpXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBEaXNhYmxpbmcgcHVzaGluZywgdG8gZml4IGFuIGlzc3VlIGluIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB3aGVyZSB0aGVcbiAgICAgICAgICogb3ZlcmxheSdzIGJvdHRvbSBncm93cyBwYXN0IHRoZSB0b3Agb2YgdGhlIHRyaWdnZXIgZWxlbWVudCAoYWthIG9yaWdpbikuXG4gICAgICAgICAqIEkuZS4sIHdoZW4gdGhlIG92ZXJsYXkgaXMgc3VwcG9zZWQgdG8gYmUgcGxhY2VkIGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQsIGl0IGNhblxuICAgICAgICAgKiBncm93IGluIGhlaWdodCBhbmQgY292ZXIgdGhlIHRyaWdnZXIgZWxlbWVudC4gVGhpcyBpcyBtb3JlIG9mIGFuIGlzc3VlIHdoZW4gdGhlIHRyaWdnZXJcbiAgICAgICAgICogZWxlbWVudCByZW1haW5zIGludGVyYWN0aXZlIGFmdGVyIHRoZSBvdmVybGF5IGlzIG9wZW5lZCwgc3VjaCBhcyBpbiBzZWFyY2hhYmxlIHNlbGVjdC5cbiAgICAgICAgICogTm90ZSB0aGF0IHRoaXMgaXMgbm90IHRoZSBjYXNlIHdoZW4gdGhlIG92ZXJsYXkgaXMgcGxhY2VkIGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAgICAgICAqIEluIHRoYXQgY2FzZSB0aGUgb3ZlcmxheSB3aWxsIG5vdCBlYXQgdXAgYWxsIGF2YWlsYWJsZSB2aWV3cG9ydCBoZWlnaHQsIGFuZCBpcyBzaXplZCBpblxuICAgICAgICAgKiBhIHdheSB0aGF0IHJlc3BlY3RzIHRoZSBwcmVmZXJyZWQgcGxhY2VtZW50IGFib3ZlIHRoZSB0cmlnZ2VyIGVsZW1lbnQuXG4gICAgICAgICAqIERpc2FibGluZyBwdXNoIGlzIG5vdCB0aGUgaWRlYWwgc29sdXRpb24gYnV0IHByZXZlbnRzIHRoZSBpc3N1ZS5cbiAgICAgICAgICogcHVzaCBpcyBkaXNhYmxlZCBvbmx5IGZvciBvdmVybGF5cyB3aGVyZSB0aGUgaG9yaXpvbnRhbCBhbGlnbm1lbnQgaXMgYW5jaG9yZWQgdG8gbGVmdFxuICAgICAgICAgKiBvciByaWdodCBvZiB0aGUgdHJpZ2dlciBlbGVtZW50LCBiYXNlZCBvbiB0aGUgZmFpciBhc3N1bXB0aW9uIHRoYXQgdGhlIGNvbm5lY3RlZFxuICAgICAgICAgKiBlbGVtZW50IGlzIGl0c2VsZiB3aXRoaW4gdGhlIHZpZXdwb3J0LCBhbmQgd2Ugd29uJ3QgbmVlZCB0byBwdXNoIHRoZSBvdmVybGF5IGhvcml6b250YWxseVxuICAgICAgICAgKiB0byBoYXZlIGl0IHdpdGhpbiB0aGUgdmlld3BvcnQuIEl0IHNob3VsZCBhbHNvIGJlIG9rIG5vdCB0byBwdXNoIHZlcnRpY2FsbHksIHNpbmNlIHdlXG4gICAgICAgICAqIGFsbG93IGZvciB2ZXJ0aWNhbCBmbGlwcGluZyBpZiBuZWVkZWQuXG4gICAgICAgICAqKi9cbiAgICAgICAgLndpdGhQdXNoKGhhc0hvcml6b250YWxseUNlbnRlcmVkQWxpZ25tZW50KVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgdG9Db25uZWN0ZWRQb3NpdGlvbihwbGFjZW1lbnQpLFxuICAgICAgICAgIHRvQ29ubmVjdGVkUG9zaXRpb24oZmxpcChwbGFjZW1lbnQpKSxcbiAgICAgICAgXSlcbiAgICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbihwbGFjZW1lbnQuaW5jbHVkZXMoJ2VuZCcpID8gMCA6IDYpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -19,6 +19,10 @@ import * as i3 from "@angular/cdk/a11y";
|
|
|
19
19
|
export class PopoverComponent {
|
|
20
20
|
constructor(trigger) {
|
|
21
21
|
this.trigger = trigger;
|
|
22
|
+
/**
|
|
23
|
+
* Whether the default behavior of moving focus to the popover content upon open should be disabled
|
|
24
|
+
*/
|
|
25
|
+
this.noAutoFocus = false;
|
|
22
26
|
this.ID = `sp-popover-${Math.floor(Math.random() * 1000000000)}`;
|
|
23
27
|
/**
|
|
24
28
|
* Keeps track of if the content is focused
|
|
@@ -26,7 +30,7 @@ export class PopoverComponent {
|
|
|
26
30
|
this.contentFocused = false;
|
|
27
31
|
}
|
|
28
32
|
ngAfterViewInit() {
|
|
29
|
-
if (!this.contentFocused) {
|
|
33
|
+
if (!this.contentFocused && !this.noAutoFocus) {
|
|
30
34
|
this.contentWrapper?.nativeElement.focus();
|
|
31
35
|
}
|
|
32
36
|
}
|
|
@@ -51,13 +55,16 @@ export class PopoverComponent {
|
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
PopoverComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PopoverComponent, deps: [{ token: POPOVER_TRIGGER, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: PopoverComponent, selector: "sp-popover", inputs: { noPadding: "noPadding", noMaxWidth: "noMaxWidth" }, host: { attributes: { "role": "presentation" }, listeners: { "keydown.Escape": "handleEscape($event)" }, properties: { "class.sapphire-popover": "true", "class.sapphire-popover--padded": "!noPadding", "class.sapphire-popover--max-width": "!noMaxWidth" } }, queries: [{ propertyName: "title", first: true, predicate: PopoverTitleDirective, descendants: true }], viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.ThemeCheckDirective }, { directive: i2.UseComponentStylesOnHost }], ngImport: i0, template: "<!--\nNOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria. It does NOT prevent focus from going out of popover,\n which is good, as we want the popover to close on blur.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@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)}.dialog{outline:none}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }] });
|
|
58
|
+
PopoverComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: PopoverComponent, selector: "sp-popover", inputs: { noPadding: "noPadding", noMaxWidth: "noMaxWidth", noAutoFocus: "noAutoFocus" }, host: { attributes: { "role": "presentation" }, listeners: { "keydown.Escape": "handleEscape($event)" }, properties: { "class.sapphire-popover": "true", "class.sapphire-popover--padded": "!noPadding", "class.sapphire-popover--max-width": "!noMaxWidth" } }, queries: [{ propertyName: "title", first: true, predicate: PopoverTitleDirective, descendants: true }], viewQueries: [{ propertyName: "contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, read: ElementRef }], hostDirectives: [{ directive: i1.ThemeCheckDirective }, { directive: i2.UseComponentStylesOnHost }], ngImport: i0, template: "<!--\nNOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria. It does NOT prevent focus from going out of popover,\n which is good, as we want the popover to close on blur.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"!noAutoFocus\"\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@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)}.dialog{outline:none}\n"], dependencies: [{ kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }] });
|
|
55
59
|
__decorate([
|
|
56
60
|
CoerceBoolean
|
|
57
61
|
], PopoverComponent.prototype, "noPadding", void 0);
|
|
58
62
|
__decorate([
|
|
59
63
|
CoerceBoolean
|
|
60
64
|
], PopoverComponent.prototype, "noMaxWidth", void 0);
|
|
65
|
+
__decorate([
|
|
66
|
+
CoerceBoolean
|
|
67
|
+
], PopoverComponent.prototype, "noAutoFocus", void 0);
|
|
61
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
62
69
|
type: Component,
|
|
63
70
|
args: [{ selector: 'sp-popover', host: {
|
|
@@ -65,7 +72,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
65
72
|
'[class.sapphire-popover--padded]': '!noPadding',
|
|
66
73
|
'[class.sapphire-popover--max-width]': '!noMaxWidth',
|
|
67
74
|
role: 'presentation',
|
|
68
|
-
}, hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], template: "<!--\nNOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria. It does NOT prevent focus from going out of popover,\n which is good, as we want the popover to close on blur.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@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)}.dialog{outline:none}\n"] }]
|
|
75
|
+
}, hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], template: "<!--\nNOTE: cdkTrapFocus is required for cdkTrapFocusAutoCapture to work, which would be similar to\n <FocusScope autoFocus /> in react-aria. It does NOT prevent focus from going out of popover,\n which is good, as we want the popover to close on blur.\n -->\n<div\n #contentWrapper\n [id]=\"ID\"\n role=\"dialog\"\n tabindex=\"-1\"\n cdkMonitorSubtreeFocus\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"!noAutoFocus\"\n class=\"dialog\"\n [attr.aria-labelledby]=\"title?.ID\"\n (cdkFocusChange)=\"_contentFocusChanged($event)\"\n>\n <ng-content></ng-content>\n</div>\n", styles: ["@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)}.dialog{outline:none}\n"] }]
|
|
69
76
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
70
77
|
type: Optional
|
|
71
78
|
}, {
|
|
@@ -81,8 +88,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImpor
|
|
|
81
88
|
}], contentWrapper: [{
|
|
82
89
|
type: ViewChild,
|
|
83
90
|
args: ['contentWrapper', { read: ElementRef }]
|
|
91
|
+
}], noAutoFocus: [{
|
|
92
|
+
type: Input
|
|
84
93
|
}], handleEscape: [{
|
|
85
94
|
type: HostListener,
|
|
86
95
|
args: ['keydown.Escape', ['$event']]
|
|
87
96
|
}] } });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9wb3BvdmVyL3NyYy9wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0sNkJBQTZCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBRXBGOzs7OztHQUtHO0FBYUgsTUFBTSxPQUFPLGdCQUFnQjtJQTRCM0IsWUFDK0MsT0FBd0I7UUFBeEIsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFmdkU7O1dBRUc7UUFHSCxnQkFBVyxHQUFpQixLQUFLLENBQUM7UUFFbEMsT0FBRSxHQUFXLGNBQWMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUVwRTs7V0FFRztRQUNLLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0lBSTVCLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzdDLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUdPLFlBQVksQ0FBQyxLQUFvQjtRQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQW1CO1FBQ3RDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQztRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QiwyRkFBMkY7WUFDM0YsMkZBQTJGO1lBQzNGLGdCQUFnQjtZQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQ0UsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUM5QyxRQUFRLENBQUMsYUFBYSxDQUN2QixFQUNEO29CQUNBLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7aUJBQ3ZCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7OzZHQTlEVSxnQkFBZ0Isa0JBNkJMLGVBQWU7aUdBN0IxQixnQkFBZ0IsZ2JBU2IscUJBQXFCLDZJQUVFLFVBQVUsa0lDbERqRCxza0JBbUJBO0FEdUJFO0lBREMsYUFBYTttREFDVTtBQUl4QjtJQURDLGFBQWE7b0RBQ1c7QUFZekI7SUFEQyxhQUFhO3FEQUNvQjsyRkFuQnZCLGdCQUFnQjtrQkFaNUIsU0FBUzsrQkFDRSxZQUFZLFFBR2hCO3dCQUNKLDBCQUEwQixFQUFFLE1BQU07d0JBQ2xDLGtDQUFrQyxFQUFFLFlBQVk7d0JBQ2hELHFDQUFxQyxFQUFFLGFBQWE7d0JBQ3BELElBQUksRUFBRSxjQUFjO3FCQUNyQixrQkFDZSxDQUFDLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDOzswQkErQjVELFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs0Q0ExQnJDLFNBQVM7c0JBRlIsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBSStCLEtBQUs7c0JBQXpDLFlBQVk7dUJBQUMscUJBQXFCO2dCQUczQixjQUFjO3NCQURyQixTQUFTO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFRakQsV0FBVztzQkFGVixLQUFLO2dCQXNCRSxZQUFZO3NCQURuQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNNb2RpZmllcktleSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmltcG9ydCB7IFRoZW1lQ2hlY2tEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90aGVtZS9zcmMvdGhlbWUtY2hlY2suZGlyZWN0aXZlJztcbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IFBPUE9WRVJfVFJJR0dFUiwgUG9wb3ZlclRyaWdnZXIgfSBmcm9tICcuL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9wb3ZlclRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXRpdGxlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBVc2VDb21wb25lbnRTdHlsZXNPbkhvc3QgfSBmcm9tICcuLi8uLi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcblxuLyoqXG4gKiBBIGdlbmVyaWMgcG9wb3ZlciBjb21wb25lbnQgd2hpY2ggbGV0cyB5b3UgcmVuZGVyIGFyYml0cmFyeVxuICogY29udGVudCBpbiBhIHBvcG92ZXIgb3ZlcmxheSB3aGljaCBpcyBsaW5rZWQgdG8gYSB0cmlnZ2VyLCBhbmQgaXMgYWNjZXNzaWJsZVxuICogYXNcbiAqIFtkaWFsb2ddKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FjY2Vzc2liaWxpdHkvQVJJQS9Sb2xlcy9kaWFsb2dfcm9sZSkuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcG92ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muc2FwcGhpcmUtcG9wb3Zlcl0nOiAndHJ1ZScsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1wb3BvdmVyLS1wYWRkZWRdJzogJyFub1BhZGRpbmcnLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtcG9wb3Zlci0tbWF4LXdpZHRoXSc6ICchbm9NYXhXaWR0aCcsXG4gICAgcm9sZTogJ3ByZXNlbnRhdGlvbicsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbVGhlbWVDaGVja0RpcmVjdGl2ZSwgVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0XSxcbn0pXG5leHBvcnQgY2xhc3MgUG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBub1BhZGRpbmc6IEJvb2xlYW5JbnB1dDtcblxuICBASW5wdXQoKVxuICBAQ29lcmNlQm9vbGVhblxuICBub01heFdpZHRoOiBCb29sZWFuSW5wdXQ7XG5cbiAgQENvbnRlbnRDaGlsZChQb3BvdmVyVGl0bGVEaXJlY3RpdmUpIHRpdGxlPzogUG9wb3ZlclRpdGxlRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnRXcmFwcGVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHByaXZhdGUgY29udGVudFdyYXBwZXI/OiBFbGVtZW50UmVmO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIG1vdmluZyBmb2N1cyB0byB0aGUgcG9wb3ZlciBjb250ZW50IHVwb24gb3BlbiBzaG91bGQgYmUgZGlzYWJsZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIG5vQXV0b0ZvY3VzOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICBJRDogc3RyaW5nID0gYHNwLXBvcG92ZXItJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwKX1gO1xuXG4gIC8qKlxuICAgKiBLZWVwcyB0cmFjayBvZiBpZiB0aGUgY29udGVudCBpcyBmb2N1c2VkXG4gICAqL1xuICBwcml2YXRlIGNvbnRlbnRGb2N1c2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQT1BPVkVSX1RSSUdHRVIpIHByaXZhdGUgdHJpZ2dlcj86IFBvcG92ZXJUcmlnZ2VyXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRlbnRGb2N1c2VkICYmICF0aGlzLm5vQXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLmNvbnRlbnRXcmFwcGVyPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5Fc2NhcGUnLCBbJyRldmVudCddKVxuICBwcml2YXRlIGhhbmRsZUVzY2FwZShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICghaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy50cmlnZ2VyPy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIF9jb250ZW50Rm9jdXNDaGFuZ2VkKG9yaWdpbjogRm9jdXNPcmlnaW4pIHtcbiAgICB0aGlzLmNvbnRlbnRGb2N1c2VkID0gb3JpZ2luICE9IG51bGw7XG4gICAgaWYgKCF0aGlzLmNvbnRlbnRGb2N1c2VkKSB7XG4gICAgICAvLyBjZGtGb2N1c0NoYW5nZSBkb2Vzbid0IGdpdmUgYWNjZXNzIHRvIHRoZSBuYXRpdmUgZXZlbnQsIHNvIHdlIGNhbid0IGZpZ3VyZSBvdXQgd2hlcmUgdGhlXG4gICAgICAvLyBmb2N1cyBpcyBnb2luZy4gU28gd2UgYXN5bmNocm9ub3VzbHkgY2hlY2sgaWYgdGhlIGZvY3VzIGlzIG91dHNpZGUgdGhlIHRyaWdnZXIgYW5kIGNsb3NlXG4gICAgICAvLyBpbiB0aGF0IGNhc2UuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICF0aGlzLnRyaWdnZXI/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhcbiAgICAgICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRcbiAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMudHJpZ2dlcj8uY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8IS0tXG5OT1RFOiBjZGtUcmFwRm9jdXMgaXMgcmVxdWlyZWQgZm9yIGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlIHRvIHdvcmssIHdoaWNoIHdvdWxkIGJlIHNpbWlsYXIgdG9cbiA8Rm9jdXNTY29wZSBhdXRvRm9jdXMgLz4gaW4gcmVhY3QtYXJpYS4gSXQgZG9lcyBOT1QgcHJldmVudCBmb2N1cyBmcm9tIGdvaW5nIG91dCBvZiBwb3BvdmVyLFxuIHdoaWNoIGlzIGdvb2QsIGFzIHdlIHdhbnQgdGhlIHBvcG92ZXIgdG8gY2xvc2Ugb24gYmx1ci5cbiAgLS0+XG48ZGl2XG4gICNjb250ZW50V3JhcHBlclxuICBbaWRdPVwiSURcIlxuICByb2xlPVwiZGlhbG9nXCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIGNka01vbml0b3JTdWJ0cmVlRm9jdXNcbiAgY2RrVHJhcEZvY3VzXG4gIFtjZGtUcmFwRm9jdXNBdXRvQ2FwdHVyZV09XCIhbm9BdXRvRm9jdXNcIlxuICBjbGFzcz1cImRpYWxvZ1wiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJ0aXRsZT8uSURcIlxuICAoY2RrRm9jdXNDaGFuZ2UpPVwiX2NvbnRlbnRGb2N1c0NoYW5nZWQoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|