"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
/* tslint:disable:no-unused-variable */
var React = require("react");
/* tslint:enable:no-unused-variable */
var Utilities_1 = require("../../Utilities");
var TeachingBubbleContent_1 = require("./TeachingBubbleContent");
var Callout_1 = require("../../Callout");
var stylesImport = require("./TeachingBubble.scss");
var styles = stylesImport;
var TeachingBubble = /** @class */ (function (_super) {
    tslib_1.__extends(TeachingBubble, _super);
    // Constructor
    function TeachingBubble(props) {
        var _this = _super.call(this, props) || this;
        _this.state = {};
        _this._defaultCalloutProps = {
            beakWidth: 16,
            gapSpace: 0,
            setInitialFocus: true,
            doNotLayer: false,
            directionalHint: 12 /* rightCenter */,
        };
        return _this;
    }
    TeachingBubble.prototype.render = function () {
        var _a = this.props, setCalloutProps = _a.calloutProps, targetElement = _a.targetElement, onDismiss = _a.onDismiss;
        var calloutProps = tslib_1.__assign({}, this._defaultCalloutProps, setCalloutProps);
        return (React.createElement(Callout_1.Callout, tslib_1.__assign({ className: Utilities_1.css('ms-TeachingBubble', styles.root, this.props.isWide ? styles.wideCallout : null), ref: this._resolveRef('_callout'), target: targetElement, onDismiss: onDismiss }, calloutProps),
            React.createElement(TeachingBubbleContent_1.TeachingBubbleContent, tslib_1.__assign({}, this.props))));
    };
    TeachingBubble.defaultProps = {
        /**
         * Default calloutProps is deprecated in favor of private _defaultCalloutProps.
         * Remove in next release.
         * @deprecated
         */
        calloutProps: {
            beakWidth: 16,
            gapSpace: 0,
            setInitialFocus: true,
            doNotLayer: false,
            directionalHint: 12 /* rightCenter */,
        }
    };
    return TeachingBubble;
}(Utilities_1.BaseComponent));
exports.TeachingBubble = TeachingBubble;
//# sourceMappingURL=TeachingBubble.js.map