@fundamental-ngx/core 0.43.6 → 0.43.8
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/combobox/combobox.component.mjs +1 -1
- package/esm2020/list/list-navigation-item/list-navigation-item.component.mjs +16 -12
- package/esm2020/list/list.component.mjs +22 -13
- package/esm2020/multi-combobox/multi-combobox.component.mjs +1 -1
- package/esm2020/multi-input/multi-input.component.mjs +80 -49
- package/esm2020/popover/index.mjs +12 -12
- package/esm2020/popover/popover-body/popover-body-directives/popover-body-footer.directive.mjs +4 -3
- package/esm2020/popover/popover-body/popover-body-directives/popover-body-header.directive.mjs +4 -3
- package/esm2020/popover/popover-body/popover-body.component.mjs +8 -11
- package/esm2020/popover/popover-body.directive.mjs +20 -0
- package/esm2020/popover/popover-container/popover-container.directive.mjs +4 -3
- package/esm2020/popover/popover-control/popover-control.component.mjs +3 -3
- package/esm2020/popover/popover-mobile/popover-mobile.component.mjs +10 -7
- package/esm2020/popover/popover-mobile/popover-mobile.module.mjs +4 -5
- package/esm2020/popover/popover-service/popover.service.mjs +20 -14
- package/esm2020/popover/popover-trigger.directive.mjs +4 -3
- package/esm2020/popover/popover.component.mjs +29 -16
- package/esm2020/popover/popover.module.mjs +20 -18
- package/esm2020/select/select.component.mjs +1 -1
- package/esm2020/table/directives/table-row.directive.mjs +6 -3
- package/esm2020/token/tokenizer.component.mjs +1 -1
- package/esm2020/upload-collection/upload-collection.component.mjs +1 -1
- package/esm2020/vertical-navigation/vertical-navigation.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-combobox.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-list.mjs +76 -63
- package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-input.mjs +83 -53
- package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-popover.mjs +440 -399
- package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-select.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-table.mjs +5 -2
- package/fesm2015/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-token.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-combobox.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-list.mjs +76 -63
- package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-input.mjs +82 -52
- package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-popover.mjs +449 -408
- package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-select.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-table.mjs +5 -2
- package/fesm2020/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-token.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fundamental-ngx-core-v0.43.8.tgz +0 -0
- package/list/list-navigation-item/list-navigation-item.component.d.ts +8 -6
- package/list/list.component.d.ts +15 -6
- package/multi-input/multi-input.component.d.ts +48 -39
- package/package.json +3 -3
- package/popover/index.d.ts +11 -11
- package/popover/popover-body/popover-body-directives/popover-body-footer.directive.d.ts +1 -1
- package/popover/popover-body/popover-body-directives/popover-body-header.directive.d.ts +1 -1
- package/popover/popover-body/popover-body.component.d.ts +1 -1
- package/popover/popover-body.directive.d.ts +10 -0
- package/popover/popover-container/popover-container.directive.d.ts +1 -1
- package/popover/popover-control/popover-control.component.d.ts +1 -1
- package/popover/popover-mobile/popover-mobile.component.d.ts +3 -3
- package/popover/popover-mobile/popover-mobile.module.d.ts +5 -5
- package/popover/popover-service/popover.service.d.ts +6 -4
- package/popover/popover-trigger.directive.d.ts +1 -1
- package/popover/popover.component.d.ts +9 -2
- package/popover/popover.module.d.ts +2 -5
- package/schematics/add-dependencies/index.js +4 -4
- package/fundamental-ngx-core-v0.43.6.tgz +0 -0
|
@@ -513,7 +513,7 @@ ComboboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
513
513
|
provide: FD_COMBOBOX_COMPONENT,
|
|
514
514
|
useExisting: ComboboxComponent
|
|
515
515
|
}
|
|
516
|
-
], queries: [{ propertyName: "listMessages", predicate: FD_LIST_MESSAGE_DIRECTIVE }], viewQueries: [{ propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "inputGroup", first: true, predicate: InputGroupComponent, descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"mobile ? mobileTemplate : desktopTemplate\"></ng-container>\n\n<ng-template #desktopTemplate>\n <fd-popover\n additionalBodyClass=\"fd-popover-custom-list\"\n [class.fd-combobox-full-width]=\"isSearch\"\n [isOpen]=\"open && displayedValues && displayedValues.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [scrollStrategy]=\"_repositionScrollStrategy\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readOnly\"\n [maxWidth]=\"640\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"!displayedValues.length\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template let-term=\"term\" #itemSource>\n <span\n fd-list-title\n *ngIf=\"!itemTemplate\"\n [innerHTML]=\"term | displayFnPipe : displayFn | highlight : inputText : highlighting && filterHighlight\"\n >\n </span>\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: term }\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #mobileTemplate>\n <ng-container [ngTemplateOutlet]=\"controlTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #controlTemplate>\n <fd-input-group\n [button]=\"showDropdownButton\"\n [glyph]=\"showDropdownButton ? glyphValue : null\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [isControl]=\"true\"\n [isExpanded]=\"!mobile && open && displayedValues.length > 0\"\n [showFocus]=\"!clearInputBtnFocused\"\n [glyphAriaLabel]=\"ariaLabel || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n [iconTitle]=\"title || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n (click)=\"mobile && isOpenChangeHandle(true)\"\n >\n <input\n #searchInputElement\n fdkAutoComplete\n fd-input-group-input\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"comboboxId + '-list-results'\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? comboboxId + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-expanded]=\"!mobile && open && displayedValues.length\"\n [attr.aria-required]=\"required\"\n [attr.tabindex]=\"readOnly || disabled ? -1 : null\"\n [enable]=\"autoComplete && !mobile\"\n [displayFn]=\"displayFn\"\n [options]=\"dropdownValues\"\n [inputText]=\"inputText\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [attr.aria-readonly]=\"readOnly\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [(ngModel)]=\"inputText\"\n (onComplete)=\"handleAutoComplete($event)\"\n (keydown)=\"onInputKeydownHandler($event)\"\n (ngModelChange)=\"handleSearchTermChange()\"\n (blur)=\"handleBlur()\"\n />\n <span\n class=\"fd-input-group__addon fd-input-group__addon--button\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n *ngIf=\"isSearch && showClearButton && inputText && inputText.length > 0\"\n >\n <button\n fd-button\n class=\"fd-input-group__button\"\n type=\"button\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n title=\"Clear input\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [attr.tabindex]=\"clearButtonFocusable ? 0 : -1\"\n (focus)=\"clearInputBtnFocus()\"\n (blur)=\"clearInputBtnBlur()\"\n (click)=\"_handleClearSearchTerm()\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </span>\n </fd-input-group>\n <div [id]=\"comboboxId + '-list-results'\" class=\"fd-combobox-count-list-results\">\n {{ displayedValues.length || 0 }} result list items\n </div>\n</ng-template>\n\n<ng-template #listTemplate>\n <ul\n fd-list\n class=\"fd-combobox-custom-list\"\n [dropdownMode]=\"true\"\n [id]=\"comboboxId + '-result'\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"comboboxId + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [hasMessage]=\"listMessages && listMessages.length > 0\"\n [byline]=\"byline\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n >\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupFn\">\n <ng-container *ngFor=\"let group of displayedValues | listGroupPipe : groupFn\">\n <li role=\"group\" fd-list-group-header [tabindex]=\"0\">\n <span fd-list-title>{{ group.key }}</span>\n </li>\n <li\n role=\"option\"\n fd-list-item\n [attr.aria-placeholder]=\"group.key\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of group.value\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemSource\"\n [ngTemplateOutletContext]=\"{ term: term }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupFn\">\n <li\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of displayedValues\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container [ngTemplateOutlet]=\"itemSource\" [ngTemplateOutletContext]=\"{ term: term }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n", styles: [".fd-combobox-custom-class,.fd-combobox-custom-class .fd-combobox-shellbar-custom{display:inline-block}.fd-list__item.fd-combobox-list-item{cursor:pointer}.fd-combobox-full-width{width:100%}.fd-combobox-count-list-results{position:absolute;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i5.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i5.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i8.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i8.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: i9.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator"], outputs: ["focusEscapeList"] }, { kind: "component", type: i9.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i9.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i9.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i10.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i2.AutoCompleteDirective, selector: "[fdkAutoComplete], [fdAutoComplete], [fd-auto-complete]", inputs: ["options", "inputText", "enable", "displayFn"], outputs: ["onComplete"] }, { kind: "pipe", type: i2.DisplayFnPipe, name: "displayFnPipe" }, { kind: "pipe", type: i2.SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i12.ListGroupPipe, name: "listGroupPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
516
|
+
], queries: [{ propertyName: "listMessages", predicate: FD_LIST_MESSAGE_DIRECTIVE }], viewQueries: [{ propertyName: "listComponent", first: true, predicate: ListComponent, descendants: true }, { propertyName: "searchInputElement", first: true, predicate: ["searchInputElement"], descendants: true }, { propertyName: "popoverComponent", first: true, predicate: PopoverComponent, descendants: true }, { propertyName: "inputGroup", first: true, predicate: InputGroupComponent, descendants: true }, { propertyName: "controlTemplate", first: true, predicate: ["controlTemplate"], descendants: true }, { propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"mobile ? mobileTemplate : desktopTemplate\"></ng-container>\n\n<ng-template #desktopTemplate>\n <fd-popover\n additionalBodyClass=\"fd-popover-custom-list\"\n [class.fd-combobox-full-width]=\"isSearch\"\n [isOpen]=\"open && displayedValues && displayedValues.length > 0\"\n (isOpenChange)=\"isOpenChangeHandle($event)\"\n [fillControlMode]=\"fillControlMode\"\n [scrollStrategy]=\"_repositionScrollStrategy\"\n [focusTrapped]=\"true\"\n [triggers]=\"triggers\"\n [disabled]=\"disabled || readOnly\"\n [maxWidth]=\"640\"\n [closeOnOutsideClick]=\"closeOnOutsideClick\"\n >\n <fd-popover-control>\n <ng-container *ngTemplateOutlet=\"controlTemplate\"></ng-container>\n </fd-popover-control>\n <fd-popover-body [hidden]=\"!displayedValues.length\">\n <ng-container *ngTemplateOutlet=\"listTemplate\"></ng-container>\n <ng-content></ng-content>\n </fd-popover-body>\n </fd-popover>\n</ng-template>\n\n<ng-template let-term=\"term\" #itemSource>\n <span\n fd-list-title\n *ngIf=\"!itemTemplate\"\n [innerHTML]=\"term | displayFnPipe : displayFn | highlight : inputText : highlighting && filterHighlight\"\n >\n </span>\n <ng-container *ngIf=\"itemTemplate\">\n <ng-container [ngTemplateOutlet]=\"itemTemplate\" [ngTemplateOutletContext]=\"{ $implicit: term }\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #mobileTemplate>\n <ng-container [ngTemplateOutlet]=\"controlTemplate\"></ng-container>\n</ng-template>\n\n<ng-template #controlTemplate>\n <fd-input-group\n [button]=\"showDropdownButton\"\n [glyph]=\"showDropdownButton ? glyphValue : null\"\n [state]=\"state\"\n [buttonFocusable]=\"buttonFocusable\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [isControl]=\"true\"\n [isExpanded]=\"!mobile && open && displayedValues.length > 0\"\n [showFocus]=\"!clearInputBtnFocused\"\n [glyphAriaLabel]=\"ariaLabel || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n [iconTitle]=\"title || ('platformMultiCombobox.inputGlyphAriaLabel' | fdTranslate)\"\n (addOnButtonClicked)=\"onPrimaryButtonClick()\"\n (click)=\"mobile && isOpenChangeHandle(true)\"\n >\n <input\n #searchInputElement\n fdkAutoComplete\n fd-input-group-input\n type=\"text\"\n role=\"combobox\"\n autocomplete=\"off\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"comboboxId + '-list-results'\"\n [attr.aria-autocomplete]=\"autoComplete && !mobile ? 'list' : null\"\n [attr.aria-owns]=\"autoComplete && !mobile ? comboboxId + '-result' : null\"\n [attr.aria-haspopup]=\"autoComplete && !mobile\"\n [attr.aria-expanded]=\"!mobile && open && displayedValues.length\"\n [attr.aria-required]=\"required\"\n [attr.tabindex]=\"readOnly || disabled ? -1 : null\"\n [enable]=\"autoComplete && !mobile\"\n [displayFn]=\"displayFn\"\n [options]=\"dropdownValues\"\n [inputText]=\"inputText\"\n [disabled]=\"disabled\"\n [readonly]=\"readOnly\"\n [attr.aria-readonly]=\"readOnly\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [(ngModel)]=\"inputText\"\n (onComplete)=\"handleAutoComplete($event)\"\n (keydown)=\"onInputKeydownHandler($event)\"\n (ngModelChange)=\"handleSearchTermChange()\"\n (blur)=\"handleBlur()\"\n />\n <span\n class=\"fd-input-group__addon fd-input-group__addon--button\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n *ngIf=\"isSearch && showClearButton && inputText && inputText.length > 0\"\n >\n <button\n fd-button\n class=\"fd-input-group__button\"\n type=\"button\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n title=\"Clear input\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [attr.tabindex]=\"clearButtonFocusable ? 0 : -1\"\n (focus)=\"clearInputBtnFocus()\"\n (blur)=\"clearInputBtnBlur()\"\n (click)=\"_handleClearSearchTerm()\"\n >\n <fd-icon glyph=\"decline\"></fd-icon>\n </button>\n </span>\n </fd-input-group>\n <div [id]=\"comboboxId + '-list-results'\" class=\"fd-combobox-count-list-results\">\n {{ displayedValues.length || 0 }} result list items\n </div>\n</ng-template>\n\n<ng-template #listTemplate>\n <ul\n fd-list\n class=\"fd-combobox-custom-list\"\n [dropdownMode]=\"true\"\n [id]=\"comboboxId + '-result'\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"comboboxId + '-search'\"\n [style.maxHeight]=\"!mobile && maxHeight\"\n [hasMessage]=\"listMessages && listMessages.length > 0\"\n [byline]=\"byline\"\n (focusEscapeList)=\"handleListFocusEscape($event)\"\n >\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupFn\">\n <ng-container *ngFor=\"let group of displayedValues | listGroupPipe : groupFn\">\n <li role=\"group\" fd-list-group-header [tabindex]=\"0\">\n <span fd-list-title>{{ group.key }}</span>\n </li>\n <li\n role=\"option\"\n fd-list-item\n [attr.aria-placeholder]=\"group.key\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of group.value\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"itemSource\"\n [ngTemplateOutletContext]=\"{ term: term }\"\n ></ng-container>\n </li>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!groupFn\">\n <li\n fd-list-item\n role=\"option\"\n [tabindex]=\"0\"\n class=\"fd-combobox-list-item\"\n *ngFor=\"let term of displayedValues\"\n [selected]=\"isSelected(term)\"\n (keyDown)=\"onItemKeyDownHandler($event, term)\"\n (click)=\"onMenuClickHandler(term)\"\n >\n <ng-container [ngTemplateOutlet]=\"itemSource\" [ngTemplateOutletContext]=\"{ term: term }\"></ng-container>\n </li>\n </ng-container>\n </ul>\n</ng-template>\n", styles: [".fd-combobox-custom-class,.fd-combobox-custom-class .fd-combobox-shellbar-custom{display:inline-block}.fd-list__item.fd-combobox-list-item{cursor:pointer}.fd-combobox-full-width{width:100%}.fd-combobox-count-list-results{position:absolute;opacity:0;z-index:-1}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i5.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i5.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i8.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i8.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: i9.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i9.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i9.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i9.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i10.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "directive", type: i2.AutoCompleteDirective, selector: "[fdkAutoComplete], [fdAutoComplete], [fd-auto-complete]", inputs: ["options", "inputText", "enable", "matcher", "displayFn"], outputs: ["onComplete"] }, { kind: "pipe", type: i2.DisplayFnPipe, name: "displayFnPipe" }, { kind: "pipe", type: i2.SearchHighlightPipe, name: "highlight" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: i12.ListGroupPipe, name: "listGroupPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
517
517
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComboboxComponent, decorators: [{
|
|
518
518
|
type: Component,
|
|
519
519
|
args: [{ selector: 'fd-combobox', providers: [
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Component, ContentChild, ContentChildren, ElementRef, forwardRef, HostBinding, HostListener, Input, Optional, QueryList } from '@angular/core';
|
|
2
|
-
import { FD_ICON_COMPONENT, IconComponent } from '@fundamental-ngx/core/icon';
|
|
3
|
-
import { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';
|
|
4
1
|
import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';
|
|
2
|
+
import { Component, ContentChild, ContentChildren, ElementRef, HostBinding, HostListener, Input, Optional, QueryList, forwardRef } from '@angular/core';
|
|
3
|
+
import { KeyUtil, RtlService } from '@fundamental-ngx/cdk/utils';
|
|
4
|
+
import { FD_ICON_COMPONENT, IconComponent } from '@fundamental-ngx/core/icon';
|
|
5
5
|
import { Subject } from 'rxjs';
|
|
6
6
|
import { ListNavigationItemArrowDirective } from '../directives/list-navigation-item-arrow.directive';
|
|
7
7
|
import { ListNavigationItemTextDirective } from '../directives/list-navigation-item-text.directive';
|
|
@@ -11,6 +11,10 @@ import * as i1 from "@fundamental-ngx/cdk/utils";
|
|
|
11
11
|
import * as i2 from "@angular/common";
|
|
12
12
|
import * as i3 from "@fundamental-ngx/core/icon";
|
|
13
13
|
export class ListNavigationItemComponent {
|
|
14
|
+
/** @hidden */
|
|
15
|
+
get _ariaExpanded() {
|
|
16
|
+
return this._isExpandable ? this._expanded : null;
|
|
17
|
+
}
|
|
14
18
|
/** @hidden */
|
|
15
19
|
constructor(_elementRef, _rtlService) {
|
|
16
20
|
this._elementRef = _elementRef;
|
|
@@ -24,19 +28,19 @@ export class ListNavigationItemComponent {
|
|
|
24
28
|
/** @hidden */
|
|
25
29
|
this._isExpandable = false;
|
|
26
30
|
/** @hidden */
|
|
27
|
-
this._expanded = false;
|
|
28
|
-
/** @hidden */
|
|
29
31
|
this._condensed = false;
|
|
32
|
+
/** @hidden */
|
|
33
|
+
this._expanded = false;
|
|
30
34
|
/** @hidden
|
|
31
35
|
* false if list-item is within unexpanded list (not visible to user until list expanded). default is true
|
|
32
36
|
*/
|
|
33
37
|
this._isItemVisible = true;
|
|
34
|
-
/** @hidden handles rtl service */
|
|
35
|
-
this._dir = 'ltr';
|
|
36
38
|
/** @hidden */
|
|
37
39
|
this._focused$ = new Subject();
|
|
38
40
|
/** @hidden */
|
|
39
41
|
this._clicked$ = new Subject();
|
|
42
|
+
/** @hidden handles rtl service */
|
|
43
|
+
this._dir = 'ltr';
|
|
40
44
|
}
|
|
41
45
|
/** @hidden */
|
|
42
46
|
ngAfterContentInit() {
|
|
@@ -154,7 +158,7 @@ export class ListNavigationItemComponent {
|
|
|
154
158
|
}
|
|
155
159
|
}
|
|
156
160
|
ListNavigationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListNavigationItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
157
|
-
ListNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListNavigationItemComponent, selector: "[fd-list-navigation-item], [fdListNavigaitonItem]", inputs: { expanded: "expanded", indicated: "indicated" }, host: { attributes: { "role": "treeitem" }, listeners: { "click": "onItemClick($event)", "keydown": "keyDownHandler($event)", "focus": "onFocus($event)" }, properties: { "class.is-expanded": "this.expanded", "class.fd-list__navigation-item--indicated": "this.indicated", "class.fd-list__navigation-item": "this._navigationItemClass", "class.fd-list__navigation-item--expandable": "this._isExpandable", "attr.tabindex": "this._tabIndex", "attr.aria-expanded": "this._expanded", "attr.aria-level": "this._ariaLevel", "class.fd-list__navigation-item--condensed": "this._condensed" } }, queries: [{ propertyName: "_listComponent", first: true, predicate: FD_LIST_COMPONENT, descendants: true }, { propertyName: "_listNavigationItemArrow", first: true, predicate: ListNavigationItemArrowDirective, descendants: true }, { propertyName: "_iconComponent", first: true, predicate: FD_ICON_COMPONENT, descendants: true }, { propertyName: "_text", first: true, predicate: ListNavigationItemTextDirective, descendants: true }, { propertyName: "_childItems", predicate: i0.forwardRef(function () { return ListNavigationItemComponent; }), descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content> <ng-container [ngTemplateOutlet]=\"subListTemplate\"></ng-container\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ng-container [ngTemplateOutlet]=\"subListTemplate\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #subListTemplate>\n <ng-content select=\"[fd-list]\"></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-popover{-webkit-box-sizing:border-box;--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:100%;padding:0;position:relative}.fd-popover:after,.fd-popover:before{box-sizing:inherit;font-size:inherit}.fd-popover__control{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{margin-bottom:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Border_Radius);overflow:auto;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;-webkit-box-sizing:border-box;-webkit-box-shadow:var(--sapContent_Shadow2);-webkit-transition:all .125s;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Border_Radius);box-shadow:var(--sapContent_Shadow2);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;opacity:1;padding:0;position:absolute;top:calc(var(--fdPopover_Offset) + .5rem);transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{box-sizing:inherit;content:\"\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;top:calc(-.5rem + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:.5rem solid var(--fdPopover_Border_Color);border-left:.5rem solid transparent;border-right:.5rem solid transparent;top:-.5rem;z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body ol:first-child li:first-child a:before,.fd-popover__body ol:first-child li:first-child:before,.fd-popover__body ul:first-child li:first-child a:before,.fd-popover__body ul:first-child li:first-child:before,.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body ol:last-child li:last-child a:before,.fd-popover__body ol:last-child li:last-child:before,.fd-popover__body ul:last-child li:last-child a:before,.fd-popover__body ul:last-child li:last-child:before,.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{box-shadow:var(--sapContent_Shadow1);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--center{-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));left:var(--fdPopover_Center_Offset);transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{-webkit-transform:translateX(var(--fdPopover_Center_Offset));left:auto;right:var(--fdPopover_Center_Offset);transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));top:var(--fdPopover_Center_Offset);transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + .5rem)!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-top:.5rem solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + .5rem)!important}.fd-popover__body--arrow-left:before{border-bottom:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:.5rem solid transparent;border-right:.5rem solid var(--fdPopover_Border_Color);border-top:.5rem solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + .5rem)!important}.fd-popover__body--arrow-right:before{border-bottom:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:.5rem solid transparent;border-left:.5rem solid var(--fdPopover_Border_Color);border-top:.5rem solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{-webkit-transform:translateX(-50%);left:50%;transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{-webkit-transform:translateX(50%);left:auto;right:50%;transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{-webkit-transform:translateY(-50%);top:50%;transform:translateY(-50%)}.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%;position:relative}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{-webkit-box-shadow:none;border:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{-webkit-box-shadow:none;border:none;box-shadow:none}.fd-popover--full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }] });
|
|
161
|
+
ListNavigationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListNavigationItemComponent, selector: "[fd-list-navigation-item], [fdListNavigaitonItem]", inputs: { expanded: "expanded", indicated: "indicated" }, host: { attributes: { "role": "treeitem" }, listeners: { "click": "onItemClick($event)", "keydown": "keyDownHandler($event)", "focus": "onFocus($event)" }, properties: { "class.is-expanded": "this.expanded", "class.fd-list__navigation-item--indicated": "this.indicated", "class.fd-list__navigation-item": "this._navigationItemClass", "class.fd-list__navigation-item--expandable": "this._isExpandable", "attr.tabindex": "this._tabIndex", "attr.aria-level": "this._ariaLevel", "class.fd-list__navigation-item--condensed": "this._condensed", "attr.aria-expanded": "this._ariaExpanded" } }, queries: [{ propertyName: "_listComponent", first: true, predicate: FD_LIST_COMPONENT, descendants: true }, { propertyName: "_listNavigationItemArrow", first: true, predicate: ListNavigationItemArrowDirective, descendants: true }, { propertyName: "_iconComponent", first: true, predicate: FD_ICON_COMPONENT, descendants: true }, { propertyName: "_text", first: true, predicate: ListNavigationItemTextDirective, descendants: true }, { propertyName: "_childItems", predicate: i0.forwardRef(function () { return ListNavigationItemComponent; }), descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content> <ng-container [ngTemplateOutlet]=\"subListTemplate\"></ng-container\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ng-container [ngTemplateOutlet]=\"subListTemplate\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #subListTemplate>\n <ng-content select=\"[fd-list]\"></ng-content>\n</ng-template>\n", styles: ["/*!\n * Fundamental Library Styles v0.28.3\n * Copyright (c) 2023 SAP SE or an SAP affiliate company.\n * Licensed under Apache License 2.0 (https://github.com/SAP/fundamental-styles/blob/main/LICENSE)\n */.fd-popover{-webkit-box-sizing:border-box;--fdPopover_Offset:100%;--fdPopover_Center_Offset:50%;border:0;box-sizing:border-box;color:var(--sapTextColor);display:inline-block;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;max-width:100%;padding:0;position:relative}.fd-popover:after,.fd-popover:before{box-sizing:inherit;font-size:inherit}.fd-popover__control{-webkit-box-sizing:border-box;border:0;box-sizing:border-box;color:var(--sapTextColor);cursor:pointer;font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;padding:0;position:relative}.fd-popover__control:after,.fd-popover__control:before{box-sizing:inherit;font-size:inherit}.fd-popover__control:focus-visible{outline:var(--sapContent_FocusWidth) var(--sapContent_FocusStyle) var(--sapContent_FocusColor)}.fd-popover__control.is-expanded>*,.fd-popover__control[aria-expanded=true]>*{margin-bottom:0}.fd-popover__control.is-expanded+.fd-popover__body--input-message-group,.fd-popover__control[aria-expanded=true]+.fd-popover__body--input-message-group{margin-top:0}.fd-popover__control.is-disabled,.fd-popover__control:disabled,.fd-popover__control[aria-disabled=true]{pointer-events:none}.fd-popover__wrapper{border-radius:var(--fdPopover_Border_Radius);overflow:auto;scrollbar-color:var(--fdScrollbar_Thumb_Color) var(--fdScrollbar_Track_Color)}.fd-popover__wrapper.is-focus,.fd-popover__wrapper:focus{outline:none;z-index:5}.fd-popover__wrapper::-webkit-scrollbar{height:var(--fdScrollbar_Dimension);width:var(--fdScrollbar_Dimension)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{background-color:var(--fdScrollbar_Track_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb{-webkit-box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color);background-color:transparent;border:var(--fdScrollbar_Thumb_Offset) solid transparent;border-radius:calc(var(--fdScrollbar_Thumb_Border_Radius) - var(--fdScrollbar_Thumb_Offset));box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Color)}.fd-popover__wrapper::-webkit-scrollbar-thumb:active,.fd-popover__wrapper::-webkit-scrollbar-thumb:hover{box-shadow:inset 0 0 0 var(--fdScrollbar_Dimension) var(--fdScrollbar_Thumb_Hover_Color)}.fd-popover__wrapper::-webkit-scrollbar-corner,.fd-popover__wrapper::-webkit-scrollbar-track{border-radius:0 var(--fdScrollbar_Border_Radius) var(--fdScrollbar_Border_Radius) 0}.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-corner,.fd-popover__wrapper[dir=rtl]::-webkit-scrollbar-track,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-corner,[dir=rtl] .fd-popover__wrapper::-webkit-scrollbar-track{border-radius:var(--fdScrollbar_Border_Radius) 0 0 var(--fdScrollbar_Border_Radius)}.fd-popover__wrapper--visible{overflow:visible!important}.fd-popover__body{--fdIcon_Button_Height:2.25rem;--fdIcon_Button_Width:2.25rem;-webkit-box-sizing:border-box;-webkit-box-shadow:var(--sapContent_Shadow2);-webkit-transition:all .125s;background:var(--sapGroup_ContentBackground);border:0;border-radius:var(--fdPopover_Border_Radius);box-shadow:var(--sapContent_Shadow2);box-sizing:border-box;color:var(--sapTextColor);font-family:var(--sapFontFamily);font-size:var(--sapFontSize);font-weight:400;forced-color-adjust:none;line-height:var(--sapContent_LineHeight);margin:0;opacity:1;padding:0;position:absolute;top:calc(var(--fdPopover_Offset) + .5rem);transition:all .125s;visibility:visible;white-space:nowrap;z-index:1000}.fd-popover__body:after,.fd-popover__body:before{box-sizing:inherit;content:\"\";font-size:inherit;position:absolute}.fd-popover__body:before{border-bottom:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-left:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;top:calc(-.5rem + var(--fdPopover_Border_Width));z-index:1002}.fd-popover__body:after,.fd-popover__body:before{border-top:none;display:inline-block;height:0;width:0}.fd-popover__body:after{border-bottom:.5rem solid var(--fdPopover_Border_Color);border-left:.5rem solid transparent;border-right:.5rem solid transparent;top:-.5rem;z-index:1001}.fd-popover__body>:not(.fd-popover__wrapper){overflow:hidden}.fd-popover__body ol:first-child li:first-child a:before,.fd-popover__body ol:first-child li:first-child:before,.fd-popover__body ul:first-child li:first-child a:before,.fd-popover__body ul:first-child li:first-child:before,.fd-popover__body-header>:first-child,.fd-popover__body>:first-child{border-top-left-radius:var(--fdPopover_Border_Radius);border-top-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body ol:last-child li:last-child a:before,.fd-popover__body ol:last-child li:last-child:before,.fd-popover__body ul:last-child li:last-child a:before,.fd-popover__body ul:last-child li:last-child:before,.fd-popover__body-footer>:last-child,.fd-popover__body>:last-child{border-bottom-left-radius:var(--fdPopover_Border_Radius);border-bottom-right-radius:var(--fdPopover_Border_Radius)}.fd-popover__body[class*=-compact],.fd-popover__body[class*=-condensed],[class*=-compact] .fd-popover__body:not([class*=-cozy]),[class*=-condensed] .fd-popover__body:not([class*=-cozy]){--fdIcon_Button_Height:1.625rem;--fdIcon_Button_Width:2rem}.fd-popover__body--no-arrow{box-shadow:var(--sapContent_Shadow1);top:var(--fdPopover_Offset)}.fd-popover__body--no-arrow:after,.fd-popover__body--no-arrow:before{display:none}.fd-popover__body,.fd-popover__body--left{left:0}.fd-popover__body--left[dir=rtl],.fd-popover__body[dir=rtl],[dir=rtl] .fd-popover__body,[dir=rtl] .fd-popover__body--left{left:auto;right:0}.fd-popover__body--left:before,.fd-popover__body:before{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left:after,.fd-popover__body:after{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:before,.fd-popover__body[dir=rtl]:before,[dir=rtl] .fd-popover__body--left:before,[dir=rtl] .fd-popover__body:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--left[dir=rtl]:after,.fd-popover__body[dir=rtl]:after,[dir=rtl] .fd-popover__body--left:after,[dir=rtl] .fd-popover__body:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--center{-webkit-transform:translateX(calc(var(--fdPopover_Center_Offset) * -1));left:var(--fdPopover_Center_Offset);transform:translate(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--center[dir=rtl],[dir=rtl] .fd-popover__body--center{-webkit-transform:translateX(var(--fdPopover_Center_Offset));left:auto;right:var(--fdPopover_Center_Offset);transform:translate(var(--fdPopover_Center_Offset))}.fd-popover__body--right{left:auto;right:0}.fd-popover__body--right[dir=rtl],[dir=rtl] .fd-popover__body--right{left:0;right:auto}.fd-popover__body--right:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--right:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--right[dir=rtl]:before,[dir=rtl] .fd-popover__body--right:before{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--right[dir=rtl]:after,[dir=rtl] .fd-popover__body--right:after{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--before{left:auto!important;right:var(--fdPopover_Offset)!important;top:0}.fd-popover__body--after{left:var(--fdPopover_Offset)!important;right:auto!important;top:0}.fd-popover__body--middle{-webkit-transform:translateY(calc(var(--fdPopover_Center_Offset) * -1));top:var(--fdPopover_Center_Offset);transform:translateY(calc(var(--fdPopover_Center_Offset) * -1))}.fd-popover__body--bottom{bottom:0;top:auto}.fd-popover__body--above{bottom:var(--fdPopover_Offset);top:auto}.fd-popover__body--arrow-bottom{bottom:calc(var(--fdPopover_Offset) + .5rem)!important}.fd-popover__body--arrow-bottom:before{border-bottom:none;border-left:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-top:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-bottom:after{border-bottom:none;border-left:.5rem solid transparent;border-right:.5rem solid transparent;border-top:.5rem solid var(--fdPopover_Border_Color);display:inline-block;height:0;top:100%;width:0}.fd-popover__body--arrow-left{left:calc(var(--fdPopover_Offset) + .5rem)!important}.fd-popover__body--arrow-left:before{border-bottom:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-right:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-left:after,.fd-popover__body--arrow-left:before{border-left:none;display:inline-block;height:0;left:auto!important;right:100%!important;width:0}.fd-popover__body--arrow-left:after{border-bottom:.5rem solid transparent;border-right:.5rem solid var(--fdPopover_Border_Color);border-top:.5rem solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right{right:calc(var(--fdPopover_Offset) + .5rem)!important}.fd-popover__body--arrow-right:before{border-bottom:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;border-left:calc(.5rem - var(--fdPopover_Border_Width)) solid var(--sapGroup_ContentBackground);border-top:calc(.5rem - var(--fdPopover_Border_Width)) solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-right:after,.fd-popover__body--arrow-right:before{border-right:none;display:inline-block;height:0;left:100%!important;right:auto!important;width:0}.fd-popover__body--arrow-right:after{border-bottom:.5rem solid transparent;border-left:.5rem solid var(--fdPopover_Border_Color);border-top:.5rem solid transparent;top:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-center:after,.fd-popover__body--arrow-x-center:before{-webkit-transform:translateX(-50%);left:50%;transform:translate(-50%)}.fd-popover__body--arrow-x-center[dir=rtl]:after,.fd-popover__body--arrow-x-center[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-center:after,[dir=rtl] .fd-popover__body--arrow-x-center:before{-webkit-transform:translateX(50%);left:auto;right:50%;transform:translate(50%)}.fd-popover__body--arrow-x-end:before{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end:after{left:auto;right:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width))}.fd-popover__body--arrow-x-end[dir=rtl]:before,[dir=rtl] .fd-popover__body--arrow-x-end:before{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-x-end[dir=rtl]:after,[dir=rtl] .fd-popover__body--arrow-x-end:after{left:calc(var(--fdIcon_Button_Width) * .5 - .5rem - var(--fdPopover_Border_Width));right:auto}.fd-popover__body--arrow-y-center:after,.fd-popover__body--arrow-y-center:before{-webkit-transform:translateY(-50%);top:50%;transform:translateY(-50%)}.fd-popover__body--arrow-y-end:before{bottom:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width) + var(--fdPopover_Border_Width));top:auto}.fd-popover__body--arrow-y-end:after{bottom:calc(var(--fdIcon_Button_Height) * .5 - .5rem - var(--fdPopover_Border_Width));top:auto}.fd-popover__body--dropdown{width:max-content}.fd-popover__body--dropdown-fill{display:block;max-width:40rem;width:calc(100% - var(--sapGroup_BorderWidth) * 2)}.fd-popover__body--static{--fdPopover_Offset:0%;--fdPopover_Center_Offset:0%;position:relative}.fd-popover__body.is-hidden,.fd-popover__body[aria-hidden=true]{opacity:0;visibility:hidden;z-index:-1}.fd-popover__body .fd-popover__body--hidden{display:none}.fd-popover__body--input-message-group{-webkit-box-shadow:none;border:none;box-shadow:none}.fd-popover__body--inline-help{font-size:var(--sapFontSmallSize);padding:.75rem}.fd-popover__body--inline-help-icon{--fdIcon_Button_Height:1.375rem;--fdIcon_Button_Width:1.375rem}.fd-popover--input-message-group .fd-popover__body,.fd-popover--input-message-group .fd-popover__body--no-arrow{-webkit-box-shadow:none;border:none;box-shadow:none}.fd-popover--full-width{width:100%}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }] });
|
|
158
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListNavigationItemComponent, decorators: [{
|
|
159
163
|
type: Component,
|
|
160
164
|
args: [{ selector: '[fd-list-navigation-item], [fdListNavigaitonItem]', host: {
|
|
@@ -181,9 +185,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
181
185
|
}], _tabIndex: [{
|
|
182
186
|
type: HostBinding,
|
|
183
187
|
args: ['attr.tabindex']
|
|
184
|
-
}], _expanded: [{
|
|
185
|
-
type: HostBinding,
|
|
186
|
-
args: ['attr.aria-expanded']
|
|
187
188
|
}], _ariaLevel: [{
|
|
188
189
|
type: HostBinding,
|
|
189
190
|
args: ['attr.aria-level']
|
|
@@ -205,6 +206,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
205
206
|
}], _childItems: [{
|
|
206
207
|
type: ContentChildren,
|
|
207
208
|
args: [forwardRef(() => ListNavigationItemComponent), { descendants: true }]
|
|
209
|
+
}], _ariaExpanded: [{
|
|
210
|
+
type: HostBinding,
|
|
211
|
+
args: ['attr.aria-expanded']
|
|
208
212
|
}], onItemClick: [{
|
|
209
213
|
type: HostListener,
|
|
210
214
|
args: ['click', ['$event']]
|
|
@@ -215,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
215
219
|
type: HostListener,
|
|
216
220
|
args: ['focus', ['$event']]
|
|
217
221
|
}] } });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LW5hdmlnYXRpb24taXRlbS9saXN0LW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QtbmF2aWdhdGlvbi1pdGVtL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDdEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7OztBQVk5QyxNQUFNLE9BQU8sMkJBQTJCO0lBd0VwQyxjQUFjO0lBQ2QsWUFBb0IsV0FBdUIsRUFBc0IsV0FBdUI7UUFBcEUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBc0IsZ0JBQVcsR0FB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QVU7cUJBQ25COzswQkEyRTZDLFFBQVE7NENBckV0RCxRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU1oQyxTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsMkNBQTJDO2dCQUt4RCxvQkFBb0I7c0JBRG5CLFdBQVc7dUJBQUMsZ0NBQWdDO2dCQUs3QyxhQUFhO3NCQURaLFdBQVc7dUJBQUMsNENBQTRDO2dCQUt6RCxTQUFTO3NCQURSLFdBQVc7dUJBQUMsZUFBZTtnQkFLNUIsU0FBUztzQkFEUixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLakMsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFLOUIsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLDJDQUEyQztnQkFLeEQsY0FBYztzQkFEYixZQUFZO3VCQUFDLGlCQUFpQjtnQkFLL0Isd0JBQXdCO3NCQUR2QixZQUFZO3VCQUFDLGdDQUFnQztnQkFLOUMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGlCQUFpQjtnQkFLL0IsS0FBSztzQkFESixZQUFZO3VCQUFDLCtCQUErQjtnQkFLN0MsV0FBVztzQkFEVixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFtRHJGLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUWpDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUJ6QixPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkRfSUNPTl9DT01QT05FTlQsIEljb25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaWNvbic7XG5pbXBvcnQgeyBLZXlVdGlsLCBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBGb2N1c2FibGVPcHRpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaXN0TmF2aWdhdGlvbkl0ZW1BcnJvd0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbGlzdC1uYXZpZ2F0aW9uLWl0ZW0tYXJyb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2xpc3QtbmF2aWdhdGlvbi1pdGVtLXRleHQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZEX0xJU1RfQ09NUE9ORU5UIH0gZnJvbSAnLi4vdG9rZW5zJztcbmltcG9ydCB7IExpc3RDb21wb25lbnRJbnRlcmZhY2UgfSBmcm9tICcuLi9saXN0LWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLWxpc3QtbmF2aWdhdGlvbi1pdGVtXSwgW2ZkTGlzdE5hdmlnYWl0b25JdGVtXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ3RyZWVpdGVtJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCwgRm9jdXNhYmxlT3B0aW9uIHtcbiAgICAvKiogV2hldGhlciBvciBub3QgdGhlIGxpc3QgaXRlbSBpcyBleHBhbmRlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtZXhwYW5kZWQnKVxuICAgIGV4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBvciBub3QgdGhpcyBsaXN0IGl0ZW0gaXMgaW5kaWNhdGVkIGZvciBuYXZpZ2F0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWluZGljYXRlZCcpXG4gICAgaW5kaWNhdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtJylcbiAgICBfbmF2aWdhdGlvbkl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLS1leHBhbmRhYmxlJylcbiAgICBfaXNFeHBhbmRhYmxlID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgX3RhYkluZGV4O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgX2V4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBfYXJpYUxldmVsOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLS1jb25kZW5zZWQnKVxuICAgIF9jb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChGRF9MSVNUX0NPTVBPTkVOVClcbiAgICBfbGlzdENvbXBvbmVudDogTGlzdENvbXBvbmVudEludGVyZmFjZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChMaXN0TmF2aWdhdGlvbkl0ZW1BcnJvd0RpcmVjdGl2ZSlcbiAgICBfbGlzdE5hdmlnYXRpb25JdGVtQXJyb3c6IExpc3ROYXZpZ2F0aW9uSXRlbUFycm93RGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEZEX0lDT05fQ09NUE9ORU5UKVxuICAgIF9pY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmUpXG4gICAgX3RleHQ6IExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgX2NoaWxkSXRlbXM6IFF1ZXJ5TGlzdDxMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfaW5uZXJUZXh0OiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlblxuICAgICAqIGZhbHNlIGlmIGxpc3QtaXRlbSBpcyB3aXRoaW4gdW5leHBhbmRlZCBsaXN0IChub3QgdmlzaWJsZSB0byB1c2VyIHVudGlsIGxpc3QgZXhwYW5kZWQpLiBkZWZhdWx0IGlzIHRydWVcbiAgICAgKi9cbiAgICBfaXNJdGVtVmlzaWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiBoYW5kbGVzIHJ0bCBzZXJ2aWNlICovXG4gICAgcHJpdmF0ZSBfZGlyOiAnbHRyJyB8ICdydGwnIHwgbnVsbCA9ICdsdHInO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfZm9jdXNlZCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfY2xpY2tlZCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLCBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9saXN0Q29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9pc0V4cGFuZGFibGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdGFiSW5kZXggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pY29uQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB0aGlzLl9pY29uQ29tcG9uZW50Ll9uYXZpZ2F0aW9uSXRlbUljb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lubmVyVGV4dCA9IHRoaXMuX3RleHQuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50ID8/ICcnO1xuICAgICAgICB0aGlzLl9hcmlhTGV2ZWwgPSAxO1xuICAgICAgICB0aGlzLl9jaGlsZEl0ZW1zPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpdGVtLl9hcmlhTGV2ZWwgPSAyO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaWJlVG9SdGwoKTtcbiAgICAgICAgaWYgKHRoaXMuX2lzRXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRJc0l0ZW1WaXNpYmxlKHRoaXMuZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uSXRlbUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLl9oYW5kbGVFeHBhbmRlZENoYW5nZXMoIXRoaXMuZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAga2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbUklHSFRfQVJST1ddKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUV4cGFuZGVkQ2hhbmdlcyh0aGlzLl9kaXIgPT09ICdsdHInKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtMRUZUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFeHBhbmRlZENoYW5nZXModGhpcy5fZGlyICE9PSAnbHRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbU1BBQ0UsIEVOVEVSXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZUV4cGFuZGVkQ2hhbmdlcyghdGhpcy5leHBhbmRlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcbiAgICBwcm90ZWN0ZWQgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb2N1c2VkJC5uZXh0KGV2ZW50LnRhcmdldCAhPT0gdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBzZXQgdGhlIF9pc0l0ZW1WaXNpYmxlIG9mIHN1Ymxpc3QgaXRlbXMgdG8gdHJ1ZSBpZiB0aGlzKGNvbnRhaW5pbmcpIGxpc3QgaXMgZXhwYW5kZWQuXG4gICAgICovXG4gICAgX3NldElzSXRlbVZpc2libGUodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzRXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdENvbXBvbmVudD8uX25hdkl0ZW1zPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5faXNJdGVtVmlzaWJsZSA9IHZhbHVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jaGlsZEluZGljYXRlZEFuZENvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IHJldFZhbCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9saXN0Q29tcG9uZW50Py5fbmF2SXRlbXM/LmZvckVhY2goKG5hdkl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChuYXZJdGVtLmluZGljYXRlZCAmJiAhbmF2SXRlbS5leHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHJldFZhbCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXRWYWw7XG4gICAgfVxuXG4gICAgLyoqIHN1cHBvcnQgZm9yIEZvY3VzS2V5TWFuYWdlciBmb3IgYXJyb3cga2V5IG5hdmlnYXRpb24gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pc0V4cGFuZGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fbGlzdE5hdmlnYXRpb25JdGVtQXJyb3c/Ll9mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIHN1cHBvcnQgZm9yIEZvY3VzS2V5TWFuYWdlciBmb3IgYXJyb3cga2V5IG5hdmlnYXRpb24gKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUV4cGFuZGVkQ2hhbmdlcyhleHBhbmRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faXNFeHBhbmRhYmxlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5leHBhbmRlZCA9PT0gZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICAgICAgICAgIHRoaXMuX2V4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgICAgICB0aGlzLl9zZXRJc0l0ZW1WaXNpYmxlKGV4cGFuZGVkKTtcbiAgICAgICAgICAgIHRoaXMuX2xpc3ROYXZpZ2F0aW9uSXRlbUFycm93Ll9zZXRFeHBhbmRlZCh0aGlzLmV4cGFuZGVkKTtcblxuICAgICAgICAgICAgaWYgKGV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2xpc3RDb21wb25lbnQuX25hdkl0ZW1zLmZpcnN0LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiBSdGwgY2hhbmdlIHN1YnNjcmlwdGlvbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmliZVRvUnRsKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX3J0bFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2UucnRsLnN1YnNjcmliZSgoaXNSdGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RpciA9IGlzUnRsID8gJ3J0bCcgOiAnbHRyJztcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRlZCB8fCAhX2lzRXhwYW5kYWJsZSB8fCAhX2NvbmRlbnNlZCB8fCAhX2xpc3RDb21wb25lbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3ViTGlzdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXJcbiAgICA+PHNwYW4gKm5nSWY9XCJpbmRpY2F0ZWQgfHwgX2NoaWxkSW5kaWNhdGVkQW5kQ29sbGFwc2VkKClcIiBjbGFzcz1cImZkLWxpc3RfX25hdmlnYXRpb24taXRlbS1pbmRpY2F0b3JcIj48L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJleHBhbmRlZCAmJiBfaXNFeHBhbmRhYmxlICYmIF9jb25kZW5zZWQgJiYgX2xpc3RDb21wb25lbnRcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtcG9wb3Zlcl9fYm9keSBmZC1wb3BvdmVyX19ib2R5LS1uby1hcnJvdyBmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tcG9wb3Zlci0tZmlyc3QtbGV2ZWxcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICA+XG4gICAgICAgIDx1bCBjbGFzcz1cImZkLWxpc3RcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cImZkLWxpc3RfX25hdmlnYXRpb24taXRlbSBmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWNvbmRlbnNlZFwiPlxuICAgICAgICAgICAgICAgIDxmZC1pY29uIGNsYXNzPVwiZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLWljb25cIiBbZ2x5cGhdPVwiX2ljb25Db21wb25lbnQuZ2x5cGhcIj48L2ZkLWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tdGV4dFwiPnt7IF9pbm5lclRleHQgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmZC1wb3BvdmVyX19ib2R5IGZkLXBvcG92ZXJfX2JvZHktLW5vLWFycm93IGZkLWxpc3RfX25hdmlnYXRpb24taXRlbS1wb3BvdmVyLS1zZWNvbmQtbGV2ZWxcIlxuICAgICAgICBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic3ViTGlzdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzdWJMaXN0VGVtcGxhdGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLWxpc3RdXCI+PC9uZy1jb250ZW50PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LW5hdmlnYXRpb24taXRlbS9saXN0LW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QtbmF2aWdhdGlvbi1pdGVtL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBR0gsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDdEcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7OztBQVc5QyxNQUFNLE9BQU8sMkJBQTJCO0lBbURwQyxjQUFjO0lBQ2QsSUFDWSxhQUFhO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMs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YmxlT3B0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleVV0aWwsIFJ0bFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGRF9JQ09OX0NPTVBPTkVOVCwgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3ROYXZpZ2F0aW9uSXRlbUFycm93RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9saXN0LW5hdmlnYXRpb24taXRlbS1hcnJvdy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdE5hdmlnYXRpb25JdGVtVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbGlzdC1uYXZpZ2F0aW9uLWl0ZW0tdGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2xpc3QtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGRF9MSVNUX0NPTVBPTkVOVCB9IGZyb20gJy4uL3Rva2Vucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmQtbGlzdC1uYXZpZ2F0aW9uLWl0ZW1dLCBbZmRMaXN0TmF2aWdhaXRvbkl0ZW1dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpc3QtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAndHJlZWl0ZW0nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBGb2N1c2FibGVPcHRpb24ge1xuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgbGlzdCBpdGVtIGlzIGV4cGFuZGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGlzIGxpc3QgaXRlbSBpcyBpbmRpY2F0ZWQgZm9yIG5hdmlnYXRpb24uICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3RfX25hdmlnYXRpb24taXRlbS0taW5kaWNhdGVkJylcbiAgICBpbmRpY2F0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0nKVxuICAgIF9uYXZpZ2F0aW9uSXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tLWV4cGFuZGFibGUnKVxuICAgIF9pc0V4cGFuZGFibGUgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICBfdGFiSW5kZXg7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBfYXJpYUxldmVsOiBudW1iZXI7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLS1jb25kZW5zZWQnKVxuICAgIF9jb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChGRF9MSVNUX0NPTVBPTkVOVClcbiAgICBfbGlzdENvbXBvbmVudDogTGlzdENvbXBvbmVudEludGVyZmFjZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChMaXN0TmF2aWdhdGlvbkl0ZW1BcnJvd0RpcmVjdGl2ZSlcbiAgICBfbGlzdE5hdmlnYXRpb25JdGVtQXJyb3c6IExpc3ROYXZpZ2F0aW9uSXRlbUFycm93RGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKEZEX0lDT05fQ09NUE9ORU5UKVxuICAgIF9pY29uQ29tcG9uZW50OiBJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmUpXG4gICAgX3RleHQ6IExpc3ROYXZpZ2F0aW9uSXRlbVRleHREaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgX2NoaWxkSXRlbXM6IFF1ZXJ5TGlzdDxMaXN0TmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgcHJpdmF0ZSBnZXQgX2FyaWFFeHBhbmRlZCgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0V4cGFuZGFibGUgPyB0aGlzLl9leHBhbmRlZCA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2lubmVyVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW5cbiAgICAgKiBmYWxzZSBpZiBsaXN0LWl0ZW0gaXMgd2l0aGluIHVuZXhwYW5kZWQgbGlzdCAobm90IHZpc2libGUgdG8gdXNlciB1bnRpbCBsaXN0IGV4cGFuZGVkKS4gZGVmYXVsdCBpcyB0cnVlXG4gICAgICovXG4gICAgX2lzSXRlbVZpc2libGUgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfZm9jdXNlZCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWFkb25seSBfY2xpY2tlZCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gaGFuZGxlcyBydGwgc2VydmljZSAqL1xuICAgIHByaXZhdGUgX2RpcjogJ2x0cicgfCAncnRsJyB8IG51bGwgPSAnbHRyJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZSkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbGlzdENvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5faXNFeHBhbmRhYmxlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3RhYkluZGV4ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5faWNvbkNvbXBvbmVudCkge1xuICAgICAgICAgICAgdGhpcy5faWNvbkNvbXBvbmVudC5fbmF2aWdhdGlvbkl0ZW1JY29uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbm5lclRleHQgPSB0aGlzLl90ZXh0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA/PyAnJztcbiAgICAgICAgdGhpcy5fYXJpYUxldmVsID0gMTtcbiAgICAgICAgdGhpcy5fY2hpbGRJdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5fYXJpYUxldmVsID0gMjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZVRvUnRsKCk7XG4gICAgICAgIGlmICh0aGlzLl9pc0V4cGFuZGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2V4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2V0SXNJdGVtVmlzaWJsZSh0aGlzLmV4cGFuZGVkKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkl0ZW1DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5faGFuZGxlRXhwYW5kZWRDaGFuZ2VzKCF0aGlzLmV4cGFuZGVkKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleURvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1JJR0hUX0FSUk9XXSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFeHBhbmRlZENoYW5nZXModGhpcy5fZGlyID09PSAnbHRyJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGV2ZW50LCBbTEVGVF9BUlJPV10pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlRXhwYW5kZWRDaGFuZ2VzKHRoaXMuX2RpciAhPT0gJ2x0cicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW1NQQUNFLCBFTlRFUl0pKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFeHBhbmRlZENoYW5nZXMoIXRoaXMuZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdmb2N1cycsIFsnJGV2ZW50J10pXG4gICAgcHJvdGVjdGVkIG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNlZCQubmV4dChldmVudC50YXJnZXQgIT09IHRoaXMuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuXG4gICAgICogc2V0IHRoZSBfaXNJdGVtVmlzaWJsZSBvZiBzdWJsaXN0IGl0ZW1zIHRvIHRydWUgaWYgdGhpcyhjb250YWluaW5nKSBsaXN0IGlzIGV4cGFuZGVkLlxuICAgICAqL1xuICAgIF9zZXRJc0l0ZW1WaXNpYmxlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc0V4cGFuZGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RDb21wb25lbnQ/Ll9uYXZJdGVtcz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW0uX2lzSXRlbVZpc2libGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY2hpbGRJbmRpY2F0ZWRBbmRDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCByZXRWYWwgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fbGlzdENvbXBvbmVudD8uX25hdkl0ZW1zPy5mb3JFYWNoKChuYXZJdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAobmF2SXRlbS5pbmRpY2F0ZWQgJiYgIW5hdkl0ZW0uZXhwYW5kZWQpIHtcbiAgICAgICAgICAgICAgICByZXRWYWwgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcmV0VmFsO1xuICAgIH1cblxuICAgIC8qKiBzdXBwb3J0IGZvciBGb2N1c0tleU1hbmFnZXIgZm9yIGFycm93IGtleSBuYXZpZ2F0aW9uICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faXNFeHBhbmRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3ROYXZpZ2F0aW9uSXRlbUFycm93Py5fZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBzdXBwb3J0IGZvciBGb2N1c0tleU1hbmFnZXIgZm9yIGFycm93IGtleSBuYXZpZ2F0aW9uICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9oYW5kbGVFeHBhbmRlZENoYW5nZXMoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzRXhwYW5kYWJsZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQgPT09IGV4cGFuZGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgICAgICAgICB0aGlzLl9leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICAgICAgdGhpcy5fc2V0SXNJdGVtVmlzaWJsZShleHBhbmRlZCk7XG4gICAgICAgICAgICB0aGlzLl9saXN0TmF2aWdhdGlvbkl0ZW1BcnJvdy5fc2V0RXhwYW5kZWQodGhpcy5leHBhbmRlZCk7XG5cbiAgICAgICAgICAgIGlmIChleHBhbmRlZCkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9saXN0Q29tcG9uZW50Ll9uYXZJdGVtcy5maXJzdC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gUnRsIGNoYW5nZSBzdWJzY3JpcHRpb24gKi9cbiAgICBwcml2YXRlIF9zdWJzY3JpYmVUb1J0bCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9ydGxTZXJ2aWNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9ydGxTZXJ2aWNlLnJ0bC5zdWJzY3JpYmUoKGlzUnRsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kaXIgPSBpc1J0bCA/ICdydGwnIDogJ2x0cic7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhZXhwYW5kZWQgfHwgIV9pc0V4cGFuZGFibGUgfHwgIV9jb25kZW5zZWQgfHwgIV9saXN0Q29tcG9uZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN1Ykxpc3RUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyXG4gICAgPjxzcGFuICpuZ0lmPVwiaW5kaWNhdGVkIHx8IF9jaGlsZEluZGljYXRlZEFuZENvbGxhcHNlZCgpXCIgY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0taW5kaWNhdG9yXCI+PC9zcGFuPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZXhwYW5kZWQgJiYgX2lzRXhwYW5kYWJsZSAmJiBfY29uZGVuc2VkICYmIF9saXN0Q29tcG9uZW50XCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImZkLXBvcG92ZXJfX2JvZHkgZmQtcG9wb3Zlcl9fYm9keS0tbm8tYXJyb3cgZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLXBvcG92ZXItLWZpcnN0LWxldmVsXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgPlxuICAgICAgICA8dWwgY2xhc3M9XCJmZC1saXN0XCI+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0gZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLS1jb25kZW5zZWRcIj5cbiAgICAgICAgICAgICAgICA8ZmQtaWNvbiBjbGFzcz1cImZkLWxpc3RfX25hdmlnYXRpb24taXRlbS1pY29uXCIgW2dseXBoXT1cIl9pY29uQ29tcG9uZW50LmdseXBoXCI+PC9mZC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmQtbGlzdF9fbmF2aWdhdGlvbi1pdGVtLXRleHRcIj57eyBfaW5uZXJUZXh0IH19PC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZmQtcG9wb3Zlcl9fYm9keSBmZC1wb3BvdmVyX19ib2R5LS1uby1hcnJvdyBmZC1saXN0X19uYXZpZ2F0aW9uLWl0ZW0tcG9wb3Zlci0tc2Vjb25kLWxldmVsXCJcbiAgICAgICAgYXJpYS1oaWRkZW49XCJmYWxzZVwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN1Ykxpc3RUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjc3ViTGlzdFRlbXBsYXRlPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1saXN0XVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, EventEmitter, HostBinding, HostListener, Input, Output, QueryList, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { ListItemComponent } from './list-item/list-item.component';
|
|
3
|
-
import { merge, Subject } from 'rxjs';
|
|
4
|
-
import { map, startWith, takeUntil } from 'rxjs/operators';
|
|
5
2
|
import { KeyboardSupportService, LIST_ITEM_COMPONENT } from '@fundamental-ngx/cdk/utils';
|
|
3
|
+
import { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
|
|
4
|
+
import { Subject, merge } from 'rxjs';
|
|
5
|
+
import { map, startWith, takeUntil } from 'rxjs/operators';
|
|
6
6
|
import { ListGroupHeaderDirective } from './directives/list-group-header.directive';
|
|
7
7
|
import { ListFocusItem } from './list-focus-item.model';
|
|
8
|
+
import { ListItemComponent } from './list-item/list-item.component';
|
|
8
9
|
import { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';
|
|
9
|
-
import { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';
|
|
10
10
|
import { FD_LIST_COMPONENT, FD_LIST_UNREAD_INDICATOR } from './tokens';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@fundamental-ngx/cdk/utils";
|
|
@@ -16,6 +16,10 @@ import * as i2 from "@fundamental-ngx/core/content-density";
|
|
|
16
16
|
* It is used to display a list of items with simple information such as scopes, names, etc.
|
|
17
17
|
*/
|
|
18
18
|
export class ListComponent {
|
|
19
|
+
/** @hidden */
|
|
20
|
+
get _ariaRole() {
|
|
21
|
+
return this.role || this._defaultRole;
|
|
22
|
+
}
|
|
19
23
|
/** @hidden */
|
|
20
24
|
constructor(_keyboardSupportService, _cdr, _contentDensityObserver) {
|
|
21
25
|
this._keyboardSupportService = _keyboardSupportService;
|
|
@@ -45,8 +49,11 @@ export class ListComponent {
|
|
|
45
49
|
this.focusEscapeList = new EventEmitter();
|
|
46
50
|
/** Whether list component includes links */
|
|
47
51
|
this.hasNavigation = false;
|
|
48
|
-
/**
|
|
49
|
-
|
|
52
|
+
/**
|
|
53
|
+
* @hidden
|
|
54
|
+
* Default role for lists
|
|
55
|
+
*/
|
|
56
|
+
this._defaultRole = 'list';
|
|
50
57
|
/** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */
|
|
51
58
|
this._onRefresh$ = new Subject();
|
|
52
59
|
/** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */
|
|
@@ -125,10 +132,10 @@ export class ListComponent {
|
|
|
125
132
|
const items = this.items.filter((item) => item.link);
|
|
126
133
|
this.hasNavigation = items.length > 0;
|
|
127
134
|
if (!this.selection) {
|
|
128
|
-
this.
|
|
135
|
+
this._defaultRole = this.hasNavigation ? 'navigation' : 'list';
|
|
129
136
|
}
|
|
130
137
|
else {
|
|
131
|
-
this.
|
|
138
|
+
this._defaultRole = 'listbox';
|
|
132
139
|
}
|
|
133
140
|
}
|
|
134
141
|
/** @hidden */
|
|
@@ -139,7 +146,7 @@ export class ListComponent {
|
|
|
139
146
|
}
|
|
140
147
|
}
|
|
141
148
|
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListComponent, deps: [{ token: i1.KeyboardSupportService }, { token: i0.ChangeDetectorRef }, { token: i2.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
142
|
-
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListComponent, selector: "[fd-list], [fdList]", inputs: { dropdownMode: "dropdownMode", multiInputMode: "multiInputMode", mobileMode: "mobileMode", hasMessage: "hasMessage", noBorder: "noBorder", navigationIndicator: "navigationIndicator", selection: "selection", keyboardSupport: "keyboardSupport", byline: "byline", unreadIndicator: "unreadIndicator" }, outputs: { focusEscapeList: "focusEscapeList" }, host: { listeners: { "keydown": "keyDownHandler($event)" }, properties: { "class.fd-list--dropdown": "this.dropdownMode", "class.fd-list--multi-input": "this.multiInputMode", "class.fd-list--mobile": "this.mobileMode", "class.fd-list--has-message": "this.hasMessage", "class.fd-list--no-border": "this.noBorder", "class.fd-list--navigation-indication": "this.navigationIndicator", "class.fd-list--selection": "this.selection", "class.fd-list--byline": "this.byline", "class.fd-list--unread-indicator": "this.unreadIndicator", "class.fd-list--navigation": "this.hasNavigation", "attr.role": "this.
|
|
149
|
+
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ListComponent, selector: "[fd-list], [fdList]", inputs: { dropdownMode: "dropdownMode", multiInputMode: "multiInputMode", mobileMode: "mobileMode", hasMessage: "hasMessage", noBorder: "noBorder", navigationIndicator: "navigationIndicator", selection: "selection", keyboardSupport: "keyboardSupport", byline: "byline", unreadIndicator: "unreadIndicator", role: "role" }, outputs: { focusEscapeList: "focusEscapeList" }, host: { listeners: { "keydown": "keyDownHandler($event)" }, properties: { "class.fd-list--dropdown": "this.dropdownMode", "class.fd-list--multi-input": "this.multiInputMode", "class.fd-list--mobile": "this.mobileMode", "class.fd-list--has-message": "this.hasMessage", "class.fd-list--no-border": "this.noBorder", "class.fd-list--navigation-indication": "this.navigationIndicator", "class.fd-list--selection": "this.selection", "class.fd-list--byline": "this.byline", "class.fd-list--unread-indicator": "this.unreadIndicator", "class.fd-list--navigation": "this.hasNavigation", "attr.role": "this._ariaRole" }, classAttribute: "fd-list" }, providers: [
|
|
143
150
|
KeyboardSupportService,
|
|
144
151
|
contentDensityObserverProviders(),
|
|
145
152
|
{
|
|
@@ -219,9 +226,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
219
226
|
}], hasNavigation: [{
|
|
220
227
|
type: HostBinding,
|
|
221
228
|
args: ['class.fd-list--navigation']
|
|
222
|
-
}],
|
|
223
|
-
type:
|
|
224
|
-
args: ['attr.role']
|
|
229
|
+
}], role: [{
|
|
230
|
+
type: Input
|
|
225
231
|
}], items: [{
|
|
226
232
|
type: ContentChildren,
|
|
227
233
|
args: [LIST_ITEM_COMPONENT]
|
|
@@ -231,8 +237,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
231
237
|
}], _focusItems: [{
|
|
232
238
|
type: ContentChildren,
|
|
233
239
|
args: [ListFocusItem]
|
|
240
|
+
}], _ariaRole: [{
|
|
241
|
+
type: HostBinding,
|
|
242
|
+
args: ['attr.role']
|
|
234
243
|
}], keyDownHandler: [{
|
|
235
244
|
type: HostListener,
|
|
236
245
|
args: ['keydown', ['$event']]
|
|
237
246
|
}] } });
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFFSCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBRXRCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWhILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUd2RTs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLGFBQWE7SUFnRnRCLGNBQWM7SUFDZCxZQUNZLHVCQUE4RCxFQUM5RCxJQUF1QixF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TTtnQkFLUCxhQUFhO3NCQURaLFdBQVc7dUJBQUMsMkJBQTJCO2dCQUt4QyxLQUFLO3NCQURKLFdBQVc7dUJBQUMsV0FBVztnQkFLeEIsS0FBSztzQkFESixlQUFlO3VCQUFDLG1CQUFtQjtnQkFLcEMsU0FBUztzQkFEUixlQUFlO3VCQUFDLDJCQUEyQjtnQkFLcEMsV0FBVztzQkFEbEIsZUFBZTt1QkFBQyxhQUFhO2dCQXFDOUIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBGb2N1c0VzY2FwZURpcmVjdGlvbixcbiAgICBLZXlib2FyZFN1cHBvcnRTZXJ2aWNlLFxuICAgIExJU1RfSVRFTV9DT01QT05FTlQsXG4gICAgTGlzdEl0ZW1JbnRlcmZhY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xpc3QtZ3JvdXAtaGVhZGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMaXN0Rm9jdXNJdGVtIH0gZnJvbSAnLi9saXN0LWZvY3VzLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW5hdmlnYXRpb24taXRlbS9saXN0LW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4vbGlzdC1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZEX0xJU1RfQ09NUE9ORU5ULCBGRF9MSVNUX1VOUkVBRF9JTkRJQ0FUT1IgfSBmcm9tICcuL3Rva2Vucyc7XG5pbXBvcnQgeyBMaXN0VW5yZWFkSW5kaWNhdG9yIH0gZnJvbSAnLi9saXN0LXVucmVhZC1pbmRpY2F0b3IuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBUaGUgZGlyZWN0aXZlIHRoYXQgcmVwcmVzZW50cyBhIGxpc3QuXG4gKiBJdCBpcyB1c2VkIHRvIGRpc3BsYXkgYSBsaXN0IG9mIGl0ZW1zIHdpdGggc2ltcGxlIGluZm9ybWF0aW9uIHN1Y2ggYXMgc2NvcGVzLCBuYW1lcywgZXRjLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLWxpc3RdLCBbZmRMaXN0XScsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2xpc3QuY29tcG9uZW50Lmh0bWxgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1saXN0J1xuICAgIH0sXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcycsICcuLi8uLi8uLi8uLi9jZGsvc3JjL2xpYi91dGlscy9kcmFnLWFuZC1kcm9wL2RyYWctYW5kLWRyb3Auc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEtleWJvYXJkU3VwcG9ydFNlcnZpY2UsXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfTElTVF9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTGlzdENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9MSVNUX1VOUkVBRF9JTkRJQ0FUT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTGlzdENvbXBvbmVudFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgTGlzdENvbXBvbmVudEludGVyZmFjZSwgTGlzdFVucmVhZEluZGljYXRvciwgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIGRyb3Bkb3duIG1vZGUgaXMgaW5jbHVkZWQgdG8gY29tcG9uZW50LCB1c2VkIGZvciBTZWxlY3QgYW5kIENvbWJvYm94ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLWRyb3Bkb3duJylcbiAgICBkcm9wZG93bk1vZGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG11bHRpIG1vZGUgaXMgaW5jbHVkZWQgdG8gY29tcG9uZW50LCB1c2VkIGZvciBNdWx0aUlucHV0ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW11bHRpLWlucHV0JylcbiAgICBtdWx0aUlucHV0TW9kZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBpcyB1c2VkIGluIG1vYmlsZSBtb2RlKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tbW9iaWxlJylcbiAgICBtb2JpbGVNb2RlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBjb250YWlucyBtZXNzYWdlICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLWhhcy1tZXNzYWdlJylcbiAgICBoYXNNZXNzYWdlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBoYXMgcmVtb3ZlZCBib3JkZXJzICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW5vLWJvcmRlcicpXG4gICAgbm9Cb3JkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3QgY29tcG9uZW50IGhhcyBuYXZpZ2F0aW9uIGluZGljYXRvcnMgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tbmF2aWdhdGlvbi1pbmRpY2F0aW9uJylcbiAgICBuYXZpZ2F0aW9uSW5kaWNhdG9yID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBoYXMgY2hlY2tib3hlcyBvciByYWRpbyBidXR0b25zIGluY2x1ZGVkICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLXNlbGVjdGlvbicpXG4gICAgc2VsZWN0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBpbnRlcm5hbCBrZXlib2FyZCBzdXBwb3J0IHNob3VsZCBiZSBlbmFibGVkLiBJdCdzIGVuYWJsZWQgYnkgZGVmYXVsdCAqL1xuICAgIEBJbnB1dCgpXG4gICAga2V5Ym9hcmRTdXBwb3J0ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3Qgc2hvdWxkIGhhdmUgYSBieWxpbmUgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tYnlsaW5lJylcbiAgICBieWxpbmUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgdW5yZWFkIG5vdGlmaWNhdGlvbiBpbmRpY2F0b3IuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS11bnJlYWQtaW5kaWNhdG9yJylcbiAgICBASW5wdXQoKVxuICAgIHVucmVhZEluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBmb2N1cyBlc2NhcGVzIHRoZSBsaXN0ICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9jdXNFc2NhcGVMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0VzY2FwZURpcmVjdGlvbj4oKTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3QgY29tcG9uZW50IGluY2x1ZGVzIGxpbmtzICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS1uYXZpZ2F0aW9uJylcbiAgICBoYXNOYXZpZ2F0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBfcm9sZSA9ICdsaXN0JzsgLy8gZGVmYXVsdCByb2xlIGZvciBsaXN0c1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKExJU1RfSVRFTV9DT01QT05FTlQpXG4gICAgaXRlbXM6IFF1ZXJ5TGlzdDxMaXN0SXRlbUludGVyZmFjZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50KVxuICAgIF9uYXZJdGVtczogUXVlcnlMaXN0PExpc3ROYXZpZ2F0aW9uSXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdEZvY3VzSXRlbSlcbiAgICBwcml2YXRlIF9mb2N1c0l0ZW1zOiBRdWVyeUxpc3Q8TGlzdEZvY3VzSXRlbT47XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIHF1ZXJ5TGlzdCBjaGFuZ2VzIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25SZWZyZXNoJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkU3VwcG9ydFNlcnZpY2U6IEtleWJvYXJkU3VwcG9ydFNlcnZpY2U8TGlzdEZvY3VzSXRlbT4sXG4gICAgICAgIHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXI6IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXJcbiAgICApIHtcbiAgICAgICAgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25MaXN0Rm9jdXNFc2NhcGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5zZXRLZXlib2FyZFNlcnZpY2UodGhpcy5fZm9jdXNJdGVtcywgZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25RdWVyeUNoYW5nZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBrZXlEb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5rZXlib2FyZFN1cHBvcnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uub25LZXlEb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTZXQgZmFrZSBmb2N1cyBvbiBlbGVtZW50IHdpdGggcGFzc2VkIGluZGV4ICovXG4gICAgc2V0SXRlbUFjdGl2ZShpbmRleDogbnVtYmVyLCB1cGRhdGVPbmx5ID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKHVwZGF0ZU9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25RdWVyeUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKDApLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9yZWNoZWNrTGlua3MoKTtcbiAgICAgICAgICAgIHRoaXMuX2xpc3Rlbk9uSXRlbXNDbGljaygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gdXNpbmcgc2V0VGltZW91dCB0byBhdm9pZCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVJdGVtc1Byb3BlcnRpZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uSXRlbXNDbGljaygpOiB2b2lkIHtcbiAgICAgICAgLyoqIEZpbmlzaCBhbGwgdGhlIHN0cmVhbXMsIGZyb20gYmVmb3JlICovXG4gICAgICAgIHRoaXMuX29uUmVmcmVzaCQubmV4dCgpO1xuXG4gICAgICAgIGlmICghdGhpcy5rZXlib2FyZFN1cHBvcnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBNZXJnZSByZWZyZXNoL2Rlc3Ryb3kgb2JzZXJ2YWJsZXMgKi9cbiAgICAgICAgY29uc3QgY29tcGxldGlvbiQgPSBtZXJnZSh0aGlzLl9vblJlZnJlc2gkLCB0aGlzLl9vbkRlc3Ryb3kkKTtcbiAgICAgICAgY29uc3QgaW50ZXJhY3Rpb25DaGFuZ2VzSW5kZXhlczogT2JzZXJ2YWJsZTx7IGluZGV4OiBudW1iZXI7IHVwZGF0ZU9ubHk6IGJvb2xlYW4gfT5bXSA9IHRoaXMuX2ZvY3VzSXRlbXMubWFwKFxuICAgICAgICAgICAgKGl0ZW0sIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICBpdGVtLl9jbGlja2VkJC5waXBlKG1hcCgoKSA9PiAoeyBpbmRleCwgdXBkYXRlT25seTogZmFsc2UgfSkpKSxcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fZm9jdXNlZCQucGlwZShtYXAoKHsgZm9jdXNlZFdpdGhpbiB9KSA9PiAoeyBpbmRleCwgdXBkYXRlT25seTogZm9jdXNlZFdpdGhpbiB9KSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBtZXJnZSguLi5pbnRlcmFjdGlvbkNoYW5nZXNJbmRleGVzKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGNvbXBsZXRpb24kKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHsgaW5kZXgsIHVwZGF0ZU9ubHkgfSkgPT4gdGhpcy5zZXRJdGVtQWN0aXZlKGluZGV4LCB1cGRhdGVPbmx5KSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHVwZGF0ZUl0ZW1zUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNsb3Nlc3RMaXN0SGVhZGVyOiBMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUgfCBudWxsID0gbnVsbDtcbiAgICAgICAgdGhpcy5fZm9jdXNJdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBjbG9zZXN0TGlzdEhlYWRlciA9IGl0ZW07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0gaW5zdGFuY2VvZiBMaXN0SXRlbUNvbXBvbmVudCAmJiBjbG9zZXN0TGlzdEhlYWRlcikge1xuICAgICAgICAgICAgICAgIGl0ZW0uX3JlbGF0ZWRHcm91cEhlYWRlcklkID0gY2xvc2VzdExpc3RIZWFkZXIubmF0aXZlRWxlbWVudElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbS5zZXRJc0ZpcnN0KGluZGV4ID09PSAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9yZWNoZWNrTGlua3MoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5pdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ubGluayk7XG4gICAgICAgIHRoaXMuaGFzTmF2aWdhdGlvbiA9IGl0ZW1zLmxlbmd0aCA+IDA7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSB0aGlzLmhhc05hdmlnYXRpb24gPyAnbmF2aWdhdGlvbicgOiAnbGlzdCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9yb2xlID0gJ2xpc3Rib3gnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Pbkxpc3RGb2N1c0VzY2FwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5mb2N1c0VzY2FwZUxpc3RcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpcmVjdGlvbikgPT4gdGhpcy5mb2N1c0VzY2FwZUxpc3QuZW1pdChkaXJlY3Rpb24pKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBR3RCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFjLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUV2RTs7O0dBR0c7QUF3QkgsTUFBTSxPQUFPLGFBQWE7SUE0RXRCLGNBQWM7SUFDZCxJQUNZLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDMUMsQ0FBQztJQWNELGNBQWM7SUFDZCxZQUNZLHVCQUE4RCxFQUM5RCxJQUF1QixFQUN2Qix1QkFBK0M7UUFGL0MsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF1QztRQUM5RCxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2Qiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBakczRCxtRkFBbUY7UUFHbkYsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsdUVBQXVFO1FBR3ZFLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLHlDQUF5QztRQUd6QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLDhDQUE4QztRQUc5QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLGlEQUFpRDtRQUdqRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLHVEQUF1RDtRQUd2RCx3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFNUIsc0VBQXNFO1FBR3RFLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsbUZBQW1GO1FBRW5GLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBRXZCLHdDQUF3QztRQUd4QyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRWYsd0RBQXdEO1FBR3hELG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRXhCLGdEQUFnRDtRQUVoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUF3QixDQUFDO1FBRTNELDRDQUE0QztRQUU1QyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQTBCdEI7OztXQUdHO1FBQ0ssaUJBQVksR0FBRyxNQUFNLENBQUM7UUFFOUIsaUdBQWlHO1FBQ2hGLGdCQUFXLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFbEUsdUdBQXVHO1FBQ3RGLGdCQUFXLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFROUQsdUJBQXVCLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDZCxRQUFRO1FBQ0osSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELGNBQWM7SUFDZCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjO0lBRWQsY0FBYyxDQUFDLEtBQW9CO1FBQy9CLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN0QixJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pEO0lBQ0wsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxhQUFhLENBQUMsS0FBYSxFQUFFLFVBQVUsR0FBRyxLQUFLO1FBQzNDLElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuRTthQUFNO1lBQ0gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEU7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BGLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLHdFQUF3RTtnQkFDeEUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ04sbUJBQW1CO1FBQ3ZCLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLE9BQU87U0FDVjtRQUVELHdDQUF3QztRQUN4QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsTUFBTSx5QkFBeUIsR0FBeUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQ3hHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ1osS0FBSyxDQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDOUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzFGLENBQ1IsQ0FBQztRQUNGLEtBQUssQ0FBQyxHQUFHLHlCQUF5QixDQUFDO2FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDNUIsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELGNBQWM7SUFDTixxQkFBcUI7UUFDekIsSUFBSSxpQkFBaUIsR0FBb0MsSUFBSSxDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JDLElBQUksSUFBSSxZQUFZLHdCQUF3QixFQUFFO2dCQUMxQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7YUFDNUI7aUJBQU0sSUFBSSxJQUFJLFlBQVksaUJBQWlCLElBQUksaUJBQWlCLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQyxlQUFlLENBQUM7YUFDbEU7WUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxjQUFjO0lBQ04sYUFBYTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztTQUNsRTthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7U0FDakM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNOLHdCQUF3QjtRQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZTthQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQyxTQUFTLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7MEdBek1RLGFBQWE7OEZBQWIsYUFBYSxnaUNBYlg7UUFDUCxzQkFBc0I7UUFDdEIsK0JBQStCLEVBQUU7UUFDakM7WUFDSSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxhQUFhO1NBQzdCO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFdBQVcsRUFBRSxhQUFhO1NBQzdCO0tBQ0osZ0RBbUVnQixtQkFBbUIsNENBSW5CLDJCQUEyQiw4Q0FJM0IsYUFBYSw2QkN0SWxDLDZCQUNBOzJGRDREYSxhQUFhO2tCQXZCekIsU0FBUzsrQkFFSSxxQkFBcUIsUUFFekI7d0JBQ0YsS0FBSyxFQUFFLFNBQVM7cUJBQ25CLGlCQUVjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Asc0JBQXNCO3dCQUN0QiwrQkFBK0IsRUFBRTt3QkFDakM7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxlQUFlO3lCQUM3Qjt3QkFDRDs0QkFDSSxPQUFPLEVBQUUsd0JBQXdCOzRCQUNqQyxXQUFXLGVBQWU7eUJBQzdCO3FCQUNKO2tMQU1ELFlBQVk7c0JBRlgsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx5QkFBeUI7Z0JBTXRDLGNBQWM7c0JBRmIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTXpDLFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBTXBDLFVBQVU7c0JBRlQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTXpDLFFBQVE7c0JBRlAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQywwQkFBMEI7Z0JBTXZDLG1CQUFtQjtzQkFGbEIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxzQ0FBc0M7Z0JBTW5ELFNBQVM7c0JBRlIsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQywwQkFBMEI7Z0JBS3ZDLGVBQWU7c0JBRGQsS0FBSztnQkFNTixNQUFNO3NCQUZMLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQU1wQyxlQUFlO3NCQUZkLFdBQVc7dUJBQUMsaUNBQWlDOztzQkFDN0MsS0FBSztnQkFLTixlQUFlO3NCQURkLE1BQU07Z0JBS1AsYUFBYTtzQkFEWixXQUFXO3VCQUFDLDJCQUEyQjtnQkFPeEMsSUFBSTtzQkFESCxLQUFLO2dCQUtOLEtBQUs7c0JBREosZUFBZTt1QkFBQyxtQkFBbUI7Z0JBS3BDLFNBQVM7c0JBRFIsZUFBZTt1QkFBQywyQkFBMkI7Z0JBS3BDLFdBQVc7c0JBRGxCLGVBQWU7dUJBQUMsYUFBYTtnQkFLbEIsU0FBUztzQkFEcEIsV0FBVzt1QkFBQyxXQUFXO2dCQTZDeEIsY0FBYztzQkFEYixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGb2N1c0VzY2FwZURpcmVjdGlvbixcbiAgICBLZXlib2FyZFN1cHBvcnRTZXJ2aWNlLFxuICAgIExJU1RfSVRFTV9DT01QT05FTlQsXG4gICAgTGlzdEl0ZW1JbnRlcmZhY2UsXG4gICAgTnVsbGFibGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMaXN0R3JvdXBIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbGlzdC1ncm91cC1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3RDb21wb25lbnRJbnRlcmZhY2UgfSBmcm9tICcuL2xpc3QtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaXN0Rm9jdXNJdGVtIH0gZnJvbSAnLi9saXN0LWZvY3VzLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IExpc3ROYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1uYXZpZ2F0aW9uLWl0ZW0vbGlzdC1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RVbnJlYWRJbmRpY2F0b3IgfSBmcm9tICcuL2xpc3QtdW5yZWFkLWluZGljYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRkRfTElTVF9DT01QT05FTlQsIEZEX0xJU1RfVU5SRUFEX0lORElDQVRPUiB9IGZyb20gJy4vdG9rZW5zJztcblxuLyoqXG4gKiBUaGUgZGlyZWN0aXZlIHRoYXQgcmVwcmVzZW50cyBhIGxpc3QuXG4gKiBJdCBpcyB1c2VkIHRvIGRpc3BsYXkgYSBsaXN0IG9mIGl0ZW1zIHdpdGggc2ltcGxlIGluZm9ybWF0aW9uIHN1Y2ggYXMgc2NvcGVzLCBuYW1lcywgZXRjLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkLWxpc3RdLCBbZmRMaXN0XScsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2xpc3QuY29tcG9uZW50Lmh0bWxgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1saXN0J1xuICAgIH0sXG4gICAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcycsICcuLi8uLi8uLi8uLi9jZGsvc3JjL2xpYi91dGlscy9kcmFnLWFuZC1kcm9wL2RyYWctYW5kLWRyb3Auc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEtleWJvYXJkU3VwcG9ydFNlcnZpY2UsXG4gICAgICAgIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRkRfTElTVF9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTGlzdENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBGRF9MSVNUX1VOUkVBRF9JTkRJQ0FUT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTGlzdENvbXBvbmVudFxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgTGlzdENvbXBvbmVudEludGVyZmFjZSwgTGlzdFVucmVhZEluZGljYXRvciwgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKiBXaGV0aGVyIGRyb3Bkb3duIG1vZGUgaXMgaW5jbHVkZWQgdG8gY29tcG9uZW50LCB1c2VkIGZvciBTZWxlY3QgYW5kIENvbWJvYm94ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLWRyb3Bkb3duJylcbiAgICBkcm9wZG93bk1vZGUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIG11bHRpIG1vZGUgaXMgaW5jbHVkZWQgdG8gY29tcG9uZW50LCB1c2VkIGZvciBNdWx0aUlucHV0ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW11bHRpLWlucHV0JylcbiAgICBtdWx0aUlucHV0TW9kZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBpcyB1c2VkIGluIG1vYmlsZSBtb2RlKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tbW9iaWxlJylcbiAgICBtb2JpbGVNb2RlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBjb250YWlucyBtZXNzYWdlICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLWhhcy1tZXNzYWdlJylcbiAgICBoYXNNZXNzYWdlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBoYXMgcmVtb3ZlZCBib3JkZXJzICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLW5vLWJvcmRlcicpXG4gICAgbm9Cb3JkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3QgY29tcG9uZW50IGhhcyBuYXZpZ2F0aW9uIGluZGljYXRvcnMgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tbmF2aWdhdGlvbi1pbmRpY2F0aW9uJylcbiAgICBuYXZpZ2F0aW9uSW5kaWNhdG9yID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGNvbXBvbmVudCBoYXMgY2hlY2tib3hlcyBvciByYWRpbyBidXR0b25zIGluY2x1ZGVkICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3QtLXNlbGVjdGlvbicpXG4gICAgc2VsZWN0aW9uID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBpbnRlcm5hbCBrZXlib2FyZCBzdXBwb3J0IHNob3VsZCBiZSBlbmFibGVkLiBJdCdzIGVuYWJsZWQgYnkgZGVmYXVsdCAqL1xuICAgIEBJbnB1dCgpXG4gICAga2V5Ym9hcmRTdXBwb3J0ID0gdHJ1ZTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3Qgc2hvdWxkIGhhdmUgYSBieWxpbmUgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdC0tYnlsaW5lJylcbiAgICBieWxpbmUgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc3BsYXkgdW5yZWFkIG5vdGlmaWNhdGlvbiBpbmRpY2F0b3IuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS11bnJlYWQtaW5kaWNhdG9yJylcbiAgICBASW5wdXQoKVxuICAgIHVucmVhZEluZGljYXRvciA9IGZhbHNlO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBmb2N1cyBlc2NhcGVzIHRoZSBsaXN0ICovXG4gICAgQE91dHB1dCgpXG4gICAgZm9jdXNFc2NhcGVMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0VzY2FwZURpcmVjdGlvbj4oKTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3QgY29tcG9uZW50IGluY2x1ZGVzIGxpbmtzICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0LS1uYXZpZ2F0aW9uJylcbiAgICBoYXNOYXZpZ2F0aW9uID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBVc2VyLXByb3ZpZGVkIHJvbGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByb2xlOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkcmVuKExJU1RfSVRFTV9DT01QT05FTlQpXG4gICAgaXRlbXM6IFF1ZXJ5TGlzdDxMaXN0SXRlbUludGVyZmFjZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdE5hdmlnYXRpb25JdGVtQ29tcG9uZW50KVxuICAgIF9uYXZJdGVtczogUXVlcnlMaXN0PExpc3ROYXZpZ2F0aW9uSXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdEZvY3VzSXRlbSlcbiAgICBwcml2YXRlIF9mb2N1c0l0ZW1zOiBRdWVyeUxpc3Q8TGlzdEZvY3VzSXRlbT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBwcml2YXRlIGdldCBfYXJpYVJvbGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm9sZSB8fCB0aGlzLl9kZWZhdWx0Um9sZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRGVmYXVsdCByb2xlIGZvciBsaXN0c1xuICAgICAqL1xuICAgIHByaXZhdGUgX2RlZmF1bHRSb2xlID0gJ2xpc3QnO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBxdWVyeUxpc3QgY2hhbmdlcyAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uUmVmcmVzaCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlOiBLZXlib2FyZFN1cHBvcnRTZXJ2aWNlPExpc3RGb2N1c0l0ZW0+LFxuICAgICAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7XG4gICAgICAgIF9jb250ZW50RGVuc2l0eU9ic2VydmVyLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uTGlzdEZvY3VzRXNjYXBlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2tleWJvYXJkU3VwcG9ydFNlcnZpY2Uuc2V0S2V5Ym9hcmRTZXJ2aWNlKHRoaXMuX2ZvY3VzSXRlbXMsIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuX2xpc3Rlbk9uUXVlcnlDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAga2V5RG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMua2V5Ym9hcmRTdXBwb3J0KSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLm9uS2V5RG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IGZha2UgZm9jdXMgb24gZWxlbWVudCB3aXRoIHBhc3NlZCBpbmRleCAqL1xuICAgIHNldEl0ZW1BY3RpdmUoaW5kZXg6IG51bWJlciwgdXBkYXRlT25seSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh1cGRhdGVPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShpbmRleCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFN1cHBvcnRTZXJ2aWNlLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbShpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uUXVlcnlDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvY3VzSXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCgwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fcmVjaGVja0xpbmtzKCk7XG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5Pbkl0ZW1zQ2xpY2soKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIHVzaW5nIHNldFRpbWVvdXQgdG8gYXZvaWQgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlSXRlbXNQcm9wZXJ0aWVzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Pbkl0ZW1zQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIC8qKiBGaW5pc2ggYWxsIHRoZSBzdHJlYW1zLCBmcm9tIGJlZm9yZSAqL1xuICAgICAgICB0aGlzLl9vblJlZnJlc2gkLm5leHQoKTtcblxuICAgICAgICBpZiAoIXRoaXMua2V5Ym9hcmRTdXBwb3J0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvKiogTWVyZ2UgcmVmcmVzaC9kZXN0cm95IG9ic2VydmFibGVzICovXG4gICAgICAgIGNvbnN0IGNvbXBsZXRpb24kID0gbWVyZ2UodGhpcy5fb25SZWZyZXNoJCwgdGhpcy5fb25EZXN0cm95JCk7XG4gICAgICAgIGNvbnN0IGludGVyYWN0aW9uQ2hhbmdlc0luZGV4ZXM6IE9ic2VydmFibGU8eyBpbmRleDogbnVtYmVyOyB1cGRhdGVPbmx5OiBib29sZWFuIH0+W10gPSB0aGlzLl9mb2N1c0l0ZW1zLm1hcChcbiAgICAgICAgICAgIChpdGVtLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5fY2xpY2tlZCQucGlwZShtYXAoKCkgPT4gKHsgaW5kZXgsIHVwZGF0ZU9ubHk6IGZhbHNlIH0pKSksXG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uX2ZvY3VzZWQkLnBpcGUobWFwKCh7IGZvY3VzZWRXaXRoaW4gfSkgPT4gKHsgaW5kZXgsIHVwZGF0ZU9ubHk6IGZvY3VzZWRXaXRoaW4gfSkpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgICAgbWVyZ2UoLi4uaW50ZXJhY3Rpb25DaGFuZ2VzSW5kZXhlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChjb21wbGV0aW9uJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGluZGV4LCB1cGRhdGVPbmx5IH0pID0+IHRoaXMuc2V0SXRlbUFjdGl2ZShpbmRleCwgdXBkYXRlT25seSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSB1cGRhdGVJdGVtc1Byb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIGxldCBjbG9zZXN0TGlzdEhlYWRlcjogTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIHRoaXMuX2ZvY3VzSXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTGlzdEdyb3VwSGVhZGVyRGlyZWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgY2xvc2VzdExpc3RIZWFkZXIgPSBpdGVtO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtIGluc3RhbmNlb2YgTGlzdEl0ZW1Db21wb25lbnQgJiYgY2xvc2VzdExpc3RIZWFkZXIpIHtcbiAgICAgICAgICAgICAgICBpdGVtLl9yZWxhdGVkR3JvdXBIZWFkZXJJZCA9IGNsb3Nlc3RMaXN0SGVhZGVyLm5hdGl2ZUVsZW1lbnRJZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGl0ZW0uc2V0SXNGaXJzdChpbmRleCA9PT0gMCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcmVjaGVja0xpbmtzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmxpbmspO1xuICAgICAgICB0aGlzLmhhc05hdmlnYXRpb24gPSBpdGVtcy5sZW5ndGggPiAwO1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWZhdWx0Um9sZSA9IHRoaXMuaGFzTmF2aWdhdGlvbiA/ICduYXZpZ2F0aW9uJyA6ICdsaXN0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRSb2xlID0gJ2xpc3Rib3gnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Pbkxpc3RGb2N1c0VzY2FwZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmRTdXBwb3J0U2VydmljZS5mb2N1c0VzY2FwZUxpc3RcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRpcmVjdGlvbikgPT4gdGhpcy5mb2N1c0VzY2FwZUxpc3QuZW1pdChkaXJlY3Rpb24pKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|