@ifsworld/granite-components 14.0.1 → 14.0.3
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/esm2022/lib/badge/badge.component.mjs +2 -2
- package/esm2022/tooltip/lib/Services/granite-tooltip.service.mjs +28 -0
- package/esm2022/tooltip/lib/tooltip-trigger-for.directive.mjs +29 -16
- package/esm2022/tooltip/lib/tooltip.component.mjs +2 -2
- package/fesm2022/ifsworld-granite-components-tooltip.mjs +55 -18
- package/fesm2022/ifsworld-granite-components-tooltip.mjs.map +1 -1
- package/fesm2022/ifsworld-granite-components.mjs +2 -2
- package/fesm2022/ifsworld-granite-components.mjs.map +1 -1
- package/package.json +1 -1
- package/tooltip/lib/Services/granite-tooltip.service.d.ts +10 -0
- package/tooltip/lib/tooltip-trigger-for.directive.d.ts +4 -1
|
@@ -21,14 +21,14 @@ export class GraniteBadgeComponent {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteBadgeComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteBadgeComponent, selector: "granite-badge", inputs: { backgroundColor: "backgroundColor", color: "color", pill: "pill" }, host: { properties: { "class.granite-badge-pill": "pill" }, classAttribute: "granite-badge" }, exportAs: ["graniteBadge"], usesOnChanges: true, ngImport: i0, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-flex;display:-moz-
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteBadgeComponent, selector: "granite-badge", inputs: { backgroundColor: "backgroundColor", color: "color", pill: "pill" }, host: { properties: { "class.granite-badge-pill": "pill" }, classAttribute: "granite-badge" }, exportAs: ["graniteBadge"], usesOnChanges: true, ngImport: i0, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;align-items:center;background-color:var(--granite-color-signal-neutral);color:var(--granite-color-text-static-light);border-radius:var(--granite-radius-s);font-size:var(--granite-font-size-body-small);padding-inline:var(--granite-spacing-8);padding-block:var(--granite-spacing-4)}:host(.granite-badge-pill){border-radius:var(--granite-radius-l)}.granite-badge-content{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
25
|
}
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteBadgeComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
28
|
args: [{ selector: 'granite-badge', exportAs: 'graniteBadge', host: {
|
|
29
29
|
class: 'granite-badge',
|
|
30
30
|
'[class.granite-badge-pill]': 'pill',
|
|
31
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-flex;display:-moz-
|
|
31
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;align-items:center;background-color:var(--granite-color-signal-neutral);color:var(--granite-color-text-static-light);border-radius:var(--granite-radius-s);font-size:var(--granite-font-size-body-small);padding-inline:var(--granite-spacing-8);padding-block:var(--granite-spacing-4)}:host(.granite-badge-pill){border-radius:var(--granite-radius-l)}.granite-badge-content{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;display:block}\n"] }]
|
|
32
32
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { backgroundColor: [{
|
|
33
33
|
type: Input
|
|
34
34
|
}], color: [{
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GraniteTooltipService {
|
|
4
|
+
constructor() {
|
|
5
|
+
this._activeTooltip = null;
|
|
6
|
+
}
|
|
7
|
+
setActiveTooltip(tooltip) {
|
|
8
|
+
if (this._activeTooltip && this._activeTooltip !== tooltip) {
|
|
9
|
+
this.clearActiveTooltip();
|
|
10
|
+
}
|
|
11
|
+
this._activeTooltip = tooltip;
|
|
12
|
+
}
|
|
13
|
+
clearActiveTooltip() {
|
|
14
|
+
this._activeTooltip = null;
|
|
15
|
+
}
|
|
16
|
+
get activeTooltip() {
|
|
17
|
+
return this._activeTooltip;
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, providedIn: 'root' }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, decorators: [{
|
|
23
|
+
type: Injectable,
|
|
24
|
+
args: [{
|
|
25
|
+
providedIn: 'root',
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Jhbml0ZS10b29sdGlwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvU2VydmljZXMvZ3Jhbml0ZS10b29sdGlwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUhsQztRQUlVLG1CQUFjLEdBQW1DLElBQUksQ0FBQztLQWdCL0Q7SUFkQyxnQkFBZ0IsQ0FBQyxPQUFnQztRQUMvQyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7K0dBaEJVLHFCQUFxQjttSEFBckIscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmFuaXRlVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IEdyYW5pdGVUb29sdGlwVHJpZ2dlckZvckRpcmVjdGl2ZSB9IGZyb20gJy4uL3Rvb2x0aXAtdHJpZ2dlci1mb3IuZGlyZWN0aXZlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVUb29sdGlwU2VydmljZSB7XG4gIHByaXZhdGUgX2FjdGl2ZVRvb2x0aXA6IEdyYW5pdGVUb29sdGlwQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgc2V0QWN0aXZlVG9vbHRpcCh0b29sdGlwOiBHcmFuaXRlVG9vbHRpcENvbXBvbmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hY3RpdmVUb29sdGlwICYmIHRoaXMuX2FjdGl2ZVRvb2x0aXAgIT09IHRvb2x0aXApIHtcbiAgICAgIHRoaXMuY2xlYXJBY3RpdmVUb29sdGlwKCk7XG4gICAgfVxuICAgIHRoaXMuX2FjdGl2ZVRvb2x0aXAgPSB0b29sdGlwO1xuICB9XG5cbiAgY2xlYXJBY3RpdmVUb29sdGlwKCk6IHZvaWQge1xuICAgIHRoaXMuX2FjdGl2ZVRvb2x0aXAgPSBudWxsO1xuICB9XG5cbiAgZ2V0IGFjdGl2ZVRvb2x0aXAoKTogR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlVG9vbHRpcDtcbiAgfVxufVxuIl19
|
|
@@ -6,17 +6,20 @@ import { fromEvent, Subject } from 'rxjs';
|
|
|
6
6
|
import { takeUntil } from 'rxjs/operators';
|
|
7
7
|
import { GraniteTooltipConstants } from './tooltip-constants.library';
|
|
8
8
|
import { GraniteTooltipComponent } from './tooltip.component';
|
|
9
|
+
import { GraniteTooltipService } from './Services/granite-tooltip.service';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "@angular/cdk/overlay";
|
|
11
12
|
import * as i2 from "@angular/cdk/a11y";
|
|
13
|
+
import * as i3 from "./Services/granite-tooltip.service";
|
|
12
14
|
export class GraniteTooltipTriggerForDirective {
|
|
13
|
-
constructor(_elementRef, _overlay, _viewContainerRef, _focusMonitor) {
|
|
15
|
+
constructor(_elementRef, _overlay, _viewContainerRef, _focusMonitor, _tooltipService) {
|
|
14
16
|
this._elementRef = _elementRef;
|
|
15
17
|
this._overlay = _overlay;
|
|
16
18
|
this._viewContainerRef = _viewContainerRef;
|
|
17
19
|
this._focusMonitor = _focusMonitor;
|
|
20
|
+
this._tooltipService = _tooltipService;
|
|
18
21
|
this.hideDelay = 0;
|
|
19
|
-
this.showDelay =
|
|
22
|
+
this.showDelay = 500;
|
|
20
23
|
this.showOnKeyboardFocus = false;
|
|
21
24
|
this.showOnClick = false;
|
|
22
25
|
this._destroy = new Subject();
|
|
@@ -45,6 +48,9 @@ export class GraniteTooltipTriggerForDirective {
|
|
|
45
48
|
_handleMouseleave() {
|
|
46
49
|
this._detachOverlay(this.hideDelay);
|
|
47
50
|
}
|
|
51
|
+
_handleBlur() {
|
|
52
|
+
this._detachOverlay(this.hideDelay);
|
|
53
|
+
}
|
|
48
54
|
_handleClick() {
|
|
49
55
|
fromEvent(this._getTriggerElement(), 'click')
|
|
50
56
|
.pipe(takeUntil(this._destroy))
|
|
@@ -87,28 +93,34 @@ export class GraniteTooltipTriggerForDirective {
|
|
|
87
93
|
});
|
|
88
94
|
}
|
|
89
95
|
_attachOverlay(delay) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
this.
|
|
96
|
+
clearTimeout(this._detachOverlayTimeoutId);
|
|
97
|
+
if (this._tooltipService.activeTooltip === this.tooltip &&
|
|
98
|
+
this._overlayRef.hasAttached()) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this._tooltipService.setActiveTooltip(this.tooltip);
|
|
102
|
+
this._attachOverlayTimeoutId = window.setTimeout(() => {
|
|
103
|
+
if (!this._overlayRef.hasAttached()) {
|
|
93
104
|
const portal = new TemplatePortal(this.tooltip._templateRef, this._viewContainerRef);
|
|
94
105
|
this._overlayRef.attach(portal);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
106
|
+
}
|
|
107
|
+
}, delay);
|
|
97
108
|
}
|
|
98
109
|
_detachOverlay(delay) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
this.
|
|
110
|
+
clearTimeout(this._attachOverlayTimeoutId);
|
|
111
|
+
this._detachOverlayTimeoutId = window.setTimeout(() => {
|
|
112
|
+
if (this._overlayRef.hasAttached()) {
|
|
102
113
|
this._overlayRef.detach();
|
|
103
114
|
this._detachOverlayTimeoutId = null;
|
|
104
|
-
|
|
105
|
-
|
|
115
|
+
this._tooltipService.clearActiveTooltip();
|
|
116
|
+
}
|
|
117
|
+
}, delay);
|
|
106
118
|
}
|
|
107
119
|
_getTriggerElement() {
|
|
108
120
|
return this._elementRef.nativeElement;
|
|
109
121
|
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
111
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipTriggerForDirective, selector: "[graniteTooltipTriggerFor]", inputs: { tooltip: ["graniteTooltipTriggerFor", "tooltip"], hideDelay: "hideDelay", showDelay: "showDelay", showOnKeyboardFocus: "showOnKeyboardFocus", showOnClick: "showOnClick" }, host: { listeners: { "mouseenter": "_handleMouseenter($event)", "mouseleave": "_handleMouseleave($event)" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }, { token: i3.GraniteTooltipService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
123
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipTriggerForDirective, selector: "[graniteTooltipTriggerFor]", inputs: { tooltip: ["graniteTooltipTriggerFor", "tooltip"], hideDelay: "hideDelay", showDelay: "showDelay", showOnKeyboardFocus: "showOnKeyboardFocus", showOnClick: "showOnClick" }, host: { listeners: { "mouseenter": "_handleMouseenter($event)", "mouseleave": "_handleMouseleave($event)", "blur": "_handleBlur($event)" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
112
124
|
}
|
|
113
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, decorators: [{
|
|
114
126
|
type: Directive,
|
|
@@ -117,9 +129,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
117
129
|
host: {
|
|
118
130
|
'(mouseenter)': '_handleMouseenter($event)',
|
|
119
131
|
'(mouseleave)': '_handleMouseleave($event)',
|
|
132
|
+
'(blur)': '_handleBlur($event)',
|
|
120
133
|
},
|
|
121
134
|
}]
|
|
122
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.FocusMonitor }], propDecorators: { tooltip: [{
|
|
135
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.FocusMonitor }, { type: i3.GraniteTooltipService }], propDecorators: { tooltip: [{
|
|
123
136
|
type: Input,
|
|
124
137
|
args: ['graniteTooltipTriggerFor']
|
|
125
138
|
}], hideDelay: [{
|
|
@@ -131,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
131
144
|
}], showOnClick: [{
|
|
132
145
|
type: Input
|
|
133
146
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLWZvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC10cmlnZ2VyLWZvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsT0FBTyxHQUVSLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFLTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBUzlELE1BQU0sT0FBTyxpQ0FBaUM7SUF3QjVDLFlBQ1UsV0FBdUIsRUFDdkIsUUFBaUIsRUFDakIsaUJBQW1DLEVBQ25DLGFBQTJCO1FBSDNCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQXJCckMsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUd0QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBR3RCLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUdyQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztR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QkFDMUIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztZQUN0QyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO0lBQ3hDLENBQUM7K0dBaEpVLGlDQUFpQzttR0FBakMsaUNBQWlDOzs0RkFBakMsaUNBQWlDO2tCQVA3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLElBQUksRUFBRTt3QkFDSixjQUFjLEVBQUUsMkJBQTJCO3dCQUMzQyxjQUFjLEVBQUUsMkJBQTJCO3FCQUM1QztpQkFDRjsrSkFLQyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsMEJBQTBCO2dCQUlqQyxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLG1CQUFtQjtzQkFEbEIsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBDb25uZWN0aW9uUG9zaXRpb25QYWlyLFxuICBPdmVybGF5LFxuICBPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgR3Jhbml0ZVRvb2x0aXBDb25zdGFudHMgfSBmcm9tICcuL3Rvb2x0aXAtY29uc3RhbnRzLmxpYnJhcnknO1xuaW1wb3J0IHsgR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL3Rvb2x0aXAuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2dyYW5pdGVUb29sdGlwVHJpZ2dlckZvcl0nLFxuICBob3N0OiB7XG4gICAgJyhtb3VzZWVudGVyKSc6ICdfaGFuZGxlTW91c2VlbnRlcigkZXZlbnQpJyxcbiAgICAnKG1vdXNlbGVhdmUpJzogJ19oYW5kbGVNb3VzZWxlYXZlKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlVG9vbHRpcFRyaWdnZXJGb3JEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgnZ3Jhbml0ZVRvb2x0aXBUcmlnZ2VyRm9yJylcbiAgdG9vbHRpcDogR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgaGlkZURlbGF5OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dEZWxheTogbnVtYmVyID0gMDtcblxuICBASW5wdXQoKVxuICBzaG93T25LZXlib2FyZEZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgc2hvd09uQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuICBwcml2YXRlIF9kZXN0cm95OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIF9kZXRhY2hPdmVybGF5VGltZW91dElkOiBudW1iZXIgfCBudWxsO1xuICBwcml2YXRlIF9hdHRhY2hPdmVybGF5VGltZW91dElkOiBudW1iZXIgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgX2ZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jcmVhdGVPdmVybGF5KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2hvd09uS2V5Ym9hcmRGb2N1cykge1xuICAgICAgdGhpcy5faGFuZGxlS2V5Ym9hcmRGb2N1cygpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5zaG93T25DbGljaykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXRhY2hPdmVybGF5KHRoaXMuaGlkZURlbGF5KTtcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XG4gIH1cblxuICBfaGFuZGxlTW91c2VlbnRlcigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvd09uQ2xpY2spIHtcbiAgICAgIHRoaXMuX2F0dGFjaE92ZXJsYXkodGhpcy5zaG93RGVsYXkpO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVNb3VzZWxlYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaE92ZXJsYXkodGhpcy5oaWRlRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KHRoaXMuX2dldFRyaWdnZXJFbGVtZW50KCksICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYXR0YWNoT3ZlcmxheSh0aGlzLnNob3dEZWxheSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yXG4gICAgICAubW9uaXRvcih0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgob3JpZ2luKSA9PiB7XG4gICAgICAgIGlmICghb3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICAgIH0gZWxzZSBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgdGhpcy5fYXR0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgICAgICB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJyB9LFxuICAgICAgICAgIHsgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgR3Jhbml0ZVRvb2x0aXBDb25zdGFudHMuT0ZGU0VUX1ksXG4gICAgICAgICAgJ2dyYW5pdGUtdG9vbHRpcC1wb3NpdGlvbi1iZWxvdydcbiAgICAgICAgKSxcbiAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcgfSxcbiAgICAgICAgICB7IG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIC1HcmFuaXRlVG9vbHRpcENvbnN0YW50cy5PRkZTRVRfWSxcbiAgICAgICAgICAnZ3Jhbml0ZS10b29sdGlwLXBvc2l0aW9uLWFib3ZlJ1xuICAgICAgICApLFxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmXG4gICAgICAuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaE92ZXJsYXkoZGVsYXk6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGV0YWNoT3ZlcmxheVRpbWVvdXRJZCk7XG5cbiAgICAgIHRoaXMuX2F0dGFjaE92ZXJsYXlUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgICB0aGlzLnRvb2x0aXAuX3RlbXBsYXRlUmVmLFxuICAgICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWZcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2gocG9ydGFsKTtcbiAgICAgIH0sIGRlbGF5KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9kZXRhY2hPdmVybGF5KGRlbGF5OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fYXR0YWNoT3ZlcmxheVRpbWVvdXRJZCk7XG5cbiAgICAgIHRoaXMuX2RldGFjaE92ZXJsYXlUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgIHRoaXMuX2RldGFjaE92ZXJsYXlUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgfSwgZGVsYXkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldFRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLWZvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy90b29sdGlwL3NyYy9saWIvdG9vbHRpcC10cmlnZ2VyLWZvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsT0FBTyxHQUVSLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFLTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQVUzRSxNQUFNLE9BQU8saUNBQWlDO0lBd0I1QyxZQUNVLFdBQXVCLEVBQ3ZCLFFBQWlCLEVBQ2pCLGlCQUFtQyxFQUNuQyxhQUEyQixFQUMzQixlQUFzQztRQUp0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFDM0Isb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBdEJoRCxjQUFTLEdBQVcsQ0FBQyxD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J0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25Qb3NpdGlvblBhaXIsXG4gIE92ZXJsYXksXG4gIE92ZXJsYXlSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHcmFuaXRlVG9vbHRpcENvbnN0YW50cyB9IGZyb20gJy4vdG9vbHRpcC1jb25zdGFudHMubGlicmFyeSc7XG5pbXBvcnQgeyBHcmFuaXRlVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3Jhbml0ZVRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi9TZXJ2aWNlcy9ncmFuaXRlLXRvb2x0aXAuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tncmFuaXRlVG9vbHRpcFRyaWdnZXJGb3JdJyxcbiAgaG9zdDoge1xuICAgICcobW91c2VlbnRlciknOiAnX2hhbmRsZU1vdXNlZW50ZXIoJGV2ZW50KScsXG4gICAgJyhtb3VzZWxlYXZlKSc6ICdfaGFuZGxlTW91c2VsZWF2ZSgkZXZlbnQpJyxcbiAgICAnKGJsdXIpJzogJ19oYW5kbGVCbHVyKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBHcmFuaXRlVG9vbHRpcFRyaWdnZXJGb3JEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgnZ3Jhbml0ZVRvb2x0aXBUcmlnZ2VyRm9yJylcbiAgdG9vbHRpcDogR3Jhbml0ZVRvb2x0aXBDb21wb25lbnQ7XG5cbiAgQElucHV0KClcbiAgaGlkZURlbGF5OiBudW1iZXIgPSAwO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dEZWxheTogbnVtYmVyID0gNTAwO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dPbktleWJvYXJkRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaG93T25DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIHByaXZhdGUgX2Rlc3Ryb3k6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgX2RldGFjaE92ZXJsYXlUaW1lb3V0SWQ6IG51bWJlciB8IG51bGw7XG4gIHByaXZhdGUgX2F0dGFjaE92ZXJsYXlUaW1lb3V0SWQ6IG51bWJlciB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSBfdG9vbHRpcFNlcnZpY2U6IEdyYW5pdGVUb29sdGlwU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY3JlYXRlT3ZlcmxheSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnNob3dPbktleWJvYXJkRm9jdXMpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUtleWJvYXJkRm9jdXMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuc2hvd09uQ2xpY2spIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsaWNrKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgX2hhbmRsZU1vdXNlZW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3dPbkNsaWNrKSB7XG4gICAgICB0aGlzLl9hdHRhY2hPdmVybGF5KHRoaXMuc2hvd0RlbGF5KTtcbiAgICB9XG4gIH1cblxuICBfaGFuZGxlTW91c2VsZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXRhY2hPdmVybGF5KHRoaXMuaGlkZURlbGF5KTtcbiAgfVxuXG4gIF9oYW5kbGVCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaE92ZXJsYXkodGhpcy5oaWRlRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgZnJvbUV2ZW50KHRoaXMuX2dldFRyaWdnZXJFbGVtZW50KCksICdjbGljaycpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYXR0YWNoT3ZlcmxheSh0aGlzLnNob3dEZWxheSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkRm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yXG4gICAgICAubW9uaXRvcih0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZSgob3JpZ2luKSA9PiB7XG4gICAgICAgIGlmICghb3JpZ2luKSB7XG4gICAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICAgIH0gZWxzZSBpZiAob3JpZ2luID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICAgICAgdGhpcy5fYXR0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKCk7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLl9nZXRUcmlnZ2VyRWxlbWVudCgpKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgICAgICB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJyB9LFxuICAgICAgICAgIHsgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgR3Jhbml0ZVRvb2x0aXBDb25zdGFudHMuT0ZGU0VUX1ksXG4gICAgICAgICAgJ2dyYW5pdGUtdG9vbHRpcC1wb3NpdGlvbi1iZWxvdydcbiAgICAgICAgKSxcbiAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcgfSxcbiAgICAgICAgICB7IG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIC1HcmFuaXRlVG9vbHRpcENvbnN0YW50cy5PRkZTRVRfWSxcbiAgICAgICAgICAnZ3Jhbml0ZS10b29sdGlwLXBvc2l0aW9uLWFib3ZlJ1xuICAgICAgICApLFxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmXG4gICAgICAuYmFja2Ryb3BDbGljaygpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheSh0aGlzLmhpZGVEZWxheSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaE92ZXJsYXkoZGVsYXk6IG51bWJlcik6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9kZXRhY2hPdmVybGF5VGltZW91dElkKTtcblxuICAgIGlmIChcbiAgICAgIHRoaXMuX3Rvb2x0aXBTZXJ2aWNlLmFjdGl2ZVRvb2x0aXAgPT09IHRoaXMudG9vbHRpcCAmJlxuICAgICAgdGhpcy5fb3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3Rvb2x0aXBTZXJ2aWNlLnNldEFjdGl2ZVRvb2x0aXAodGhpcy50b29sdGlwKTtcblxuICAgIHRoaXMuX2F0dGFjaE92ZXJsYXlUaW1lb3V0SWQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuX292ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkge1xuICAgICAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgICAgdGhpcy50b29sdGlwLl90ZW1wbGF0ZVJlZixcbiAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG4gICAgICB9XG4gICAgfSwgZGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0YWNoT3ZlcmxheShkZWxheTogbnVtYmVyKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2F0dGFjaE92ZXJsYXlUaW1lb3V0SWQpO1xuXG4gICAgdGhpcy5fZGV0YWNoT3ZlcmxheVRpbWVvdXRJZCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgdGhpcy5fZGV0YWNoT3ZlcmxheVRpbWVvdXRJZCA9IG51bGw7XG4gICAgICAgIHRoaXMuX3Rvb2x0aXBTZXJ2aWNlLmNsZWFyQWN0aXZlVG9vbHRpcCgpO1xuICAgICAgfVxuICAgIH0sIGRlbGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,11 +2,11 @@ import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild, } from '@an
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class GraniteTooltipComponent {
|
|
4
4
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipComponent, selector: "granite-tooltip", viewQueries: [{ propertyName: "_templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipComponent, selector: "granite-tooltip", viewQueries: [{ propertyName: "_templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);white-space:nowrap;padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6
6
|
}
|
|
7
7
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipComponent, decorators: [{
|
|
8
8
|
type: Component,
|
|
9
|
-
args: [{ selector: 'granite-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"] }]
|
|
9
|
+
args: [{ selector: 'granite-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);white-space:nowrap;padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"] }]
|
|
10
10
|
}], propDecorators: { _templateRef: [{
|
|
11
11
|
type: ViewChild,
|
|
12
12
|
args: [TemplateRef]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { TemplateRef, Component, ChangeDetectionStrategy, ViewChild, Directive, Input, NgModule } from '@angular/core';
|
|
2
|
+
import { TemplateRef, Component, ChangeDetectionStrategy, ViewChild, Injectable, Directive, Input, NgModule } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import * as i2 from '@angular/cdk/a11y';
|
|
5
5
|
import * as i1 from '@angular/cdk/overlay';
|
|
@@ -10,11 +10,11 @@ import { takeUntil } from 'rxjs/operators';
|
|
|
10
10
|
|
|
11
11
|
class GraniteTooltipComponent {
|
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipComponent, selector: "granite-tooltip", viewQueries: [{ propertyName: "_templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipComponent, selector: "granite-tooltip", viewQueries: [{ propertyName: "_templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);white-space:nowrap;padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
|
-
args: [{ selector: 'granite-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"] }]
|
|
17
|
+
args: [{ selector: 'granite-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);white-space:nowrap;padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"] }]
|
|
18
18
|
}], propDecorators: { _templateRef: [{
|
|
19
19
|
type: ViewChild,
|
|
20
20
|
args: [TemplateRef]
|
|
@@ -24,14 +24,41 @@ class GraniteTooltipConstants {
|
|
|
24
24
|
static { this.OFFSET_Y = 8; }
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
class GraniteTooltipService {
|
|
28
|
+
constructor() {
|
|
29
|
+
this._activeTooltip = null;
|
|
30
|
+
}
|
|
31
|
+
setActiveTooltip(tooltip) {
|
|
32
|
+
if (this._activeTooltip && this._activeTooltip !== tooltip) {
|
|
33
|
+
this.clearActiveTooltip();
|
|
34
|
+
}
|
|
35
|
+
this._activeTooltip = tooltip;
|
|
36
|
+
}
|
|
37
|
+
clearActiveTooltip() {
|
|
38
|
+
this._activeTooltip = null;
|
|
39
|
+
}
|
|
40
|
+
get activeTooltip() {
|
|
41
|
+
return this._activeTooltip;
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, providedIn: 'root' }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipService, decorators: [{
|
|
47
|
+
type: Injectable,
|
|
48
|
+
args: [{
|
|
49
|
+
providedIn: 'root',
|
|
50
|
+
}]
|
|
51
|
+
}] });
|
|
52
|
+
|
|
27
53
|
class GraniteTooltipTriggerForDirective {
|
|
28
|
-
constructor(_elementRef, _overlay, _viewContainerRef, _focusMonitor) {
|
|
54
|
+
constructor(_elementRef, _overlay, _viewContainerRef, _focusMonitor, _tooltipService) {
|
|
29
55
|
this._elementRef = _elementRef;
|
|
30
56
|
this._overlay = _overlay;
|
|
31
57
|
this._viewContainerRef = _viewContainerRef;
|
|
32
58
|
this._focusMonitor = _focusMonitor;
|
|
59
|
+
this._tooltipService = _tooltipService;
|
|
33
60
|
this.hideDelay = 0;
|
|
34
|
-
this.showDelay =
|
|
61
|
+
this.showDelay = 500;
|
|
35
62
|
this.showOnKeyboardFocus = false;
|
|
36
63
|
this.showOnClick = false;
|
|
37
64
|
this._destroy = new Subject();
|
|
@@ -60,6 +87,9 @@ class GraniteTooltipTriggerForDirective {
|
|
|
60
87
|
_handleMouseleave() {
|
|
61
88
|
this._detachOverlay(this.hideDelay);
|
|
62
89
|
}
|
|
90
|
+
_handleBlur() {
|
|
91
|
+
this._detachOverlay(this.hideDelay);
|
|
92
|
+
}
|
|
63
93
|
_handleClick() {
|
|
64
94
|
fromEvent(this._getTriggerElement(), 'click')
|
|
65
95
|
.pipe(takeUntil(this._destroy))
|
|
@@ -102,28 +132,34 @@ class GraniteTooltipTriggerForDirective {
|
|
|
102
132
|
});
|
|
103
133
|
}
|
|
104
134
|
_attachOverlay(delay) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
this.
|
|
135
|
+
clearTimeout(this._detachOverlayTimeoutId);
|
|
136
|
+
if (this._tooltipService.activeTooltip === this.tooltip &&
|
|
137
|
+
this._overlayRef.hasAttached()) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this._tooltipService.setActiveTooltip(this.tooltip);
|
|
141
|
+
this._attachOverlayTimeoutId = window.setTimeout(() => {
|
|
142
|
+
if (!this._overlayRef.hasAttached()) {
|
|
108
143
|
const portal = new TemplatePortal(this.tooltip._templateRef, this._viewContainerRef);
|
|
109
144
|
this._overlayRef.attach(portal);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
145
|
+
}
|
|
146
|
+
}, delay);
|
|
112
147
|
}
|
|
113
148
|
_detachOverlay(delay) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
this.
|
|
149
|
+
clearTimeout(this._attachOverlayTimeoutId);
|
|
150
|
+
this._detachOverlayTimeoutId = window.setTimeout(() => {
|
|
151
|
+
if (this._overlayRef.hasAttached()) {
|
|
117
152
|
this._overlayRef.detach();
|
|
118
153
|
this._detachOverlayTimeoutId = null;
|
|
119
|
-
|
|
120
|
-
|
|
154
|
+
this._tooltipService.clearActiveTooltip();
|
|
155
|
+
}
|
|
156
|
+
}, delay);
|
|
121
157
|
}
|
|
122
158
|
_getTriggerElement() {
|
|
123
159
|
return this._elementRef.nativeElement;
|
|
124
160
|
}
|
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
126
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipTriggerForDirective, selector: "[graniteTooltipTriggerFor]", inputs: { tooltip: ["graniteTooltipTriggerFor", "tooltip"], hideDelay: "hideDelay", showDelay: "showDelay", showOnKeyboardFocus: "showOnKeyboardFocus", showOnClick: "showOnClick" }, host: { listeners: { "mouseenter": "_handleMouseenter($event)", "mouseleave": "_handleMouseleave($event)" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
161
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }, { token: GraniteTooltipService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
162
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: GraniteTooltipTriggerForDirective, selector: "[graniteTooltipTriggerFor]", inputs: { tooltip: ["graniteTooltipTriggerFor", "tooltip"], hideDelay: "hideDelay", showDelay: "showDelay", showOnKeyboardFocus: "showOnKeyboardFocus", showOnClick: "showOnClick" }, host: { listeners: { "mouseenter": "_handleMouseenter($event)", "mouseleave": "_handleMouseleave($event)", "blur": "_handleBlur($event)" } }, usesOnChanges: true, ngImport: i0 }); }
|
|
127
163
|
}
|
|
128
164
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteTooltipTriggerForDirective, decorators: [{
|
|
129
165
|
type: Directive,
|
|
@@ -132,9 +168,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
132
168
|
host: {
|
|
133
169
|
'(mouseenter)': '_handleMouseenter($event)',
|
|
134
170
|
'(mouseleave)': '_handleMouseleave($event)',
|
|
171
|
+
'(blur)': '_handleBlur($event)',
|
|
135
172
|
},
|
|
136
173
|
}]
|
|
137
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.FocusMonitor }], propDecorators: { tooltip: [{
|
|
174
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }, { type: i2.FocusMonitor }, { type: GraniteTooltipService }], propDecorators: { tooltip: [{
|
|
138
175
|
type: Input,
|
|
139
176
|
args: ['graniteTooltipTriggerFor']
|
|
140
177
|
}], hideDelay: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifsworld-granite-components-tooltip.mjs","sources":["../../../../libs/granite-components/tooltip/src/lib/tooltip.component.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.component.html","../../../../libs/granite-components/tooltip/src/lib/tooltip-constants.library.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip-trigger-for.directive.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.module.ts","../../../../libs/granite-components/tooltip/src/ifsworld-granite-components-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'granite-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTooltipComponent {\n @ViewChild(TemplateRef) _templateRef: TemplateRef<any>;\n}\n","<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","export class GraniteTooltipConstants {\n static readonly OFFSET_Y: number = 8;\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ConnectionPositionPair,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { GraniteTooltipConstants } from './tooltip-constants.library';\nimport { GraniteTooltipComponent } from './tooltip.component';\n\n@Directive({\n selector: '[graniteTooltipTriggerFor]',\n host: {\n '(mouseenter)': '_handleMouseenter($event)',\n '(mouseleave)': '_handleMouseleave($event)',\n },\n})\nexport class GraniteTooltipTriggerForDirective\n implements OnDestroy, OnInit, OnChanges\n{\n @Input('graniteTooltipTriggerFor')\n tooltip: GraniteTooltipComponent;\n\n @Input()\n hideDelay: number = 0;\n\n @Input()\n showDelay: number = 0;\n\n @Input()\n showOnKeyboardFocus: boolean = false;\n\n @Input()\n showOnClick: boolean = false;\n\n private _overlayRef: OverlayRef;\n private _destroy: Subject<void> = new Subject();\n\n private _detachOverlayTimeoutId: number | null;\n private _attachOverlayTimeoutId: number | null;\n\n constructor(\n private _elementRef: ElementRef,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n private _focusMonitor: FocusMonitor\n ) {}\n\n ngOnInit(): void {\n this._createOverlay();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.showOnKeyboardFocus) {\n this._handleKeyboardFocus();\n }\n if (changes.showOnClick) {\n this._handleClick();\n }\n }\n\n ngOnDestroy(): void {\n this._detachOverlay(this.hideDelay);\n this._destroy.next();\n this._destroy.complete();\n }\n\n _handleMouseenter(): void {\n if (!this.showOnClick) {\n this._attachOverlay(this.showDelay);\n }\n }\n\n _handleMouseleave(): void {\n this._detachOverlay(this.hideDelay);\n }\n\n private _handleClick(): void {\n fromEvent(this._getTriggerElement(), 'click')\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._attachOverlay(this.showDelay);\n });\n }\n\n private _handleKeyboardFocus(): void {\n this._focusMonitor\n .monitor(this._getTriggerElement())\n .pipe(takeUntil(this._destroy))\n .subscribe((origin) => {\n if (!origin) {\n this._detachOverlay(this.hideDelay);\n } else if (origin === 'keyboard') {\n this._attachOverlay(this.hideDelay);\n }\n });\n }\n\n private _createOverlay(): void {\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getTriggerElement())\n .withPositions([\n new ConnectionPositionPair(\n { originX: 'center', originY: 'bottom' },\n { overlayX: 'center', overlayY: 'top' },\n undefined,\n GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-below'\n ),\n new ConnectionPositionPair(\n { originX: 'center', originY: 'top' },\n { overlayX: 'center', overlayY: 'bottom' },\n undefined,\n -GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-above'\n ),\n ])\n .withPush(true);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n\n this._overlayRef\n .backdropClick()\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._detachOverlay(this.hideDelay);\n });\n }\n\n private _attachOverlay(delay: number): void {\n if (!this._overlayRef.hasAttached()) {\n clearTimeout(this._detachOverlayTimeoutId);\n\n this._attachOverlayTimeoutId = window.setTimeout(() => {\n const portal = new TemplatePortal(\n this.tooltip._templateRef,\n this._viewContainerRef\n );\n this._overlayRef.attach(portal);\n }, delay);\n }\n }\n\n private _detachOverlay(delay: number): void {\n if (this._overlayRef.hasAttached()) {\n clearTimeout(this._attachOverlayTimeoutId);\n\n this._detachOverlayTimeoutId = window.setTimeout(() => {\n this._overlayRef.detach();\n this._detachOverlayTimeoutId = null;\n }, delay);\n }\n }\n\n private _getTriggerElement(): HTMLInputElement {\n return this._elementRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GraniteTooltipComponent } from './tooltip.component';\nimport { GraniteTooltipTriggerForDirective } from './tooltip-trigger-for.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n})\nexport class GraniteTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifsworld-granite-components-tooltip.mjs","sources":["../../../../libs/granite-components/tooltip/src/lib/tooltip.component.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.component.html","../../../../libs/granite-components/tooltip/src/lib/tooltip-constants.library.ts","../../../../libs/granite-components/tooltip/src/lib/Services/granite-tooltip.service.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip-trigger-for.directive.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.module.ts","../../../../libs/granite-components/tooltip/src/ifsworld-granite-components-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'granite-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTooltipComponent {\n @ViewChild(TemplateRef) _templateRef: TemplateRef<any>;\n}\n","<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","export class GraniteTooltipConstants {\n static readonly OFFSET_Y: number = 8;\n}\n","import { Injectable } from '@angular/core';\nimport { GraniteTooltipComponent } from '../tooltip.component';\nimport { GraniteTooltipTriggerForDirective } from '../tooltip-trigger-for.directive';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GraniteTooltipService {\n private _activeTooltip: GraniteTooltipComponent | null = null;\n\n setActiveTooltip(tooltip: GraniteTooltipComponent): void {\n if (this._activeTooltip && this._activeTooltip !== tooltip) {\n this.clearActiveTooltip();\n }\n this._activeTooltip = tooltip;\n }\n\n clearActiveTooltip(): void {\n this._activeTooltip = null;\n }\n\n get activeTooltip(): GraniteTooltipComponent | null {\n return this._activeTooltip;\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ConnectionPositionPair,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { GraniteTooltipConstants } from './tooltip-constants.library';\nimport { GraniteTooltipComponent } from './tooltip.component';\nimport { GraniteTooltipService } from './Services/granite-tooltip.service';\n\n@Directive({\n selector: '[graniteTooltipTriggerFor]',\n host: {\n '(mouseenter)': '_handleMouseenter($event)',\n '(mouseleave)': '_handleMouseleave($event)',\n '(blur)': '_handleBlur($event)',\n },\n})\nexport class GraniteTooltipTriggerForDirective\n implements OnDestroy, OnInit, OnChanges\n{\n @Input('graniteTooltipTriggerFor')\n tooltip: GraniteTooltipComponent;\n\n @Input()\n hideDelay: number = 0;\n\n @Input()\n showDelay: number = 500;\n\n @Input()\n showOnKeyboardFocus: boolean = false;\n\n @Input()\n showOnClick: boolean = false;\n\n private _overlayRef: OverlayRef;\n private _destroy: Subject<void> = new Subject();\n\n private _detachOverlayTimeoutId: number | null;\n private _attachOverlayTimeoutId: number | null;\n\n constructor(\n private _elementRef: ElementRef,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n private _focusMonitor: FocusMonitor,\n private _tooltipService: GraniteTooltipService\n ) {}\n\n ngOnInit(): void {\n this._createOverlay();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.showOnKeyboardFocus) {\n this._handleKeyboardFocus();\n }\n if (changes.showOnClick) {\n this._handleClick();\n }\n }\n\n ngOnDestroy(): void {\n this._detachOverlay(this.hideDelay);\n this._destroy.next();\n this._destroy.complete();\n }\n\n _handleMouseenter(): void {\n if (!this.showOnClick) {\n this._attachOverlay(this.showDelay);\n }\n }\n\n _handleMouseleave(): void {\n this._detachOverlay(this.hideDelay);\n }\n\n _handleBlur(): void {\n this._detachOverlay(this.hideDelay);\n }\n\n private _handleClick(): void {\n fromEvent(this._getTriggerElement(), 'click')\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._attachOverlay(this.showDelay);\n });\n }\n\n private _handleKeyboardFocus(): void {\n this._focusMonitor\n .monitor(this._getTriggerElement())\n .pipe(takeUntil(this._destroy))\n .subscribe((origin) => {\n if (!origin) {\n this._detachOverlay(this.hideDelay);\n } else if (origin === 'keyboard') {\n this._attachOverlay(this.hideDelay);\n }\n });\n }\n\n private _createOverlay(): void {\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getTriggerElement())\n .withPositions([\n new ConnectionPositionPair(\n { originX: 'center', originY: 'bottom' },\n { overlayX: 'center', overlayY: 'top' },\n undefined,\n GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-below'\n ),\n new ConnectionPositionPair(\n { originX: 'center', originY: 'top' },\n { overlayX: 'center', overlayY: 'bottom' },\n undefined,\n -GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-above'\n ),\n ])\n .withPush(true);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n\n this._overlayRef\n .backdropClick()\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._detachOverlay(this.hideDelay);\n });\n }\n\n private _attachOverlay(delay: number): void {\n clearTimeout(this._detachOverlayTimeoutId);\n\n if (\n this._tooltipService.activeTooltip === this.tooltip &&\n this._overlayRef.hasAttached()\n ) {\n return;\n }\n this._tooltipService.setActiveTooltip(this.tooltip);\n\n this._attachOverlayTimeoutId = window.setTimeout(() => {\n if (!this._overlayRef.hasAttached()) {\n const portal = new TemplatePortal(\n this.tooltip._templateRef,\n this._viewContainerRef\n );\n this._overlayRef.attach(portal);\n }\n }, delay);\n }\n\n private _detachOverlay(delay: number): void {\n clearTimeout(this._attachOverlayTimeoutId);\n\n this._detachOverlayTimeoutId = window.setTimeout(() => {\n if (this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n this._detachOverlayTimeoutId = null;\n this._tooltipService.clearActiveTooltip();\n }\n }, delay);\n }\n\n private _getTriggerElement(): HTMLInputElement {\n return this._elementRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GraniteTooltipComponent } from './tooltip.component';\nimport { GraniteTooltipTriggerForDirective } from './tooltip-trigger-for.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n})\nexport class GraniteTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.GraniteTooltipService"],"mappings":"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"}
|
|
@@ -418,14 +418,14 @@ class GraniteBadgeComponent {
|
|
|
418
418
|
}
|
|
419
419
|
}
|
|
420
420
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteBadgeComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
421
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteBadgeComponent, selector: "granite-badge", inputs: { backgroundColor: "backgroundColor", color: "color", pill: "pill" }, host: { properties: { "class.granite-badge-pill": "pill" }, classAttribute: "granite-badge" }, exportAs: ["graniteBadge"], usesOnChanges: true, ngImport: i0, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-flex;display:-moz-
|
|
421
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: GraniteBadgeComponent, selector: "granite-badge", inputs: { backgroundColor: "backgroundColor", color: "color", pill: "pill" }, host: { properties: { "class.granite-badge-pill": "pill" }, classAttribute: "granite-badge" }, exportAs: ["graniteBadge"], usesOnChanges: true, ngImport: i0, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;align-items:center;background-color:var(--granite-color-signal-neutral);color:var(--granite-color-text-static-light);border-radius:var(--granite-radius-s);font-size:var(--granite-font-size-body-small);padding-inline:var(--granite-spacing-8);padding-block:var(--granite-spacing-4)}:host(.granite-badge-pill){border-radius:var(--granite-radius-l)}.granite-badge-content{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
422
422
|
}
|
|
423
423
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraniteBadgeComponent, decorators: [{
|
|
424
424
|
type: Component,
|
|
425
425
|
args: [{ selector: 'granite-badge', exportAs: 'graniteBadge', host: {
|
|
426
426
|
class: 'granite-badge',
|
|
427
427
|
'[class.granite-badge-pill]': 'pill',
|
|
428
|
-
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-flex;display:-moz-
|
|
428
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"granite-badge-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;align-items:center;background-color:var(--granite-color-signal-neutral);color:var(--granite-color-text-static-light);border-radius:var(--granite-radius-s);font-size:var(--granite-font-size-body-small);padding-inline:var(--granite-spacing-8);padding-block:var(--granite-spacing-4)}:host(.granite-badge-pill){border-radius:var(--granite-radius-l)}.granite-badge-content{overflow:hidden;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;display:block}\n"] }]
|
|
429
429
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { backgroundColor: [{
|
|
430
430
|
type: Input
|
|
431
431
|
}], color: [{
|