var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __assign = (this && this.__assign) || Object.assign || function(t) {
    for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];
        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
            t[p] = s[p];
    }
    return t;
};
define(["require", "exports", "react", "../../Utilities", "./Tooltip.Props", "../../Callout", "../../common/DirectionalHint", "./Tooltip.scss", "@uifabric/styling"], function (require, exports, React, Utilities_1, Tooltip_Props_1, Callout_1, DirectionalHint_1, stylesImport, styling_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var styles = stylesImport;
    var Tooltip = (function (_super) {
        __extends(Tooltip, _super);
        function Tooltip() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        Tooltip.prototype.render = function () {
            var _a = this.props, targetElement = _a.targetElement, content = _a.content, calloutProps = _a.calloutProps, directionalHint = _a.directionalHint, delay = _a.delay, id = _a.id, _b = _a.onRenderContent, onRenderContent = _b === void 0 ? this._onRenderContent : _b;
            return (React.createElement(Callout_1.Callout, __assign({ className: Utilities_1.css('ms-Tooltip ' + styling_1.AnimationClassNames.fadeIn200, styles.root, (_c = {},
                    _c[styles.hasMediumDelay] = delay === Tooltip_Props_1.TooltipDelay.medium,
                    _c)), targetElement: targetElement, directionalHint: directionalHint }, calloutProps, Utilities_1.getNativeProps(this.props, Utilities_1.divProperties)),
                React.createElement("div", { className: Utilities_1.css('ms-Tooltip-content', styles.content), id: id, role: 'tooltip' }, onRenderContent(this.props, this._onRenderContent))));
            var _c;
        };
        Tooltip.prototype._onRenderContent = function (props) {
            return (React.createElement("p", { className: Utilities_1.css('ms-Tooltip-subText', styles.subText) }, props.content));
        };
        return Tooltip;
    }(Utilities_1.BaseComponent));
    // Specify default props values
    Tooltip.defaultProps = {
        directionalHint: DirectionalHint_1.DirectionalHint.topCenter,
        delay: Tooltip_Props_1.TooltipDelay.medium,
        calloutProps: {
            isBeakVisible: true,
            beakWidth: 16,
            gapSpace: 0,
            setInitialFocus: true,
            doNotLayer: false
        }
    };
    exports.Tooltip = Tooltip;
});

//# sourceMappingURL=Tooltip.js.map
