@koobiq/components 17.0.0-rc.7 → 17.0.0-rc.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/alert/alert.component.scss +12 -9
- package/badge/badge.component.scss +7 -7
- package/button-toggle/button-toggle.scss +5 -2
- package/card/_card-theme.scss +1 -1
- package/checkbox/checkbox.scss +10 -3
- package/code-block/_code-block-theme.scss +1 -1
- package/core/form-field/form-field-ref.d.ts +2 -0
- package/core/locales/locale-service.d.ts +1 -0
- package/core/select/common.d.ts +35 -0
- package/core/select/index.d.ts +1 -0
- package/dropdown/dropdown-item.scss +2 -0
- package/dropdown/dropdown-trigger.directive.d.ts +2 -2
- package/esm2022/alert/alert.component.mjs +2 -2
- package/esm2022/badge/badge.component.mjs +2 -2
- package/esm2022/button/button.component.mjs +2 -2
- package/esm2022/button-toggle/button-toggle.component.mjs +2 -2
- package/esm2022/checkbox/checkbox.mjs +2 -2
- package/esm2022/code-block/code-block.component.mjs +1 -1
- package/esm2022/core/form-field/form-field-ref.mjs +1 -1
- package/esm2022/core/locales/locale-service.mjs +5 -2
- package/esm2022/core/option/option.mjs +2 -2
- package/esm2022/core/select/common.mjs +120 -0
- package/esm2022/core/select/index.mjs +2 -1
- package/esm2022/core/version.mjs +2 -2
- package/esm2022/datepicker/calendar-header.component.mjs +1 -1
- package/esm2022/dropdown/dropdown-item.component.mjs +2 -2
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -4
- package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
- package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +2 -2
- package/esm2022/form-field/hint.mjs +2 -2
- package/esm2022/form-field/password-hint.mjs +2 -2
- package/esm2022/list/list-selection.component.mjs +2 -2
- package/esm2022/list/list.component.mjs +2 -2
- package/esm2022/navbar/navbar.component.mjs +2 -2
- package/esm2022/navbar/vertical-navbar.component.mjs +2 -2
- package/esm2022/popover/popover-confirm.component.mjs +3 -3
- package/esm2022/popover/popover.component.mjs +3 -3
- package/esm2022/radio/radio.component.mjs +2 -2
- package/esm2022/scrollbar/scrollbar.component.mjs +2 -2
- package/esm2022/select/select.component.mjs +18 -114
- package/esm2022/select/select.module.mjs +28 -28
- package/esm2022/table/table.component.mjs +2 -2
- package/esm2022/tabs/tab-group.component.mjs +54 -12
- package/esm2022/tabs/tab-header.component.mjs +2 -2
- package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
- package/esm2022/tags/tag-default-options.mjs +1 -1
- package/esm2022/tags/tag-input.mjs +17 -3
- package/esm2022/tags/tag-list.component.mjs +2 -2
- package/esm2022/tags/tag.component.mjs +2 -2
- package/esm2022/timezone/timezone-option.component.mjs +2 -2
- package/esm2022/timezone/timezone-select.component.mjs +5 -5
- package/esm2022/toast/toast.component.mjs +3 -3
- package/esm2022/toast/toast.service.mjs +17 -12
- package/esm2022/tooltip/tooltip.component.mjs +2 -2
- package/esm2022/tree/tree-option.component.mjs +2 -2
- package/esm2022/tree-select/tree-select.component.mjs +9 -37
- package/esm2022/tree-select/tree-select.module.mjs +31 -11
- package/fesm2022/koobiq-components-alert.mjs +2 -2
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +2 -2
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +2 -2
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs +2 -2
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +1 -1
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +124 -7
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +5 -5
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +4 -4
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +6 -6
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +4 -4
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +4 -4
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +4 -4
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +2 -2
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +2 -2
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +46 -142
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +2 -2
- package/fesm2022/koobiq-components-tabs.mjs +56 -14
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +20 -7
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +6 -6
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +19 -13
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +2 -2
- package/fesm2022/koobiq-components-tree-select.mjs +37 -44
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +2 -2
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/file-upload/multiple-file-upload.component.scss +9 -7
- package/form-field/_form-field-theme.scss +2 -2
- package/form-field/hint.scss +2 -0
- package/icon/_icon-button-theme.scss +2 -2
- package/list/list.scss +3 -1
- package/navbar/_navbar-item_horizontal.scss +5 -2
- package/navbar/_navbar-item_vertical.scss +5 -5
- package/navbar/navbar-brand.scss +1 -1
- package/navbar/navbar-item.scss +6 -0
- package/package.json +6 -6
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/radio/radio.scss +3 -1
- package/schematics/ng-add/index.js +4 -4
- package/scrollbar/scrollbar.component.scss +6 -0
- package/select/select.component.d.ts +2 -32
- package/select/select.module.d.ts +1 -1
- package/tabs/tab-group.component.d.ts +9 -3
- package/tags/_tag-theme.scss +2 -2
- package/tags/tag-default-options.d.ts +1 -0
- package/tags/tag-input.d.ts +7 -1
- package/timezone/timezone-select.component.d.ts +2 -1
- package/toast/toast.component.scss +1 -1
- package/toast/toast.service.d.ts +8 -4
- package/toggle/_toggle-theme.scss +2 -2
- package/tree-select/_tree-select-theme.scss +1 -1
- package/tree-select/tree-select.component.d.ts +4 -17
- package/tree-select/tree-select.module.d.ts +1 -2
- package/tree-select/tree-select.scss +1 -1
|
@@ -88,7 +88,7 @@ export class KbqToastComponent {
|
|
|
88
88
|
this.focusMonitor.stopMonitoring(this.elementRef.nativeElement);
|
|
89
89
|
}
|
|
90
90
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastComponent, deps: [{ token: i1.KbqToastData }, { token: forwardRef(() => KbqToastService) }, { token: i0.ElementRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqToastComponent, selector: "kbq-toast", host: { listeners: { "@state.start": "onAnimation($event)", "@state.done": "onAnimation($event)", "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)", "keydown.esc": "close()" }, properties: { "class": "toastStyle", "class.kbq-toast_dismissible": "data.closeButton", "@state": "animationState" }, classAttribute: "kbq-toast" }, ngImport: i0, template: "<div class=\"kbq-toast__icon-container layout-row layout-align-start-start\" *ngIf=\"data.icon\">\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i kbq-icon=\"mc-info_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i kbq-icon=\"mc-success_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n\n<div class=\"kbq-toast__container\">\n <div *ngIf=\"data.title\"\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div *ngIf=\"data.caption\"\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\">\n <ng-container *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div *ngIf=\"data.content\" class=\"kbq-toast__content\">\n <ng-container *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div *ngIf=\"data.actions\" class=\"kbq-toast__actions\">\n <ng-container *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n *ngIf=\"data.closeButton === true\"\n (click)=\"close()\">\n </i>\n\n <ng-container *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-border-
|
|
91
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqToastComponent, selector: "kbq-toast", host: { listeners: { "@state.start": "onAnimation($event)", "@state.done": "onAnimation($event)", "mouseenter": "hovered.next(true)", "mouseleave": "hovered.next(false)", "keydown.esc": "close()" }, properties: { "class": "toastStyle", "class.kbq-toast_dismissible": "data.closeButton", "@state": "animationState" }, classAttribute: "kbq-toast" }, ngImport: i0, template: "<div class=\"kbq-toast__icon-container layout-row layout-align-start-start\" *ngIf=\"data.icon\">\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i kbq-icon=\"mc-info_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i kbq-icon=\"mc-success_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n\n<div class=\"kbq-toast__container\">\n <div *ngIf=\"data.title\"\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div *ngIf=\"data.caption\"\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\">\n <ng-container *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div *ngIf=\"data.content\" class=\"kbq-toast__content\">\n <ng-container *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div *ngIf=\"data.actions\" class=\"kbq-toast__actions\">\n <ng-container *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n *ngIf=\"data.closeButton === true\"\n (click)=\"close()\">\n </i>\n\n <ng-container *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-border-radius, );margin-right:var(--kbq-toast-size-icon-margin-right, 8px);padding-top:var(--kbq-toast-size-content-padding-top, 16px)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top, 16px);padding-right:var(--kbq-size-s, 8px);padding-bottom:var(--kbq-toast-size-content-padding-bottom, 16px)}.kbq-toast__title>p{margin:0}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom, 4px)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top, 8px);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal, 12px)}.kbq-toast__close-button{margin-top:var(--kbq-toast-size-close-button-margin-top, 12px);margin-right:var(--kbq-toast-size-close-button-margin-right, 4px)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.KbqIcon, selector: "[kbq-icon]", inputs: ["color", "small", "autoColor"] }, { kind: "component", type: i4.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["color", "small", "tabindex", "disabled"] }, { kind: "directive", type: KbqToastCloseButton, selector: "[kbq-toast-close-button]" }], animations: [kbqToastAnimations.toastState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
92
92
|
}
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastComponent, decorators: [{
|
|
94
94
|
type: Component,
|
|
@@ -102,9 +102,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
102
102
|
'(mouseenter)': 'hovered.next(true)',
|
|
103
103
|
'(mouseleave)': 'hovered.next(false)',
|
|
104
104
|
'(keydown.esc)': 'close()'
|
|
105
|
-
}, animations: [kbqToastAnimations.toastState], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"kbq-toast__icon-container layout-row layout-align-start-start\" *ngIf=\"data.icon\">\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i kbq-icon=\"mc-info_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i kbq-icon=\"mc-success_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n\n<div class=\"kbq-toast__container\">\n <div *ngIf=\"data.title\"\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div *ngIf=\"data.caption\"\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\">\n <ng-container *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div *ngIf=\"data.content\" class=\"kbq-toast__content\">\n <ng-container *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div *ngIf=\"data.actions\" class=\"kbq-toast__actions\">\n <ng-container *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n *ngIf=\"data.closeButton === true\"\n (click)=\"close()\">\n </i>\n\n <ng-container *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-border-
|
|
105
|
+
}, animations: [kbqToastAnimations.toastState], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"kbq-toast__icon-container layout-row layout-align-start-start\" *ngIf=\"data.icon\">\n <ng-container *ngIf=\"data.icon === true\">\n <ng-container [ngSwitch]=\"data.style\">\n <ng-container *ngSwitchCase=\"'contrast'\">\n <i kbq-icon=\"mc-info_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'success'\">\n <i kbq-icon=\"mc-success_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'warning'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'error'\">\n <i kbq-icon=\"mc-error_16\" [ngClass]=\"data.iconClass\" class=\"kbq-toast__icon\" [color]=\"$any(data.style)\"></i>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"isTemplateRef(data.icon)\"\n [ngTemplateOutlet]=\"$any(data.icon)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n\n<div class=\"kbq-toast__container\">\n <div *ngIf=\"data.title\"\n class=\"kbq-toast__title\"\n [class.kbq-toast__title_with-content]=\"data.caption || data.content\"\n >\n <ng-container *ngIf=\"isTemplateRef(data.title)\"\n [ngTemplateOutlet]=\"$any(data.title)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.title)\">\n <p>{{ data.title }}</p>\n </ng-container>\n </div>\n\n <div *ngIf=\"data.caption\"\n [class.kbq-toast__text]=\"data.title\"\n [class.kbq-toast__title]=\"!data.title\">\n <ng-container *ngIf=\"isTemplateRef(data.caption)\"\n [ngTemplateOutlet]=\"$any(data.caption)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.caption)\">{{ data.caption }}</ng-container>\n </div>\n\n <div *ngIf=\"data.content\" class=\"kbq-toast__content\">\n <ng-container *ngIf=\"isTemplateRef(data.content)\"\n [ngTemplateOutlet]=\"$any(data.content)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.content)\">{{ data.content }}</ng-container>\n </div>\n\n <div *ngIf=\"data.actions\" class=\"kbq-toast__actions\">\n <ng-container *ngIf=\"isTemplateRef(data.actions)\"\n [ngTemplateOutlet]=\"$any(data.actions)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n\n <ng-container *ngIf=\"!isTemplateRef(data.actions)\">{{ data.actions }}</ng-container>\n </div>\n</div>\n\n<div *ngIf=\"data.closeButton\">\n <i kbq-icon-button=\"mc-close-M_16\"\n kbq-toast-close-button\n *ngIf=\"data.closeButton === true\"\n (click)=\"close()\">\n </i>\n\n <ng-container *ngIf=\"isTemplateRef(data.closeButton)\"\n [ngTemplateOutlet]=\"$any(data.closeButton)\"\n [ngTemplateOutletContext]=\"{ $implicit }\">\n </ng-container>\n</div>\n", styles: [".kbq-toast{display:flex;box-sizing:border-box;width:var(--kbq-toast-size-container-width, 360px);height:auto;border-radius:var(--kbq-toast-size-container-border-radius, 8px);padding-left:var(--kbq-toast-size-container-padding-left, 12px);padding-right:var(--kbq-toast-size-container-padding-right, 8px)}.kbq-toast__icon-container{width:var(--kbq-toast-size-icon-width, 16px);max-width:var(--kbq-toast-size-icon-width, 16px);height:var(--kbq-toast-size-icon-height, 16px);max-height:var(--kbq-toast-size-icon-height, 16px);border-radius:var(--kbq-toast-size-border-radius, );margin-right:var(--kbq-toast-size-icon-margin-right, 8px);padding-top:var(--kbq-toast-size-content-padding-top, 16px)}.kbq-toast__container{display:flex;flex-direction:column;flex:1;padding-top:var(--kbq-toast-size-content-padding-top, 16px);padding-right:var(--kbq-size-s, 8px);padding-bottom:var(--kbq-toast-size-content-padding-bottom, 16px)}.kbq-toast__title>p{margin:0}.kbq-toast__title_with-content{padding-bottom:var(--kbq-toast-size-caption-padding-bottom, 4px)}.kbq-toast__text{display:flex;flex:1;align-items:center}.kbq-toast__content{display:flex;flex-direction:column}.kbq-toast__actions{display:flex;padding-top:var(--kbq-toast-size-button-stack-padding-top, 8px);gap:var(--kbq-toast-size-button-stack-content-gap-horizontal, 12px)}.kbq-toast__close-button{margin-top:var(--kbq-toast-size-close-button-margin-top, 12px);margin-right:var(--kbq-toast-size-close-button-margin-right, 4px)}\n"] }]
|
|
106
106
|
}], ctorParameters: () => [{ type: i1.KbqToastData }, { type: i5.KbqToastService, decorators: [{
|
|
107
107
|
type: Inject,
|
|
108
108
|
args: [forwardRef(() => KbqToastService)]
|
|
109
109
|
}] }, { type: i0.ElementRef }, { type: i2.FocusMonitor }] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBUzNELE1BQU0sT0FBTyxtQkFBbUI7aUlBQW5CLG1CQUFtQjtxSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUseUJBQXlCO3FCQUNuQztpQkFDSjs7QUFHRCxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUF1QlgsTUFBTSxPQUFPLGlCQUFpQjtJQWMxQixJQUFJLFVB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LGVBQWUsRUFBRSxxQkFBcUI7d0JBRXRDLGNBQWMsRUFBRSxvQkFBb0I7d0JBQ3BDLGNBQWMsRUFBRSxxQkFBcUI7d0JBRXJDLGVBQWUsRUFBRSxTQUFTO3FCQUM3QixjQUNXLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLG1CQUMxQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkE4QmhDLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgT25EZXN0cm95LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGticVRvYXN0QW5pbWF0aW9ucyB9IGZyb20gJy4vdG9hc3QtYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBLYnFUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2JxVG9hc3REYXRhLCBLYnFUb2FzdFN0eWxlIH0gZnJvbSAnLi90b2FzdC50eXBlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtdG9hc3QtY2xvc2UtYnV0dG9uXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS10b2FzdF9fY2xvc2UtYnV0dG9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVG9hc3RDbG9zZUJ1dHRvbiB7fVxuXG5sZXQgaWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10b2FzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdG9hc3QnLFxuICAgICAgICAnW2NsYXNzXSc6ICd0b2FzdFN0eWxlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdG9hc3RfZGlzbWlzc2libGVdJzogJ2RhdGEuY2xvc2VCdXR0b24nLFxuICAgICAgICAnW0BzdGF0ZV0nOiAnYW5pbWF0aW9uU3RhdGUnLFxuICAgICAgICAnKEBzdGF0ZS5zdGFydCknOiAnb25BbmltYXRpb24oJGV2ZW50KScsXG4gICAgICAgICcoQHN0YXRlLmRvbmUpJzogJ29uQW5pbWF0aW9uKCRldmVudCknLFxuXG4gICAgICAgICcobW91c2VlbnRlciknOiAnaG92ZXJlZC5uZXh0KHRydWUpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdob3ZlcmVkLm5leHQoZmFsc2UpJyxcblxuICAgICAgICAnKGtleWRvd24uZXNjKSc6ICdjbG9zZSgpJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW2ticVRvYXN0QW5pbWF0aW9ucy50b2FzdFN0YXRlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticVRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICB0aGVtZVBhbGV0dGUgPSBUaGVtZVBhbGV0dGU7XG5cbiAgICBhbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcblxuICAgIHJlYWRvbmx5IGhvdmVyZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZWFkb25seSBmb2N1c2VkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBpZCA9IGlkKys7XG4gICAgdHRsO1xuICAgIGRlbGF5O1xuXG4gICAgJGltcGxpY2l0O1xuXG4gICAgZ2V0IHRvYXN0U3R5bGUoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBbYGticS10b2FzdF8ke3RoaXMuZGF0YS5zdHlsZX1gXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBpc0ZvY3VzZWRPckhvdmVyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvdmVyZWQuZ2V0VmFsdWUoKSB8fCB0aGlzLmZvY3VzZWQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3llZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgZGF0YTogS2JxVG9hc3REYXRhLFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gS2JxVG9hc3RTZXJ2aWNlKSkgcmVhZG9ubHkgc2VydmljZTogS2JxVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICB0aGlzLiRpbXBsaWNpdCA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5kYXRhLnN0eWxlID0gdGhpcy5kYXRhLnN0eWxlIHx8IEticVRvYXN0U3R5bGUuQ29udHJhc3Q7XG4gICAgICAgIHRoaXMuZGF0YS5pY29uID0gdGhpcy5kYXRhLmljb24gIT09IHVuZGVmaW5lZCA/IHRoaXMuZGF0YS5pY29uIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kYXRhLmljb25DbGFzcyA9IHRoaXMuZGF0YS5pY29uQ2xhc3MgfHwgdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmRhdGEuY2xvc2VCdXR0b24gPSB0aGlzLmRhdGEuY2xvc2VCdXR0b24gIT09IHVuZGVmaW5lZCA/IHRoaXMuZGF0YS5jbG9zZUJ1dHRvbiA6IHRydWU7XG5cbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICd2aXNpYmxlJztcblxuICAgICAgICB0aGlzLnJ1bkZvY3VzTW9uaXRvcigpO1xuXG4gICAgICAgIHRoaXMuaG92ZXJlZC5zdWJzY3JpYmUodGhpcy5zZXJ2aWNlLmhvdmVyZWQpO1xuICAgICAgICB0aGlzLmZvY3VzZWQuc3Vic2NyaWJlKHRoaXMuc2VydmljZS5mb2N1c2VkKTtcblxuICAgICAgICBtZXJnZSh0aGlzLmhvdmVyZWQsIHRoaXMuZm9jdXNlZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksIGZpbHRlcigodmFsdWUpID0+IHZhbHVlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR0bCA9PT0gMCkgeyByZXR1cm47IH1cblxuICAgICAgICAgICAgICAgIHRoaXMudHRsID0gdGhpcy50dGwgPCB0aGlzLmRlbGF5ID8gdGhpcy5kZWxheSA6IHRoaXMudHRsO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3RvcEZvY3VzTW9uaXRvcigpO1xuXG4gICAgICAgIHRoaXMuaG92ZXJlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5mb2N1c2VkLm5leHQoZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VydmljZS5oaWRlKHRoaXMuaWQpO1xuICAgIH1cblxuICAgIGlzVGVtcGxhdGVSZWYodmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb24oJGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICB0aGlzLnNlcnZpY2UuYW5pbWF0aW9uLm5leHQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJ1bkZvY3VzTW9uaXRvcigpIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3JcbiAgICAgICAgICAgIC5tb25pdG9yKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0cnVlKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3JpZ2luOiBGb2N1c09yaWdpbikgPT4gdGhpcy5mb2N1c2VkLm5leHQoISFvcmlnaW4pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BGb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwia2JxLXRvYXN0X19pY29uLWNvbnRhaW5lciBsYXlvdXQtcm93IGxheW91dC1hbGlnbi1zdGFydC1zdGFydFwiICpuZ0lmPVwiZGF0YS5pY29uXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuaWNvbiA9PT0gdHJ1ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLnN0eWxlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29udHJhc3QnXCI+XG4gICAgICAgICAgICAgICAgPGkga2JxLWljb249XCJtYy1pbmZvXzE2XCIgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIiBjbGFzcz1cImticS10b2FzdF9faWNvblwiIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiPlxuICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwibWMtc3VjY2Vzc18xNlwiIFtuZ0NsYXNzXT1cImRhdGEuaWNvbkNsYXNzXCIgY2xhc3M9XCJrYnEtdG9hc3RfX2ljb25cIiBbY29sb3JdPVwiJGFueShkYXRhLnN0eWxlKVwiPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInd2FybmluZydcIj5cbiAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cIm1jLWVycm9yXzE2XCIgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIiBjbGFzcz1cImticS10b2FzdF9faWNvblwiIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidlcnJvcidcIj5cbiAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cIm1jLWVycm9yXzE2XCIgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIiBjbGFzcz1cImticS10b2FzdF9faWNvblwiIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5pY29uKVwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuaWNvbilcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0IH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwia2JxLXRvYXN0X19jb250YWluZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS50aXRsZVwiXG4gICAgICAgICBjbGFzcz1cImticS10b2FzdF9fdGl0bGVcIlxuICAgICAgICAgW2NsYXNzLmticS10b2FzdF9fdGl0bGVfd2l0aC1jb250ZW50XT1cImRhdGEuY2FwdGlvbiB8fCBkYXRhLmNvbnRlbnRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS50aXRsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoZGF0YS50aXRsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihkYXRhLnRpdGxlKVwiPlxuICAgICAgICAgICAgPHA+e3sgZGF0YS50aXRsZSB9fTwvcD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5jYXB0aW9uXCJcbiAgICAgICAgIFtjbGFzcy5rYnEtdG9hc3RfX3RleHRdPVwiZGF0YS50aXRsZVwiXG4gICAgICAgICBbY2xhc3Mua2JxLXRvYXN0X190aXRsZV09XCIhZGF0YS50aXRsZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihkYXRhLmNhcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuY2FwdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihkYXRhLmNhcHRpb24pXCI+e3sgZGF0YS5jYXB0aW9uIH19PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5jb250ZW50XCIgY2xhc3M9XCJrYnEtdG9hc3RfX2NvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5jb250ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGVSZWYoZGF0YS5jb250ZW50KVwiPnt7IGRhdGEuY29udGVudCB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYWN0aW9uc1wiIGNsYXNzPVwia2JxLXRvYXN0X19hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuYWN0aW9ucylcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoZGF0YS5hY3Rpb25zKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0IH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGRhdGEuYWN0aW9ucylcIj57eyBkYXRhLmFjdGlvbnMgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiZGF0YS5jbG9zZUJ1dHRvblwiPlxuICAgIDxpIGticS1pY29uLWJ1dHRvbj1cIm1jLWNsb3NlLU1fMTZcIlxuICAgICAgIGticS10b2FzdC1jbG9zZS1idXR0b25cbiAgICAgICAqbmdJZj1cImRhdGEuY2xvc2VCdXR0b24gPT09IHRydWVcIlxuICAgICAgIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgPC9pPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5jbG9zZUJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNsb3NlQnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7O0FBUzNELE1BQU0sT0FBTyxtQkFBbUI7aUlBQW5CLG1CQUFtQjtxSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUseUJBQXlCO3FCQUNuQztpQkFDSjs7QUFHRCxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7QUF1QlgsTUFBTSxPQUFPLGlCQUFpQjtJQWMxQixJQUFJLFVB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LGVBQWUsRUFBRSxxQkFBcUI7d0JBRXRDLGNBQWMsRUFBRSxvQkFBb0I7d0JBQ3BDLGNBQWMsRUFBRSxxQkFBcUI7d0JBRXJDLGVBQWUsRUFBRSxTQUFTO3FCQUM3QixjQUNXLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLG1CQUMxQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzswQkE4QmhDLE1BQU07MkJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBGb2N1c01vbml0b3IsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbmplY3QsXG4gICAgT25EZXN0cm95LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGticVRvYXN0QW5pbWF0aW9ucyB9IGZyb20gJy4vdG9hc3QtYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBLYnFUb2FzdFNlcnZpY2UgfSBmcm9tICcuL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2JxVG9hc3REYXRhLCBLYnFUb2FzdFN0eWxlIH0gZnJvbSAnLi90b2FzdC50eXBlJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtdG9hc3QtY2xvc2UtYnV0dG9uXScsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS10b2FzdF9fY2xvc2UtYnV0dG9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxVG9hc3RDbG9zZUJ1dHRvbiB7fVxuXG5sZXQgaWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS10b2FzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvYXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90b2FzdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtdG9hc3QnLFxuICAgICAgICAnW2NsYXNzXSc6ICd0b2FzdFN0eWxlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtdG9hc3RfZGlzbWlzc2libGVdJzogJ2RhdGEuY2xvc2VCdXR0b24nLFxuICAgICAgICAnW0BzdGF0ZV0nOiAnYW5pbWF0aW9uU3RhdGUnLFxuICAgICAgICAnKEBzdGF0ZS5zdGFydCknOiAnb25BbmltYXRpb24oJGV2ZW50KScsXG4gICAgICAgICcoQHN0YXRlLmRvbmUpJzogJ29uQW5pbWF0aW9uKCRldmVudCknLFxuXG4gICAgICAgICcobW91c2VlbnRlciknOiAnaG92ZXJlZC5uZXh0KHRydWUpJyxcbiAgICAgICAgJyhtb3VzZWxlYXZlKSc6ICdob3ZlcmVkLm5leHQoZmFsc2UpJyxcblxuICAgICAgICAnKGtleWRvd24uZXNjKSc6ICdjbG9zZSgpJ1xuICAgIH0sXG4gICAgYW5pbWF0aW9uczogW2ticVRvYXN0QW5pbWF0aW9ucy50b2FzdFN0YXRlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticVRvYXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICB0aGVtZVBhbGV0dGUgPSBUaGVtZVBhbGV0dGU7XG5cbiAgICBhbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcblxuICAgIHJlYWRvbmx5IGhvdmVyZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZWFkb25seSBmb2N1c2VkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBpZCA9IGlkKys7XG4gICAgdHRsO1xuICAgIGRlbGF5O1xuXG4gICAgJGltcGxpY2l0O1xuXG4gICAgZ2V0IHRvYXN0U3R5bGUoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBbYGticS10b2FzdF8ke3RoaXMuZGF0YS5zdHlsZX1gXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldCBpc0ZvY3VzZWRPckhvdmVyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvdmVyZWQuZ2V0VmFsdWUoKSB8fCB0aGlzLmZvY3VzZWQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3llZDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgZGF0YTogS2JxVG9hc3REYXRhLFxuICAgICAgICBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gS2JxVG9hc3RTZXJ2aWNlKSkgcmVhZG9ubHkgc2VydmljZTogS2JxVG9hc3RTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICB0aGlzLiRpbXBsaWNpdCA9IHRoaXM7XG5cbiAgICAgICAgdGhpcy5kYXRhLnN0eWxlID0gdGhpcy5kYXRhLnN0eWxlIHx8IEticVRvYXN0U3R5bGUuQ29udHJhc3Q7XG4gICAgICAgIHRoaXMuZGF0YS5pY29uID0gdGhpcy5kYXRhLmljb24gIT09IHVuZGVmaW5lZCA/IHRoaXMuZGF0YS5pY29uIDogdHJ1ZTtcbiAgICAgICAgdGhpcy5kYXRhLmljb25DbGFzcyA9IHRoaXMuZGF0YS5pY29uQ2xhc3MgfHwgdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmRhdGEuY2xvc2VCdXR0b24gPSB0aGlzLmRhdGEuY2xvc2VCdXR0b24gIT09IHVuZGVmaW5lZCA/IHRoaXMuZGF0YS5jbG9zZUJ1dHRvbiA6IHRydWU7XG5cbiAgICAgICAgdGhpcy5hbmltYXRpb25TdGF0ZSA9ICd2aXNpYmxlJztcblxuICAgICAgICB0aGlzLnJ1bkZvY3VzTW9uaXRvcigpO1xuXG4gICAgICAgIHRoaXMuaG92ZXJlZC5zdWJzY3JpYmUodGhpcy5zZXJ2aWNlLmhvdmVyZWQpO1xuICAgICAgICB0aGlzLmZvY3VzZWQuc3Vic2NyaWJlKHRoaXMuc2VydmljZS5mb2N1c2VkKTtcblxuICAgICAgICBtZXJnZSh0aGlzLmhvdmVyZWQsIHRoaXMuZm9jdXNlZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksIGZpbHRlcigodmFsdWUpID0+IHZhbHVlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnR0bCA9PT0gMCkgeyByZXR1cm47IH1cblxuICAgICAgICAgICAgICAgIHRoaXMudHRsID0gdGhpcy50dGwgPCB0aGlzLmRlbGF5ID8gdGhpcy5kZWxheSA6IHRoaXMudHRsO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3RvcEZvY3VzTW9uaXRvcigpO1xuXG4gICAgICAgIHRoaXMuaG92ZXJlZC5uZXh0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5mb2N1c2VkLm5leHQoZmFsc2UpO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQodHJ1ZSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VydmljZS5oaWRlKHRoaXMuaWQpO1xuICAgIH1cblxuICAgIGlzVGVtcGxhdGVSZWYodmFsdWUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XG4gICAgfVxuXG4gICAgb25BbmltYXRpb24oJGV2ZW50OiBBbmltYXRpb25FdmVudCkge1xuICAgICAgICB0aGlzLnNlcnZpY2UuYW5pbWF0aW9uLm5leHQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJ1bkZvY3VzTW9uaXRvcigpIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3JcbiAgICAgICAgICAgIC5tb25pdG9yKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0cnVlKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3JpZ2luOiBGb2N1c09yaWdpbikgPT4gdGhpcy5mb2N1c2VkLm5leHQoISFvcmlnaW4pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0b3BGb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwia2JxLXRvYXN0X19pY29uLWNvbnRhaW5lciBsYXlvdXQtcm93IGxheW91dC1hbGlnbi1zdGFydC1zdGFydFwiICpuZ0lmPVwiZGF0YS5pY29uXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEuaWNvbiA9PT0gdHJ1ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLnN0eWxlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY29udHJhc3QnXCI+XG4gICAgICAgICAgICAgICAgPGkga2JxLWljb249XCJtYy1pbmZvXzE2XCIgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIiBjbGFzcz1cImticS10b2FzdF9faWNvblwiIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzdWNjZXNzJ1wiPlxuICAgICAgICAgICAgICAgIDxpIGticS1pY29uPVwibWMtc3VjY2Vzc18xNlwiIFtuZ0NsYXNzXT1cImRhdGEuaWNvbkNsYXNzXCIgY2xhc3M9XCJrYnEtdG9hc3RfX2ljb25cIiBbY29sb3JdPVwiJGFueShkYXRhLnN0eWxlKVwiPjwvaT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInd2FybmluZydcIj5cbiAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cIm1jLWVycm9yXzE2XCIgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIiBjbGFzcz1cImticS10b2FzdF9faWNvblwiIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidlcnJvcidcIj5cbiAgICAgICAgICAgICAgICA8aSBrYnEtaWNvbj1cIm1jLWVycm9yXzE2XCIgW25nQ2xhc3NdPVwiZGF0YS5pY29uQ2xhc3NcIiBjbGFzcz1cImticS10b2FzdF9faWNvblwiIFtjb2xvcl09XCIkYW55KGRhdGEuc3R5bGUpXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5pY29uKVwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuaWNvbilcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0IH1cIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwia2JxLXRvYXN0X19jb250YWluZXJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS50aXRsZVwiXG4gICAgICAgICBjbGFzcz1cImticS10b2FzdF9fdGl0bGVcIlxuICAgICAgICAgW2NsYXNzLmticS10b2FzdF9fdGl0bGVfd2l0aC1jb250ZW50XT1cImRhdGEuY2FwdGlvbiB8fCBkYXRhLmNvbnRlbnRcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS50aXRsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoZGF0YS50aXRsZSlcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihkYXRhLnRpdGxlKVwiPlxuICAgICAgICAgICAgPHA+e3sgZGF0YS50aXRsZSB9fTwvcD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5jYXB0aW9uXCJcbiAgICAgICAgIFtjbGFzcy5rYnEtdG9hc3RfX3RleHRdPVwiZGF0YS50aXRsZVwiXG4gICAgICAgICBbY2xhc3Mua2JxLXRvYXN0X190aXRsZV09XCIhZGF0YS50aXRsZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNUZW1wbGF0ZVJlZihkYXRhLmNhcHRpb24pXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCIkYW55KGRhdGEuY2FwdGlvbilcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdCB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNUZW1wbGF0ZVJlZihkYXRhLmNhcHRpb24pXCI+e3sgZGF0YS5jYXB0aW9uIH19PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5jb250ZW50XCIgY2xhc3M9XCJrYnEtdG9hc3RfX2NvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5jb250ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzVGVtcGxhdGVSZWYoZGF0YS5jb250ZW50KVwiPnt7IGRhdGEuY29udGVudCB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYWN0aW9uc1wiIGNsYXNzPVwia2JxLXRvYXN0X19hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1RlbXBsYXRlUmVmKGRhdGEuYWN0aW9ucylcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIiRhbnkoZGF0YS5hY3Rpb25zKVwiXG4gICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0IH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1RlbXBsYXRlUmVmKGRhdGEuYWN0aW9ucylcIj57eyBkYXRhLmFjdGlvbnMgfX08L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwiZGF0YS5jbG9zZUJ1dHRvblwiPlxuICAgIDxpIGticS1pY29uLWJ1dHRvbj1cIm1jLWNsb3NlLU1fMTZcIlxuICAgICAgIGticS10b2FzdC1jbG9zZS1idXR0b25cbiAgICAgICAqbmdJZj1cImRhdGEuY2xvc2VCdXR0b24gPT09IHRydWVcIlxuICAgICAgIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgPC9pPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVGVtcGxhdGVSZWYoZGF0YS5jbG9zZUJ1dHRvbilcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiJGFueShkYXRhLmNsb3NlQnV0dG9uKVwiXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQgfVwiPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { Overlay, OverlayContainer } from '@angular/cdk/overlay';
|
|
2
2
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
|
-
import { Injectable, Injector, Inject, Optional, InjectionToken } from '@angular/core';
|
|
4
|
-
import { BehaviorSubject, timer } from 'rxjs';
|
|
5
|
-
import { filter } from 'rxjs/operators';
|
|
3
|
+
import { Injectable, Injector, Inject, Optional, InjectionToken, NgZone } from '@angular/core';
|
|
4
|
+
import { BehaviorSubject, filter, timer, shareReplay } from 'rxjs';
|
|
6
5
|
import { KbqToastContainerComponent } from './toast-container.component';
|
|
7
6
|
import { KBQ_TOAST_CONFIG, KbqToastPosition } from './toast.type';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
@@ -25,31 +24,37 @@ export class KbqToastService {
|
|
|
25
24
|
get templates() {
|
|
26
25
|
return Object.values(this.templatesDict);
|
|
27
26
|
}
|
|
28
|
-
constructor(overlay, injector, overlayContainer, toastFactory, toastConfig) {
|
|
27
|
+
constructor(overlay, injector, overlayContainer, ngZone, toastFactory, toastConfig) {
|
|
29
28
|
this.overlay = overlay;
|
|
30
29
|
this.injector = injector;
|
|
31
30
|
this.overlayContainer = overlayContainer;
|
|
31
|
+
this.ngZone = ngZone;
|
|
32
32
|
this.toastFactory = toastFactory;
|
|
33
33
|
this.toastConfig = toastConfig;
|
|
34
34
|
this.hovered = new BehaviorSubject(false);
|
|
35
35
|
this.focused = new BehaviorSubject(false);
|
|
36
36
|
this.animation = new BehaviorSubject(null);
|
|
37
|
+
this.timer = timer(CHECK_INTERVAL, CHECK_INTERVAL)
|
|
38
|
+
.pipe(filter(() => this.toasts.length > 0 && !this.hovered.getValue() && !this.focused.getValue()), shareReplay());
|
|
37
39
|
this.toastsDict = {};
|
|
38
40
|
this.templatesDict = {};
|
|
39
41
|
this.processToasts = () => {
|
|
40
42
|
for (const toast of this.toasts.filter((item) => item.instance.ttl > 0)) {
|
|
41
43
|
toast.instance.ttl -= CHECK_INTERVAL;
|
|
42
44
|
if (toast.instance.ttl <= 0) {
|
|
43
|
-
this.
|
|
44
|
-
|
|
45
|
+
this.ngZone.run(() => {
|
|
46
|
+
this.hide(toast.instance.id);
|
|
47
|
+
this.updateTTLAfterDelete();
|
|
48
|
+
});
|
|
45
49
|
break;
|
|
46
50
|
}
|
|
47
51
|
}
|
|
48
52
|
};
|
|
49
53
|
this.toastConfig = toastConfig || defaultToastConfig;
|
|
50
|
-
timer(
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
this.ngZone.runOutsideAngular(() => this.timerSubscription = this.timer.subscribe(this.processToasts));
|
|
55
|
+
}
|
|
56
|
+
ngOnDestroy() {
|
|
57
|
+
this.timerSubscription.unsubscribe();
|
|
53
58
|
}
|
|
54
59
|
show(data, duration = this.toastConfig.duration, onTop = this.toastConfig.onTop) {
|
|
55
60
|
this.prepareContainer();
|
|
@@ -179,13 +184,13 @@ export class KbqToastService {
|
|
|
179
184
|
getGlobalOverlayPosition() {
|
|
180
185
|
return this.overlay.position().global();
|
|
181
186
|
}
|
|
182
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i1.OverlayContainer }, { token: KBQ_TOAST_FACTORY }, { token: KBQ_TOAST_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
187
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i1.OverlayContainer }, { token: i0.NgZone }, { token: KBQ_TOAST_FACTORY }, { token: KBQ_TOAST_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
183
188
|
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastService, providedIn: 'root' }); }
|
|
184
189
|
}
|
|
185
190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqToastService, decorators: [{
|
|
186
191
|
type: Injectable,
|
|
187
192
|
args: [{ providedIn: 'root' }]
|
|
188
|
-
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i1.OverlayContainer }, { type: undefined, decorators: [{
|
|
193
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i1.OverlayContainer }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
189
194
|
type: Inject,
|
|
190
195
|
args: [KBQ_TOAST_FACTORY]
|
|
191
196
|
}] }, { type: undefined, decorators: [{
|
|
@@ -194,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
194
199
|
type: Inject,
|
|
195
200
|
args: [KBQ_TOAST_CONFIG]
|
|
196
201
|
}] }] });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdG9hc3QvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUgsT0FBTyxFQUNQLGdCQUFnQixFQUVuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0gsVUFBVSxFQUNWLFFBQVEsRUFDUixNQUFNLEVBRU4sUUFBUSxFQUdSLGNBQWMsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXpFLE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHaEcsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUI7SUFDOUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFNBQVM7SUFDcEMsUUFBUSxFQUFFLElBQUk7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLEtBQUssRUFBRSxLQUFLO0NBQ2YsQ0FBQztBQUdGLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUM7QUFFM0IsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBR25CLE1BQU0sT0FBTyxlQUFlO0lBQ3hCLElBQUksTUFBTTtRQUNOLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFB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akMsTUFBTSxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUM7YUFDMUIsS0FBSyxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFO2FBQ2pDLGdCQUFnQixFQUFFO2FBQ2xCLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLHdCQUF3QjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUMsQ0FBQztpSUE3TlEsZUFBZSxpR0F5QlosaUJBQWlCLGFBQ0wsZ0JBQWdCO3FJQTFCL0IsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBMEJ6QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgR2xvYmFsUG9zaXRpb25TdHJhdGVneSxcbiAgICBPdmVybGF5LFxuICAgIE92ZXJsYXlDb250YWluZXIsXG4gICAgT3ZlcmxheVJlZlxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvcixcbiAgICBJbmplY3QsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIE9wdGlvbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBJbmplY3Rpb25Ub2tlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgS2JxVG9hc3RDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxVG9hc3RDb21wb25lbnQgfSBmcm9tICcuL3RvYXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLYnFUb2FzdERhdGEsIEtCUV9UT0FTVF9DT05GSUcsIEticVRvYXN0Q29uZmlnLCBLYnFUb2FzdFBvc2l0aW9uIH0gZnJvbSAnLi90b2FzdC50eXBlJztcblxuXG5leHBvcnQgY29uc3QgS0JRX1RPQVNUX0ZBQ1RPUlkgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0ticVRvYXN0RmFjdG9yeScpO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFRvYXN0Q29uZmlnOiBLYnFUb2FzdENvbmZpZyA9IHtcbiAgICBwb3NpdGlvbjogS2JxVG9hc3RQb3NpdGlvbi5UT1BfUklHSFQsXG4gICAgZHVyYXRpb246IDUwMDAsXG4gICAgZGVsYXk6IDIwMDAsXG4gICAgb25Ub3A6IGZhbHNlXG59O1xuXG5cbmNvbnN0IElOREVOVF9TSVpFID0gMDtcbmNvbnN0IENIRUNLX0lOVEVSVkFMID0gNTAwO1xuXG5sZXQgdGVtcGxhdGVJZCA9IDA7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgS2JxVG9hc3RTZXJ2aWNlPFQgZXh0ZW5kcyBLYnFUb2FzdENvbXBvbmVudCA9IEticVRvYXN0Q29tcG9uZW50PiB7XG4gICAgZ2V0IHRvYXN0cygpOiBDb21wb25lbnRSZWY8VD5bXSB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMudG9hc3RzRGljdClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmhvc3RWaWV3LmRlc3Ryb3llZCk7XG4gICAgfVxuXG4gICAgZ2V0IHRlbXBsYXRlcygpOiBFbWJlZGRlZFZpZXdSZWY8VD5bXSB7XG4gICAgICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMudGVtcGxhdGVzRGljdCk7XG4gICAgfVxuXG4gICAgcmVhZG9ubHkgaG92ZXJlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHJlYWRvbmx5IGZvY3VzZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZWFkb25seSBhbmltYXRpb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFuaW1hdGlvbkV2ZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgICBwcml2YXRlIGNvbnRhaW5lckluc3RhbmNlOiBLYnFUb2FzdENvbnRhaW5lckNvbXBvbmVudDtcbiAgICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gICAgcHJpdmF0ZSBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxLYnFUb2FzdENvbnRhaW5lckNvbXBvbmVudD47XG5cbiAgICBwcml2YXRlIHRvYXN0c0RpY3Q6IHsgW2lkOiBudW1iZXJdOiBDb21wb25lbnRSZWY8VD4gfSA9IHt9O1xuICAgIHByaXZhdGUgdGVtcGxhdGVzRGljdDogeyBbaWQ6IG51bWJlcl06IEVtYmVkZGVkVmlld1JlZjxUPiB9ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5Q29udGFpbmVyOiBPdmVybGF5Q29udGFpbmVyLFxuICAgICAgICBASW5qZWN0KEtCUV9UT0FTVF9GQUNUT1JZKSBwcml2YXRlIHRvYXN0RmFjdG9yeTogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9UT0FTVF9DT05GSUcpIHByaXZhdGUgdG9hc3RDb25maWc6IEticVRvYXN0Q29uZmlnXG4gICAgKSB7XG4gICAgICAgIHRoaXMudG9hc3RDb25maWcgPSB0b2FzdENvbmZpZyB8fCBkZWZhdWx0VG9hc3RDb25maWc7XG5cbiAgICAgICAgdGltZXIoQ0hFQ0tfSU5URVJWQUwsIENIRUNLX0lOVEVSVkFMKVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKCgpID0+IHRoaXMudG9hc3RzLmxlbmd0aCA+IDAgJiYgIXRoaXMuaG92ZXJlZC5nZXRWYWx1ZSgpICYmICF0aGlzLmZvY3VzZWQuZ2V0VmFsdWUoKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMucHJvY2Vzc1RvYXN0cyk7XG4gICAgfVxuXG4gICAgc2hvdyhcbiAgICAgICAgZGF0YTogS2JxVG9hc3REYXRhLFxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyID0gdGhpcy50b2FzdENvbmZpZy5kdXJhdGlvbixcbiAgICAgICAgb25Ub3A6IGJvb2xlYW4gPSB0aGlzLnRvYXN0Q29uZmlnLm9uVG9wXG4gICAgKTogeyByZWY6IENvbXBvbmVudFJlZjxUPjsgaWQ6IG51bWJlcn0ge1xuXG4gICAgICAgIHRoaXMucHJlcGFyZUNvbnRhaW5lcigpO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVySW5zdGFuY2UuY3JlYXRlVG9hc3Q8VD4oZGF0YSwgdGhpcy50b2FzdEZhY3RvcnksIG9uVG9wKTtcblxuICAgICAgICB0aGlzLnRvYXN0c0RpY3RbY29tcG9uZW50UmVmLmluc3RhbmNlLmlkXSA9IGNvbXBvbmVudFJlZjtcblxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UudHRsID0gZHVyYXRpb247XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kZWxheSA9IHRoaXMudG9hc3RDb25maWcuZGVsYXk7XG5cbiAgICAgICAgcmV0dXJuIHsgcmVmOiBjb21wb25lbnRSZWYsIGlkOiBjb21wb25lbnRSZWYuaW5zdGFuY2UuaWQgfTtcbiAgICB9XG5cbiAgICBzaG93VGVtcGxhdGUoXG4gICAgICAgIGRhdGE6IEticVRvYXN0RGF0YSxcbiAgICAgICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgICAgIGR1cmF0aW9uOiBudW1iZXIgPSB0aGlzLnRvYXN0Q29uZmlnLmR1cmF0aW9uLFxuICAgICAgICBvblRvcDogYm9vbGVhbiA9IHRoaXMudG9hc3RDb25maWcub25Ub3BcbiAgICApOiB7IHJlZjogRW1iZWRkZWRWaWV3UmVmPFQ+OyBpZDogbnVtYmVyIH0ge1xuXG4gICAgICAgIHRoaXMucHJlcGFyZUNvbnRhaW5lcigpO1xuXG4gICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmNyZWF0ZVRlbXBsYXRlPFQ+KGRhdGEsIHRlbXBsYXRlLCBvblRvcCk7XG5cbiAgICAgICAgdGhpcy50ZW1wbGF0ZXNEaWN0W3RlbXBsYXRlSWRdID0gdmlld1JlZjtcblxuICAgICAgICB0aGlzLmFkZFJlbW92ZVRpbWVyKHRlbXBsYXRlSWQsIGR1cmF0aW9uKTtcblxuICAgICAgICB0ZW1wbGF0ZUlkKys7XG5cbiAgICAgICAgcmV0dXJuIHsgcmVmOiB2aWV3UmVmLCBpZDogdGVtcGxhdGVJZCB9O1xuICAgIH1cblxuICAgIGhpZGUoaWQ6IG51bWJlcikge1xuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnRvYXN0c0RpY3RbaWRdO1xuXG4gICAgICAgIGlmICghY29tcG9uZW50UmVmKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UucmVtb3ZlKGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgICAgZGVsZXRlIHRoaXMudG9hc3RzRGljdFtpZF07XG5cbiAgICAgICAgdGhpcy5kZXRhY2hPdmVybGF5KCk7XG4gICAgfVxuXG4gICAgaGlkZVRlbXBsYXRlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3Qgdmlld1JlZiA9IHRoaXMudGVtcGxhdGVzRGljdFtpZF07XG5cbiAgICAgICAgaWYgKCF2aWV3UmVmKSB7IHJldHVybjsgfVxuXG4gICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UucmVtb3ZlKHZpZXdSZWYpO1xuXG4gICAgICAgIGRlbGV0ZSB0aGlzLnRlbXBsYXRlc0RpY3RbaWRdO1xuXG4gICAgICAgIHRoaXMuZGV0YWNoT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGV0YWNoT3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMudG9hc3RzLmxlbmd0aCAhPT0gMCkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcm9jZXNzVG9hc3RzID0gKCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IHRvYXN0IG9mIHRoaXMudG9hc3RzLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pbnN0YW5jZS50dGwgPiAwKSkge1xuICAgICAgICAgICAgdG9hc3QuaW5zdGFuY2UudHRsIC09IENIRUNLX0lOVEVSVkFMO1xuXG4gICAgICAgICAgICBpZiAodG9hc3QuaW5zdGFuY2UudHRsIDw9IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGUodG9hc3QuaW5zdGFuY2UuaWQpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUVExBZnRlckRlbGV0ZSgpO1xuXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRUTEFmdGVyRGVsZXRlKCkge1xuICAgICAgICB0aGlzLnRvYXN0c1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pbnN0YW5jZS50dGwgPiAwKVxuICAgICAgICAgICAgLmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaW5zdGFuY2UudHRsID0gdGhpcy50b2FzdENvbmZpZy5kZWxheSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRSZW1vdmVUaW1lcihpZDogbnVtYmVyLCBkdXJhdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oaWRlVGVtcGxhdGUoaWQpLCBkdXJhdGlvbik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlQ29udGFpbmVyKCkge1xuICAgICAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcblxuICAgICAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsIHx8IG5ldyBDb21wb25lbnRQb3J0YWwoS2JxVG9hc3RDb250YWluZXJDb21wb25lbnQsIG51bGwsIHRoaXMuaW5qZWN0b3IpO1xuXG4gICAgICAgIGlmICghdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKS5pbnN0YW5jZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudG9Ub3AoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRvVG9wKCkge1xuICAgICAgICBjb25zdCBvdmVybGF5cyA9IHRoaXMub3ZlcmxheUNvbnRhaW5lci5nZXRDb250YWluZXJFbGVtZW50KCkuY2hpbGROb2RlcztcblxuICAgICAgICBpZiAob3ZlcmxheXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgb3ZlcmxheXNbb3ZlcmxheXMubGVuZ3RoIC0gMV0uYWZ0ZXIodGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlT3ZlcmxheSgpIHtcbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikgeyByZXR1cm4gdGhpcy5vdmVybGF5UmVmOyB9XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSh0aGlzLnRvYXN0Q29uZmlnLnBvc2l0aW9uKTtcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHsgcG9zaXRpb25TdHJhdGVneSB9KTtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmhvc3RFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2ticS10b2FzdC1vdmVybGF5Jyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uPzogS2JxVG9hc3RQb3NpdGlvbik6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICBjYXNlIEticVRvYXN0UG9zaXRpb24uQ0VOVEVSOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldENlbnRlcigpO1xuICAgICAgICAgICAgY2FzZSBLYnFUb2FzdFBvc2l0aW9uLkJPVFRPTV9DRU5URVI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Qm90dG9tQ2VudGVyKCk7XG4gICAgICAgICAgICBjYXNlIEticVRvYXN0UG9zaXRpb24uQk9UVE9NX0xFRlQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Qm90dG9tTGVmdCgpO1xuICAgICAgICAgICAgY2FzZSBLYnFUb2FzdFBvc2l0aW9uLkJPVFRPTV9SSUdIVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCb3R0b21SaWdodCgpO1xuICAgICAgICAgICAgY2FzZSBLYnFUb2FzdFBvc2l0aW9uLlRPUF9DRU5URVI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9wQ2VudGVyKCk7XG4gICAgICAgICAgICBjYXNlIEticVRvYXN0UG9zaXRpb24uVE9QX0xFRlQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9wTGVmdCgpO1xuICAgICAgICAgICAgY2FzZSBLYnFUb2FzdFBvc2l0aW9uLlRPUF9SSUdIVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3BSaWdodCgpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3BDZW50ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VG9wQ2VudGVyKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLnRvcChgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb3BMZWZ0KCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLnRvcChgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAubGVmdChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VG9wUmlnaHQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAudG9wKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5yaWdodChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Qm90dG9tQ2VudGVyKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLmJvdHRvbShgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCb3R0b21MZWZ0KCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLmJvdHRvbShgJHtJTkRFTlRfU0laRX1weGApXG4gICAgICAgICAgICAubGVmdChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Qm90dG9tUmlnaHQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuYm90dG9tKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5yaWdodChgJHtJTkRFTlRfU0laRX1weGApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2VudGVyKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKVxuICAgICAgICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKVxuICAgICAgICAgICAgLmNlbnRlckhvcml6b250YWxseSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0R2xvYmFsT3ZlcmxheVBvc2l0aW9uKCk6IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCk7XG4gICAgfVxufVxuIl19
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdG9hc3QvdG9hc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUgsT0FBTyxFQUNQLGdCQUFnQixFQUVuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQ0gsVUFBVSxFQUNWLFFBQVEsRUFDUixNQUFNLEVBRU4sUUFBUSxFQUdSLGNBQWMsRUFDZCxNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFekUsT0FBTyxFQUFnQixnQkFBZ0IsRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7OztBQUdoRyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFtQjtJQUM5QyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsU0FBUztJQUNwQyxRQUFRLEVBQUUsSUFBSTtJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLEtBQUs7Q0FDZixDQUFDO0FBR0YsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBQ3RCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztBQUUzQixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFHbkIsTUFBTSxPQUFPLGVBQWU7SUFDeEIsSUFBSSxNQUFNO1FBQ04sT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDaEMs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ZTtRQUNuQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsRUFBRTthQUNqQyxNQUFNLENBQUMsR0FBRyxXQUFXLElBQUksQ0FBQzthQUMxQixrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxhQUFhO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFO2FBQ2pDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDO2FBQzFCLElBQUksQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7YUFDakMsTUFBTSxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUM7YUFDMUIsS0FBSyxDQUFDLEdBQUcsV0FBVyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU8sU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFO2FBQ2pDLGdCQUFnQixFQUFFO2FBQ2xCLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVPLHdCQUF3QjtRQUM1QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUMsQ0FBQztpSUEzT1EsZUFBZSx1SEFpQ1osaUJBQWlCLGFBQ0wsZ0JBQWdCO3FJQWxDL0IsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBa0N6QixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgR2xvYmFsUG9zaXRpb25TdHJhdGVneSxcbiAgICBPdmVybGF5LFxuICAgIE92ZXJsYXlDb250YWluZXIsXG4gICAgT3ZlcmxheVJlZlxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvcixcbiAgICBJbmplY3QsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIE9wdGlvbmFsLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIHRpbWVyLCBzaGFyZVJlcGxheSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEticVRvYXN0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEticVRvYXN0Q29tcG9uZW50IH0gZnJvbSAnLi90b2FzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxVG9hc3REYXRhLCBLQlFfVE9BU1RfQ09ORklHLCBLYnFUb2FzdENvbmZpZywgS2JxVG9hc3RQb3NpdGlvbiB9IGZyb20gJy4vdG9hc3QudHlwZSc7XG5cblxuZXhwb3J0IGNvbnN0IEtCUV9UT0FTVF9GQUNUT1JZID0gbmV3IEluamVjdGlvblRva2VuKCdLYnFUb2FzdEZhY3RvcnknKTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRUb2FzdENvbmZpZzogS2JxVG9hc3RDb25maWcgPSB7XG4gICAgcG9zaXRpb246IEticVRvYXN0UG9zaXRpb24uVE9QX1JJR0hULFxuICAgIGR1cmF0aW9uOiA1MDAwLFxuICAgIGRlbGF5OiAyMDAwLFxuICAgIG9uVG9wOiBmYWxzZVxufTtcblxuXG5jb25zdCBJTkRFTlRfU0laRSA9IDA7XG5jb25zdCBDSEVDS19JTlRFUlZBTCA9IDUwMDtcblxubGV0IHRlbXBsYXRlSWQgPSAwO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEticVRvYXN0U2VydmljZTxUIGV4dGVuZHMgS2JxVG9hc3RDb21wb25lbnQgPSBLYnFUb2FzdENvbXBvbmVudD4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIGdldCB0b2FzdHMoKTogQ29tcG9uZW50UmVmPFQ+W10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnRvYXN0c0RpY3QpXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5ob3N0Vmlldy5kZXN0cm95ZWQpO1xuICAgIH1cblxuICAgIGdldCB0ZW1wbGF0ZXMoKTogRW1iZWRkZWRWaWV3UmVmPFQ+W10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnRlbXBsYXRlc0RpY3QpO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGhvdmVyZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICByZWFkb25seSBmb2N1c2VkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcmVhZG9ubHkgYW5pbWF0aW9uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBbmltYXRpb25FdmVudCB8IG51bGw+KG51bGwpO1xuXG4gICAgdGltZXIgPSB0aW1lcihDSEVDS19JTlRFUlZBTCwgQ0hFQ0tfSU5URVJWQUwpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMudG9hc3RzLmxlbmd0aCA+IDAgJiYgIXRoaXMuaG92ZXJlZC5nZXRWYWx1ZSgpICYmICF0aGlzLmZvY3VzZWQuZ2V0VmFsdWUoKSksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgpXG4gICAgICAgICk7XG5cbiAgICBwcml2YXRlIGNvbnRhaW5lckluc3RhbmNlOiBLYnFUb2FzdENvbnRhaW5lckNvbXBvbmVudDtcbiAgICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gICAgcHJpdmF0ZSBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxLYnFUb2FzdENvbnRhaW5lckNvbXBvbmVudD47XG4gICAgcHJpdmF0ZSB0aW1lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSB0b2FzdHNEaWN0OiB7IFtpZDogbnVtYmVyXTogQ29tcG9uZW50UmVmPFQ+IH0gPSB7fTtcbiAgICBwcml2YXRlIHRlbXBsYXRlc0RpY3Q6IHsgW2lkOiBudW1iZXJdOiBFbWJlZGRlZFZpZXdSZWY8VD4gfSA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChLQlFfVE9BU1RfRkFDVE9SWSkgcHJpdmF0ZSB0b2FzdEZhY3Rvcnk6IGFueSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfVE9BU1RfQ09ORklHKSBwcml2YXRlIHRvYXN0Q29uZmlnOiBLYnFUb2FzdENvbmZpZ1xuICAgICkge1xuICAgICAgICB0aGlzLnRvYXN0Q29uZmlnID0gdG9hc3RDb25maWcgfHwgZGVmYXVsdFRvYXN0Q29uZmlnO1xuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKFxuICAgICAgICAgICAgKCkgPT4gdGhpcy50aW1lclN1YnNjcmlwdGlvbiA9IHRoaXMudGltZXIuc3Vic2NyaWJlKHRoaXMucHJvY2Vzc1RvYXN0cylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHNob3coXG4gICAgICAgIGRhdGE6IEticVRvYXN0RGF0YSxcbiAgICAgICAgZHVyYXRpb246IG51bWJlciA9IHRoaXMudG9hc3RDb25maWcuZHVyYXRpb24sXG4gICAgICAgIG9uVG9wOiBib29sZWFuID0gdGhpcy50b2FzdENvbmZpZy5vblRvcFxuICAgICk6IHsgcmVmOiBDb21wb25lbnRSZWY8VD47IGlkOiBudW1iZXJ9IHtcblxuICAgICAgICB0aGlzLnByZXBhcmVDb250YWluZXIoKTtcblxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmNyZWF0ZVRvYXN0PFQ+KGRhdGEsIHRoaXMudG9hc3RGYWN0b3J5LCBvblRvcCk7XG5cbiAgICAgICAgdGhpcy50b2FzdHNEaWN0W2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pZF0gPSBjb21wb25lbnRSZWY7XG5cbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnR0bCA9IGR1cmF0aW9uO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGVsYXkgPSB0aGlzLnRvYXN0Q29uZmlnLmRlbGF5O1xuXG4gICAgICAgIHJldHVybiB7IHJlZjogY29tcG9uZW50UmVmLCBpZDogY29tcG9uZW50UmVmLmluc3RhbmNlLmlkIH07XG4gICAgfVxuXG4gICAgc2hvd1RlbXBsYXRlKFxuICAgICAgICBkYXRhOiBLYnFUb2FzdERhdGEsXG4gICAgICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBkdXJhdGlvbjogbnVtYmVyID0gdGhpcy50b2FzdENvbmZpZy5kdXJhdGlvbixcbiAgICAgICAgb25Ub3A6IGJvb2xlYW4gPSB0aGlzLnRvYXN0Q29uZmlnLm9uVG9wXG4gICAgKTogeyByZWY6IEVtYmVkZGVkVmlld1JlZjxUPjsgaWQ6IG51bWJlciB9IHtcblxuICAgICAgICB0aGlzLnByZXBhcmVDb250YWluZXIoKTtcblxuICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy5jb250YWluZXJJbnN0YW5jZS5jcmVhdGVUZW1wbGF0ZTxUPihkYXRhLCB0ZW1wbGF0ZSwgb25Ub3ApO1xuXG4gICAgICAgIHRoaXMudGVtcGxhdGVzRGljdFt0ZW1wbGF0ZUlkXSA9IHZpZXdSZWY7XG5cbiAgICAgICAgdGhpcy5hZGRSZW1vdmVUaW1lcih0ZW1wbGF0ZUlkLCBkdXJhdGlvbik7XG5cbiAgICAgICAgdGVtcGxhdGVJZCsrO1xuXG4gICAgICAgIHJldHVybiB7IHJlZjogdmlld1JlZiwgaWQ6IHRlbXBsYXRlSWQgfTtcbiAgICB9XG5cbiAgICBoaWRlKGlkOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy50b2FzdHNEaWN0W2lkXTtcblxuICAgICAgICBpZiAoIWNvbXBvbmVudFJlZikgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLnJlbW92ZShjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgICAgIGRlbGV0ZSB0aGlzLnRvYXN0c0RpY3RbaWRdO1xuXG4gICAgICAgIHRoaXMuZGV0YWNoT3ZlcmxheSgpO1xuICAgIH1cblxuICAgIGhpZGVUZW1wbGF0ZShpZDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnRlbXBsYXRlc0RpY3RbaWRdO1xuXG4gICAgICAgIGlmICghdmlld1JlZikgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLnJlbW92ZSh2aWV3UmVmKTtcblxuICAgICAgICBkZWxldGUgdGhpcy50ZW1wbGF0ZXNEaWN0W2lkXTtcblxuICAgICAgICB0aGlzLmRldGFjaE92ZXJsYXkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRldGFjaE92ZXJsYXkoKSB7XG4gICAgICAgIGlmICh0aGlzLnRvYXN0cy5sZW5ndGggIT09IDApIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc1RvYXN0cyA9ICgpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCB0b2FzdCBvZiB0aGlzLnRvYXN0cy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaW5zdGFuY2UudHRsID4gMCkpIHtcbiAgICAgICAgICAgIHRvYXN0Lmluc3RhbmNlLnR0bCAtPSBDSEVDS19JTlRFUlZBTDtcblxuICAgICAgICAgICAgaWYgKHRvYXN0Lmluc3RhbmNlLnR0bCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaWRlKHRvYXN0Lmluc3RhbmNlLmlkKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRUTEFmdGVyRGVsZXRlKCk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlVFRMQWZ0ZXJEZWxldGUoKSB7XG4gICAgICAgIHRoaXMudG9hc3RzXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmluc3RhbmNlLnR0bCA+IDApXG4gICAgICAgICAgICAuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS5pbnN0YW5jZS50dGwgPSB0aGlzLnRvYXN0Q29uZmlnLmRlbGF5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFJlbW92ZVRpbWVyKGlkOiBudW1iZXIsIGR1cmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmhpZGVUZW1wbGF0ZShpZCksIGR1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVDb250YWluZXIoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuXG4gICAgICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWwgfHwgbmV3IENvbXBvbmVudFBvcnRhbChLYnFUb2FzdENvbnRhaW5lckNvbXBvbmVudCwgbnVsbCwgdGhpcy5pbmplY3Rvcik7XG5cbiAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXJJbnN0YW5jZSA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2godGhpcy5wb3J0YWwpLmluc3RhbmNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50b1RvcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9Ub3AoKSB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlzID0gdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKS5jaGlsZE5vZGVzO1xuXG4gICAgICAgIGlmIChvdmVybGF5cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBvdmVybGF5c1tvdmVybGF5cy5sZW5ndGggLSAxXS5hZnRlcih0aGlzLm92ZXJsYXlSZWYuaG9zdEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCkge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7IHJldHVybiB0aGlzLm92ZXJsYXlSZWY7IH1cblxuICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KHRoaXMudG9hc3RDb25maWcucG9zaXRpb24pO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoeyBwb3NpdGlvblN0cmF0ZWd5IH0pO1xuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgna2JxLXRvYXN0LW92ZXJsYXknKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3kocG9zaXRpb24/OiBLYnFUb2FzdFBvc2l0aW9uKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHN3aXRjaCAocG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNhc2UgS2JxVG9hc3RQb3NpdGlvbi5DRU5URVI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VudGVyKCk7XG4gICAgICAgICAgICBjYXNlIEticVRvYXN0UG9zaXRpb24uQk9UVE9NX0NFTlRFUjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCb3R0b21DZW50ZXIoKTtcbiAgICAgICAgICAgIGNhc2UgS2JxVG9hc3RQb3NpdGlvbi5CT1RUT01fTEVGVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRCb3R0b21MZWZ0KCk7XG4gICAgICAgICAgICBjYXNlIEticVRvYXN0UG9zaXRpb24uQk9UVE9NX1JJR0hUOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEJvdHRvbVJpZ2h0KCk7XG4gICAgICAgICAgICBjYXNlIEticVRvYXN0UG9zaXRpb24uVE9QX0NFTlRFUjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3BDZW50ZXIoKTtcbiAgICAgICAgICAgIGNhc2UgS2JxVG9hc3RQb3NpdGlvbi5UT1BfTEVGVDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRUb3BMZWZ0KCk7XG4gICAgICAgICAgICBjYXNlIEticVRvYXN0UG9zaXRpb24uVE9QX1JJR0hUOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRvcFJpZ2h0KCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRvcENlbnRlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb3BDZW50ZXIoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAudG9wKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRvcExlZnQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAudG9wKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5sZWZ0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUb3BSaWdodCgpOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0R2xvYmFsT3ZlcmxheVBvc2l0aW9uKClcbiAgICAgICAgICAgIC50b3AoYCR7SU5ERU5UX1NJWkV9cHhgKVxuICAgICAgICAgICAgLnJpZ2h0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCb3R0b21DZW50ZXIoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuYm90dG9tKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJvdHRvbUxlZnQoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuYm90dG9tKGAke0lOREVOVF9TSVpFfXB4YClcbiAgICAgICAgICAgIC5sZWZ0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCb3R0b21SaWdodCgpOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0R2xvYmFsT3ZlcmxheVBvc2l0aW9uKClcbiAgICAgICAgICAgIC5ib3R0b20oYCR7SU5ERU5UX1NJWkV9cHhgKVxuICAgICAgICAgICAgLnJpZ2h0KGAke0lOREVOVF9TSVpFfXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDZW50ZXIoKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEdsb2JhbE92ZXJsYXlQb3NpdGlvbigpXG4gICAgICAgICAgICAuY2VudGVyVmVydGljYWxseSgpXG4gICAgICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRHbG9iYWxPdmVybGF5UG9zaXRpb24oKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5nbG9iYWwoKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -45,11 +45,11 @@ export class KbqTooltipComponent extends KbqPopUp {
|
|
|
45
45
|
super.updateClassMap(placement, customClass, classMap);
|
|
46
46
|
}
|
|
47
47
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTooltipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: KBQ_TOOLTIP_OPEN_TIME }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqTooltipComponent, selector: "kbq-tooltip-component", providers: [KBQ_TOOLTIP_OPEN_TIME_PROVIDER], usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-tooltip\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"kbq-tooltip__inner\">\n <div class=\"kbq-tooltip__arrow\"></div>\n\n <div class=\"kbq-tooltip__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n <div class=\"kbq-tooltip__content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".kbq-tooltip__inner{border-radius:var(--kbq-tooltip-size-border-radius, 8px);word-break:break-word}.kbq-tooltip{box-sizing:border-box;border-radius:var(--kbq-tooltip-size-border-radius, 8px);white-space:pre-line;max-width:var(--kbq-tooltip-size-max-width, 300px)}.kbq-tooltip.kbq-tooltip_placement-top,.kbq-tooltip.kbq-tooltip_placement-top-left,.kbq-tooltip.kbq-tooltip_placement-top-right{margin-bottom:8px}.kbq-tooltip.kbq-tooltip_placement-right,.kbq-tooltip.kbq-tooltip_placement-right-top,.kbq-tooltip.kbq-tooltip_placement-right-bottom{margin-left:8px}.kbq-tooltip.kbq-tooltip_placement-bottom,.kbq-tooltip.kbq-tooltip_placement-bottom-left,.kbq-tooltip.kbq-tooltip_placement-bottom-right{margin-top:8px}.kbq-tooltip.kbq-tooltip_placement-left,.kbq-tooltip.kbq-tooltip_placement-left-top,.kbq-tooltip.kbq-tooltip_placement-left-bottom{margin-right:8px}.kbq-tooltip .kbq-tooltip__inner{padding:var(--kbq-tooltip-size-padding-vertical,
|
|
48
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqTooltipComponent, selector: "kbq-tooltip-component", providers: [KBQ_TOOLTIP_OPEN_TIME_PROVIDER], usesInheritance: true, ngImport: i0, template: "<div class=\"kbq-tooltip\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"kbq-tooltip__inner\">\n <div class=\"kbq-tooltip__arrow\"></div>\n\n <div class=\"kbq-tooltip__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n <div class=\"kbq-tooltip__content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".kbq-tooltip__inner{border-radius:var(--kbq-tooltip-size-border-radius, 8px);word-break:break-word}.kbq-tooltip{box-sizing:border-box;border-radius:var(--kbq-tooltip-size-border-radius, 8px);white-space:pre-line;max-width:var(--kbq-tooltip-size-max-width, 300px)}.kbq-tooltip.kbq-tooltip_placement-top,.kbq-tooltip.kbq-tooltip_placement-top-left,.kbq-tooltip.kbq-tooltip_placement-top-right{margin-bottom:8px}.kbq-tooltip.kbq-tooltip_placement-right,.kbq-tooltip.kbq-tooltip_placement-right-top,.kbq-tooltip.kbq-tooltip_placement-right-bottom{margin-left:8px}.kbq-tooltip.kbq-tooltip_placement-bottom,.kbq-tooltip.kbq-tooltip_placement-bottom-left,.kbq-tooltip.kbq-tooltip_placement-bottom-right{margin-top:8px}.kbq-tooltip.kbq-tooltip_placement-left,.kbq-tooltip.kbq-tooltip_placement-left-top,.kbq-tooltip.kbq-tooltip_placement-left-bottom{margin-right:8px}.kbq-tooltip .kbq-tooltip__inner{padding:var(--kbq-tooltip-size-padding-vertical, 6px) var(--kbq-tooltip-size-padding-horizontal, 16px)}.kbq-tooltip__arrow{position:absolute;width:var(--kbq-tooltip-size-arrow-size, 12px);height:var(--kbq-tooltip-size-arrow-size, 12px);transform:rotate(45deg);z-index:-1}.kbq-tooltip_placement-top .kbq-tooltip__arrow{bottom:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:50%;margin-left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-top-left .kbq-tooltip__arrow{bottom:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:13px}.kbq-tooltip_placement-top-right .kbq-tooltip__arrow{bottom:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);right:13px}.kbq-tooltip_placement-right .kbq-tooltip__arrow{left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:50%;margin-top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-right-top .kbq-tooltip__arrow{left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:13px}.kbq-tooltip_placement-right-bottom .kbq-tooltip__arrow{left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);bottom:13px}.kbq-tooltip_placement-left .kbq-tooltip__arrow{right:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:50%;margin-top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-left-top .kbq-tooltip__arrow{right:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:13px}.kbq-tooltip_placement-left-bottom .kbq-tooltip__arrow{right:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);bottom:13px}.kbq-tooltip_placement-bottom .kbq-tooltip__arrow{top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:50%;margin-left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-bottom-left .kbq-tooltip__arrow{top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:13px}.kbq-tooltip_placement-bottom-right .kbq-tooltip__arrow{top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);right:13px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [kbqTooltipAnimations.tooltipState], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTooltipComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
52
|
-
args: [{ selector: 'kbq-tooltip-component', animations: [kbqTooltipAnimations.tooltipState], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [KBQ_TOOLTIP_OPEN_TIME_PROVIDER], template: "<div class=\"kbq-tooltip\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"kbq-tooltip__inner\">\n <div class=\"kbq-tooltip__arrow\"></div>\n\n <div class=\"kbq-tooltip__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n <div class=\"kbq-tooltip__content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".kbq-tooltip__inner{border-radius:var(--kbq-tooltip-size-border-radius, 8px);word-break:break-word}.kbq-tooltip{box-sizing:border-box;border-radius:var(--kbq-tooltip-size-border-radius, 8px);white-space:pre-line;max-width:var(--kbq-tooltip-size-max-width, 300px)}.kbq-tooltip.kbq-tooltip_placement-top,.kbq-tooltip.kbq-tooltip_placement-top-left,.kbq-tooltip.kbq-tooltip_placement-top-right{margin-bottom:8px}.kbq-tooltip.kbq-tooltip_placement-right,.kbq-tooltip.kbq-tooltip_placement-right-top,.kbq-tooltip.kbq-tooltip_placement-right-bottom{margin-left:8px}.kbq-tooltip.kbq-tooltip_placement-bottom,.kbq-tooltip.kbq-tooltip_placement-bottom-left,.kbq-tooltip.kbq-tooltip_placement-bottom-right{margin-top:8px}.kbq-tooltip.kbq-tooltip_placement-left,.kbq-tooltip.kbq-tooltip_placement-left-top,.kbq-tooltip.kbq-tooltip_placement-left-bottom{margin-right:8px}.kbq-tooltip .kbq-tooltip__inner{padding:var(--kbq-tooltip-size-padding-vertical,
|
|
52
|
+
args: [{ selector: 'kbq-tooltip-component', animations: [kbqTooltipAnimations.tooltipState], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [KBQ_TOOLTIP_OPEN_TIME_PROVIDER], template: "<div class=\"kbq-tooltip\"\n [ngClass]=\"classMap\"\n [@state]=\"visibility\"\n (@state.start)=\"animationStart()\"\n (@state.done)=\"animationDone($event)\">\n\n <div class=\"kbq-tooltip__inner\">\n <div class=\"kbq-tooltip__arrow\"></div>\n\n <div class=\"kbq-tooltip__header\" *ngIf=\"header\">\n <ng-container *ngIf=\"isTemplateRef(header)\" [ngTemplateOutlet]=\"$any(header)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(header)\">\n <div>{{ header }}</div>\n </ng-container>\n </div>\n <div class=\"kbq-tooltip__content\">\n <ng-container *ngIf=\"isTemplateRef(content)\" [ngTemplateOutlet]=\"$any(content)\"></ng-container>\n <ng-container *ngIf=\"!isTemplateRef(content)\">\n <div>{{ content }}</div>\n </ng-container>\n </div>\n </div>\n</div>\n", styles: [".kbq-tooltip__inner{border-radius:var(--kbq-tooltip-size-border-radius, 8px);word-break:break-word}.kbq-tooltip{box-sizing:border-box;border-radius:var(--kbq-tooltip-size-border-radius, 8px);white-space:pre-line;max-width:var(--kbq-tooltip-size-max-width, 300px)}.kbq-tooltip.kbq-tooltip_placement-top,.kbq-tooltip.kbq-tooltip_placement-top-left,.kbq-tooltip.kbq-tooltip_placement-top-right{margin-bottom:8px}.kbq-tooltip.kbq-tooltip_placement-right,.kbq-tooltip.kbq-tooltip_placement-right-top,.kbq-tooltip.kbq-tooltip_placement-right-bottom{margin-left:8px}.kbq-tooltip.kbq-tooltip_placement-bottom,.kbq-tooltip.kbq-tooltip_placement-bottom-left,.kbq-tooltip.kbq-tooltip_placement-bottom-right{margin-top:8px}.kbq-tooltip.kbq-tooltip_placement-left,.kbq-tooltip.kbq-tooltip_placement-left-top,.kbq-tooltip.kbq-tooltip_placement-left-bottom{margin-right:8px}.kbq-tooltip .kbq-tooltip__inner{padding:var(--kbq-tooltip-size-padding-vertical, 6px) var(--kbq-tooltip-size-padding-horizontal, 16px)}.kbq-tooltip__arrow{position:absolute;width:var(--kbq-tooltip-size-arrow-size, 12px);height:var(--kbq-tooltip-size-arrow-size, 12px);transform:rotate(45deg);z-index:-1}.kbq-tooltip_placement-top .kbq-tooltip__arrow{bottom:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:50%;margin-left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-top-left .kbq-tooltip__arrow{bottom:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:13px}.kbq-tooltip_placement-top-right .kbq-tooltip__arrow{bottom:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);right:13px}.kbq-tooltip_placement-right .kbq-tooltip__arrow{left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:50%;margin-top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-right-top .kbq-tooltip__arrow{left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:13px}.kbq-tooltip_placement-right-bottom .kbq-tooltip__arrow{left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);bottom:13px}.kbq-tooltip_placement-left .kbq-tooltip__arrow{right:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:50%;margin-top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-left-top .kbq-tooltip__arrow{right:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);top:13px}.kbq-tooltip_placement-left-bottom .kbq-tooltip__arrow{right:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);bottom:13px}.kbq-tooltip_placement-bottom .kbq-tooltip__arrow{top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:50%;margin-left:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2)}.kbq-tooltip_placement-bottom-left .kbq-tooltip__arrow{top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);left:13px}.kbq-tooltip_placement-bottom-right .kbq-tooltip__arrow{top:calc((var(--kbq-tooltip-size-arrow-size, 12px) - 1px) / -2);right:13px}\n"] }]
|
|
53
53
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
54
54
|
type: Inject,
|
|
55
55
|
args: [KBQ_TOOLTIP_OPEN_TIME]
|
|
@@ -246,7 +246,7 @@ export class KbqTreeOption extends KbqTreeNode {
|
|
|
246
246
|
{ provide: KbqTreeNode, useExisting: KbqTreeOption },
|
|
247
247
|
{ provide: KBQ_TITLE_TEXT_REF, useExisting: KbqTreeOption },
|
|
248
248
|
{ provide: KBQ_OPTION_ACTION_PARENT, useExisting: KbqTreeOption }
|
|
249
|
-
], queries: [{ propertyName: "toggleElementDirective", first: true, predicate: KbqTreeNodeToggleDirective, descendants: true }, { propertyName: "toggleElementComponent", first: true, predicate: KbqTreeNodeToggleComponent, descendants: true }, { propertyName: "pseudoCheckbox", first: true, predicate: KbqPseudoCheckbox, descendants: true }, { propertyName: "actionButton", first: true, predicate: KbqOptionActionComponent, descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: KbqTooltipTrigger, descendants: true }, { propertyName: "dropdownTrigger", first: true, predicate: KbqDropdownTrigger, descendants: true }], viewQueries: [{ propertyName: "parentTextElement", first: true, predicate: ["kbqTitleContainer"], descendants: true }], exportAs: ["kbqTreeOption"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]\"></ng-content>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"kbq-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </kbq-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"kbq-checkbox\"></ng-content>\n\n<ng-content select=\"[kbq-icon]\"></ng-content>\n\n<ng-content select=\"kbq-progress-spinner\"></ng-content>\n\n<span class=\"kbq-option-text\" #kbqTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"kbq-option-action\"></ng-content>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tree-option{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;display:flex;align-items:center;min-height:32px;word-wrap:break-word;border-width:var(--kbq-tree-size-container-focus-outline-width, 2px);border-style:solid;border-color:transparent;padding-top:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-right:calc(var(--kbq-tree-size-container-padding-right, 8px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-bottom:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));gap:var(--kbq-tree-size-container-content-gap-horizontal, 8px)}.kbq-tree-option .kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:var(--kbq-list-size-text-padding-vertical,
|
|
249
|
+
], queries: [{ propertyName: "toggleElementDirective", first: true, predicate: KbqTreeNodeToggleDirective, descendants: true }, { propertyName: "toggleElementComponent", first: true, predicate: KbqTreeNodeToggleComponent, descendants: true }, { propertyName: "pseudoCheckbox", first: true, predicate: KbqPseudoCheckbox, descendants: true }, { propertyName: "actionButton", first: true, predicate: KbqOptionActionComponent, descendants: true }, { propertyName: "tooltipTrigger", first: true, predicate: KbqTooltipTrigger, descendants: true }, { propertyName: "dropdownTrigger", first: true, predicate: KbqDropdownTrigger, descendants: true }], viewQueries: [{ propertyName: "parentTextElement", first: true, predicate: ["kbqTitleContainer"], descendants: true }], exportAs: ["kbqTreeOption"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]\"></ng-content>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"kbq-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </kbq-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"kbq-checkbox\"></ng-content>\n\n<ng-content select=\"[kbq-icon]\"></ng-content>\n\n<ng-content select=\"kbq-progress-spinner\"></ng-content>\n\n<span class=\"kbq-option-text\" #kbqTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"kbq-option-action\"></ng-content>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tree-option{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;display:flex;align-items:center;min-height:32px;word-wrap:break-word;border-width:var(--kbq-tree-size-container-focus-outline-width, 2px);border-style:solid;border-color:transparent;padding-top:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-right:calc(var(--kbq-tree-size-container-padding-right, 8px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-bottom:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));gap:var(--kbq-tree-size-container-content-gap-horizontal, 8px)}.kbq-tree-option .kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:var(--kbq-list-size-text-padding-vertical, 0);padding-bottom:var(--kbq-list-size-text-padding-vertical, 0)}.kbq-tree-option .kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-tree-option .kbq-option-text:empty{display:none}.kbq-tree-option:focus{outline:none}.kbq-tree-option:not(.kbq-disabled){cursor:pointer}.kbq-tree-option .kbq-option-action{display:none}.kbq-tree-option:not(.kbq-disabled):hover .kbq-option-action,.kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action,.kbq-tree-option:not(.kbq-disabled).kbq-action-button-focused .kbq-option-action{display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.KbqPseudoCheckbox, selector: "kbq-pseudo-checkbox", inputs: ["color", "big", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
250
250
|
}
|
|
251
251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqTreeOption, decorators: [{
|
|
252
252
|
type: Component,
|
|
@@ -267,7 +267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImpor
|
|
|
267
267
|
{ provide: KbqTreeNode, useExisting: KbqTreeOption },
|
|
268
268
|
{ provide: KBQ_TITLE_TEXT_REF, useExisting: KbqTreeOption },
|
|
269
269
|
{ provide: KBQ_OPTION_ACTION_PARENT, useExisting: KbqTreeOption }
|
|
270
|
-
], template: "<ng-content select=\"kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]\"></ng-content>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"kbq-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </kbq-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"kbq-checkbox\"></ng-content>\n\n<ng-content select=\"[kbq-icon]\"></ng-content>\n\n<ng-content select=\"kbq-progress-spinner\"></ng-content>\n\n<span class=\"kbq-option-text\" #kbqTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"kbq-option-action\"></ng-content>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tree-option{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;display:flex;align-items:center;min-height:32px;word-wrap:break-word;border-width:var(--kbq-tree-size-container-focus-outline-width, 2px);border-style:solid;border-color:transparent;padding-top:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-right:calc(var(--kbq-tree-size-container-padding-right, 8px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-bottom:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));gap:var(--kbq-tree-size-container-content-gap-horizontal, 8px)}.kbq-tree-option .kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:var(--kbq-list-size-text-padding-vertical,
|
|
270
|
+
], template: "<ng-content select=\"kbq-tree-node-toggle, [kbq-tree-node-toggle], [kbqTreeNodeToggle]\"></ng-content>\n\n<ng-container [ngSwitch]=\"externalPseudoCheckbox\">\n <ng-content *ngSwitchCase=\"true\" select=\"kbq-pseudo-checkbox\"></ng-content>\n\n <ng-container *ngSwitchCase=\"false\">\n <kbq-pseudo-checkbox\n *ngIf=\"showCheckbox\"\n [state]=\"checkboxState\"\n [disabled]=\"disabled\">\n </kbq-pseudo-checkbox>\n </ng-container>\n</ng-container>\n\n<ng-content select=\"kbq-checkbox\"></ng-content>\n\n<ng-content select=\"[kbq-icon]\"></ng-content>\n\n<ng-content select=\"kbq-progress-spinner\"></ng-content>\n\n<span class=\"kbq-option-text\" #kbqTitleContainer><ng-content></ng-content></span>\n\n<ng-content select=\"kbq-option-action\"></ng-content>\n", styles: ["@keyframes kbq-progress{0%{background-position:0 0}to{background-position:29px 0}}.kbq-progress{position:relative}.kbq-progress:after{content:\"\";position:absolute;border-radius:inherit;inset:0;background:linear-gradient(135deg,#0000000a 10px,#ffffff0a 10px 20px,#0000000a 20px 30px,#ffffff0a 31px) repeat;background-size:32px 32px;animation:kbq-progress 1s linear infinite}.kbq-group{display:flex;flex-direction:row}.kbq-group .kbq-group_justified>.kbq-group-item{width:100%}.kbq-group .kbq-group-item+.kbq-group-item{margin-left:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-top-right-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-bottom-left-radius:0;border-top-left-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group{display:flex;flex-direction:column}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-right-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:first-child:not(:last-child)>.kbq-form-field__container{border-bottom-right-radius:0;border-bottom-left-radius:0}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-left-radius:var(--kbq-button-size-border-radius, 8px)}.kbq-vertical-group>.kbq-group-item:last-child:not(:first-child)>.kbq-form-field__container{border-top-right-radius:0;border-top-left-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child){border-radius:0}.kbq-vertical-group>.kbq-group-item:not(:first-child):not(:last-child)>.kbq-form-field__container{border-radius:0}.kbq-vertical-group .kbq-group-item+.kbq-group-item{margin-top:calc(-1 * var(--kbq-button-size-border-width, 2px))}.kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-tree-option{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;display:flex;align-items:center;min-height:32px;word-wrap:break-word;border-width:var(--kbq-tree-size-container-focus-outline-width, 2px);border-style:solid;border-color:transparent;padding-top:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-right:calc(var(--kbq-tree-size-container-padding-right, 8px) - var(--kbq-tree-size-container-focus-outline-width, 2px));padding-bottom:calc(var(--kbq-tree-size-container-padding-vertical, 4px) - var(--kbq-tree-size-container-focus-outline-width, 2px));gap:var(--kbq-tree-size-container-content-gap-horizontal, 8px)}.kbq-tree-option .kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:border-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:var(--kbq-list-size-text-padding-vertical, 0);padding-bottom:var(--kbq-list-size-text-padding-vertical, 0)}.kbq-tree-option .kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-tree-option .kbq-option-text:empty{display:none}.kbq-tree-option:focus{outline:none}.kbq-tree-option:not(.kbq-disabled){cursor:pointer}.kbq-tree-option .kbq-option-action{display:none}.kbq-tree-option:not(.kbq-disabled):hover .kbq-option-action,.kbq-tree-option:not(.kbq-disabled).kbq-focused .kbq-option-action,.kbq-tree-option:not(.kbq-disabled).kbq-action-button-focused .kbq-option-action{display:flex}\n"] }]
|
|
271
271
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
272
272
|
type: Inject,
|
|
273
273
|
args: [KBQ_TREE_OPTION_PARENT_COMPONENT]
|