import * as tslib_1 from "tslib";
import * as React from 'react';
import { BaseComponent, css } from '../../Utilities';
import { TeachingBubbleContent } from './TeachingBubbleContent';
import { Callout } from '../../Callout';
import * as stylesImport from './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, tslib_1.__assign({ target: targetElement, onDismiss: onDismiss }, calloutProps, { className: css('ms-TeachingBubble', styles.root, this.props.isWide ? styles.wideCallout : null, calloutProps ? calloutProps.className : undefined) }),
            React.createElement(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;
}(BaseComponent));
export { TeachingBubble };
//# sourceMappingURL=TeachingBubble.js.map