/**
 * @fileoverview added by tsickle
 * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
 */
import { Component, Input, TemplateRef, ElementRef, HostListener, Output, EventEmitter } from '@angular/core';
export class TooltipContainerComponent {
    /**
     * @param {?} elementRef
     */
    constructor(elementRef) {
        this.elementRef = elementRef;
        /**
         * \@prop shows the arrow or not
         */
        this.showArrow = true;
        this.mouseLeaveEvent = new EventEmitter();
        this.mouseEnterEvent = new EventEmitter();
        this.classList = {};
        this.isTooltip = true;
    }
    /**
     * \@prop Sets direction of the tooltip | null
     * @param {?} direction
     * @return {?}
     */
    set direction(direction) {
        this.classList['md-event-overlay--top'] = direction === 'top';
        this.classList['md-event-overlay--bottom'] = direction === 'bottom';
        this.classList['md-event-overlay--left'] = direction === 'left';
        this.classList['md-event-overlay--right'] = direction === 'right';
    }
    /**
     * @return {?}
     */
    closeNow() {
        this.mouseLeaveEvent.emit(false);
    }
    /**
     * @return {?}
     */
    stayOpen() {
        this.mouseEnterEvent.emit(true);
    }
    /**
     * @return {?}
     */
    ngOnInit() {
        this.classList['md-tooltip'] = this.isTooltip;
        this.classList['md-event-overlay--arrow'] = this.showArrow;
    }
}
TooltipContainerComponent.decorators = [
    { type: Component, args: [{
                selector: 'md-tooltip-container',
                template: `
  <div [ngClass]="classList" class="md-event-overlay">
    <div *ngIf="showArrow" class="md-event-overlay__arrow" ></div>
    <div  class="md-event-overlay__children">
        <md-tooltip
          #mdtooltip
          id={{this.id}}
          text={{this.text}}
          maxWidth={{this.maxWidth}}
          [tooltipTemplate]="tooltipTemplate"
        ></md-tooltip>
    </div>
  </div>
  `,
                styles: [".md-tooltip.md-event-overlay{position:static}.md-tooltip.md-event-overlay>.md-event-overlay__children{position:static;padding:12px}.md-tooltip.md-event-overlay>.md-event-overlay__arrow{z-index:1027}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--right{display:flex;flex-direction:row;align-items:center}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--right>.md-event-overlay__arrow{margin-top:0}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--left{display:flex;flex-direction:row-reverse;align-items:center}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--left>.md-event-overlay__arrow{margin-left:-2px;margin-top:0}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--left>.md-event-overlay__children{margin-right:14px}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--bottom{display:flex;flex-direction:column;align-items:center}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--bottom>.md-event-overlay__arrow{margin-left:0}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--top{display:flex;flex-direction:column-reverse;align-items:center}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--top>.md-event-overlay__arrow{margin-top:-2px;margin-left:0}.md-tooltip.md-event-overlay.md-event-overlay--arrow.md-event-overlay--top>.md-event-overlay__children{margin-bottom:14px}"]
            }] }
];
/** @nocollapse */
TooltipContainerComponent.ctorParameters = () => [
    { type: ElementRef }
];
TooltipContainerComponent.propDecorators = {
    text: [{ type: Input }],
    tooltipTemplate: [{ type: Input }],
    direction: [{ type: Input }],
    allowHover: [{ type: Input }],
    showArrow: [{ type: Input }],
    id: [{ type: Input }],
    maxWidth: [{ type: Input }],
    mouseLeaveEvent: [{ type: Output }],
    mouseEnterEvent: [{ type: Output }],
    closeNow: [{ type: HostListener, args: ['mouseleave',] }],
    stayOpen: [{ type: HostListener, args: ['mouseenter',] }]
};
if (false) {
    /**
     * \@prop Sets text in the tooltip
     * @type {?}
     */
    TooltipContainerComponent.prototype.text;
    /**
     * \@prop Sets a component in the tooltip
     * @type {?}
     */
    TooltipContainerComponent.prototype.tooltipTemplate;
    /**
     * \@prop Allows tooltip to stay open when you hover over the tooltip | false
     * @type {?}
     */
    TooltipContainerComponent.prototype.allowHover;
    /**
     * \@prop shows the arrow or not
     * @type {?}
     */
    TooltipContainerComponent.prototype.showArrow;
    /**
     * \@prop Sets the id for screen reader
     * @type {?}
     */
    TooltipContainerComponent.prototype.id;
    /**
     * \@prop Sets the max-width
     * @type {?}
     */
    TooltipContainerComponent.prototype.maxWidth;
    /** @type {?} */
    TooltipContainerComponent.prototype.mouseLeaveEvent;
    /** @type {?} */
    TooltipContainerComponent.prototype.mouseEnterEvent;
    /** @type {?} */
    TooltipContainerComponent.prototype.classList;
    /** @type {?} */
    TooltipContainerComponent.prototype.isTooltip;
    /**
     * @type {?}
     * @private
     */
    TooltipContainerComponent.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64, 