UNPKG

@inaccess-fang/ui-components

Version:

The Inaccess UI Components Library for the Front-end projects

45 lines 4.95 kB
import { Directive, ElementRef, Input } from '@angular/core'; import tippy from 'tippy.js'; tippy.setDefaultProps({ ignoreAttributes: true, arrow: false, maxWidth: '300px', trigger: 'mouseenter', zIndex: 99999, }); export class FangPopoverDirective { constructor(el) { this.el = el; } ngOnChanges(changes) { if (changes['options']) { if (this.options && !this.instance) { this.instance = tippy(this.el.nativeElement, this.options); } else if (this.options && this.instance) { this.instance.setProps(this.options); } else if ((!this.options || !this.options.content) && this.instance) { this.instance.destroy(); this.instance = undefined; } } if (changes['content'] && this.instance) { this.instance.setContent(this.content); } } ngOnDestroy() { this.instance && this.instance.destroy(); } } FangPopoverDirective.decorators = [ { type: Directive, args: [{ selector: '[fang-popover]' },] } ]; FangPopoverDirective.ctorParameters = () => [ { type: ElementRef } ]; FangPopoverDirective.propDecorators = { options: [{ type: Input, args: ['fang-popover',] }], content: [{ type: Input, args: ['content',] }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFuZy1wb3BvdmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9pYXNvbmFzL0Rlc2t0b3AvY3VycmVudC9mYW5nLXVpLWNvbXBvbmVudHMtbGlicmFyeS9wcm9qZWN0cy9mYW5nLXVpLWNvbXBvbmVudHMvc3JjLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvcG9wb3Zlci9mYW5nLXBvcG92ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBc0MsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxLQUFpQyxNQUFNLFVBQVUsQ0FBQztBQUV6RCxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQ3JCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsS0FBSyxFQUFFLEtBQUs7SUFDWixRQUFRLEVBQUUsT0FBTztJQUNqQixPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsS0FBSztDQUNLLENBQUMsQ0FBQztBQUdyQixNQUFNLE9BQU8sb0JBQW9CO0lBS2hDLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQ2xDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDakMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBUSxDQUFDO2FBQ2xFO2lCQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDckM7aUJBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDckUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7YUFDMUI7U0FDRDtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0YsQ0FBQztJQUVELFdBQVc7UUFDVixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7O1lBNUJELFNBQVMsU0FBQyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQzs7O1lBWHBCLFVBQVU7OztzQkFhM0IsS0FBSyxTQUFDLGNBQWM7c0JBQ3BCLEtBQUssU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdGlwcHksIHtDb250ZW50LCBJbnN0YW5jZSwgUHJvcHN9IGZyb20gJ3RpcHB5LmpzJztcblxudGlwcHkuc2V0RGVmYXVsdFByb3BzKHtcblx0aWdub3JlQXR0cmlidXRlczogdHJ1ZSxcblx0YXJyb3c6IGZhbHNlLFxuXHRtYXhXaWR0aDogJzMwMHB4Jyxcblx0dHJpZ2dlcjogJ21vdXNlZW50ZXInLFxuXHR6SW5kZXg6IDk5OTk5LFxufSBhcyBQYXJ0aWFsPFByb3BzPik7XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnW2ZhbmctcG9wb3Zlcl0nfSlcbmV4cG9ydCBjbGFzcyBGYW5nUG9wb3ZlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblx0QElucHV0KCdmYW5nLXBvcG92ZXInKSBvcHRpb25zOiBQYXJ0aWFsPFByb3BzPjtcblx0QElucHV0KCdjb250ZW50JykgY29udGVudDogQ29udGVudDtcblx0cHVibGljIGluc3RhbmNlOiBJbnN0YW5jZTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG5cdH1cblxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG5cdFx0aWYgKGNoYW5nZXNbJ29wdGlvbnMnXSkge1xuXHRcdFx0aWYgKHRoaXMub3B0aW9ucyAmJiAhdGhpcy5pbnN0YW5jZSkge1xuXHRcdFx0XHR0aGlzLmluc3RhbmNlID0gdGlwcHkodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLm9wdGlvbnMpIGFzIGFueTtcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5vcHRpb25zICYmIHRoaXMuaW5zdGFuY2UpIHtcblx0XHRcdFx0dGhpcy5pbnN0YW5jZS5zZXRQcm9wcyh0aGlzLm9wdGlvbnMpO1xuXHRcdFx0fSBlbHNlIGlmICgoIXRoaXMub3B0aW9ucyB8fCAhdGhpcy5vcHRpb25zLmNvbnRlbnQpICYmIHRoaXMuaW5zdGFuY2UpIHtcblx0XHRcdFx0dGhpcy5pbnN0YW5jZS5kZXN0cm95KCk7XG5cdFx0XHRcdHRoaXMuaW5zdGFuY2UgPSB1bmRlZmluZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGNoYW5nZXNbJ2NvbnRlbnQnXSAmJiB0aGlzLmluc3RhbmNlKSB7XG5cdFx0XHR0aGlzLmluc3RhbmNlLnNldENvbnRlbnQodGhpcy5jb250ZW50KTtcblx0XHR9XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHR0aGlzLmluc3RhbmNlICYmIHRoaXMuaW5zdGFuY2UuZGVzdHJveSgpO1xuXHR9XG59XG4iXX0=