@silmar/ng-tooltip
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -393,4 +393,2 @@ (function (global, factory) { | ||
this.clickable = false; | ||
/** Emits when there are keyboard events that are targeted at the overlay. */ | ||
this.tipKeydown = new core.EventEmitter(); | ||
this.canClose = true; | ||
@@ -456,24 +454,21 @@ this.position = { | ||
var _this = this; | ||
if (this.overlayRef) { | ||
return; | ||
if (!this.overlayRef) { | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new overlay.OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true, scrollThrottle: 10 }) | ||
})); | ||
this.overlayRef.keydownEvents().subscribe(function (event) { | ||
if (event.keyCode === keycodes.ESCAPE) { | ||
event.preventDefault(); | ||
_this.close(true); | ||
} | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe(function (event) { | ||
var target = event.target || event.relatedTarget; | ||
if (!target || (target !== _this.elRef.nativeElement && !_this.elRef.nativeElement.contains(target))) { | ||
_this.close(true); | ||
} | ||
}); | ||
} | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new overlay.OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true }), | ||
hasBackdrop: false | ||
})); | ||
this.overlayRef.keydownEvents().subscribe(function (event) { | ||
_this.tipKeydown.next(event); | ||
if (event.keyCode === keycodes.ESCAPE) { | ||
event.preventDefault(); | ||
_this.close(true); | ||
} | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe(function (event) { | ||
var target = event.target || event.relatedTarget; | ||
if (!target || (target !== _this.elRef.nativeElement && !_this.elRef.nativeElement.contains(target))) { | ||
_this.close(true); | ||
} | ||
}); | ||
}; | ||
@@ -493,4 +488,3 @@ /** | ||
if (!this.positionStrategy) { | ||
this.positionStrategy = this.overlay.position() | ||
.flexibleConnectedTo(this.elRef); | ||
this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elRef); | ||
this.updateStrategy(); | ||
@@ -529,3 +523,2 @@ } | ||
clickable: [{ type: core.Input }], | ||
tipKeydown: [{ type: core.Output }], | ||
showSticky: [{ type: core.HostListener, args: ['click',] }], | ||
@@ -532,0 +525,0 @@ show: [{ type: core.HostListener, args: ['mouseenter',] }], |
@@ -15,3 +15,3 @@ !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/platform-browser/animations")):"function"==typeof define&&define.amd?define("@silmar/ng-tooltip",["exports","@angular/core","@angular/cdk/overlay","@angular/cdk/portal","@angular/animations","@angular/cdk/keycodes","@angular/platform-browser/animations"],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.platformBrowser.animations)}(this,(function(t,e,o,r,i,n,a){"use strict"; | ||
PERFORMANCE OF THIS SOFTWARE. | ||
***************************************************************************** */Object.create;function s(t,e){var o="function"==typeof Symbol&&t[Symbol.iterator];if(!o)return t;var r,i,n=o.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=n.next()).done;)a.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(o=n.return)&&o.call(n)}finally{if(i)throw i.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(){};p.decorators=[{type:e.Component,args:[{selector:"si-tooltip-cmp",template:'\n <div @tooltip class="si-tooltip">\n <ng-container *ngTemplateOutlet="withTemplate ? withTemplate : defTpl"></ng-container>\n </div>\n\n <ng-template #defTpl>\n <div [innerHTML]="text"></div>\n </ng-template>\n ',animations:[i.trigger("tooltip",[i.transition(":enter",[i.style({opacity:0}),i.animate(150,i.style({opacity:1}))]),i.transition(":leave",[i.animate(150,i.style({opacity:0}))])])],changeDetection:e.ChangeDetectionStrategy.OnPush,styles:[':host{display:block}::ng-deep .si-tooltip{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip *{color:#fff!important}.si-tooltip:after{border-style:solid;content:"";position:absolute}::ng-deep .tooltip-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .tooltip-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .tooltip-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .tooltip-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}']}]}],p.ctorParameters=function(){return[]},p.propDecorators={text:[{type:e.Input}],withTemplate:[{type:e.Input}]};var c="tooltip-top",y="tooltip-bottom",f=[{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-6,panelClass:c},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",offsetY:-6,panelClass:c},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",offsetY:-6,panelClass:c}],g=[{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:6,panelClass:y},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top",offsetY:6,panelClass:y},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top",offsetY:6,panelClass:y}],h=[{originX:"start",originY:"center",overlayX:"end",overlayY:"center",offsetX:-6,panelClass:"tooltip-left"}],d=[{originX:"end",originY:"center",overlayX:"start",overlayY:"center",offsetX:6,panelClass:"tooltip-right"}],u=function(){function t(t,o){this.overlay=t,this.elRef=o,this.text="",this.push=!0,this.placement="top",this.sticky=!1,this.clickable=!1,this.tipKeydown=new e.EventEmitter,this.canClose=!0,this.position={left:l(h,d,f,g),right:l(d,h,f,g),top:l(f,g,d,h),bottom:l(g,f,d,h)}}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 r.ComponentPortal(p));this.content?t.instance.withTemplate=this.content:t.instance.text=this.text},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}),hasBackdrop:!1})),this.overlayRef.keydownEvents().subscribe((function(e){t.tipKeydown.next(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}],push:[{type:e.Input}],placement:[{type:e.Input}],sticky:[{type:e.Input}],clickable:[{type:e.Input}],tipKeydown:[{type:e.Output}],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:[o.OverlayModule,a.BrowserAnimationsModule],exports:[u]}]}],t.NgTooltipComponent=p,t.NgTooltipDirective=u,t.NgTooltipModule=m,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
***************************************************************************** */Object.create;function s(t,e){var o="function"==typeof Symbol&&t[Symbol.iterator];if(!o)return t;var r,i,n=o.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=n.next()).done;)a.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(o=n.return)&&o.call(n)}finally{if(i)throw i.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(){};p.decorators=[{type:e.Component,args:[{selector:"si-tooltip-cmp",template:'\n <div @tooltip class="si-tooltip">\n <ng-container *ngTemplateOutlet="withTemplate ? withTemplate : defTpl"></ng-container>\n </div>\n\n <ng-template #defTpl>\n <div [innerHTML]="text"></div>\n </ng-template>\n ',animations:[i.trigger("tooltip",[i.transition(":enter",[i.style({opacity:0}),i.animate(150,i.style({opacity:1}))]),i.transition(":leave",[i.animate(150,i.style({opacity:0}))])])],changeDetection:e.ChangeDetectionStrategy.OnPush,styles:[':host{display:block}::ng-deep .si-tooltip{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip *{color:#fff!important}.si-tooltip:after{border-style:solid;content:"";position:absolute}::ng-deep .tooltip-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .tooltip-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .tooltip-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .tooltip-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}']}]}],p.ctorParameters=function(){return[]},p.propDecorators={text:[{type:e.Input}],withTemplate:[{type:e.Input}]};var c="tooltip-top",y="tooltip-bottom",f=[{originX:"center",originY:"top",overlayX:"center",overlayY:"bottom",offsetY:-6,panelClass:c},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",offsetY:-6,panelClass:c},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom",offsetY:-6,panelClass:c}],g=[{originX:"center",originY:"bottom",overlayX:"center",overlayY:"top",offsetY:6,panelClass:y},{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top",offsetY:6,panelClass:y},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top",offsetY:6,panelClass:y}],h=[{originX:"start",originY:"center",overlayX:"end",overlayY:"center",offsetX:-6,panelClass:"tooltip-left"}],u=[{originX:"end",originY:"center",overlayX:"start",overlayY:"center",offsetX:6,panelClass:"tooltip-right"}],d=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.canClose=!0,this.position={left:l(h,u,f,g),right:l(u,h,f,g),top:l(f,g,u,h),bottom:l(g,f,u,h)}}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 r.ComponentPortal(p));this.content?t.instance.withTemplate=this.content:t.instance.text=this.text},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})})),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}();d.decorators=[{type:e.Directive,args:[{selector:"[siTooltip]"}]}],d.ctorParameters=function(){return[{type:o.Overlay},{type:e.ElementRef}]},d.propDecorators={text:[{type:e.Input,args:["siTooltip"]}],content:[{type:e.Input}],push:[{type:e.Input}],placement:[{type:e.Input}],sticky:[{type:e.Input}],clickable:[{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,d],imports:[o.OverlayModule,a.BrowserAnimationsModule],exports:[d]}]}],t.NgTooltipComponent=p,t.NgTooltipDirective=d,t.NgTooltipModule=m,Object.defineProperty(t,"__esModule",{value:!0})})); | ||
//# sourceMappingURL=silmar-ng-tooltip.umd.min.js.map |
@@ -1,2 +0,2 @@ | ||
import { Directive, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core'; | ||
import { Directive, ElementRef, HostListener, Input } from '@angular/core'; | ||
import { Overlay, OverlayConfig } from '@angular/cdk/overlay'; | ||
@@ -31,4 +31,2 @@ import { ComponentPortal } from '@angular/cdk/portal'; | ||
this.clickable = false; | ||
/** Emits when there are keyboard events that are targeted at the overlay. */ | ||
this.tipKeydown = new EventEmitter(); | ||
this.canClose = true; | ||
@@ -92,24 +90,21 @@ this.position = { | ||
createOverlay() { | ||
if (this.overlayRef) { | ||
return; | ||
if (!this.overlayRef) { | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true, scrollThrottle: 10 }) | ||
})); | ||
this.overlayRef.keydownEvents().subscribe((event) => { | ||
if (event.keyCode === ESCAPE) { | ||
event.preventDefault(); | ||
this.close(true); | ||
} | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
const target = event.target || event.relatedTarget; | ||
if (!target || (target !== this.elRef.nativeElement && !this.elRef.nativeElement.contains(target))) { | ||
this.close(true); | ||
} | ||
}); | ||
} | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true }), | ||
hasBackdrop: false | ||
})); | ||
this.overlayRef.keydownEvents().subscribe((event) => { | ||
this.tipKeydown.next(event); | ||
if (event.keyCode === ESCAPE) { | ||
event.preventDefault(); | ||
this.close(true); | ||
} | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
const target = event.target || event.relatedTarget; | ||
if (!target || (target !== this.elRef.nativeElement && !this.elRef.nativeElement.contains(target))) { | ||
this.close(true); | ||
} | ||
}); | ||
} | ||
@@ -129,4 +124,3 @@ /** | ||
if (!this.positionStrategy) { | ||
this.positionStrategy = this.overlay.position() | ||
.flexibleConnectedTo(this.elRef); | ||
this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elRef); | ||
this.updateStrategy(); | ||
@@ -164,3 +158,2 @@ } | ||
clickable: [{ type: Input }], | ||
tipKeydown: [{ type: Output }], | ||
showSticky: [{ type: HostListener, args: ['click',] }], | ||
@@ -170,2 +163,2 @@ show: [{ type: HostListener, args: ['mouseenter',] }], | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9ldGctcHVibGljL3NpbG1hci1uZy10b29sdGlwL3Byb2plY3RzL3NpbG1hci9uZy10b29sdGlwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uZy10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3RCxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDaEksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSy9DLE1BQU0sT0FBTyxrQkFBa0I7SUErQzdCLFlBQXNCLE9BQWdCLEVBQVksS0FBaUI7UUFBN0MsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFZLFVBQUssR0FBTCxLQUFLLENBQVk7UUE5Q25FOztXQUVHO1FBQ2lCLFNBQUksR0FBRyxFQUFFLENBQUM7UUFPOUI7O1dBRUc7UUFDTSxTQUFJLEdBQVksSUFBSSxDQUFDO1FBRTlCOztXQUVHO1FBQ00sY0FBUyxHQUF3QyxLQUFLLENBQUM7UUFFaEU7O1dBRUc7UUFDTSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXhCOztXQUVHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQiw2RUFBNkU7UUFDbkUsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFpQixDQUFDO1FBSS9DLGFBQVEsR0FBRyxJ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QWtCLENBQUMsQ0FBQyxDQUFDO2FBQ3JCLHNCQUFzQixDQUFDLEtBQUssQ0FBQzthQUM3QixrQkFBa0IsQ0FBQyxLQUFLLENBQUM7YUFDekIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7WUFoTEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRyxhQUFhO2FBQ3pCOzs7WUFSOEQsT0FBTztZQVRwRSxVQUFVOzs7bUJBc0JULEtBQUssU0FBQyxXQUFXO3NCQUtqQixLQUFLO21CQUtMLEtBQUs7d0JBS0wsS0FBSztxQkFLTCxLQUFLO3dCQUtMLEtBQUs7eUJBR0wsTUFBTTt5QkF1Qk4sWUFBWSxTQUFDLE9BQU87bUJBU3BCLFlBQVksU0FBQyxZQUFZO21CQVF6QixZQUFZLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudFJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IE5nVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vbmctdG9vbHRpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUE9TX0JPVFRPTSwgUE9TX0xFRlQsIFBPU19SSUdIVCwgUE9TX1RPUCB9IGZyb20gJy4vbWlzYyc7XG5pbXBvcnQgeyBFU0NBUEUgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3IgOiAnW3NpVG9vbHRpcF0nXG59KVxuZXhwb3J0IGNsYXNzIE5nVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBVc2Ugc2ltcGxlIHRleHRcbiAgICovXG4gIEBJbnB1dCgnc2lUb29sdGlwJykgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBQYXNzIHRlbXBsYXRlIGluc3RlYWQgb2Ygc2ltcGxlIHRleHQgc3RyaW5nXG4gICAqL1xuICBASW5wdXQoKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKlxuICAgKiBJZiB0aGUgdG9vbHRpcCBjYW5ub3QgYmUgcGxhY2VkIGluc2lkZSB0aGUgdmlld3BvcnQgdHJ5IHRvIHB1c2ggaXQgKHRoaXMgY2FuIHBsYWNlIHRoZSB0b29sdGlwIG92ZXIgdGhlIGF0dGFjaGVkIGVsZW1lbnQpXG4gICAqL1xuICBASW5wdXQoKSBwdXNoOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2hhbmdlIHRoZSB0b29sdGlwIHBsYWNlbWVudFxuICAgKi9cbiAgQElucHV0KCkgcGxhY2VtZW50OiAnbGVmdCcgfCAndG9wJyB8ICdyaWdodCcgfCAnYm90dG9tJyA9ICd0b3AnO1xuXG4gIC8qKlxuICAgKiBLZWVwIHRoZSB0b29sdGlwIG9wZW4gb24gbW91c2UgbGVhdmVcbiAgICovXG4gIEBJbnB1dCgpIHN0aWNreSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBPcGVuIG9ubHkgb24gY2xpY2tcbiAgICovXG4gIEBJbnB1dCgpIGNsaWNrYWJsZSA9IGZhbHNlO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZXJlIGFyZSBrZXlib2FyZCBldmVudHMgdGhhdCBhcmUgdGFyZ2V0ZWQgYXQgdGhlIG92ZXJsYXkuICovXG4gIEBPdXRwdXQoKSB0aXBLZXlkb3duID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHByb3RlY3RlZCBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG4gIHByb3RlY3RlZCBjYW5DbG9zZSA9IHRydWU7XG5cbiAgcHJvdGVjdGVkIHBvc2l0aW9uOiB7IFsga2V5OiBzdHJpbmcgXTogQ29ubmVjdGVkUG9zaXRpb25bXSB9ID0ge1xuICAgIGxlZnQgICA6IFsgLi4uUE9TX0xFRlQsIC4uLlBPU19SSUdIVCwgLi4uUE9TX1RPUCwgLi4uUE9TX0JPVFRPTSBdLFxuICAgIHJpZ2h0ICA6IFsgLi4uUE9TX1JJR0hULCAuLi5QT1NfTEVGVCwgLi4uUE9TX1RPUCwgLi4uUE9TX0JPVFRPTSBdLFxuICAgIHRvcCAgICA6IFsgLi4uUE9TX1RPUCwgLi4uUE9TX0JPVFRPTSwgLi4uUE9TX1JJR0hULCAuLi5QT1NfTEVGVCBdLFxuICAgIGJvdHRvbSA6IFsgLi4uUE9TX0JPVFRPTSwgLi4uUE9TX1RPUCwgLi4uUE9TX1JJR0hULCAuLi5QT1NfTEVGVCBdXG4gIH07XG5cbiAgcHJvdGVjdGVkIHBvc2l0aW9uU3RyYXRlZ3k6IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgb3ZlcmxheTogT3ZlcmxheSwgcHJvdGVjdGVkIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5wb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICB0aGlzLnVwZGF0ZVN0cmF0ZWd5KCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBzaG93U3RpY2t5KCkge1xuICAgIHRoaXMuY2FuQ2xvc2UgPSAhdGhpcy5zdGlja3k7XG5cbiAgICBpZiAoIXRoaXMuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxuICBzaG93KCkge1xuICAgIGlmICghdGhpcy5pc09wZW4oKSAmJiAhdGhpcy5jbGlja2FibGUpIHtcbiAgICAgIHRoaXMuY2FuQ2xvc2UgPSB0cnVlO1xuICAgICAgdGhpcy5vcGVuKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdXQnKVxuICBoaWRlKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgb3BlbigpIHtcbiAgICB0aGlzLmNyZWF0ZU92ZXJsYXkoKTtcblxuICAgIGNvbnN0IHRvb2x0aXBSZWY6IENvbXBvbmVudFJlZjxOZ1Rvb2x0aXBDb21wb25lbnQ+ID0gdGhpcy5vdmVybGF5UmVmLmF0dGFjaChcbiAgICAgIG5ldyBDb21wb25lbnRQb3J0YWwoTmdUb29sdGlwQ29tcG9uZW50KVxuICAgICk7XG5cbiAgICAvLyBQYXNzIGNvbnRlbnQgdG8gdG9vbHRpcCBjb21wb25lbnQgaW5zdGFuY2VcbiAgICBpZiAodGhpcy5jb250ZW50KSB7XG4gICAgICB0b29sdGlwUmVmLmluc3RhbmNlLndpdGhUZW1wbGF0ZSA9IHRoaXMuY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9vbHRpcFJlZi5pbnN0YW5jZS50ZXh0ID0gdGhpcy50ZXh0O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gZm9yY2VcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGNsb3NlKGZvcmNlID0gZmFsc2UpIHtcbiAgICBpZiAoKHRoaXMuY2FuQ2xvc2UgfHwgZm9yY2UpICYmIHRoaXMuaXNPcGVuKCkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZU92ZXJsYXkoKSB7XG4gICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBwb3NpdGlvblN0cmF0ZWd5IDogdGhpcy5wb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3kgICA6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oeyBhdXRvQ2xvc2UgOiB0cnVlIH0pLFxuICAgICAgaGFzQmFja2Ryb3AgICAgICA6IGZhbHNlXG4gICAgfSkpO1xuXG4gICAgdGhpcy5vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICB0aGlzLnRpcEtleWRvd24ubmV4dChldmVudCk7XG5cbiAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBFU0NBUEUpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5jbG9zZSh0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKS5zdWJzY3JpYmUoKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgfHwgZXZlbnQucmVsYXRlZFRhcmdldDtcblxuICAgICAgaWYgKCF0YXJnZXQgfHwgKHRhcmdldCAhPT0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50ICYmICF0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkpIHtcbiAgICAgICAgdGhpcy5jbG9zZSh0cnVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNPcGVuKCkge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYgJiYgdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgaWYgKCF0aGlzLnBvc2l0aW9uU3RyYXRlZ3kpIHtcbiAgICAgIHRoaXMucG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxSZWYpO1xuXG4gICAgICB0aGlzLnVwZGF0ZVN0cmF0ZWd5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVTdHJhdGVneSgpIHtcbiAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lcbiAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMucG9zaXRpb25bIHRoaXMucGxhY2VtZW50IF0pXG4gICAgICAud2l0aFZpZXdwb3J0TWFyZ2luKDUpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oZmFsc2UpXG4gICAgICAud2l0aFB1c2godGhpcy5wdXNoKTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2J1aWxkcy9ldGctcHVibGljL3NpbG1hci1uZy10b29sdGlwL3Byb2plY3RzL3NpbG1hci9uZy10b29sdGlwL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9uZy10b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUlOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0QsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUsvQyxNQUFNLE9BQU8sa0JBQWtCO0lBNEM3QixZQUFzQixPQUFnQixFQUFZLEtBQWlCO1FBQTdDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBM0NuRTs7V0FFRztRQUNpQixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBTzlCOztXQUVHO1FBQ00sU0FBSSxHQUFHLElBQUksQ0FBQztRQUVyQjs7V0FFRztRQUNNLGNBQVMsR0FBd0MsS0FBSyxDQUFDO1FBRWhFOztXQUVHO1FBQ00sV0FBTSxHQUFHLEtBQUssQ0FBQztRQUV4Qjs7V0FFRztRQUNNLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFJakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVoQixhQUFRLEdBQTZDO1lBQzdELElBQUksRUFBSyxDQUFFLEdBQUcsUUFBUSxFQUFFLEdBQUcsU0FB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Q0FBQzs7O1lBdktGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUcsYUFBYTthQUN6Qjs7O1lBUjhELE9BQU87WUFQcEUsVUFBVTs7O21CQW9CVCxLQUFLLFNBQUMsV0FBVztzQkFLakIsS0FBSzttQkFLTCxLQUFLO3dCQUtMLEtBQUs7cUJBS0wsS0FBSzt3QkFLTCxLQUFLO3lCQXVCTCxZQUFZLFNBQUMsT0FBTzttQkFTcEIsWUFBWSxTQUFDLFlBQVk7bUJBUXpCLFlBQVksU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LCBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBOZ1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL25nLXRvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFBPU19CT1RUT00sIFBPU19MRUZULCBQT1NfUklHSFQsIFBPU19UT1AgfSBmcm9tICcuL21pc2MnO1xuaW1wb3J0IHsgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yIDogJ1tzaVRvb2x0aXBdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZ1Rvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAvKipcbiAgICogVXNlIHNpbXBsZSB0ZXh0XG4gICAqL1xuICBASW5wdXQoJ3NpVG9vbHRpcCcpIHRleHQgPSAnJztcblxuICAvKipcbiAgICogUGFzcyB0ZW1wbGF0ZSBpbnN0ZWFkIG9mIHNpbXBsZSB0ZXh0IHN0cmluZ1xuICAgKi9cbiAgQElucHV0KCkgY29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogSWYgdGhlIHRvb2x0aXAgY2Fubm90IGJlIHBsYWNlZCBpbnNpZGUgdGhlIHZpZXdwb3J0IHRyeSB0byBwdXNoIGl0ICh0aGlzIGNhbiBwbGFjZSB0aGUgdG9vbHRpcCBvdmVyIHRoZSBhdHRhY2hlZCBlbGVtZW50KVxuICAgKi9cbiAgQElucHV0KCkgcHVzaCA9IHRydWU7XG5cbiAgLyoqXG4gICAqIENoYW5nZSB0aGUgdG9vbHRpcCBwbGFjZW1lbnRcbiAgICovXG4gIEBJbnB1dCgpIHBsYWNlbWVudDogJ2xlZnQnIHwgJ3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgPSAndG9wJztcblxuICAvKipcbiAgICogS2VlcCB0aGUgdG9vbHRpcCBvcGVuIG9uIG1vdXNlIGxlYXZlXG4gICAqL1xuICBASW5wdXQoKSBzdGlja3kgPSBmYWxzZTtcblxuICAvKipcbiAgICogT3BlbiBvbmx5IG9uIGNsaWNrXG4gICAqL1xuICBASW5wdXQoKSBjbGlja2FibGUgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcblxuICBwcm90ZWN0ZWQgY2FuQ2xvc2UgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBwb3NpdGlvbjogeyBbIGtleTogc3RyaW5nIF06IENvbm5lY3RlZFBvc2l0aW9uW10gfSA9IHtcbiAgICBsZWZ0ICAgOiBbIC4uLlBPU19MRUZULCAuLi5QT1NfUklHSFQsIC4uLlBPU19UT1AsIC4uLlBPU19CT1RUT00gXSxcbiAgICByaWdodCAgOiBbIC4uLlBPU19SSUdIVCwgLi4uUE9TX0xFRlQsIC4uLlBPU19UT1AsIC4uLlBPU19CT1RUT00gXSxcbiAgICB0b3AgICAgOiBbIC4uLlBPU19UT1AsIC4uLlBPU19CT1RUT00sIC4uLlBPU19SSUdIVCwgLi4uUE9TX0xFRlQgXSxcbiAgICBib3R0b20gOiBbIC4uLlBPU19CT1RUT00sIC4uLlBPU19UT1AsIC4uLlBPU19SSUdIVCwgLi4uUE9TX0xFRlQgXVxuICB9O1xuXG4gIHByb3RlY3RlZCBwb3NpdGlvblN0cmF0ZWd5OiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIG92ZXJsYXk6IE92ZXJsYXksIHByb3RlY3RlZCBlbFJlZjogRWxlbWVudFJlZikge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMucG9zaXRpb25TdHJhdGVneSkge1xuICAgICAgdGhpcy51cGRhdGVTdHJhdGVneSgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgc2hvd1N0aWNreSgpIHtcbiAgICB0aGlzLmNhbkNsb3NlID0gIXRoaXMuc3RpY2t5O1xuXG4gICAgaWYgKCF0aGlzLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgc2hvdygpIHtcbiAgICBpZiAoIXRoaXMuaXNPcGVuKCkgJiYgIXRoaXMuY2xpY2thYmxlKSB7XG4gICAgICB0aGlzLmNhbkNsb3NlID0gdHJ1ZTtcbiAgICAgIHRoaXMub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlb3V0JylcbiAgaGlkZSgpIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG9wZW4oKSB7XG4gICAgdGhpcy5jcmVhdGVPdmVybGF5KCk7XG5cbiAgICBjb25zdCB0b29sdGlwUmVmOiBDb21wb25lbnRSZWY8TmdUb29sdGlwQ29tcG9uZW50PiA9IHRoaXMub3ZlcmxheVJlZi5hdHRhY2goXG4gICAgICBuZXcgQ29tcG9uZW50UG9ydGFsKE5nVG9vbHRpcENvbXBvbmVudClcbiAgICApO1xuXG4gICAgLy8gUGFzcyBjb250ZW50IHRvIHRvb2x0aXAgY29tcG9uZW50IGluc3RhbmNlXG4gICAgaWYgKHRoaXMuY29udGVudCkge1xuICAgICAgdG9vbHRpcFJlZi5pbnN0YW5jZS53aXRoVGVtcGxhdGUgPSB0aGlzLmNvbnRlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvb2x0aXBSZWYuaW5zdGFuY2UudGV4dCA9IHRoaXMudGV4dDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGZvcmNlXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjbG9zZShmb3JjZSA9IGZhbHNlKSB7XG4gICAgaWYgKCh0aGlzLmNhbkNsb3NlIHx8IGZvcmNlKSAmJiB0aGlzLmlzT3BlbigpKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVPdmVybGF5KCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKTtcblxuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kgOiB0aGlzLnBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5ICAgOiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKHsgYXV0b0Nsb3NlIDogdHJ1ZSwgc2Nyb2xsVGhyb3R0bGU6IDEwIH0pXG4gICAgICB9KSk7XG5cbiAgICAgIHRoaXMub3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnJlbGF0ZWRUYXJnZXQ7XG5cbiAgICAgICAgaWYgKCF0YXJnZXQgfHwgKHRhcmdldCAhPT0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50ICYmICF0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGlzT3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmICYmIHRoaXMub3ZlcmxheVJlZi5oYXNBdHRhY2hlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkge1xuICAgIGlmICghdGhpcy5wb3NpdGlvblN0cmF0ZWd5KSB7XG4gICAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxSZWYpO1xuXG4gICAgICB0aGlzLnVwZGF0ZVN0cmF0ZWd5KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCB1cGRhdGVTdHJhdGVneSgpIHtcbiAgICB0aGlzLnBvc2l0aW9uU3RyYXRlZ3lcbiAgICAgIC53aXRoUG9zaXRpb25zKHRoaXMucG9zaXRpb25bIHRoaXMucGxhY2VtZW50IF0pXG4gICAgICAud2l0aFZpZXdwb3J0TWFyZ2luKDUpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oZmFsc2UpXG4gICAgICAud2l0aFB1c2godGhpcy5wdXNoKTtcbiAgfVxufVxuIl19 |
@@ -1,2 +0,2 @@ | ||
import { Component, ChangeDetectionStrategy, Input, EventEmitter, Directive, ElementRef, Output, HostListener, NgModule } from '@angular/core'; | ||
import { Component, ChangeDetectionStrategy, Input, Directive, ElementRef, HostListener, NgModule } from '@angular/core'; | ||
import { OverlayConfig, Overlay, OverlayModule } from '@angular/cdk/overlay'; | ||
@@ -99,4 +99,2 @@ import { ComponentPortal } from '@angular/cdk/portal'; | ||
this.clickable = false; | ||
/** Emits when there are keyboard events that are targeted at the overlay. */ | ||
this.tipKeydown = new EventEmitter(); | ||
this.canClose = true; | ||
@@ -160,24 +158,21 @@ this.position = { | ||
createOverlay() { | ||
if (this.overlayRef) { | ||
return; | ||
if (!this.overlayRef) { | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true, scrollThrottle: 10 }) | ||
})); | ||
this.overlayRef.keydownEvents().subscribe((event) => { | ||
if (event.keyCode === ESCAPE) { | ||
event.preventDefault(); | ||
this.close(true); | ||
} | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
const target = event.target || event.relatedTarget; | ||
if (!target || (target !== this.elRef.nativeElement && !this.elRef.nativeElement.contains(target))) { | ||
this.close(true); | ||
} | ||
}); | ||
} | ||
this.createPositionStrategy(); | ||
this.overlayRef = this.overlay.create(new OverlayConfig({ | ||
positionStrategy: this.positionStrategy, | ||
scrollStrategy: this.overlay.scrollStrategies.reposition({ autoClose: true }), | ||
hasBackdrop: false | ||
})); | ||
this.overlayRef.keydownEvents().subscribe((event) => { | ||
this.tipKeydown.next(event); | ||
if (event.keyCode === ESCAPE) { | ||
event.preventDefault(); | ||
this.close(true); | ||
} | ||
}); | ||
this.overlayRef.outsidePointerEvents().subscribe((event) => { | ||
const target = event.target || event.relatedTarget; | ||
if (!target || (target !== this.elRef.nativeElement && !this.elRef.nativeElement.contains(target))) { | ||
this.close(true); | ||
} | ||
}); | ||
} | ||
@@ -197,4 +192,3 @@ /** | ||
if (!this.positionStrategy) { | ||
this.positionStrategy = this.overlay.position() | ||
.flexibleConnectedTo(this.elRef); | ||
this.positionStrategy = this.overlay.position().flexibleConnectedTo(this.elRef); | ||
this.updateStrategy(); | ||
@@ -232,3 +226,2 @@ } | ||
clickable: [{ type: Input }], | ||
tipKeydown: [{ type: Output }], | ||
showSticky: [{ type: HostListener, args: ['click',] }], | ||
@@ -235,0 +228,0 @@ show: [{ type: HostListener, args: ['mouseenter',] }], |
@@ -1,2 +0,2 @@ | ||
import { ElementRef, EventEmitter, OnChanges, SimpleChanges, TemplateRef } from '@angular/core'; | ||
import { ElementRef, OnChanges, SimpleChanges, TemplateRef } from '@angular/core'; | ||
import { ConnectedPosition, FlexibleConnectedPositionStrategy, Overlay, OverlayRef } from '@angular/cdk/overlay'; | ||
@@ -30,4 +30,2 @@ export declare class NgTooltipDirective implements OnChanges { | ||
clickable: boolean; | ||
/** Emits when there are keyboard events that are targeted at the overlay. */ | ||
tipKeydown: EventEmitter<KeyboardEvent>; | ||
protected overlayRef: OverlayRef; | ||
@@ -34,0 +32,0 @@ protected canClose: boolean; |
{ | ||
"name": "@silmar/ng-tooltip", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"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":18,"character":1},"arguments":[{"selector":"[siTooltip]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3},"arguments":["siTooltip"]}]}],"content":[{"__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}}]}],"tipKeydown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"Overlay","line":68,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":68,"character":59}]}],"ngOnChanges":[{"__symbolic":"method"}],"showSticky":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":76,"character":3},"arguments":["click"]}]}],"show":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":85,"character":3},"arguments":["mouseenter"]}]}],"hide":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":93,"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 @tooltip class=\"si-tooltip\">\n <ng-container *ngTemplateOutlet=\"withTemplate ? withTemplate : defTpl\"></ng-container>\n </div>\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":15,"character":4},"arguments":["tooltip",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":16,"character":6},"arguments":[":enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":17,"character":8},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":18,"character":8},"arguments":[150,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":18,"character":21},"arguments":[{"opacity":1}]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":20,"character":6},"arguments":[":leave",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":21,"character":8},"arguments":[150,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":21,"character":21},"arguments":[{"opacity":0}]}]}]]}]]}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":26,"character":20},"member":"OnPush"},"styles":[":host{display:block}::ng-deep .si-tooltip{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip *{color:#fff!important}.si-tooltip:after{border-style:solid;content:\"\";position:absolute}::ng-deep .tooltip-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .tooltip-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .tooltip-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .tooltip-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}"]}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"withTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}]}},"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/cdk/overlay","name":"OverlayModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"BrowserAnimationsModule","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":16,"character":1},"arguments":[{"selector":"[siTooltip]"}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3},"arguments":["siTooltip"]}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"push":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"placement":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"sticky":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"clickable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"Overlay","line":63,"character":33},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":63,"character":59}]}],"ngOnChanges":[{"__symbolic":"method"}],"showSticky":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":71,"character":3},"arguments":["click"]}]}],"show":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":80,"character":3},"arguments":["mouseenter"]}]}],"hide":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":88,"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 @tooltip class=\"si-tooltip\">\n <ng-container *ngTemplateOutlet=\"withTemplate ? withTemplate : defTpl\"></ng-container>\n </div>\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":15,"character":4},"arguments":["tooltip",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":16,"character":6},"arguments":[":enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":17,"character":8},"arguments":[{"opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":18,"character":8},"arguments":[150,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":18,"character":21},"arguments":[{"opacity":1}]}]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":20,"character":6},"arguments":[":leave",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":21,"character":8},"arguments":[150,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":21,"character":21},"arguments":[{"opacity":0}]}]}]]}]]}],"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":26,"character":20},"member":"OnPush"},"styles":[":host{display:block}::ng-deep .si-tooltip{background-color:#393939;border-radius:4px;box-shadow:0 2px 2px rgba(0,0,0,.24);color:#fff;font-size:.9em;max-width:500px;padding:.4rem .7rem}::ng-deep .si-tooltip *{color:#fff!important}.si-tooltip:after{border-style:solid;content:\"\";position:absolute}::ng-deep .tooltip-top .si-tooltip:after{border-color:#000 transparent transparent;border-width:5px;left:50%;margin-left:-5px;top:100%}::ng-deep .tooltip-bottom .si-tooltip:after{border-color:transparent transparent #000;border-width:5px;bottom:100%;left:50%;margin-left:-5px}::ng-deep .tooltip-right .si-tooltip:after{border-color:transparent #000 transparent transparent;border-width:5px;margin-top:-5px;right:100%;top:50%}::ng-deep .tooltip-left .si-tooltip:after{border-color:transparent transparent transparent #000;border-width:5px;left:100%;margin-top:-5px;top:50%}"]}]}],"members":{"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"withTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}]}},"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/cdk/overlay","name":"OverlayModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser/animations","name":"BrowserAnimationsModule","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
157157
1175