@silmar/ng-tooltip
Advanced tools
Comparing version 1.0.4 to 1.0.5
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/animations'), require('@angular/cdk/keycodes'), require('@angular/common')) : | ||
typeof define === 'function' && define.amd ? define('@silmar/ng-tooltip', ['exports', '@angular/core', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/animations', '@angular/cdk/keycodes', '@angular/common'], factory) : | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.silmar = global.silmar || {}, global.silmar['ng-tooltip'] = {}), global.ng.core, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.animations, global.ng.cdk.keycodes, global.ng.common)); | ||
}(this, (function (exports, core, overlay, portal, animations, keycodes, common) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/animations'), require('@angular/cdk/keycodes'), require('@angular/cdk/platform'), require('@angular/common')) : | ||
typeof define === 'function' && define.amd ? define('@silmar/ng-tooltip', ['exports', '@angular/core', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/animations', '@angular/cdk/keycodes', '@angular/cdk/platform', '@angular/common'], factory) : | ||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.silmar = global.silmar || {}, global.silmar['ng-tooltip'] = {}), global.ng.core, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.animations, global.ng.cdk.keycodes, global.ng.cdk.platform, global.ng.common)); | ||
}(this, (function (exports, core, overlay, portal, animations, keycodes, platform, common) { 'use strict'; | ||
@@ -324,6 +324,6 @@ /*! ***************************************************************************** | ||
animations.style({ opacity: 0 }), | ||
animations.animate(150, animations.style({ opacity: 1 })), | ||
animations.animate('150ms cubic-bezier(0, 0, 0.2, 1)', animations.style({ opacity: 1 })), | ||
]), | ||
animations.transition(':leave', [ | ||
animations.animate(150, animations.style({ opacity: 0 })), | ||
animations.animate('100ms cubic-bezier(0, 0, 0.2, 1)', animations.style({ opacity: 0 })), | ||
]), | ||
@@ -333,3 +333,4 @@ ]), | ||
changeDetection: core.ChangeDetectionStrategy.OnPush, | ||
styles: [":host{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;display:block;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip:not(.si-tl-light) *{color:#fff!important}::ng-deep .si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}::ng-deep .si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}::ng-deep .si-bottom .si-tl-light .si-tl-arrow,::ng-deep .si-top .si-tl-light .si-tl-arrow{left:50%}::ng-deep .si-left .si-tl-light .si-tl-arrow,::ng-deep .si-right .si-tl-light .si-tl-arrow{top:50%}::ng-deep .si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}::ng-deep .si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}::ng-deep .si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}::ng-deep .si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}::ng-deep .si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}::ng-deep .si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}:host.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}:host.si-tl-light *{color:#111!important}:host.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}:host.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}"] | ||
encapsulation: core.ViewEncapsulation.None, | ||
styles: [".si-tooltip{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);display:block;font-size:.9em;padding:.4rem .7rem}.si-tooltip:not(.si-tl-light){background-color:#393939;color:#fff}.si-tooltip:not(.si-tl-light) *{color:#fff!important}.si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}.si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}.si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}.si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}.si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}.si-tl-light *{color:#111!important}.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}.si-bottom .si-tl-light .si-tl-arrow,.si-top .si-tl-light .si-tl-arrow{left:50%}.si-left .si-tl-light .si-tl-arrow,.si-right .si-tl-light .si-tl-arrow{top:50%}.si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}.si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}.si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}.si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}.si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}.si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}.si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}.si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}"] | ||
},] } | ||
@@ -351,31 +352,21 @@ ]; | ||
{ originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP }, | ||
{ originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP }, | ||
{ originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP } | ||
]; | ||
var POS_BOTTOM = [ | ||
{ originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM }, | ||
{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM }, | ||
{ originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM } | ||
]; | ||
var POS_LEFT = [{ | ||
originX: 'start', | ||
originY: 'center', | ||
overlayX: 'end', | ||
overlayY: 'center', | ||
offsetX: -7, | ||
panelClass: CSS_LEFT | ||
}]; | ||
var POS_RIGHT = [{ | ||
originX: 'end', | ||
originY: 'center', | ||
overlayX: 'start', | ||
overlayY: 'center', | ||
offsetX: 6, | ||
panelClass: CSS_RIGHT | ||
}]; | ||
var POS_LEFT = [ | ||
{ originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -7, panelClass: CSS_LEFT } | ||
]; | ||
var POS_RIGHT = [ | ||
{ originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 6, panelClass: CSS_RIGHT } | ||
]; | ||
var passiveListenerOptions = platform.normalizePassiveListenerOptions({ passive: true }); | ||
var TOUCH_SHOW_DELAY = 500; | ||
var TOUCH_HIDE_DELAY = 1500; | ||
var NgTooltipDirective = /** @class */ (function () { | ||
function NgTooltipDirective(overlay, elRef) { | ||
function NgTooltipDirective(overlay, elRef, platform) { | ||
this.overlay = overlay; | ||
this.elRef = elRef; | ||
this.platform = platform; | ||
/** | ||
@@ -405,30 +396,77 @@ * Use simple text | ||
this.light = false; | ||
/** | ||
* Disable the tooltip | ||
*/ | ||
this.tooltipDisable = false; | ||
this.canClose = true; | ||
this.position = { | ||
left: __spread(POS_LEFT, POS_RIGHT, POS_TOP, POS_BOTTOM), | ||
right: __spread(POS_RIGHT, POS_LEFT, POS_TOP, POS_BOTTOM), | ||
top: __spread(POS_TOP, POS_BOTTOM, POS_RIGHT, POS_LEFT), | ||
bottom: __spread(POS_BOTTOM, POS_TOP, POS_RIGHT, POS_LEFT) | ||
left: __spread(POS_LEFT, POS_RIGHT), | ||
right: __spread(POS_RIGHT, POS_LEFT), | ||
top: __spread(POS_TOP, POS_BOTTOM), | ||
bottom: __spread(POS_BOTTOM, POS_TOP) | ||
}; | ||
this.listeners = []; | ||
} | ||
NgTooltipDirective.prototype.ngAfterViewInit = function () { | ||
var _this = this; | ||
this.listeners = []; | ||
if (!this.platform.IOS && !this.platform.ANDROID) { | ||
this.listeners.push(['click', function () { return _this.show(true); }]); | ||
this.listeners.push(['mouseenter', function () { return _this.show(); }]); | ||
this.listeners.push(['mouseleave', function () { return _this.close(); }]); | ||
} | ||
else { | ||
var touchendListener_1 = function () { return setTimeout(function () { return _this.close(); }, TOUCH_HIDE_DELAY) || clearTimeout(_this.touchTimeout); }; | ||
this.listeners.push(['touchstart', function () { return _this.touchTimeout = setTimeout(function () { return _this.show(); }, TOUCH_SHOW_DELAY); }]); | ||
this.listeners.push(['touchend', function () { return touchendListener_1; }]); | ||
this.listeners.push(['touchcancel', function () { return touchendListener_1; }]); | ||
} | ||
this.listeners.forEach(function (_b) { | ||
var _c = __read(_b, 2), event = _c[0], listener = _c[1]; | ||
_this.elRef.nativeElement.addEventListener(event, listener, passiveListenerOptions); | ||
}); | ||
}; | ||
NgTooltipDirective.prototype.ngOnChanges = function (changes) { | ||
if (this.positionStrategy) { | ||
var _a; | ||
if (this.overlayRef) { | ||
this.updateStrategy(); | ||
} | ||
if ((_a = changes.tooltipDisable) === null || _a === void 0 ? void 0 : _a.currentValue) { | ||
this.close(true); | ||
} | ||
}; | ||
NgTooltipDirective.prototype.showSticky = function () { | ||
this.canClose = !this.sticky; | ||
if (!this.isOpen()) { | ||
NgTooltipDirective.prototype.ngOnDestroy = function () { | ||
var _this = this; | ||
this.close(true); | ||
this.subscrKeydown && this.subscrKeydown.unsubscribe(); | ||
this.subscrOutsied && this.subscrOutsied.unsubscribe(); | ||
this.overlayRef && this.overlayRef.dispose(); | ||
this.listeners.forEach(function (_b) { | ||
var _c = __read(_b, 2), event = _c[0], listener = _c[1]; | ||
_this.elRef.nativeElement.removeEventListener(event, listener, passiveListenerOptions); | ||
}); | ||
this.listeners.length = 0; | ||
}; | ||
/** | ||
* | ||
* @param clicked | ||
*/ | ||
NgTooltipDirective.prototype.show = function (clicked) { | ||
if (clicked === void 0) { clicked = false; } | ||
this.canClose = clicked ? !this.sticky : this.canClose; | ||
if (!this.isOpen() && (clicked || !this.clickable)) { | ||
this.open(); | ||
} | ||
}; | ||
NgTooltipDirective.prototype.show = function () { | ||
if (!this.isOpen() && !this.clickable) { | ||
this.canClose = true; | ||
this.open(); | ||
/** | ||
* | ||
* @param force | ||
* @protected | ||
*/ | ||
NgTooltipDirective.prototype.close = function (force) { | ||
if (force === void 0) { force = false; } | ||
if ((this.canClose || force) && this.isOpen()) { | ||
this.overlayRef.detach(); | ||
} | ||
}; | ||
NgTooltipDirective.prototype.hide = function () { | ||
this.close(); | ||
}; | ||
/** | ||
@@ -439,4 +477,9 @@ * | ||
NgTooltipDirective.prototype.open = function () { | ||
var _this = this; | ||
if (this.tooltipDisable || this.isOpen() || (!this.text && !this.content)) { | ||
return; | ||
} | ||
this.createOverlay(); | ||
var ref = this.overlayRef.attach(new portal.ComponentPortal(NgTooltipComponent)); | ||
this.portal = this.portal || new portal.ComponentPortal(NgTooltipComponent); | ||
var ref = this.overlayRef.attach(this.portal); | ||
// Pass content to tooltip component instance | ||
@@ -450,28 +493,17 @@ if (this.content) { | ||
ref.instance.lightTheme = this.light; | ||
setTimeout(function () { return _this.overlayRef.updatePosition(); }, 150); | ||
}; | ||
/** | ||
* | ||
* @param force | ||
* @protected | ||
*/ | ||
NgTooltipDirective.prototype.close = function (force) { | ||
if (force === void 0) { force = false; } | ||
if ((this.canClose || force) && this.isOpen()) { | ||
this.overlayRef.detach(); | ||
} | ||
}; | ||
/** | ||
* | ||
* @protected | ||
*/ | ||
NgTooltipDirective.prototype.createOverlay = function () { | ||
var _this = this; | ||
if (!this.overlayRef) { | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new overlay.OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
positionStrategy: this.createPositionStrategy(), | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true, scrollThrottle: 10 }), | ||
maxWidth: this.maxWidth | ||
})); | ||
this.overlayRef.keydownEvents().subscribe(function (event) { | ||
this.subscrKeydown = this.overlayRef.keydownEvents().subscribe(function (event) { | ||
if (event.keyCode === keycodes.ESCAPE) { | ||
@@ -482,3 +514,3 @@ event.preventDefault(); | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe(function (event) { | ||
this.subscrOutsied = this.overlayRef.outsidePointerEvents().subscribe(function (event) { | ||
var target = event.target || event.relatedTarget; | ||
@@ -490,2 +522,3 @@ if (!target || (target !== _this.elRef.nativeElement && !_this.elRef.nativeElement.contains(target))) { | ||
} | ||
return this.overlayRef; | ||
}; | ||
@@ -504,6 +537,9 @@ /** | ||
NgTooltipDirective.prototype.createPositionStrategy = function () { | ||
if (!this.positionStrategy) { | ||
this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elRef); | ||
this.updateStrategy(); | ||
} | ||
var positionStrategy = this.overlay.position() | ||
.flexibleConnectedTo(this.elRef) | ||
.withLockedPosition(true) | ||
.withFlexibleDimensions(false) | ||
.withViewportMargin(5); | ||
this.updateStrategy(positionStrategy); | ||
return positionStrategy; | ||
}; | ||
@@ -514,9 +550,9 @@ /** | ||
*/ | ||
NgTooltipDirective.prototype.updateStrategy = function () { | ||
this.positionStrategy | ||
.withPositions(this.position[this.placement]) | ||
.withViewportMargin(5) | ||
.withFlexibleDimensions(false) | ||
.withLockedPosition(false) | ||
NgTooltipDirective.prototype.updateStrategy = function (strategy) { | ||
strategy = strategy ? strategy : this.overlayRef.getConfig().positionStrategy; | ||
strategy.withPositions(this.position[this.placement]) | ||
.withPush(this.push); | ||
if (this.overlayRef) { | ||
this.overlayRef.updatePositionStrategy(strategy); | ||
} | ||
}; | ||
@@ -532,3 +568,4 @@ return NgTooltipDirective; | ||
{ type: overlay.Overlay }, | ||
{ type: core.ElementRef } | ||
{ type: core.ElementRef }, | ||
{ type: platform.Platform } | ||
]; }; | ||
@@ -544,5 +581,3 @@ NgTooltipDirective.propDecorators = { | ||
light: [{ type: core.Input }], | ||
showSticky: [{ type: core.HostListener, args: ['click',] }], | ||
show: [{ type: core.HostListener, args: ['mouseenter',] }], | ||
hide: [{ type: core.HostListener, args: ['mouseout',] }] | ||
tooltipDisable: [{ type: core.Input }] | ||
}; | ||
@@ -549,0 +584,0 @@ |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular/animations"),require("@angular/cdk/keycodes"),require("@angular/common")):"function"==typeof define&&define.amd?define("@silmar/ng-tooltip",["exports","@angular/core","@angular/cdk/overlay","@angular/cdk/portal","@angular/animations","@angular/cdk/keycodes","@angular/common"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).silmar=t.silmar||{},t.silmar["ng-tooltip"]={}),t.ng.core,t.ng.cdk.overlay,t.ng.cdk.portal,t.ng.animations,t.ng.cdk.keycodes,t.ng.common)}(this,(function(t,e,o,i,r,n,a){"use strict"; | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/cdk/overlay"),require("@angular/cdk/portal"),require("@angular/animations"),require("@angular/cdk/keycodes"),require("@angular/cdk/platform"),require("@angular/common")):"function"==typeof define&&define.amd?define("@silmar/ng-tooltip",["exports","@angular/core","@angular/cdk/overlay","@angular/cdk/portal","@angular/animations","@angular/cdk/keycodes","@angular/cdk/platform","@angular/common"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self).silmar=t.silmar||{},t.silmar["ng-tooltip"]={}),t.ng.core,t.ng.cdk.overlay,t.ng.cdk.portal,t.ng.animations,t.ng.cdk.keycodes,t.ng.cdk.platform,t.ng.common)}(this,(function(t,e,i,o,r,n,s,a){"use strict"; | ||
/*! ***************************************************************************** | ||
@@ -15,3 +15,3 @@ Copyright (c) Microsoft Corporation. | ||
PERFORMANCE OF THIS SOFTWARE. | ||
***************************************************************************** */Object.create;function s(t,e){var o="function"==typeof Symbol&&t[Symbol.iterator];if(!o)return t;var i,r,n=o.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(t){r={error:t}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(r)throw r.error}}return a}function l(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(s(arguments[e]));return t}Object.create;var p=function(){this.animations=!0,this.mainClass=!0,this.lightTheme=!1};p.decorators=[{type:e.Component,args:[{selector:"si-tooltip-cmp",template:'\n <div *ngIf="lightTheme" class="si-tl-arrow"></div>\n <ng-container *ngTemplateOutlet="withTemplate ? withTemplate : defTpl"></ng-container>\n\n <ng-template #defTpl>\n <div [innerHTML]="text"></div>\n </ng-template>\n ',animations:[r.trigger("tooltip",[r.transition(":enter",[r.style({opacity:0}),r.animate(150,r.style({opacity:1}))]),r.transition(":leave",[r.animate(150,r.style({opacity:0}))])])],changeDetection:e.ChangeDetectionStrategy.OnPush,styles:[':host{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;display:block;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip:not(.si-tl-light) *{color:#fff!important}::ng-deep .si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:"";position:absolute}::ng-deep .si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}::ng-deep .si-bottom .si-tl-light .si-tl-arrow,::ng-deep .si-top .si-tl-light .si-tl-arrow{left:50%}::ng-deep .si-left .si-tl-light .si-tl-arrow,::ng-deep .si-right .si-tl-light .si-tl-arrow{top:50%}::ng-deep .si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}::ng-deep .si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}::ng-deep .si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}::ng-deep .si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}::ng-deep .si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}::ng-deep .si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}:host.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}:host.si-tl-light *{color:#111!important}:host.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}:host.si-tl-light .si-tl-arrow:after{background-color:#fff;content:"";display:block;height:9px;position:absolute;width:9px}']}]}],p.propDecorators={animations:[{type:e.HostBinding,args:["@tooltip"]}],mainClass:[{type:e.HostBinding,args:["class.si-tooltip"]}],lightTheme:[{type:e.HostBinding,args:["class.si-tl-light"]}],text:[{type:e.Input}],withTemplate:[{type:e.Input}]};var g=["si-top","si-tooltip-wrap"],c=["si-bottom","si-tooltip-wrap"],h=[{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-7,panelClass:g},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",offsetY:-7,panelClass:g},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",offsetY:-7,panelClass:g}],d=[{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:6,panelClass:c},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top",offsetY:6,panelClass:c},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top",offsetY:6,panelClass:c}],f=[{originX:"start",originY:"center",overlayX:"end",overlayY:"center",offsetX:-7,panelClass:["si-left","si-tooltip-wrap"]}],y=[{originX:"end",originY:"center",overlayX:"start",overlayY:"center",offsetX:6,panelClass:["si-right","si-tooltip-wrap"]}],u=function(){function t(t,e){this.overlay=t,this.elRef=e,this.text="",this.push=!0,this.placement="top",this.sticky=!1,this.clickable=!1,this.light=!1,this.canClose=!0,this.position={left:l(f,y,h,d),right:l(y,f,h,d),top:l(h,d,y,f),bottom:l(d,h,y,f)}}return t.prototype.ngOnChanges=function(t){this.positionStrategy&&this.updateStrategy()},t.prototype.showSticky=function(){this.canClose=!this.sticky,this.isOpen()||this.open()},t.prototype.show=function(){this.isOpen()||this.clickable||(this.canClose=!0,this.open())},t.prototype.hide=function(){this.close()},t.prototype.open=function(){this.createOverlay();var t=this.overlayRef.attach(new i.ComponentPortal(p));this.content?t.instance.withTemplate=this.content:t.instance.text=this.text,t.instance.lightTheme=this.light},t.prototype.close=function(t){void 0===t&&(t=!1),(this.canClose||t)&&this.isOpen()&&this.overlayRef.detach()},t.prototype.createOverlay=function(){var t=this;this.overlayRef||(this.createPositionStrategy(),this.overlayRef=this.overlay.create(new o.OverlayConfig({positionStrategy:this.positionStrategy,scrollStrategy:this.overlay.scrollStrategies.reposition({autoClose:!0,scrollThrottle:10}),maxWidth:this.maxWidth})),this.overlayRef.keydownEvents().subscribe((function(e){e.keyCode===n.ESCAPE&&(e.preventDefault(),t.close(!0))})),this.overlayRef.outsidePointerEvents().subscribe((function(e){var o=e.target||e.relatedTarget;o&&(o===t.elRef.nativeElement||t.elRef.nativeElement.contains(o))||t.close(!0)})))},t.prototype.isOpen=function(){return this.overlayRef&&this.overlayRef.hasAttached()},t.prototype.createPositionStrategy=function(){this.positionStrategy||(this.positionStrategy=this.overlay.position().flexibleConnectedTo(this.elRef),this.updateStrategy())},t.prototype.updateStrategy=function(){this.positionStrategy.withPositions(this.position[this.placement]).withViewportMargin(5).withFlexibleDimensions(!1).withLockedPosition(!1).withPush(this.push)},t}();u.decorators=[{type:e.Directive,args:[{selector:"[siTooltip]"}]}],u.ctorParameters=function(){return[{type:o.Overlay},{type:e.ElementRef}]},u.propDecorators={text:[{type:e.Input,args:["siTooltip"]}],content:[{type:e.Input}],maxWidth:[{type:e.Input}],push:[{type:e.Input}],placement:[{type:e.Input}],sticky:[{type:e.Input}],clickable:[{type:e.Input}],light:[{type:e.Input}],showSticky:[{type:e.HostListener,args:["click"]}],show:[{type:e.HostListener,args:["mouseenter"]}],hide:[{type:e.HostListener,args:["mouseout"]}]};var m=function(){};m.decorators=[{type:e.NgModule,args:[{declarations:[p,u],imports:[a.CommonModule,o.OverlayModule],exports:[u]}]}],t.NgTooltipComponent=p,t.NgTooltipDirective=u,t.NgTooltipModule=m,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
***************************************************************************** */Object.create;function l(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var o,r,n=i.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(o=n.next()).done;)s.push(o.value)}catch(t){r={error:t}}finally{try{o&&!o.done&&(i=n.return)&&i.call(n)}finally{if(r)throw r.error}}return s}function p(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(l(arguments[e]));return t}Object.create;var c=function(){this.animations=!0,this.mainClass=!0,this.lightTheme=!1};c.decorators=[{type:e.Component,args:[{selector:"si-tooltip-cmp",template:'\n <div *ngIf="lightTheme" class="si-tl-arrow"></div>\n <ng-container *ngTemplateOutlet="withTemplate ? withTemplate : defTpl"></ng-container>\n\n <ng-template #defTpl>\n <div [innerHTML]="text"></div>\n </ng-template>\n ',animations:[r.trigger("tooltip",[r.transition(":enter",[r.style({opacity:0}),r.animate("150ms cubic-bezier(0, 0, 0.2, 1)",r.style({opacity:1}))]),r.transition(":leave",[r.animate("100ms cubic-bezier(0, 0, 0.2, 1)",r.style({opacity:0}))])])],changeDetection:e.ChangeDetectionStrategy.OnPush,encapsulation:e.ViewEncapsulation.None,styles:['.si-tooltip{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);display:block;font-size:.9em;padding:.4rem .7rem}.si-tooltip:not(.si-tl-light){background-color:#393939;color:#fff}.si-tooltip:not(.si-tl-light) *{color:#fff!important}.si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:"";position:absolute}.si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}.si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}.si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}.si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}.si-tl-light *{color:#111!important}.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}.si-tl-light .si-tl-arrow:after{background-color:#fff;content:"";display:block;height:9px;position:absolute;width:9px}.si-bottom .si-tl-light .si-tl-arrow,.si-top .si-tl-light .si-tl-arrow{left:50%}.si-left .si-tl-light .si-tl-arrow,.si-right .si-tl-light .si-tl-arrow{top:50%}.si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}.si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}.si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}.si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}.si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}.si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}.si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}.si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}']}]}],c.propDecorators={animations:[{type:e.HostBinding,args:["@tooltip"]}],mainClass:[{type:e.HostBinding,args:["class.si-tooltip"]}],lightTheme:[{type:e.HostBinding,args:["class.si-tl-light"]}],text:[{type:e.Input}],withTemplate:[{type:e.Input}]};var h=[{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-7,panelClass:["si-top","si-tooltip-wrap"]}],u=[{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:6,panelClass:["si-bottom","si-tooltip-wrap"]}],g=[{originX:"start",originY:"center",overlayX:"end",overlayY:"center",offsetX:-7,panelClass:["si-left","si-tooltip-wrap"]}],f=[{originX:"end",originY:"center",overlayX:"start",overlayY:"center",offsetX:6,panelClass:["si-right","si-tooltip-wrap"]}],d=s.normalizePassiveListenerOptions({passive:!0}),y=function(){function t(t,e,i){this.overlay=t,this.elRef=e,this.platform=i,this.text="",this.push=!0,this.placement="top",this.sticky=!1,this.clickable=!1,this.light=!1,this.tooltipDisable=!1,this.canClose=!0,this.position={left:p(g,f),right:p(f,g),top:p(h,u),bottom:p(u,h)},this.listeners=[]}return t.prototype.ngAfterViewInit=function(){var t=this;if(this.listeners=[],this.platform.IOS||this.platform.ANDROID){var e=function(){return setTimeout((function(){return t.close()}),1500)||clearTimeout(t.touchTimeout)};this.listeners.push(["touchstart",function(){return t.touchTimeout=setTimeout((function(){return t.show()}),500)}]),this.listeners.push(["touchend",function(){return e}]),this.listeners.push(["touchcancel",function(){return e}])}else this.listeners.push(["click",function(){return t.show(!0)}]),this.listeners.push(["mouseenter",function(){return t.show()}]),this.listeners.push(["mouseleave",function(){return t.close()}]);this.listeners.forEach((function(e){var i=l(e,2),o=i[0],r=i[1];t.elRef.nativeElement.addEventListener(o,r,d)}))},t.prototype.ngOnChanges=function(t){var e;this.overlayRef&&this.updateStrategy(),(null===(e=t.tooltipDisable)||void 0===e?void 0:e.currentValue)&&this.close(!0)},t.prototype.ngOnDestroy=function(){var t=this;this.close(!0),this.subscrKeydown&&this.subscrKeydown.unsubscribe(),this.subscrOutsied&&this.subscrOutsied.unsubscribe(),this.overlayRef&&this.overlayRef.dispose(),this.listeners.forEach((function(e){var i=l(e,2),o=i[0],r=i[1];t.elRef.nativeElement.removeEventListener(o,r,d)})),this.listeners.length=0},t.prototype.show=function(t){void 0===t&&(t=!1),this.canClose=t?!this.sticky:this.canClose,this.isOpen()||!t&&this.clickable||this.open()},t.prototype.close=function(t){void 0===t&&(t=!1),(this.canClose||t)&&this.isOpen()&&this.overlayRef.detach()},t.prototype.open=function(){var t=this;if(!this.tooltipDisable&&!this.isOpen()&&(this.text||this.content)){this.createOverlay(),this.portal=this.portal||new o.ComponentPortal(c);var e=this.overlayRef.attach(this.portal);this.content?e.instance.withTemplate=this.content:e.instance.text=this.text,e.instance.lightTheme=this.light,setTimeout((function(){return t.overlayRef.updatePosition()}),150)}},t.prototype.createOverlay=function(){var t=this;return this.overlayRef||(this.overlayRef=this.overlay.create(new i.OverlayConfig({positionStrategy:this.createPositionStrategy(),scrollStrategy:this.overlay.scrollStrategies.reposition({autoClose:!0,scrollThrottle:10}),maxWidth:this.maxWidth})),this.subscrKeydown=this.overlayRef.keydownEvents().subscribe((function(e){e.keyCode===n.ESCAPE&&(e.preventDefault(),t.close(!0))})),this.subscrOutsied=this.overlayRef.outsidePointerEvents().subscribe((function(e){var i=e.target||e.relatedTarget;i&&(i===t.elRef.nativeElement||t.elRef.nativeElement.contains(i))||t.close(!0)}))),this.overlayRef},t.prototype.isOpen=function(){return this.overlayRef&&this.overlayRef.hasAttached()},t.prototype.createPositionStrategy=function(){var t=this.overlay.position().flexibleConnectedTo(this.elRef).withLockedPosition(!0).withFlexibleDimensions(!1).withViewportMargin(5);return this.updateStrategy(t),t},t.prototype.updateStrategy=function(t){(t=t||this.overlayRef.getConfig().positionStrategy).withPositions(this.position[this.placement]).withPush(this.push),this.overlayRef&&this.overlayRef.updatePositionStrategy(t)},t}();y.decorators=[{type:e.Directive,args:[{selector:"[siTooltip]"}]}],y.ctorParameters=function(){return[{type:i.Overlay},{type:e.ElementRef},{type:s.Platform}]},y.propDecorators={text:[{type:e.Input,args:["siTooltip"]}],content:[{type:e.Input}],maxWidth:[{type:e.Input}],push:[{type:e.Input}],placement:[{type:e.Input}],sticky:[{type:e.Input}],clickable:[{type:e.Input}],light:[{type:e.Input}],tooltipDisable:[{type:e.Input}]};var m=function(){};m.decorators=[{type:e.NgModule,args:[{declarations:[c,y],imports:[a.CommonModule,i.OverlayModule],exports:[y]}]}],t.NgTooltipComponent=c,t.NgTooltipDirective=y,t.NgTooltipModule=m,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=silmar-ng-tooltip.umd.min.js.map |
@@ -7,26 +7,12 @@ const CSS_TOP = ['si-top', 'si-tooltip-wrap']; | ||
{ originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP }, | ||
{ originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP }, | ||
{ originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP } | ||
]; | ||
export const POS_BOTTOM = [ | ||
{ originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM }, | ||
{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM }, | ||
{ originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM } | ||
]; | ||
export const POS_LEFT = [{ | ||
originX: 'start', | ||
originY: 'center', | ||
overlayX: 'end', | ||
overlayY: 'center', | ||
offsetX: -7, | ||
panelClass: CSS_LEFT | ||
}]; | ||
export const POS_RIGHT = [{ | ||
originX: 'end', | ||
originY: 'center', | ||
overlayX: 'start', | ||
overlayY: 'center', | ||
offsetX: 6, | ||
panelClass: CSS_RIGHT | ||
}]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL2V0Zy1wdWJsaWMvc2lsbWFyLW5nLXRvb2x0aXAvcHJvamVjdHMvc2lsbWFyL25nLXRvb2x0aXAvc3JjLyIsInNvdXJjZXMiOlsibGliL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLEdBQU0sQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUNqRCxNQUFNLFVBQVUsR0FBRyxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3BELE1BQU0sUUFBUSxHQUFLLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDbEQsTUFBTSxTQUFTLEdBQUksQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTJCO0lBQzdDLEVBQUUsT0FBTyxFQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRyxRQUFRLEVBQUUsUUFBUSxFQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFHLE9BQU8sRUFBRTtJQUNySCxFQUFFLE9BQU8sRUFBRyxPQUFPLEVBQUUsT0FBTyxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRyxRQUFRLEVBQUUsT0FBTyxFQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRyxPQUFPLEVBQUU7SUFDbkgsRUFBRSxPQUFPLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRyxLQUFLLEVBQUUsUUFBUSxFQUFHLEtBQUssRUFBRSxRQUFRLEVBQUcsUUFBUSxFQUFFLE9BQU8sRUFBRyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUcsT0FBTyxFQUFFO0NBQ2hILENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQXdCO0lBQzdDLEVBQUUsT0FBTyxFQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUcsUUFBUSxFQUFFLFFBQVEsRUFBRyxRQUFRLEVBQUUsUUFBUSxFQUFHLEtBQUssRUFBRSxPQUFPLEVBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRyxVQUFVLEVBQUU7SUFDdkgsRUFBRSxPQUFPLEVBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRyxRQUFRLEVBQUUsUUFBUSxFQUFHLE9BQU8sRUFBRSxRQUFRLEVBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRyxDQUFDLEVBQUUsVUFBVSxFQUFHLFVBQVUsRUFBRTtJQUNySCxFQUFFLE9BQU8sRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFHLFFBQVEsRUFBRSxRQUFRLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFHLENBQUMsRUFBRSxVQUFVLEVBQUcsVUFBVSxFQUFFO0NBQ2xILENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQTBCLENBQUU7UUFDL0MsT0FBTyxFQUFNLE9BQU87UUFDcEIsT0FBTyxFQUFNLFFBQVE7UUFDckIsUUFBUSxFQUFLLEtBQUs7UUFDbEIsUUFBUSxFQUFLLFFBQVE7UUFDckIsT0FBTyxFQUFNLENBQUMsQ0FBQztRQUNmLFVBQVUsRUFBRyxRQUFRO0tBQ3RCLENBQUUsQ0FBQztBQUNKLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBeUIsQ0FBRTtRQUMvQyxPQUFPLEVBQU0sS0FBSztRQUNsQixPQUFPLEVBQU0sUUFBUTtRQUNyQixRQUFRLEVBQUssT0FBTztRQUNwQixRQUFRLEVBQUssUUFBUTtRQUNyQixPQUFPLEVBQU0sQ0FBQztRQUNkLFVBQVUsRUFBRyxTQUFTO0tBQ3ZCLENBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5jb25zdCBDU1NfVE9QICAgID0gWydzaS10b3AnLCAnc2ktdG9vbHRpcC13cmFwJ107XG5jb25zdCBDU1NfQk9UVE9NID0gWydzaS1ib3R0b20nLCAnc2ktdG9vbHRpcC13cmFwJ107XG5jb25zdCBDU1NfTEVGVCAgID0gWydzaS1sZWZ0JywgJ3NpLXRvb2x0aXAtd3JhcCddO1xuY29uc3QgQ1NTX1JJR0hUICA9IFsnc2ktcmlnaHQnLCAnc2ktdG9vbHRpcC13cmFwJ107XG5cbmV4cG9ydCBjb25zdCBQT1NfVE9QOiBDb25uZWN0ZWRQb3NpdGlvbltdICAgID0gW1xuICB7IG9yaWdpblggOiAnY2VudGVyJywgb3JpZ2luWSA6ICd0b3AnLCBvdmVybGF5WCA6ICdjZW50ZXInLCBvdmVybGF5WSA6ICdib3R0b20nLCBvZmZzZXRZIDogLTcsIHBhbmVsQ2xhc3MgOiBDU1NfVE9QIH0sXG4gIHsgb3JpZ2luWCA6ICdzdGFydCcsIG9yaWdpblkgOiAndG9wJywgb3ZlcmxheVggOiAnc3RhcnQnLCBvdmVybGF5WSA6ICdib3R0b20nLCBvZmZzZXRZIDogLTcsIHBhbmVsQ2xhc3MgOiBDU1NfVE9QIH0sXG4gIHsgb3JpZ2luWCA6ICdlbmQnLCBvcmlnaW5ZIDogJ3RvcCcsIG92ZXJsYXlYIDogJ2VuZCcsIG92ZXJsYXlZIDogJ2JvdHRvbScsIG9mZnNldFkgOiAtNywgcGFuZWxDbGFzcyA6IENTU19UT1AgfVxuXTtcbmV4cG9ydCBjb25zdCBQT1NfQk9UVE9NOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICB7IG9yaWdpblggOiAnY2VudGVyJywgb3JpZ2luWSA6ICdib3R0b20nLCBvdmVybGF5WCA6ICdjZW50ZXInLCBvdmVybGF5WSA6ICd0b3AnLCBvZmZzZXRZIDogNiwgcGFuZWxDbGFzcyA6IENTU19CT1RUT00gfSxcbiAgeyBvcmlnaW5YIDogJ3N0YXJ0Jywgb3JpZ2luWSA6ICdib3R0b20nLCBvdmVybGF5WCA6ICdzdGFydCcsIG92ZXJsYXlZIDogJ3RvcCcsIG9mZnNldFkgOiA2LCBwYW5lbENsYXNzIDogQ1NTX0JPVFRPTSB9LFxuICB7IG9yaWdpblggOiAnZW5kJywgb3JpZ2luWSA6ICdib3R0b20nLCBvdmVybGF5WCA6ICdlbmQnLCBvdmVybGF5WSA6ICd0b3AnLCBvZmZzZXRZIDogNiwgcGFuZWxDbGFzcyA6IENTU19CT1RUT00gfVxuXTtcbmV4cG9ydCBjb25zdCBQT1NfTEVGVDogQ29ubmVjdGVkUG9zaXRpb25bXSAgID0gWyB7XG4gIG9yaWdpblggICAgOiAnc3RhcnQnLFxuICBvcmlnaW5ZICAgIDogJ2NlbnRlcicsXG4gIG92ZXJsYXlYICAgOiAnZW5kJyxcbiAgb3ZlcmxheVkgICA6ICdjZW50ZXInLFxuICBvZmZzZXRYICAgIDogLTcsXG4gIHBhbmVsQ2xhc3MgOiBDU1NfTEVGVFxufSBdO1xuZXhwb3J0IGNvbnN0IFBPU19SSUdIVDogQ29ubmVjdGVkUG9zaXRpb25bXSAgPSBbIHtcbiAgb3JpZ2luWCAgICA6ICdlbmQnLFxuICBvcmlnaW5ZICAgIDogJ2NlbnRlcicsXG4gIG92ZXJsYXlYICAgOiAnc3RhcnQnLFxuICBvdmVybGF5WSAgIDogJ2NlbnRlcicsXG4gIG9mZnNldFggICAgOiA2LFxuICBwYW5lbENsYXNzIDogQ1NTX1JJR0hUXG59IF07XG4iXX0= | ||
export const POS_LEFT = [ | ||
{ originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -7, panelClass: CSS_LEFT } | ||
]; | ||
export const POS_RIGHT = [ | ||
{ originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 6, panelClass: CSS_RIGHT } | ||
]; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIvYnVpbGRzL2V0Zy1wdWJsaWMvc2lsbWFyLW5nLXRvb2x0aXAvcHJvamVjdHMvc2lsbWFyL25nLXRvb2x0aXAvc3JjLyIsInNvdXJjZXMiOlsibGliL21pc2MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLEdBQU0sQ0FBRSxRQUFRLEVBQUUsaUJBQWlCLENBQUUsQ0FBQztBQUNuRCxNQUFNLFVBQVUsR0FBRyxDQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBRSxDQUFDO0FBQ3RELE1BQU0sUUFBUSxHQUFLLENBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFFLENBQUM7QUFDcEQsTUFBTSxTQUFTLEdBQUksQ0FBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUUsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQTJCO0lBQzdDLEVBQUUsT0FBTyxFQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUcsS0FBSyxFQUFFLFFBQVEsRUFBRyxRQUFRLEVBQUUsUUFBUSxFQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFHLE9BQU8sRUFBRTtDQUN0SCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUF3QjtJQUM3QyxFQUFFLE9BQU8sRUFBRyxRQUFRLEVBQUUsT0FBTyxFQUFHLFFBQVEsRUFBRSxRQUFRLEVBQUcsUUFBUSxFQUFFLFFBQVEsRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFHLENBQUMsRUFBRSxVQUFVLEVBQUcsVUFBVSxFQUFFO0NBQ3hILENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQTBCO0lBQzdDLEVBQUUsT0FBTyxFQUFHLE9BQU8sRUFBRSxPQUFPLEVBQUcsUUFBUSxFQUFFLFFBQVEsRUFBRyxLQUFLLEVBQUUsUUFBUSxFQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFHLFFBQVEsRUFBRTtDQUN0SCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUF5QjtJQUM3QyxFQUFFLE9BQU8sRUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFHLFFBQVEsRUFBRSxRQUFRLEVBQUcsT0FBTyxFQUFFLFFBQVEsRUFBRyxRQUFRLEVBQUUsT0FBTyxFQUFHLENBQUMsRUFBRSxVQUFVLEVBQUcsU0FBUyxFQUFFO0NBQ3RILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuY29uc3QgQ1NTX1RPUCAgICA9IFsgJ3NpLXRvcCcsICdzaS10b29sdGlwLXdyYXAnIF07XG5jb25zdCBDU1NfQk9UVE9NID0gWyAnc2ktYm90dG9tJywgJ3NpLXRvb2x0aXAtd3JhcCcgXTtcbmNvbnN0IENTU19MRUZUICAgPSBbICdzaS1sZWZ0JywgJ3NpLXRvb2x0aXAtd3JhcCcgXTtcbmNvbnN0IENTU19SSUdIVCAgPSBbICdzaS1yaWdodCcsICdzaS10b29sdGlwLXdyYXAnIF07XG5cbmV4cG9ydCBjb25zdCBQT1NfVE9QOiBDb25uZWN0ZWRQb3NpdGlvbltdICAgID0gW1xuICB7IG9yaWdpblggOiAnY2VudGVyJywgb3JpZ2luWSA6ICd0b3AnLCBvdmVybGF5WCA6ICdjZW50ZXInLCBvdmVybGF5WSA6ICdib3R0b20nLCBvZmZzZXRZIDogLTcsIHBhbmVsQ2xhc3MgOiBDU1NfVE9QIH0sXG5dO1xuZXhwb3J0IGNvbnN0IFBPU19CT1RUT006IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gIHsgb3JpZ2luWCA6ICdjZW50ZXInLCBvcmlnaW5ZIDogJ2JvdHRvbScsIG92ZXJsYXlYIDogJ2NlbnRlcicsIG92ZXJsYXlZIDogJ3RvcCcsIG9mZnNldFkgOiA2LCBwYW5lbENsYXNzIDogQ1NTX0JPVFRPTSB9LFxuXTtcbmV4cG9ydCBjb25zdCBQT1NfTEVGVDogQ29ubmVjdGVkUG9zaXRpb25bXSAgID0gW1xuICB7IG9yaWdpblggOiAnc3RhcnQnLCBvcmlnaW5ZIDogJ2NlbnRlcicsIG92ZXJsYXlYIDogJ2VuZCcsIG92ZXJsYXlZIDogJ2NlbnRlcicsIG9mZnNldFggOiAtNywgcGFuZWxDbGFzcyA6IENTU19MRUZUIH1cbl07XG5leHBvcnQgY29uc3QgUE9TX1JJR0hUOiBDb25uZWN0ZWRQb3NpdGlvbltdICA9IFtcbiAgeyBvcmlnaW5YIDogJ2VuZCcsIG9yaWdpblkgOiAnY2VudGVyJywgb3ZlcmxheVggOiAnc3RhcnQnLCBvdmVybGF5WSA6ICdjZW50ZXInLCBvZmZzZXRYIDogNiwgcGFuZWxDbGFzcyA6IENTU19SSUdIVCB9XG5dO1xuIl19 |
@@ -1,2 +0,2 @@ | ||
import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core'; | ||
import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core'; | ||
import { animate, style, transition, trigger } from '@angular/animations'; | ||
@@ -25,6 +25,6 @@ export class NgTooltipComponent { | ||
style({ opacity: 0 }), | ||
animate(150, style({ opacity: 1 })), | ||
animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 1 })), | ||
]), | ||
transition(':leave', [ | ||
animate(150, style({ opacity: 0 })), | ||
animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 })), | ||
]), | ||
@@ -34,3 +34,4 @@ ]), | ||
changeDetection: ChangeDetectionStrategy.OnPush, | ||
styles: [":host{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;display:block;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip:not(.si-tl-light) *{color:#fff!important}::ng-deep .si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}::ng-deep .si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}::ng-deep .si-bottom .si-tl-light .si-tl-arrow,::ng-deep .si-top .si-tl-light .si-tl-arrow{left:50%}::ng-deep .si-left .si-tl-light .si-tl-arrow,::ng-deep .si-right .si-tl-light .si-tl-arrow{top:50%}::ng-deep .si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}::ng-deep .si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}::ng-deep .si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}::ng-deep .si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}::ng-deep .si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}::ng-deep .si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}:host.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}:host.si-tl-light *{color:#111!important}:host.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}:host.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}"] | ||
encapsulation: ViewEncapsulation.None, | ||
styles: [".si-tooltip{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);display:block;font-size:.9em;padding:.4rem .7rem}.si-tooltip:not(.si-tl-light){background-color:#393939;color:#fff}.si-tooltip:not(.si-tl-light) *{color:#fff!important}.si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}.si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}.si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}.si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}.si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}.si-tl-light *{color:#111!important}.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}.si-bottom .si-tl-light .si-tl-arrow,.si-top .si-tl-light .si-tl-arrow{left:50%}.si-left .si-tl-light .si-tl-arrow,.si-right .si-tl-light .si-tl-arrow{top:50%}.si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}.si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}.si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}.si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}.si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}.si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}.si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}.si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}"] | ||
},] } | ||
@@ -45,2 +46,2 @@ ]; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9ldGctcHVibGljL3NpbG1hci1uZy10b29sdGlwL3Byb2plY3RzL3NpbG1hci9uZy10b29sdGlwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uZy10b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDcEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBMEIxRSxNQUFNLE9BQU8sa0JBQWtCO0lBeEIvQjtRQXlCb0MsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVWLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFekIsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUt2RCxDQUFDOzs7WUFsQ0EsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBVSxnQkFBZ0I7Z0JBQ2xDLFFBQVEsRUFBVTs7Ozs7OztHQU9qQjtnQkFDRCxVQUFVLEVBQVE7b0JBQ2hCLE9BQU8sQ0FBQyxTQUFTLEVBQUU7d0JBQ2pCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRyxDQUFDLEVBQUUsQ0FBQzs0QkFDdEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt5QkFDckMsQ0FBQzt3QkFDRixVQUFVLENBQUMsUUFBUSxFQUFFOzRCQUNuQixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3lCQUNyQyxDQUFDO3FCQUNILENBQUM7aUJBQ0g7Z0JBRUQsZUFBZSxFQUFHLHVCQUF1QixDQUFDLE1BQU07O2FBQ2pEOzs7eUJBRUUsV0FBVyxTQUFDLFVBQVU7d0JBRXRCLFdBQVcsU0FBQyxrQkFBa0I7eUJBRTlCLFdBQVcsU0FBQyxtQkFBbUI7bUJBRS9CLEtBQUs7MkJBRUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvciAgICAgICAgOiAnc2ktdG9vbHRpcC1jbXAnLFxuICB0ZW1wbGF0ZSAgICAgICAgOiBgXG4gICAgPGRpdiAqbmdJZj1cImxpZ2h0VGhlbWVcIiBjbGFzcz1cInNpLXRsLWFycm93XCI+PC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIndpdGhUZW1wbGF0ZSA/IHdpdGhUZW1wbGF0ZSA6IGRlZlRwbFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNkZWZUcGw+XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwidGV4dFwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIGFuaW1hdGlvbnMgICAgICA6IFtcbiAgICB0cmlnZ2VyKCd0b29sdGlwJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHkgOiAwIH0pLFxuICAgICAgICBhbmltYXRlKDE1MCwgc3R5bGUoeyBvcGFjaXR5IDogMSB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZSgxNTAsIHN0eWxlKHsgb3BhY2l0eSA6IDAgfSkpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG4gIHN0eWxlVXJscyAgICAgICA6IFsgJ25nLXRvb2x0aXAuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbiA6IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZ1Rvb2x0aXBDb21wb25lbnQge1xuICBASG9zdEJpbmRpbmcoJ0B0b29sdGlwJykgcmVhZG9ubHkgYW5pbWF0aW9ucyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaS10b29sdGlwJykgcmVhZG9ubHkgbWFpbkNsYXNzID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNpLXRsLWxpZ2h0JykgbGlnaHRUaGVtZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKSB3aXRoVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9ldGctcHVibGljL3NpbG1hci1uZy10b29sdGlwL3Byb2plY3RzL3NpbG1hci9uZy10b29sdGlwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uZy10b29sdGlwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBMkIxRSxNQUFNLE9BQU8sa0JBQWtCO0lBekIvQjtRQTBCb0MsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVWLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFFekIsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUt2RCxDQUFDOzs7WUFuQ0EsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBVSxnQkFBZ0I7Z0JBQ2xDLFFBQVEsRUFBVTs7Ozs7OztHQU9qQjtnQkFDRCxVQUFVLEVBQVE7b0JBQ2hCLE9BQU8sQ0FBQyxTQUFTLEVBQUU7d0JBQ2pCLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRyxDQUFDLEVBQUUsQ0FBQzs0QkFDdEIsT0FBTyxDQUFDLGtDQUFrQyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO3lCQUNwRSxDQUFDO3dCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7NEJBQ25CLE9BQU8sQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzt5QkFDcEUsQ0FBQztxQkFDSCxDQUFDO2lCQUNIO2dCQUVELGVBQWUsRUFBRyx1QkFBdUIsQ0FBQyxNQUFNO2dCQUNoRCxhQUFhLEVBQUssaUJBQWlCLENBQUMsSUFBSTs7YUFDekM7Ozt5QkFFRSxXQUFXLFNBQUMsVUFBVTt3QkFFdEIsV0FBVyxTQUFDLGtCQUFrQjt5QkFFOUIsV0FBVyxTQUFDLG1CQUFtQjttQkFFL0IsS0FBSzsyQkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvciAgICAgICAgOiAnc2ktdG9vbHRpcC1jbXAnLFxuICB0ZW1wbGF0ZSAgICAgICAgOiBgXG4gICAgPGRpdiAqbmdJZj1cImxpZ2h0VGhlbWVcIiBjbGFzcz1cInNpLXRsLWFycm93XCI+PC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIndpdGhUZW1wbGF0ZSA/IHdpdGhUZW1wbGF0ZSA6IGRlZlRwbFwiPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNkZWZUcGw+XG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwidGV4dFwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIGFuaW1hdGlvbnMgICAgICA6IFtcbiAgICB0cmlnZ2VyKCd0b29sdGlwJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHkgOiAwIH0pLFxuICAgICAgICBhbmltYXRlKCcxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScsIHN0eWxlKHsgb3BhY2l0eSA6IDEgfSkpLFxuICAgICAgXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXG4gICAgICAgIGFuaW1hdGUoJzEwMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpJywgc3R5bGUoeyBvcGFjaXR5IDogMCB9KSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbiAgc3R5bGVVcmxzICAgICAgIDogWyAnbmctdG9vbHRpcC5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uIDogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uICAgOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE5nVG9vbHRpcENvbXBvbmVudCB7XG4gIEBIb3N0QmluZGluZygnQHRvb2x0aXAnKSByZWFkb25seSBhbmltYXRpb25zID0gdHJ1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNpLXRvb2x0aXAnKSByZWFkb25seSBtYWluQ2xhc3MgPSB0cnVlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2ktdGwtbGlnaHQnKSBsaWdodFRoZW1lID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHdpdGhUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55Pjtcbn1cbiJdfQ== |
@@ -1,2 +0,2 @@ | ||
import { Directive, ElementRef, HostListener, Input } from '@angular/core'; | ||
import { Directive, ElementRef, Input } from '@angular/core'; | ||
import { Overlay, OverlayConfig } from '@angular/cdk/overlay'; | ||
@@ -7,6 +7,11 @@ import { ComponentPortal } from '@angular/cdk/portal'; | ||
import { ESCAPE } from '@angular/cdk/keycodes'; | ||
import { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform'; | ||
const passiveListenerOptions = normalizePassiveListenerOptions({ passive: true }); | ||
const TOUCH_SHOW_DELAY = 500; | ||
const TOUCH_HIDE_DELAY = 1500; | ||
export class NgTooltipDirective { | ||
constructor(overlay, elRef) { | ||
constructor(overlay, elRef, platform) { | ||
this.overlay = overlay; | ||
this.elRef = elRef; | ||
this.platform = platform; | ||
/** | ||
@@ -36,30 +41,71 @@ * Use simple text | ||
this.light = false; | ||
/** | ||
* Disable the tooltip | ||
*/ | ||
this.tooltipDisable = false; | ||
this.canClose = true; | ||
this.position = { | ||
left: [...POS_LEFT, ...POS_RIGHT, ...POS_TOP, ...POS_BOTTOM], | ||
right: [...POS_RIGHT, ...POS_LEFT, ...POS_TOP, ...POS_BOTTOM], | ||
top: [...POS_TOP, ...POS_BOTTOM, ...POS_RIGHT, ...POS_LEFT], | ||
bottom: [...POS_BOTTOM, ...POS_TOP, ...POS_RIGHT, ...POS_LEFT] | ||
left: [...POS_LEFT, ...POS_RIGHT], | ||
right: [...POS_RIGHT, ...POS_LEFT], | ||
top: [...POS_TOP, ...POS_BOTTOM], | ||
bottom: [...POS_BOTTOM, ...POS_TOP] | ||
}; | ||
this.listeners = []; | ||
} | ||
ngAfterViewInit() { | ||
this.listeners = []; | ||
if (!this.platform.IOS && !this.platform.ANDROID) { | ||
this.listeners.push(['click', () => this.show(true)]); | ||
this.listeners.push(['mouseenter', () => this.show()]); | ||
this.listeners.push(['mouseleave', () => this.close()]); | ||
} | ||
else { | ||
const touchendListener = () => setTimeout(() => this.close(), TOUCH_HIDE_DELAY) || clearTimeout(this.touchTimeout); | ||
this.listeners.push(['touchstart', () => this.touchTimeout = setTimeout(() => this.show(), TOUCH_SHOW_DELAY)]); | ||
this.listeners.push(['touchend', () => touchendListener]); | ||
this.listeners.push(['touchcancel', () => touchendListener]); | ||
} | ||
this.listeners.forEach(([event, listener]) => { | ||
this.elRef.nativeElement.addEventListener(event, listener, passiveListenerOptions); | ||
}); | ||
} | ||
ngOnChanges(changes) { | ||
if (this.positionStrategy) { | ||
var _a; | ||
if (this.overlayRef) { | ||
this.updateStrategy(); | ||
} | ||
if ((_a = changes.tooltipDisable) === null || _a === void 0 ? void 0 : _a.currentValue) { | ||
this.close(true); | ||
} | ||
} | ||
showSticky() { | ||
this.canClose = !this.sticky; | ||
if (!this.isOpen()) { | ||
ngOnDestroy() { | ||
this.close(true); | ||
this.subscrKeydown && this.subscrKeydown.unsubscribe(); | ||
this.subscrOutsied && this.subscrOutsied.unsubscribe(); | ||
this.overlayRef && this.overlayRef.dispose(); | ||
this.listeners.forEach(([event, listener]) => { | ||
this.elRef.nativeElement.removeEventListener(event, listener, passiveListenerOptions); | ||
}); | ||
this.listeners.length = 0; | ||
} | ||
/** | ||
* | ||
* @param clicked | ||
*/ | ||
show(clicked = false) { | ||
this.canClose = clicked ? !this.sticky : this.canClose; | ||
if (!this.isOpen() && (clicked || !this.clickable)) { | ||
this.open(); | ||
} | ||
} | ||
show() { | ||
if (!this.isOpen() && !this.clickable) { | ||
this.canClose = true; | ||
this.open(); | ||
/** | ||
* | ||
* @param force | ||
* @protected | ||
*/ | ||
close(force = false) { | ||
if ((this.canClose || force) && this.isOpen()) { | ||
this.overlayRef.detach(); | ||
} | ||
} | ||
hide() { | ||
this.close(); | ||
} | ||
/** | ||
@@ -70,4 +116,8 @@ * | ||
open() { | ||
if (this.tooltipDisable || this.isOpen() || (!this.text && !this.content)) { | ||
return; | ||
} | ||
this.createOverlay(); | ||
const ref = this.overlayRef.attach(new ComponentPortal(NgTooltipComponent)); | ||
this.portal = this.portal || new ComponentPortal(NgTooltipComponent); | ||
const ref = this.overlayRef.attach(this.portal); | ||
// Pass content to tooltip component instance | ||
@@ -81,26 +131,16 @@ if (this.content) { | ||
ref.instance.lightTheme = this.light; | ||
setTimeout(() => this.overlayRef.updatePosition(), 150); | ||
} | ||
/** | ||
* | ||
* @param force | ||
* @protected | ||
*/ | ||
close(force = false) { | ||
if ((this.canClose || force) && this.isOpen()) { | ||
this.overlayRef.detach(); | ||
} | ||
} | ||
/** | ||
* | ||
* @protected | ||
*/ | ||
createOverlay() { | ||
if (!this.overlayRef) { | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
positionStrategy: this.createPositionStrategy(), | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true, scrollThrottle: 10 }), | ||
maxWidth: this.maxWidth | ||
})); | ||
this.overlayRef.keydownEvents().subscribe((event) => { | ||
this.subscrKeydown = this.overlayRef.keydownEvents().subscribe((event) => { | ||
if (event.keyCode === ESCAPE) { | ||
@@ -111,3 +151,3 @@ event.preventDefault(); | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
this.subscrOutsied = this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
const target = event.target || event.relatedTarget; | ||
@@ -119,2 +159,3 @@ if (!target || (target !== this.elRef.nativeElement && !this.elRef.nativeElement.contains(target))) { | ||
} | ||
return this.overlayRef; | ||
} | ||
@@ -133,6 +174,9 @@ /** | ||
createPositionStrategy() { | ||
if (!this.positionStrategy) { | ||
this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elRef); | ||
this.updateStrategy(); | ||
} | ||
const positionStrategy = this.overlay.position() | ||
.flexibleConnectedTo(this.elRef) | ||
.withLockedPosition(true) | ||
.withFlexibleDimensions(false) | ||
.withViewportMargin(5); | ||
this.updateStrategy(positionStrategy); | ||
return positionStrategy; | ||
} | ||
@@ -143,9 +187,9 @@ /** | ||
*/ | ||
updateStrategy() { | ||
this.positionStrategy | ||
.withPositions(this.position[this.placement]) | ||
.withViewportMargin(5) | ||
.withFlexibleDimensions(false) | ||
.withLockedPosition(false) | ||
updateStrategy(strategy) { | ||
strategy = strategy ? strategy : this.overlayRef.getConfig().positionStrategy; | ||
strategy.withPositions(this.position[this.placement]) | ||
.withPush(this.push); | ||
if (this.overlayRef) { | ||
this.overlayRef.updatePositionStrategy(strategy); | ||
} | ||
} | ||
@@ -160,3 +204,4 @@ } | ||
{ type: Overlay }, | ||
{ type: ElementRef } | ||
{ type: ElementRef }, | ||
{ type: Platform } | ||
]; | ||
@@ -172,6 +217,4 @@ NgTooltipDirective.propDecorators = { | ||
light: [{ type: Input }], | ||
showSticky: [{ type: HostListener, args: ['click',] }], | ||
show: [{ type: HostListener, args: ['mouseenter',] }], | ||
hide: [{ type: HostListener, args: ['mouseout',] }] | ||
tooltipDisable: [{ type: Input }] | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9ldGctcHVibGljL3NpbG1hci1uZy10b29sdGlwL3Byb2plY3RzL3NpbG1hci9uZy10b29sdGlwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uZy10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBeUMsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUF3RCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDaEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSy9DLE1BQU0sT0FBTyxrQkFBa0I7SUFzRDdCLFlBQXNCLE9BQWdCLEVBQVksS0FBaUI7UUFBN0MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFZLFVBQUssR0FBTCxLQUFLLENBQVk7UUFyRG5FOztXQUVHO1FBQ2lCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFZOUI7O1dBRUc7UUFDTSxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRXJCOztXQUVHO1FBQ00sY0FBUyxHQUF3QyxLQUFLLENBQUM7UUFFaEU7O1dBRUc7UUFDTSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXhCOztXQUVHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQjs7V0FFRztRQUNNLFVBQUssR0FBRyxLQUFLLENBQUM7UUFJYixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGFBQVEsR0FBNkM7WUFDN0Qs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LGtCQUFrQixDQUFDLENBQUMsQ0FBQzthQUNyQixzQkFBc0IsQ0FBQyxLQUFLLENBQUM7YUFDN0Isa0JBQWtCLENBQUMsS0FBSyxDQUFDO2FBQ3pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7O1lBcExGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUcsYUFBYTthQUN6Qjs7O1lBUjhELE9BQU87WUFEcEMsVUFBVTs7O21CQWN6QyxLQUFLLFNBQUMsV0FBVztzQkFLakIsS0FBSzt1QkFLTCxLQUFLO21CQUtMLEtBQUs7d0JBS0wsS0FBSztxQkFLTCxLQUFLO3dCQUtMLEtBQUs7b0JBS0wsS0FBSzt5QkF1QkwsWUFBWSxTQUFDLE9BQU87bUJBU3BCLFlBQVksU0FBQyxZQUFZO21CQVF6QixZQUFZLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL25nLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBPU19CT1RUT00sIFBPU19MRUZULCBQT1NfUklHSFQsIFBPU19UT1AgfSBmcm9tICcuL21pc2MnO1xuaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yIDogJ1tzaVRvb2x0aXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ1Rvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvKipcbiAgICogVXNlIHNpbXBsZSB0ZXh0XG4gICAqL1xuICBASW5wdXQoJ3NpVG9vbHRpcCcpIHRleHQgPSAnJztcblxuICAvKipcbiAgICogUGFzcyB0ZW1wbGF0ZSBpbnN0ZWFkIG9mIHNpbXBsZSB0ZXh0IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgY29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogTWF4aW11bSB3aWR0aCBvZiB0b29sdGlwXG4gICAqL1xuICBASW5wdXQoKSBtYXhXaWR0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgdG9vbHRpcCBjYW5ub3QgYmUgcGxhY2VkIGluc2lkZSB0aGUgdmlld3BvcnQgdHJ5IHRvIHB1c2ggaXQgKHRoaXMgY2FuIHBsYWNlIHRoZSB0b29sdGlwIG92ZXIgdGhlIGF0dGFjaGVkIGVsZW1lbnQpXG4gICAqL1xuICBASW5wdXQoKSBwdXNoID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2hhbmdlIHRoZSB0b29sdGlwIHBsYWNlbWVudFxuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiAnbGVmdCcgfCAndG9wJyB8ICdyaWdodCcgfCAnYm90dG9tJyA9ICd0b3AnO1xuXG4gIC8qKlxuICAgKiBLZWVwIHRoZSB0b29sdGlwIG9wZW4gb24gbW91c2UgbGVhdmVcbiAgICovXG4gIEBJbnB1dCgpIHN0aWNreSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBPcGVuIG9ubHkgb24gY2xpY2tcbiAgICovXG4gIEBJbnB1dCgpIGNsaWNrYWJsZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVc2UgbGlnaHQgdGhlbWVcbiAgICovXG4gIEBJbnB1dCgpIGxpZ2h0ID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgcHJvdGVjdGVkIGNhbkNsb3NlID0gdHJ1ZTtcblxuICBwcm90ZWN0ZWQgcG9zaXRpb246IHsgWyBrZXk6IHN0cmluZyBdOiBDb25uZWN0ZWRQb3NpdGlvbltdIH0gPSB7XG4gICAgbGVmdCAgIDogWyAuLi5QT1NfTEVGVCwgLi4uUE9TX1JJR0hULCAuLi5QT1NfVE9QLCAuLi5QT1NfQk9UVE9NIF0sXG4gICAgcmlnaHQgIDogWyAuLi5QT1NfUklHSFQsIC4uLlBPU19MRUZULCAuLi5QT1NfVE9QLCAuLi5QT1NfQk9UVE9NIF0sXG4gICAgdG9wICAgIDogWyAuLi5QT1NfVE9QLCAuLi5QT1NfQk9UVE9NLCAuLi5QT1NfUklHSFQsIC4uLlBPU19MRUZUIF0sXG4gICAgYm90dG9tIDogWyAuLi5QT1NfQk9UVE9NLCAuLi5QT1NfVE9QLCAuLi5QT1NfUklHSFQsIC4uLlBPU19MRUZUIF1cbiAgfTtcblxuICBwcm90ZWN0ZWQgcG9zaXRpb25TdHJhdGVneTogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBvdmVybGF5OiBPdmVybGF5LCBwcm90ZWN0ZWQgZWxSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLnBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgIHRoaXMudXBkYXRlU3RyYXRlZ3koKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHNob3dTdGlja3koKSB7XG4gICAgdGhpcy5jYW5DbG9zZSA9ICF0aGlzLnN0aWNreTtcblxuICAgIGlmICghdGhpcy5pc09wZW4oKSkge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIHNob3coKSB7XG4gICAgaWYgKCF0aGlzLmlzT3BlbigpICYmICF0aGlzLmNsaWNrYWJsZSkge1xuICAgICAgdGhpcy5jYW5DbG9zZSA9IHRydWU7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZW91dCcpXG4gIGhpZGUoKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBvcGVuKCkge1xuICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuXG4gICAgY29uc3QgcmVmOiBDb21wb25lbnRSZWY8TmdUb29sdGlwQ29tcG9uZW50PiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICBuZXcgQ29tcG9uZW50UG9ydGFsKE5nVG9vbHRpcENvbXBvbmVudClcbiAgICApO1xuXG4gICAgLy8gUGFzcyBjb250ZW50IHRvIHRvb2x0aXAgY29tcG9uZW50IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgcmVmLmluc3RhbmNlLndpdGhUZW1wbGF0ZSA9IHRoaXMuY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVmLmluc3RhbmNlLnRleHQgPSB0aGlzLnRleHQ7XG4gICAgfVxuXG4gICAgcmVmLmluc3RhbmNlLmxpZ2h0VGhlbWUgPSB0aGlzLmxpZ2h0O1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBmb3JjZVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgY2xvc2UoZm9yY2UgPSBmYWxzZSkge1xuICAgIGlmICgodGhpcy5jYW5DbG9zZSB8fCBmb3JjZSkgJiYgdGhpcy5pc09wZW4oKSkge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlT3ZlcmxheSgpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCk7XG5cbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUobmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5IDogdGhpcy5wb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgICBzY3JvbGxTdHJhdGVneSAgIDogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbih7IGF1dG9DbG9zZSA6IHRydWUsIHNjcm9sbFRocm90dGxlIDogMTAgfSksXG4gICAgICAgIG1heFdpZHRoICAgICAgICAgOiB0aGlzLm1heFdpZHRoXG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMub3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG5cbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgKHRhcmdldCAhPT0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50ICYmICF0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGlzT3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmICYmIHRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkge1xuICAgIGlmICghdGhpcy5wb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxSZWYpO1xuXG4gICAgICB0aGlzLnVwZGF0ZVN0cmF0ZWd5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVTdHJhdGVneSgpIHtcbiAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lcbiAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMucG9zaXRpb25bIHRoaXMucGxhY2VtZW50IF0pXG4gICAgICAud2l0aFZpZXdwb3J0TWFyZ2luKDUpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oZmFsc2UpXG4gICAgICAud2l0aFB1c2godGhpcy5wdXNoKTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9ldGctcHVibGljL3NpbG1hci1uZy10b29sdGlwL3Byb2plY3RzL3NpbG1hci9uZy10b29sdGlwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uZy10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQXdELE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxGLE1BQU0sc0JBQXNCLEdBQUcsK0JBQStCLENBQUMsRUFBRSxPQUFPLEVBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNuRixNQUFNLGdCQUFnQixHQUFTLEdBQUcsQ0FBQztBQUNuQyxNQUFNLGdCQUFnQixHQUFTLElBQUksQ0FBQztBQUtwQyxNQUFNLE9BQU8sa0JBQWtCO0lBbUU3QixZQUFzQixPQUFnQixFQUFZLEtBQWlCLEVBQVksUUFBa0I7UUFBM0UsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFZLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBWSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBbEVqRzs7V0FFRztRQUNpQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBWTlCOztXQUVHO1FBQ00s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QkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTthQUM3QyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQy9CLGtCQUFrQixDQUFDLElBQUksQ0FBQzthQUN4QixzQkFBc0IsQ0FBQyxLQUFLLENBQUM7YUFDN0Isa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRDLE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGNBQWMsQ0FBQyxRQUE0QztRQUNuRSxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsZ0JBQXNELENBQUM7UUFFckgsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFFLElBQUksQ0FBQyxTQUFTLENBQUUsQ0FBQzthQUNwRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXZCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQzs7O1lBdk9GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUcsYUFBYTthQUN6Qjs7O1lBZDhELE9BQU87WUFEbkMsVUFBVTtZQU9ILFFBQVE7OzttQkFhL0MsS0FBSyxTQUFDLFdBQVc7c0JBS2pCLEtBQUs7dUJBS0wsS0FBSzttQkFLTCxLQUFLO3dCQUtMLEtBQUs7cUJBS0wsS0FBSzt3QkFLTCxLQUFLO29CQUtMLEtBQUs7NkJBS0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTmdUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9uZy10b29sdGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQT1NfQk9UVE9NLCBQT1NfTEVGVCwgUE9TX1JJR0hULCBQT1NfVE9QIH0gZnJvbSAnLi9taXNjJztcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG5vcm1hbGl6ZVBhc3NpdmVMaXN0ZW5lck9wdGlvbnMsIFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcblxuY29uc3QgcGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyA9IG5vcm1hbGl6ZVBhc3NpdmVMaXN0ZW5lck9wdGlvbnMoeyBwYXNzaXZlIDogdHJ1ZSB9KTtcbmNvbnN0IFRPVUNIX1NIT1dfREVMQVkgICAgICAgPSA1MDA7XG5jb25zdCBUT1VDSF9ISURFX0RFTEFZICAgICAgID0gMTUwMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yIDogJ1tzaVRvb2x0aXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ1Rvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKlxuICAgKiBVc2Ugc2ltcGxlIHRleHRcbiAgICovXG4gIEBJbnB1dCgnc2lUb29sdGlwJykgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBQYXNzIHRlbXBsYXRlIGluc3RlYWQgb2Ygc2ltcGxlIHRleHQgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIHdpZHRoIG9mIHRvb2x0aXBcbiAgICovXG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIElmIHRoZSB0b29sdGlwIGNhbm5vdCBiZSBwbGFjZWQgaW5zaWRlIHRoZSB2aWV3cG9ydCB0cnkgdG8gcHVzaCBpdCAodGhpcyBjYW4gcGxhY2UgdGhlIHRvb2x0aXAgb3ZlciB0aGUgYXR0YWNoZWQgZWxlbWVudClcbiAgICovXG4gIEBJbnB1dCgpIHB1c2ggPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDaGFuZ2UgdGhlIHRvb2x0aXAgcGxhY2VtZW50XG4gICAqL1xuICBASW5wdXQoKSBwbGFjZW1lbnQ6ICdsZWZ0JyB8ICd0b3AnIHwgJ3JpZ2h0JyB8ICdib3R0b20nID0gJ3RvcCc7XG5cbiAgLyoqXG4gICAqIEtlZXAgdGhlIHRvb2x0aXAgb3BlbiBvbiBtb3VzZSBsZWF2ZVxuICAgKi9cbiAgQElucHV0KCkgc3RpY2t5ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIE9wZW4gb25seSBvbiBjbGlja1xuICAgKi9cbiAgQElucHV0KCkgY2xpY2thYmxlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFVzZSBsaWdodCB0aGVtZVxuICAgKi9cbiAgQElucHV0KCkgbGlnaHQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGlzYWJsZSB0aGUgdG9vbHRpcFxuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcERpc2FibGUgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcblxuICBwcm90ZWN0ZWQgY2FuQ2xvc2UgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBwb3NpdGlvbjogeyBbIGtleTogc3RyaW5nIF06IENvbm5lY3RlZFBvc2l0aW9uW10gfSA9IHtcbiAgICBsZWZ0ICAgOiBbIC4uLlBPU19MRUZULCAuLi5QT1NfUklHSFQgXSxcbiAgICByaWdodCAgOiBbIC4uLlBPU19SSUdIVCwgLi4uUE9TX0xFRlQgXSxcbiAgICB0b3AgICAgOiBbIC4uLlBPU19UT1AsIC4uLlBPU19CT1RUT00gXSxcbiAgICBib3R0b20gOiBbIC4uLlBPU19CT1RUT00sIC4uLlBPU19UT1AgXVxuICB9O1xuXG4gIHByb3RlY3RlZCBzdWJzY3JPdXRzaWVkOiBTdWJzY3JpcHRpb247XG5cbiAgcHJvdGVjdGVkIHN1YnNjcktleWRvd246IFN1YnNjcmlwdGlvbjtcblxuICBwcm90ZWN0ZWQgcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8TmdUb29sdGlwQ29tcG9uZW50PjtcblxuICBwcm90ZWN0ZWQgdG91Y2hUaW1lb3V0OiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIGxpc3RlbmVyczogKHJlYWRvbmx5IFsgc3RyaW5nLCBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0IF0pW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcmxheTogT3ZlcmxheSwgcHJvdGVjdGVkIGVsUmVmOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgcGxhdGZvcm06IFBsYXRmb3JtKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmxpc3RlbmVycyA9IFtdO1xuXG4gICAgaWYgKCF0aGlzLnBsYXRmb3JtLklPUyAmJiAhdGhpcy5wbGF0Zm9ybS5BTkRST0lEKSB7XG4gICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKFsgJ2NsaWNrJywgKCkgPT4gdGhpcy5zaG93KHRydWUpIF0pO1xuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaChbICdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5zaG93KCkgXSk7XG4gICAgICB0aGlzLmxpc3RlbmVycy5wdXNoKFsgJ21vdXNlbGVhdmUnLCAoKSA9PiB0aGlzLmNsb3NlKCkgXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHRvdWNoZW5kTGlzdGVuZXIgPSAoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgVE9VQ0hfSElERV9ERUxBWSkgfHwgY2xlYXJUaW1lb3V0KHRoaXMudG91Y2hUaW1lb3V0KTtcblxuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaChbICd0b3VjaHN0YXJ0JywgKCkgPT4gdGhpcy50b3VjaFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2hvdygpLCBUT1VDSF9TSE9XX0RFTEFZKSBdKTtcbiAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2goWyAndG91Y2hlbmQnLCAoKSA9PiB0b3VjaGVuZExpc3RlbmVyIF0pO1xuICAgICAgdGhpcy5saXN0ZW5lcnMucHVzaChbICd0b3VjaGNhbmNlbCcsICgpID0+IHRvdWNoZW5kTGlzdGVuZXIgXSk7XG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5lcnMuZm9yRWFjaCgoWyBldmVudCwgbGlzdGVuZXIgXSkgPT4ge1xuICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGxpc3RlbmVyLCBwYXNzaXZlTGlzdGVuZXJPcHRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLnVwZGF0ZVN0cmF0ZWd5KCk7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMudG9vbHRpcERpc2FibGU/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5jbG9zZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNsb3NlKHRydWUpO1xuXG4gICAgdGhpcy5zdWJzY3JLZXlkb3duICYmIHRoaXMuc3Vic2NyS2V5ZG93bi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc3Vic2NyT3V0c2llZCAmJiB0aGlzLnN1YnNjck91dHNpZWQudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcblxuICAgIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKFsgZXZlbnQsIGxpc3RlbmVyIF0pID0+IHtcbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lciwgcGFzc2l2ZUxpc3RlbmVyT3B0aW9ucyk7XG4gICAgfSk7XG4gICAgdGhpcy5saXN0ZW5lcnMubGVuZ3RoID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gY2xpY2tlZFxuICAgKi9cbiAgc2hvdyhjbGlja2VkID0gZmFsc2UpIHtcbiAgICB0aGlzLmNhbkNsb3NlID0gY2xpY2tlZCA/ICF0aGlzLnN0aWNreSA6IHRoaXMuY2FuQ2xvc2U7XG5cbiAgICBpZiAoIXRoaXMuaXNPcGVuKCkgJiYgKGNsaWNrZWQgfHwgIXRoaXMuY2xpY2thYmxlKSkge1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBmb3JjZVxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBjbG9zZShmb3JjZSA9IGZhbHNlKSB7XG4gICAgaWYgKCh0aGlzLmNhbkNsb3NlIHx8IGZvcmNlKSAmJiB0aGlzLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBvcGVuKCkge1xuICAgIGlmICh0aGlzLnRvb2x0aXBEaXNhYmxlIHx8IHRoaXMuaXNPcGVuKCkgfHwgKCF0aGlzLnRleHQgJiYgIXRoaXMuY29udGVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcblxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWwgfHwgbmV3IENvbXBvbmVudFBvcnRhbChOZ1Rvb2x0aXBDb21wb25lbnQpO1xuICAgIGNvbnN0IHJlZiAgID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaCh0aGlzLnBvcnRhbCk7XG5cbiAgICAvLyBQYXNzIGNvbnRlbnQgdG8gdG9vbHRpcCBjb21wb25lbnQgaW5zdGFuY2VcbiAgICBpZiAodGhpcy5jb250ZW50KSB7XG4gICAgICByZWYuaW5zdGFuY2Uud2l0aFRlbXBsYXRlID0gdGhpcy5jb250ZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICByZWYuaW5zdGFuY2UudGV4dCA9IHRoaXMudGV4dDtcbiAgICB9XG5cbiAgICByZWYuaW5zdGFuY2UubGlnaHRUaGVtZSA9IHRoaXMubGlnaHQ7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpLCAxNTApO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVPdmVybGF5KCk6IE92ZXJsYXlSZWYge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgcG9zaXRpb25TdHJhdGVneSA6IHRoaXMuY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpLFxuICAgICAgICBzY3JvbGxTdHJhdGVneSAgIDogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbih7IGF1dG9DbG9zZSA6IHRydWUsIHNjcm9sbFRocm90dGxlIDogMTAgfSksXG4gICAgICAgIG1heFdpZHRoICAgICAgICAgOiB0aGlzLm1heFdpZHRoXG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMuc3Vic2NyS2V5ZG93biA9IHRoaXMub3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3Vic2NyT3V0c2llZCA9IHRoaXMub3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG5cbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgKHRhcmdldCAhPT0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50ICYmICF0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc09wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZiAmJiB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbFJlZilcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24odHJ1ZSlcbiAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgLndpdGhWaWV3cG9ydE1hcmdpbig1KTtcblxuICAgIHRoaXMudXBkYXRlU3RyYXRlZ3kocG9zaXRpb25TdHJhdGVneSk7XG5cbiAgICByZXR1cm4gcG9zaXRpb25TdHJhdGVneTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgdXBkYXRlU3RyYXRlZ3koc3RyYXRlZ3k/OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICBzdHJhdGVneSA9IHN0cmF0ZWd5ID8gc3RyYXRlZ3kgOiAodGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5KTtcblxuICAgIHN0cmF0ZWd5LndpdGhQb3NpdGlvbnModGhpcy5wb3NpdGlvblsgdGhpcy5wbGFjZW1lbnQgXSlcbiAgICAgIC53aXRoUHVzaCh0aGlzLnB1c2gpO1xuXG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3koc3RyYXRlZ3kpO1xuICAgIH1cbiAgfVxufVxuIl19 |
@@ -1,2 +0,2 @@ | ||
import { Component, ChangeDetectionStrategy, HostBinding, Input, Directive, ElementRef, HostListener, NgModule } from '@angular/core'; | ||
import { Component, ChangeDetectionStrategy, ViewEncapsulation, HostBinding, Input, Directive, ElementRef, NgModule } from '@angular/core'; | ||
import { OverlayConfig, Overlay, OverlayModule } from '@angular/cdk/overlay'; | ||
@@ -6,2 +6,3 @@ import { ComponentPortal } from '@angular/cdk/portal'; | ||
import { ESCAPE } from '@angular/cdk/keycodes'; | ||
import { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform'; | ||
import { CommonModule } from '@angular/common'; | ||
@@ -31,6 +32,6 @@ | ||
style({ opacity: 0 }), | ||
animate(150, style({ opacity: 1 })), | ||
animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 1 })), | ||
]), | ||
transition(':leave', [ | ||
animate(150, style({ opacity: 0 })), | ||
animate('100ms cubic-bezier(0, 0, 0.2, 1)', style({ opacity: 0 })), | ||
]), | ||
@@ -40,3 +41,4 @@ ]), | ||
changeDetection: ChangeDetectionStrategy.OnPush, | ||
styles: [":host{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;display:block;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip:not(.si-tl-light) *{color:#fff!important}::ng-deep .si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}::ng-deep .si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}::ng-deep .si-bottom .si-tl-light .si-tl-arrow,::ng-deep .si-top .si-tl-light .si-tl-arrow{left:50%}::ng-deep .si-left .si-tl-light .si-tl-arrow,::ng-deep .si-right .si-tl-light .si-tl-arrow{top:50%}::ng-deep .si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}::ng-deep .si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}::ng-deep .si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}::ng-deep .si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}::ng-deep .si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}::ng-deep .si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}:host.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}:host.si-tl-light *{color:#111!important}:host.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}:host.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}"] | ||
encapsulation: ViewEncapsulation.None, | ||
styles: [".si-tooltip{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);display:block;font-size:.9em;padding:.4rem .7rem}.si-tooltip:not(.si-tl-light){background-color:#393939;color:#fff}.si-tooltip:not(.si-tl-light) *{color:#fff!important}.si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}.si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}.si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}.si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}.si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}.si-tl-light *{color:#111!important}.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}.si-bottom .si-tl-light .si-tl-arrow,.si-top .si-tl-light .si-tl-arrow{left:50%}.si-left .si-tl-light .si-tl-arrow,.si-right .si-tl-light .si-tl-arrow{top:50%}.si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}.si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}.si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}.si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}.si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}.si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}.si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}.si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}"] | ||
},] } | ||
@@ -58,31 +60,21 @@ ]; | ||
{ originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP }, | ||
{ originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP }, | ||
{ originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', offsetY: -7, panelClass: CSS_TOP } | ||
]; | ||
const POS_BOTTOM = [ | ||
{ originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM }, | ||
{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM }, | ||
{ originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top', offsetY: 6, panelClass: CSS_BOTTOM } | ||
]; | ||
const POS_LEFT = [{ | ||
originX: 'start', | ||
originY: 'center', | ||
overlayX: 'end', | ||
overlayY: 'center', | ||
offsetX: -7, | ||
panelClass: CSS_LEFT | ||
}]; | ||
const POS_RIGHT = [{ | ||
originX: 'end', | ||
originY: 'center', | ||
overlayX: 'start', | ||
overlayY: 'center', | ||
offsetX: 6, | ||
panelClass: CSS_RIGHT | ||
}]; | ||
const POS_LEFT = [ | ||
{ originX: 'start', originY: 'center', overlayX: 'end', overlayY: 'center', offsetX: -7, panelClass: CSS_LEFT } | ||
]; | ||
const POS_RIGHT = [ | ||
{ originX: 'end', originY: 'center', overlayX: 'start', overlayY: 'center', offsetX: 6, panelClass: CSS_RIGHT } | ||
]; | ||
const passiveListenerOptions = normalizePassiveListenerOptions({ passive: true }); | ||
const TOUCH_SHOW_DELAY = 500; | ||
const TOUCH_HIDE_DELAY = 1500; | ||
class NgTooltipDirective { | ||
constructor(overlay, elRef) { | ||
constructor(overlay, elRef, platform) { | ||
this.overlay = overlay; | ||
this.elRef = elRef; | ||
this.platform = platform; | ||
/** | ||
@@ -112,30 +104,71 @@ * Use simple text | ||
this.light = false; | ||
/** | ||
* Disable the tooltip | ||
*/ | ||
this.tooltipDisable = false; | ||
this.canClose = true; | ||
this.position = { | ||
left: [...POS_LEFT, ...POS_RIGHT, ...POS_TOP, ...POS_BOTTOM], | ||
right: [...POS_RIGHT, ...POS_LEFT, ...POS_TOP, ...POS_BOTTOM], | ||
top: [...POS_TOP, ...POS_BOTTOM, ...POS_RIGHT, ...POS_LEFT], | ||
bottom: [...POS_BOTTOM, ...POS_TOP, ...POS_RIGHT, ...POS_LEFT] | ||
left: [...POS_LEFT, ...POS_RIGHT], | ||
right: [...POS_RIGHT, ...POS_LEFT], | ||
top: [...POS_TOP, ...POS_BOTTOM], | ||
bottom: [...POS_BOTTOM, ...POS_TOP] | ||
}; | ||
this.listeners = []; | ||
} | ||
ngAfterViewInit() { | ||
this.listeners = []; | ||
if (!this.platform.IOS && !this.platform.ANDROID) { | ||
this.listeners.push(['click', () => this.show(true)]); | ||
this.listeners.push(['mouseenter', () => this.show()]); | ||
this.listeners.push(['mouseleave', () => this.close()]); | ||
} | ||
else { | ||
const touchendListener = () => setTimeout(() => this.close(), TOUCH_HIDE_DELAY) || clearTimeout(this.touchTimeout); | ||
this.listeners.push(['touchstart', () => this.touchTimeout = setTimeout(() => this.show(), TOUCH_SHOW_DELAY)]); | ||
this.listeners.push(['touchend', () => touchendListener]); | ||
this.listeners.push(['touchcancel', () => touchendListener]); | ||
} | ||
this.listeners.forEach(([event, listener]) => { | ||
this.elRef.nativeElement.addEventListener(event, listener, passiveListenerOptions); | ||
}); | ||
} | ||
ngOnChanges(changes) { | ||
if (this.positionStrategy) { | ||
var _a; | ||
if (this.overlayRef) { | ||
this.updateStrategy(); | ||
} | ||
if ((_a = changes.tooltipDisable) === null || _a === void 0 ? void 0 : _a.currentValue) { | ||
this.close(true); | ||
} | ||
} | ||
showSticky() { | ||
this.canClose = !this.sticky; | ||
if (!this.isOpen()) { | ||
ngOnDestroy() { | ||
this.close(true); | ||
this.subscrKeydown && this.subscrKeydown.unsubscribe(); | ||
this.subscrOutsied && this.subscrOutsied.unsubscribe(); | ||
this.overlayRef && this.overlayRef.dispose(); | ||
this.listeners.forEach(([event, listener]) => { | ||
this.elRef.nativeElement.removeEventListener(event, listener, passiveListenerOptions); | ||
}); | ||
this.listeners.length = 0; | ||
} | ||
/** | ||
* | ||
* @param clicked | ||
*/ | ||
show(clicked = false) { | ||
this.canClose = clicked ? !this.sticky : this.canClose; | ||
if (!this.isOpen() && (clicked || !this.clickable)) { | ||
this.open(); | ||
} | ||
} | ||
show() { | ||
if (!this.isOpen() && !this.clickable) { | ||
this.canClose = true; | ||
this.open(); | ||
/** | ||
* | ||
* @param force | ||
* @protected | ||
*/ | ||
close(force = false) { | ||
if ((this.canClose || force) && this.isOpen()) { | ||
this.overlayRef.detach(); | ||
} | ||
} | ||
hide() { | ||
this.close(); | ||
} | ||
/** | ||
@@ -146,4 +179,8 @@ * | ||
open() { | ||
if (this.tooltipDisable || this.isOpen() || (!this.text && !this.content)) { | ||
return; | ||
} | ||
this.createOverlay(); | ||
const ref = this.overlayRef.attach(new ComponentPortal(NgTooltipComponent)); | ||
this.portal = this.portal || new ComponentPortal(NgTooltipComponent); | ||
const ref = this.overlayRef.attach(this.portal); | ||
// Pass content to tooltip component instance | ||
@@ -157,26 +194,16 @@ if (this.content) { | ||
ref.instance.lightTheme = this.light; | ||
setTimeout(() => this.overlayRef.updatePosition(), 150); | ||
} | ||
/** | ||
* | ||
* @param force | ||
* @protected | ||
*/ | ||
close(force = false) { | ||
if ((this.canClose || force) && this.isOpen()) { | ||
this.overlayRef.detach(); | ||
} | ||
} | ||
/** | ||
* | ||
* @protected | ||
*/ | ||
createOverlay() { | ||
if (!this.overlayRef) { | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
positionStrategy: this.createPositionStrategy(), | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true, scrollThrottle: 10 }), | ||
maxWidth: this.maxWidth | ||
})); | ||
this.overlayRef.keydownEvents().subscribe((event) => { | ||
this.subscrKeydown = this.overlayRef.keydownEvents().subscribe((event) => { | ||
if (event.keyCode === ESCAPE) { | ||
@@ -187,3 +214,3 @@ event.preventDefault(); | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
this.subscrOutsied = this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
const target = event.target || event.relatedTarget; | ||
@@ -195,2 +222,3 @@ if (!target || (target !== this.elRef.nativeElement && !this.elRef.nativeElement.contains(target))) { | ||
} | ||
return this.overlayRef; | ||
} | ||
@@ -209,6 +237,9 @@ /** | ||
createPositionStrategy() { | ||
if (!this.positionStrategy) { | ||
this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elRef); | ||
this.updateStrategy(); | ||
} | ||
const positionStrategy = this.overlay.position() | ||
.flexibleConnectedTo(this.elRef) | ||
.withLockedPosition(true) | ||
.withFlexibleDimensions(false) | ||
.withViewportMargin(5); | ||
this.updateStrategy(positionStrategy); | ||
return positionStrategy; | ||
} | ||
@@ -219,9 +250,9 @@ /** | ||
*/ | ||
updateStrategy() { | ||
this.positionStrategy | ||
.withPositions(this.position[this.placement]) | ||
.withViewportMargin(5) | ||
.withFlexibleDimensions(false) | ||
.withLockedPosition(false) | ||
updateStrategy(strategy) { | ||
strategy = strategy ? strategy : this.overlayRef.getConfig().positionStrategy; | ||
strategy.withPositions(this.position[this.placement]) | ||
.withPush(this.push); | ||
if (this.overlayRef) { | ||
this.overlayRef.updatePositionStrategy(strategy); | ||
} | ||
} | ||
@@ -236,3 +267,4 @@ } | ||
{ type: Overlay }, | ||
{ type: ElementRef } | ||
{ type: ElementRef }, | ||
{ type: Platform } | ||
]; | ||
@@ -248,5 +280,3 @@ NgTooltipDirective.propDecorators = { | ||
light: [{ type: Input }], | ||
showSticky: [{ type: HostListener, args: ['click',] }], | ||
show: [{ type: HostListener, args: ['mouseenter',] }], | ||
hide: [{ type: HostListener, args: ['mouseout',] }] | ||
tooltipDisable: [{ type: Input }] | ||
}; | ||
@@ -253,0 +283,0 @@ |
@@ -1,6 +0,11 @@ | ||
import { ElementRef, OnChanges, SimpleChanges, TemplateRef } from '@angular/core'; | ||
import { AfterViewInit, ElementRef, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core'; | ||
import { ConnectedPosition, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay'; | ||
export declare class NgTooltipDirective implements OnChanges { | ||
import { ComponentPortal } from '@angular/cdk/portal'; | ||
import { NgTooltipComponent } from './ng-tooltip.component'; | ||
import { Subscription } from 'rxjs'; | ||
import { Platform } from '@angular/cdk/platform'; | ||
export declare class NgTooltipDirective implements OnChanges, OnDestroy, AfterViewInit { | ||
protected overlay: Overlay; | ||
protected elRef: ElementRef; | ||
protected platform: Platform; | ||
/** | ||
@@ -38,2 +43,6 @@ * Use simple text | ||
light: boolean; | ||
/** | ||
* Disable the tooltip | ||
*/ | ||
tooltipDisable: boolean; | ||
protected overlayRef: OverlayRef; | ||
@@ -44,13 +53,16 @@ protected canClose: boolean; | ||
}; | ||
protected positionStrategy: FlexibleConnectedPositionStrategy; | ||
constructor(overlay: Overlay, elRef: ElementRef); | ||
protected subscrOutsied: Subscription; | ||
protected subscrKeydown: Subscription; | ||
protected portal: ComponentPortal<NgTooltipComponent>; | ||
protected touchTimeout: number; | ||
protected listeners: (readonly [string, EventListenerOrEventListenerObject])[]; | ||
constructor(overlay: Overlay, elRef: ElementRef, platform: Platform); | ||
ngAfterViewInit(): void; | ||
ngOnChanges(changes: SimpleChanges): void; | ||
showSticky(): void; | ||
show(): void; | ||
hide(): void; | ||
ngOnDestroy(): void; | ||
/** | ||
* | ||
* @protected | ||
* @param clicked | ||
*/ | ||
protected open(): void; | ||
show(clicked?: boolean): void; | ||
/** | ||
@@ -61,3 +73,3 @@ * | ||
*/ | ||
protected close(force?: boolean): void; | ||
close(force?: boolean): void; | ||
/** | ||
@@ -67,3 +79,3 @@ * | ||
*/ | ||
protected createOverlay(): void; | ||
protected open(): void; | ||
/** | ||
@@ -73,2 +85,7 @@ * | ||
*/ | ||
protected createOverlay(): OverlayRef; | ||
/** | ||
* | ||
* @protected | ||
*/ | ||
protected isOpen(): boolean; | ||
@@ -79,3 +96,3 @@ /** | ||
*/ | ||
protected createPositionStrategy(): void; | ||
protected createPositionStrategy(): FlexibleConnectedPositionStrategy; | ||
/** | ||
@@ -85,3 +102,3 @@ * | ||
*/ | ||
protected updateStrategy(): void; | ||
protected updateStrategy(strategy?: FlexibleConnectedPositionStrategy): void; | ||
} |
{ | ||
"name": "@silmar/ng-tooltip", | ||
"version": "1.0.4", | ||
"version": "1.0.5", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"NgTooltipDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[siTooltip]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3},"arguments":["siTooltip"]}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"push":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"sticky":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"clickable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"light":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"Overlay","line":64,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":64,"character":59}]}],"ngOnChanges":[{"__symbolic":"method"}],"showSticky":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":72,"character":3},"arguments":["click"]}]}],"show":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":81,"character":3},"arguments":["mouseenter"]}]}],"hide":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":89,"character":3},"arguments":["mouseout"]}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"createOverlay":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"createPositionStrategy":[{"__symbolic":"method"}],"updateStrategy":[{"__symbolic":"method"}]}},"NgTooltipComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"si-tooltip-cmp","template":"\n <div *ngIf=\"lightTheme\" class=\"si-tl-arrow\"></div>\n <ng-container *ngTemplateOutlet=\"withTemplate ? withTemplate : defTpl\"></ng-container>\n\n <ng-template #defTpl>\n <div [innerHTML]=\"text\"></div>\n </ng-template>\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":14,"character":4},"arguments":["tooltip",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":15,"character":6},"arguments":[":enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":16,"character":8},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":17,"character":8},"arguments":[150,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":17,"character":21},"arguments":[{"opacity":1}]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":19,"character":6},"arguments":[":leave",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":20,"character":8},"arguments":[150,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":20,"character":21},"arguments":[{"opacity":0}]}]}]]}]]}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":25,"character":20},"member":"OnPush"},"styles":[":host{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;display:block;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip:not(.si-tl-light) *{color:#fff!important}::ng-deep .si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}::ng-deep .si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}::ng-deep .si-bottom .si-tl-light .si-tl-arrow,::ng-deep .si-top .si-tl-light .si-tl-arrow{left:50%}::ng-deep .si-left .si-tl-light .si-tl-arrow,::ng-deep .si-right .si-tl-light .si-tl-arrow{top:50%}::ng-deep .si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}::ng-deep .si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}::ng-deep .si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}::ng-deep .si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}::ng-deep .si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}::ng-deep .si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}::ng-deep .si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}:host.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}:host.si-tl-light *{color:#111!important}:host.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}:host.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}"]}]}],"members":{"animations":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":28,"character":3},"arguments":["@tooltip"]}]}],"mainClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":30,"character":3},"arguments":["class.si-tooltip"]}]}],"lightTheme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":32,"character":3},"arguments":["class.si-tl-light"]}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"withTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}]}},"NgTooltipModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgTooltipComponent"},{"__symbolic":"reference","name":"NgTooltipDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"OverlayModule","line":11,"character":4}],"exports":[{"__symbolic":"reference","name":"NgTooltipDirective"}]}]}],"members":{}}},"origins":{"NgTooltipDirective":"./lib/ng-tooltip.directive","NgTooltipComponent":"./lib/ng-tooltip.component","NgTooltipModule":"./lib/ng-tooltip.module"},"importAs":"@silmar/ng-tooltip"} | ||
{"__symbolic":"module","version":4,"metadata":{"NgTooltipDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":13,"character":1},"arguments":[{"selector":"[siTooltip]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3},"arguments":["siTooltip"]}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"maxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"push":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"sticky":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"clickable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"light":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"tooltipDisable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"Overlay","line":83,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":83,"character":59},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":83,"character":91}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"createOverlay":[{"__symbolic":"method"}],"isOpen":[{"__symbolic":"method"}],"createPositionStrategy":[{"__symbolic":"method"}],"updateStrategy":[{"__symbolic":"method"}]}},"NgTooltipComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"si-tooltip-cmp","template":"\n <div *ngIf=\"lightTheme\" class=\"si-tl-arrow\"></div>\n <ng-container *ngTemplateOutlet=\"withTemplate ? withTemplate : defTpl\"></ng-container>\n\n <ng-template #defTpl>\n <div [innerHTML]=\"text\"></div>\n </ng-template>\n ","animations":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":14,"character":4},"arguments":["tooltip",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":15,"character":6},"arguments":[":enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":16,"character":8},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":17,"character":8},"arguments":["150ms cubic-bezier(0, 0, 0.2, 1)",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":17,"character":52},"arguments":[{"opacity":1}]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":19,"character":6},"arguments":[":leave",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":20,"character":8},"arguments":["100ms cubic-bezier(0, 0, 0.2, 1)",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":20,"character":52},"arguments":[{"opacity":0}]}]}]]}]]}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":25,"character":20},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":26,"character":20},"member":"None"},"styles":[".si-tooltip{border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);display:block;font-size:.9em;padding:.4rem .7rem}.si-tooltip:not(.si-tl-light){background-color:#393939;color:#fff}.si-tooltip:not(.si-tl-light) *{color:#fff!important}.si-tooltip-wrap .si-tooltip:not(.si-tl-light):after{border-style:solid;content:\"\";position:absolute}.si-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}.si-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}.si-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}.si-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}.si-tl-light{background-color:#fff;border:1px solid rgba(0,0,0,.06);color:#111}.si-tl-light *{color:#111!important}.si-tl-light .si-tl-arrow{background-color:rgba(0,0,0,.07);height:9px;position:absolute;transform:rotate(135deg);width:9px}.si-tl-light .si-tl-arrow:after{background-color:#fff;content:\"\";display:block;height:9px;position:absolute;width:9px}.si-bottom .si-tl-light .si-tl-arrow,.si-top .si-tl-light .si-tl-arrow{left:50%}.si-left .si-tl-light .si-tl-arrow,.si-right .si-tl-light .si-tl-arrow{top:50%}.si-top .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom left,rgba(0,0,0,.07) 50%,transparent 0);margin-left:-5px;margin-top:-4px;top:100%}.si-top .si-tl-light .si-tl-arrow:after{right:1px;top:1px}.si-bottom .si-tl-light .si-tl-arrow{background:linear-gradient(to top right,rgba(0,0,0,.1) 50%,transparent 0);bottom:100%;margin-bottom:-4px;margin-left:-5px}.si-bottom .si-tl-light .si-tl-arrow:after{right:-1px;top:-1px}.si-left .si-tl-light .si-tl-arrow{background:linear-gradient(to bottom right,rgba(0,0,0,.07) 50%,transparent 0);left:100%;margin-left:-4px;margin-top:-5px}.si-left .si-tl-light .si-tl-arrow:after{right:-1px;top:1px}.si-right .si-tl-light .si-tl-arrow{background:linear-gradient(to top left,rgba(0,0,0,.07) 50%,transparent 0);margin-right:-4px;margin-top:-5px;right:100%}.si-right .si-tl-light .si-tl-arrow:after{right:1px;top:-1px}"]}]}],"members":{"animations":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":29,"character":3},"arguments":["@tooltip"]}]}],"mainClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":31,"character":3},"arguments":["class.si-tooltip"]}]}],"lightTheme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":33,"character":3},"arguments":["class.si-tl-light"]}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"withTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}]}},"NgTooltipModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"NgTooltipComponent"},{"__symbolic":"reference","name":"NgTooltipDirective"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"OverlayModule","line":11,"character":4}],"exports":[{"__symbolic":"reference","name":"NgTooltipDirective"}]}]}],"members":{}}},"origins":{"NgTooltipDirective":"./lib/ng-tooltip.directive","NgTooltipComponent":"./lib/ng-tooltip.component","NgTooltipModule":"./lib/ng-tooltip.module"},"importAs":"@silmar/ng-tooltip"} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
192806
1363