UNPKG

cm-angular-tooltip

Version:
1 lines 46.2 kB
{"version":3,"file":"cm-angular-tooltip.mjs","sources":["../../../projects/cm-angular-tooltip/src/lib/tooltip.component.ts","../../../projects/cm-angular-tooltip/src/lib/tooltip.component.html","../../../projects/cm-angular-tooltip/src/lib/tooltip-options.ts","../../../projects/cm-angular-tooltip/src/lib/tooltip-options.service.ts","../../../projects/cm-angular-tooltip/src/lib/tooltip.directive.ts","../../../projects/cm-angular-tooltip/src/lib/tooltip.module.ts","../../../projects/cm-angular-tooltip/src/public-api.ts","../../../projects/cm-angular-tooltip/src/cm-angular-tooltip.ts"],"sourcesContent":["import { Component, ElementRef, HostListener, HostBinding, Input, OnInit, EventEmitter, Renderer2 } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'tooltip',\r\n templateUrl: './tooltip.component.html',\r\n host: {\r\n 'class': 'tooltip'\r\n },\r\n styleUrls: ['./tooltip.component.sass']\r\n})\r\n\r\nexport class TooltipComponent {\r\n _show: boolean = false;\r\n events = new EventEmitter();\r\n\r\n @Input() data: any;\r\n\r\n @HostBinding('style.top') hostStyleTop!: string;\r\n @HostBinding('style.left') hostStyleLeft!: string;\r\n @HostBinding('style.z-index') hostStyleZIndex!: number;\r\n @HostBinding('style.transition') hostStyleTransition!: string;\r\n @HostBinding('style.width') hostStyleWidth!: string;\r\n @HostBinding('style.max-width') hostStyleMaxWidth!: string;\r\n @HostBinding('style.pointer-events') hostStylePointerEvents!: string;\r\n @HostBinding('class.tooltip-show') hostClassShow!: boolean;\r\n @HostBinding('class.tooltip-shadow') hostClassShadow!: boolean;\r\n @HostBinding('class.tooltip-light') hostClassLight!: boolean;\r\n\r\n @HostListener('transitionend', ['$event'])\r\n transitionEnd(event: any) {\r\n if (this.show) {\r\n this.events.emit({\r\n type: 'shown'\r\n });\r\n }\r\n }\r\n\r\n @Input() set show(value: boolean) {\r\n if (value) {\r\n this.setPosition();\r\n }\r\n this._show = this.hostClassShow = value;\r\n }\r\n get show(): boolean {\r\n return this._show;\r\n }\r\n\r\n get placement() {\r\n return this.data.options.placement;\r\n }\r\n\r\n get autoPlacement() {\r\n return this.data.options.autoPlacement;\r\n }\r\n\r\n get element() {\r\n return this.data.element;\r\n }\r\n\r\n get elementPosition() {\r\n return this.data.elementPosition;\r\n }\r\n\r\n get options() {\r\n return this.data.options;\r\n }\r\n\r\n get value() {\r\n return this.data.value;\r\n }\r\n\r\n get tooltipOffset(): number {\r\n return Number(this.data.options.offset);\r\n }\r\n\r\n get isThemeLight() {\r\n return this.options['theme'] === 'light';\r\n }\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n this.setCustomClass();\r\n this.setStyles();\r\n }\r\n\r\n setPosition(): void {\r\n if (this.setHostStyle(this.placement)) {\r\n this.setPlacementClass(this.placement);\r\n return;\r\n } else {\r\n /* Is tooltip outside the visible area */\r\n const placements = ['top', 'right', 'bottom', 'left'];\r\n let isPlacementSet;\r\n\r\n for (const placement of placements) {\r\n if (this.setHostStyle(placement)) {\r\n this.setPlacementClass(placement);\r\n isPlacementSet = true;\r\n return;\r\n }\r\n }\r\n\r\n /* Set original placement */\r\n if (!isPlacementSet) {\r\n this.setHostStyle(this.placement, true);\r\n this.setPlacementClass(this.placement);\r\n }\r\n }\r\n }\r\n\r\n\r\n setPlacementClass(placement: string): void {\r\n this.renderer.addClass(this.elementRef.nativeElement, 'tooltip-' + placement);\r\n }\r\n\r\n setHostStyle(placement: string, disableAutoPlacement: boolean = false): boolean {\r\n const isSvg = this.element instanceof SVGElement;\r\n const tooltip = this.elementRef.nativeElement;\r\n const isCustomPosition = !this.elementPosition.right;\r\n\r\n let elementHeight = isSvg ? this.element.getBoundingClientRect().height : this.element.offsetHeight;\r\n let elementWidth = isSvg ? this.element.getBoundingClientRect().width : this.element.offsetWidth;\r\n const tooltipHeight = tooltip.clientHeight;\r\n const tooltipWidth = tooltip.clientWidth;\r\n const scrollY = window.pageYOffset;\r\n\r\n if (isCustomPosition) {\r\n elementHeight = 0;\r\n elementWidth = 0;\r\n }\r\n\r\n let topStyle;\r\n let leftStyle;\r\n\r\n if (placement === 'top') {\r\n topStyle = (this.elementPosition.top + scrollY) - (tooltipHeight + this.tooltipOffset);\r\n }\r\n\r\n if (placement === 'bottom') {\r\n topStyle = (this.elementPosition.top + scrollY) + elementHeight + this.tooltipOffset;\r\n }\r\n\r\n if (placement === 'top' || placement === 'bottom') {\r\n leftStyle = (this.elementPosition.left + elementWidth / 2) - tooltipWidth / 2;\r\n }\r\n\r\n if (placement === 'left') {\r\n leftStyle = this.elementPosition.left - tooltipWidth - this.tooltipOffset;\r\n }\r\n\r\n if (placement === 'right') {\r\n leftStyle = this.elementPosition.left + elementWidth + this.tooltipOffset;\r\n }\r\n\r\n if (placement === 'left' || placement === 'right') {\r\n topStyle = (this.elementPosition.top + scrollY) + elementHeight / 2 - tooltip.clientHeight / 2;\r\n }\r\n\r\n /* Is tooltip outside the visible area */\r\n if (this.autoPlacement && !disableAutoPlacement) {\r\n const topEdge = topStyle;\r\n const bottomEdge = topStyle + tooltipHeight;\r\n const leftEdge = leftStyle;\r\n const rightEdge = leftStyle + tooltipWidth;\r\n const bodyHeight = window.innerHeight + scrollY;\r\n const bodyWidth = document.body.clientWidth;\r\n\r\n if (topEdge < 0 || bottomEdge > bodyHeight || leftEdge < 0 || rightEdge > bodyWidth) {\r\n return false;\r\n }\r\n }\r\n\r\n this.hostStyleTop = topStyle + 'px';\r\n this.hostStyleLeft = leftStyle + 'px';\r\n return true;\r\n }\r\n\r\n setZIndex(): void {\r\n if (this.options['zIndex'] !== 0) {\r\n this.hostStyleZIndex = this.options['zIndex'];\r\n }\r\n }\r\n\r\n setPointerEvents(): void {\r\n if (this.options['pointerEvents']) {\r\n this.hostStylePointerEvents = this.options['pointerEvents'];\r\n }\r\n }\r\n\r\n setCustomClass() {\r\n if (this.options['tooltipClass']) {\r\n this.options['tooltipClass'].split(' ').forEach((className: any) => {\r\n this.renderer.addClass(this.elementRef.nativeElement, className);\r\n });\r\n }\r\n }\r\n\r\n setAnimationDuration() {\r\n if (Number(this.options['animationDuration']) != this.options['animationDurationDefault']) {\r\n this.hostStyleTransition = 'opacity ' + this.options['animationDuration'] + 'ms';\r\n }\r\n }\r\n\r\n setStyles() {\r\n this.setZIndex();\r\n this.setPointerEvents();\r\n this.setAnimationDuration();\r\n\r\n this.hostClassShadow = this.options['shadow'];\r\n this.hostClassLight = this.isThemeLight;\r\n this.hostStyleMaxWidth = this.options['maxWidth'];\r\n this.hostStyleWidth = this.options['width'] ? this.options['width'] : '';\r\n }\r\n}","<div *ngIf=\"isThemeLight\" class=\"tooltip-arrow\"></div>\r\n\r\n<div *ngIf=\"options['contentType'] === 'template' else htmlOrStringTemplate\">\r\n\r\n\t<ng-container *ngTemplateOutlet=\"value\"></ng-container>\r\n</div>\r\n\r\n<ng-template #htmlOrStringTemplate>\r\n\t<div [innerHTML]=\"value\"></div>\r\n</ng-template>","export const defaultOptions = {\r\n\t'placement': 'top',\r\n\t'autoPlacement': true,\r\n\t'contentType': 'string',\r\n\t'showDelay': 0,\r\n\t'hideDelay': 300,\r\n\t'hideDelayMobile': 0,\r\n\t'hideDelayTouchscreen': 0,\r\n\t'zIndex': 0,\r\n\t'animationDuration': 300,\r\n\t'animationDurationDefault': 300,\r\n\t'trigger': 'hover',\r\n\t'tooltipClass': '',\r\n\t'display': true,\r\n\t'displayMobile': true,\r\n\t'displayTouchscreen': true,\r\n\t'shadow': true,\r\n\t'theme': 'dark',\r\n\t'offset': 8,\r\n\t'maxWidth': '',\r\n\t'id': false,\r\n\t'hideDelayAfterClick': 2000\r\n}\r\n\r\nexport const backwardCompatibilityOptions:any = {\r\n 'delay': 'showDelay',\r\n 'show-delay': 'showDelay',\r\n 'hide-delay': 'hideDelay',\r\n 'hide-delay-mobile': 'hideDelayTouchscreen',\r\n 'hideDelayMobile': 'hideDelayTouchscreen',\r\n 'z-index': 'zIndex',\r\n 'animation-duration': 'animationDuration',\r\n 'animation-duration-default': 'animationDurationDefault',\r\n 'tooltip-class': 'tooltipClass',\r\n 'display-mobile': 'displayTouchscreen',\r\n 'displayMobile': 'displayTouchscreen',\r\n 'max-width': 'maxWidth'\r\n}","import { InjectionToken } from '@angular/core';\nimport { TooltipOptions } from './tooltip-options.interface';\n\n/**\n * This is not a real service, but it looks like it from the outside.\n * It's just an InjectionToken used to import the config (initOptions) object, provided from the outside\n */\nexport const TooltipOptionsService = new InjectionToken<TooltipOptions>('TooltipOptions');","import { Directive, ElementRef, HostListener, Input, ComponentFactoryResolver, EmbeddedViewRef, ApplicationRef, Injector, ComponentRef, OnInit, Output, EventEmitter, OnDestroy, Inject, Optional, SimpleChanges } from '@angular/core';\r\nimport { TooltipComponent } from './tooltip.component';\r\nimport { TooltipOptions } from './tooltip-options.interface';\r\nimport { backwardCompatibilityOptions, defaultOptions } from './tooltip-options';\r\nimport { TooltipOptionsService } from './tooltip-options.service';\r\n\r\nexport interface AdComponent {\r\n data: any;\r\n show: boolean;\r\n close: boolean;\r\n events: any;\r\n}\r\n\r\n@Directive({\r\n selector: '[tooltip]',\r\n exportAs: 'tooltip',\r\n})\r\n\r\nexport class TooltipDirective {\r\n\r\n hideTimeoutId!: number;\r\n destroyTimeoutId!: number;\r\n hideAfterClickTimeoutId!: number;\r\n createTimeoutId!: number;\r\n showTimeoutId!: number;\r\n componentRef: any;\r\n elementPosition: any;\r\n _id: any;\r\n _options: any = {};\r\n _defaultOptions: any;\r\n _destroyDelay!: number;\r\n componentSubscribe: any;\r\n _contentType: \"string\" | \"html\" | \"template\" = \"string\";\r\n _showDelay!: number;\r\n _hideDelay!: number;\r\n _zIndex!: number;\r\n _tooltipClass!: string;\r\n _animationDuration!: number;\r\n _maxWidth!: string;\r\n\r\n @Input('options') set options(value: TooltipOptions) {\r\n if (value && defaultOptions) {\r\n this._options = value;\r\n }\r\n }\r\n get options() {\r\n return this._options;\r\n }\r\n\r\n @Input('tooltip') tooltipValue!: string;\r\n @Input('placement') placement!: string;\r\n @Input('autoPlacement') autoPlacement!: boolean;\r\n\r\n // Content type\r\n @Input('content-type') set contentTypeBackwardCompatibility(value: \"string\" | \"html\" | \"template\") {\r\n if (value) {\r\n this._contentType = value;\r\n }\r\n }\r\n @Input('contentType') set contentType(value: \"string\" | \"html\" | \"template\") {\r\n if (value) {\r\n this._contentType = value;\r\n }\r\n }\r\n get contentType() {\r\n return this._contentType;\r\n }\r\n\r\n @Input('hide-delay-mobile') hideDelayMobile!: number;\r\n @Input('hideDelayTouchscreen') hideDelayTouchscreen!: number;\r\n\r\n // z-index\r\n @Input('z-index') set zIndexBackwardCompatibility(value: number) {\r\n if (value) {\r\n this._zIndex = value;\r\n }\r\n }\r\n @Input('zIndex') set zIndex(value: number) {\r\n if (value) {\r\n this._zIndex = value;\r\n }\r\n }\r\n get zIndex() {\r\n return this._zIndex;\r\n }\r\n\r\n // Animation duration\r\n @Input('animation-duration') set animationDurationBackwardCompatibility(value: number) {\r\n if (value) {\r\n this._animationDuration = value;\r\n }\r\n }\r\n @Input('animationDuration') set animationDuration(value: number) {\r\n if (value) {\r\n this._animationDuration = value;\r\n }\r\n }\r\n get animationDuration() {\r\n return this._animationDuration;\r\n }\r\n\r\n\r\n @Input('trigger') trigger!: string;\r\n\r\n // Tooltip class\r\n @Input('tooltip-class') set tooltipClassBackwardCompatibility(value: string) {\r\n if (value) {\r\n this._tooltipClass = value;\r\n }\r\n }\r\n @Input('tooltipClass') set tooltipClass(value: string) {\r\n if (value) {\r\n this._tooltipClass = value;\r\n }\r\n }\r\n get tooltipClass() {\r\n return this._tooltipClass;\r\n }\r\n\r\n @Input('display') display!: boolean;\r\n @Input('display-mobile') displayMobile!: boolean;\r\n @Input('displayTouchscreen') displayTouchscreen!: boolean;\r\n @Input('shadow') shadow!: boolean;\r\n @Input('theme') theme!: \"dark\" | \"light\";\r\n @Input('offset') offset!: number;\r\n @Input('width') width!: string;\r\n\r\n // Max width\r\n @Input('max-width') set maxWidthBackwardCompatibility(value: string) {\r\n if (value) {\r\n this._maxWidth = value;\r\n }\r\n }\r\n @Input('maxWidth') set maxWidth(value: string) {\r\n if (value) {\r\n this._maxWidth = value;\r\n }\r\n }\r\n get maxWidth() {\r\n return this._maxWidth;\r\n }\r\n\r\n\r\n @Input('id') id: any;\r\n\r\n // Show delay\r\n @Input('show-delay') set showDelayBackwardCompatibility(value: number) {\r\n if (value) {\r\n this._showDelay = value;\r\n }\r\n }\r\n @Input('showDelay') set showDelay(value: number) {\r\n if (value) {\r\n this._showDelay = value;\r\n }\r\n }\r\n get showDelay() {\r\n return this._showDelay;\r\n }\r\n\r\n // Hide delay\r\n @Input('hide-delay') set hideDelayBackwardCompatibility(value: number) {\r\n if (value) {\r\n this._hideDelay = value;\r\n }\r\n }\r\n @Input('hideDelay') set hideDelay(value: number) {\r\n if (value) {\r\n this._hideDelay = value;\r\n }\r\n }\r\n get hideDelay() {\r\n return this._hideDelay;\r\n }\r\n\r\n @Input('hideDelayAfterClick') hideDelayAfterClick!: number;\r\n @Input('pointerEvents') pointerEvents!: 'auto' | 'none';\r\n @Input('position') position!: { top: number, left: number };\r\n\r\n get isTooltipDestroyed() {\r\n return this.componentRef && this.componentRef.hostView.destroyed;\r\n }\r\n\r\n get destroyDelay() {\r\n if (this._destroyDelay) {\r\n return this._destroyDelay;\r\n } else {\r\n return Number(this.getHideDelay()) + Number(this.options['animationDuration']);\r\n }\r\n }\r\n set destroyDelay(value: number) {\r\n this._destroyDelay = value;\r\n }\r\n\r\n get tooltipPosition() {\r\n if (this.options['position']) {\r\n return this.options['position'];\r\n } else {\r\n return this.elementPosition;\r\n }\r\n }\r\n\r\n @Output() events: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n constructor(\r\n @Optional() @Inject(TooltipOptionsService) private initOptions: any,\r\n private elementRef: ElementRef,\r\n private componentFactoryResolver: ComponentFactoryResolver,\r\n private appRef: ApplicationRef,\r\n private injector: Injector) { }\r\n\r\n @HostListener('focusin')\r\n @HostListener('mouseenter')\r\n onMouseEnter() {\r\n if (this.isDisplayOnHover == false) {\r\n return;\r\n }\r\n\r\n this.show();\r\n }\r\n\r\n @HostListener('focusout')\r\n @HostListener('mouseleave')\r\n onMouseLeave() {\r\n if (this.options['trigger'] === 'hover') {\r\n this.destroyTooltip();\r\n }\r\n }\r\n\r\n @HostListener('click')\r\n onClick() {\r\n if (this.isDisplayOnClick == false) {\r\n return;\r\n }\r\n\r\n this.show();\r\n this.hideAfterClickTimeoutId = window.setTimeout(() => {\r\n this.destroyTooltip();\r\n }, this.options['hideDelayAfterClick'])\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.initOptions = this.renameProperties(this.initOptions);\r\n let changedOptions = this.getProperties(changes);\r\n changedOptions = this.renameProperties(changedOptions);\r\n\r\n this.applyOptionsDefault(defaultOptions, changedOptions);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyTooltip({\r\n fast: true\r\n });\r\n\r\n if (this.componentSubscribe) {\r\n this.componentSubscribe.unsubscribe();\r\n }\r\n }\r\n\r\n getShowDelay() {\r\n return this.options['showDelay'];\r\n }\r\n\r\n getHideDelay() {\r\n const hideDelay = this.options['hideDelay'];\r\n const hideDelayTouchscreen = this.options['hideDelayTouchscreen'];\r\n\r\n return this.isTouchScreen ? hideDelayTouchscreen : hideDelay;\r\n }\r\n\r\n getProperties(changes: SimpleChanges) {\r\n let directiveProperties: any = {};\r\n let customProperties: any = {};\r\n let allProperties: any = {};\r\n\r\n for (var prop in changes) {\r\n if (prop !== 'options' && prop !== 'tooltipValue') {\r\n directiveProperties[prop] = changes[prop].currentValue;\r\n }\r\n if (prop === 'options') {\r\n customProperties = changes[prop].currentValue;\r\n }\r\n }\r\n\r\n allProperties = Object.assign({}, customProperties, directiveProperties);\r\n return allProperties;\r\n }\r\n\r\n renameProperties(options: any) {\r\n for (var prop in options) {\r\n if (backwardCompatibilityOptions[prop]) {\r\n options[backwardCompatibilityOptions[prop]] = options[prop];\r\n delete options[prop];\r\n }\r\n }\r\n\r\n return options;\r\n }\r\n\r\n getElementPosition(): void {\r\n this.elementPosition = this.elementRef.nativeElement.getBoundingClientRect();\r\n }\r\n\r\n createTooltip(): void {\r\n this.clearTimeouts();\r\n this.getElementPosition();\r\n\r\n this.createTimeoutId = window.setTimeout(() => {\r\n this.appendComponentToBody(TooltipComponent);\r\n }, this.getShowDelay());\r\n\r\n this.showTimeoutId = window.setTimeout(() => {\r\n this.showTooltipElem();\r\n }, this.getShowDelay());\r\n }\r\n\r\n destroyTooltip(options = {\r\n fast: false\r\n }): void {\r\n this.clearTimeouts();\r\n\r\n if (this.isTooltipDestroyed == false) {\r\n this.hideTimeoutId = window.setTimeout(() => {\r\n this.hideTooltip();\r\n }, options.fast ? 0 : this.getHideDelay());\r\n\r\n this.destroyTimeoutId = window.setTimeout(() => {\r\n if (!this.componentRef || this.isTooltipDestroyed) {\r\n return;\r\n }\r\n\r\n this.appRef.detachView(this.componentRef.hostView);\r\n this.componentRef.destroy();\r\n this.events.emit({\r\n type: 'hidden',\r\n position: this.tooltipPosition\r\n });\r\n }, options.fast ? 0 : this.destroyDelay);\r\n }\r\n }\r\n\r\n showTooltipElem(): void {\r\n this.clearTimeouts();\r\n (<AdComponent>this.componentRef.instance).show = true;\r\n this.events.emit({\r\n type: 'show',\r\n position: this.tooltipPosition\r\n });\r\n }\r\n\r\n hideTooltip(): void {\r\n if (!this.componentRef || this.isTooltipDestroyed) {\r\n return;\r\n }\r\n (<AdComponent>this.componentRef.instance).show = false;\r\n this.events.emit({\r\n type: 'hide',\r\n position: this.tooltipPosition\r\n });\r\n }\r\n\r\n appendComponentToBody(component: any, data: any = {}): void {\r\n this.componentRef = this.componentFactoryResolver\r\n .resolveComponentFactory(component)\r\n .create(this.injector);\r\n\r\n (<AdComponent>this.componentRef.instance).data = {\r\n value: this.tooltipValue,\r\n element: this.elementRef.nativeElement,\r\n elementPosition: this.tooltipPosition,\r\n options: this.options\r\n }\r\n this.appRef.attachView(this.componentRef.hostView);\r\n const domElem = (this.componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\r\n document.body.appendChild(domElem);\r\n\r\n this.componentSubscribe = (<AdComponent>this.componentRef.instance).events.subscribe((event: any) => {\r\n this.handleEvents(event);\r\n });\r\n }\r\n\r\n clearTimeouts(): void {\r\n if (this.createTimeoutId) {\r\n clearTimeout(this.createTimeoutId);\r\n }\r\n\r\n if (this.showTimeoutId) {\r\n clearTimeout(this.showTimeoutId);\r\n }\r\n\r\n if (this.hideTimeoutId) {\r\n clearTimeout(this.hideTimeoutId);\r\n }\r\n\r\n if (this.destroyTimeoutId) {\r\n clearTimeout(this.destroyTimeoutId);\r\n }\r\n }\r\n\r\n get isDisplayOnHover(): boolean {\r\n if (this.options['display'] == false) {\r\n return false;\r\n }\r\n\r\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\r\n return false;\r\n }\r\n\r\n if (this.options['trigger'] !== 'hover') {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n get isDisplayOnClick(): boolean {\r\n if (this.options['display'] == false) {\r\n return false;\r\n }\r\n\r\n if (this.options['displayTouchscreen'] == false && this.isTouchScreen) {\r\n return false;\r\n }\r\n\r\n if (this.options['trigger'] != 'click') {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n get isTouchScreen() {\r\n var prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\r\n var mq = function (query: any) {\r\n return window.matchMedia(query).matches;\r\n }\r\n\r\n if (('ontouchstart' in window)) {\r\n return true;\r\n }\r\n\r\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\r\n // https://git.io/vznFH\r\n var query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\r\n return mq(query);\r\n }\r\n\r\n applyOptionsDefault(defaultOptions: any, options: any): void {\r\n this.options = Object.assign({}, defaultOptions, this.initOptions || {}, this.options, options);\r\n }\r\n\r\n handleEvents(event: any) {\r\n if (event.type === 'shown') {\r\n this.events.emit({\r\n type: 'shown',\r\n position: this.tooltipPosition\r\n });\r\n }\r\n }\r\n\r\n public show() {\r\n if (!this.tooltipValue) {\r\n return;\r\n }\r\n\r\n if (!this.componentRef || this.isTooltipDestroyed) {\r\n this.createTooltip();\r\n } else if (!this.isTooltipDestroyed) {\r\n this.showTooltipElem();\r\n }\r\n }\r\n\r\n public hide() {\r\n this.destroyTooltip();\r\n }\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TooltipDirective } from './tooltip.directive';\r\nimport { TooltipComponent } from './tooltip.component';\r\nimport { TooltipOptions } from './tooltip-options.interface';\r\nimport { TooltipOptionsService } from './tooltip-options.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n TooltipDirective,\r\n TooltipComponent\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n TooltipDirective\r\n ]\r\n})\r\nexport class TooltipModule {\r\n static forRoot(initOptions: TooltipOptions): ModuleWithProviders<TooltipModule> {\r\n return {\r\n ngModule: TooltipModule,\r\n providers: [\r\n {\r\n provide: TooltipOptionsService,\r\n useValue: initOptions\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","/*\r\n * Public API Surface of cm-angular-tooltip\r\n */\r\n\r\nexport * from './lib/tooltip.module';\r\nexport * from './lib/tooltip.component';\r\nexport * from './lib/tooltip.directive';\r\nexport * from './lib/tooltip-options.interface';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}