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