text: define(["require", "exports", "tslib", "react", "../../Utilities", "./TeachingBubbleContent", "../../Callout", "../../common/DirectionalHint"], function (require, exports, tslib_1, React, Utilities_1, TeachingBubbleContent_1, Callout_1, DirectionalHint_1) {
      "use strict";
      Object.defineProperty(exports, "__esModule", { value: true });
      var getClassNames = Utilities_1.classNamesFunction();
      var TeachingBubbleBase = /** @class */ (function (_super) {
          tslib_1.__extends(TeachingBubbleBase, _super);
          // Constructor
          function TeachingBubbleBase(props) {
              var _this = _super.call(this, props) || this;
              _this.rootElement = React.createRef();
              _this.state = {};
              _this._defaultCalloutProps = {
                  beakWidth: 16,
                  gapSpace: 0,
                  setInitialFocus: true,
                  doNotLayer: false,
                  directionalHint: DirectionalHint_1.DirectionalHint.rightCenter
              };
              return _this;
          }
          TeachingBubbleBase.prototype.focus = function () {
              if (this.rootElement.current) {
                  this.rootElement.current.focus();
              }
          };
          TeachingBubbleBase.prototype.render = function () {
              var _a = this.props, setCalloutProps = _a.calloutProps, targetElement = _a.targetElement, onDismiss = _a.onDismiss, isWide = _a.isWide, styles = _a.styles, theme = _a.theme, target = _a.target;
              var calloutProps = tslib_1.__assign({}, this._defaultCalloutProps, setCalloutProps);
              var stylesProps = {
                  theme: theme,
                  isWide: isWide,
                  calloutClassName: calloutProps ? calloutProps.className : undefined
              };
              var classNames = getClassNames(styles, stylesProps);
              var calloutStyles = classNames.subComponentStyles
                  ? classNames.subComponentStyles.callout
                  : undefined;
              return (React.createElement(Callout_1.Callout, tslib_1.__assign({ target: target || targetElement, onDismiss: onDismiss }, calloutProps, { className: classNames.root, styles: calloutStyles, hideOverflow: true }),
                  React.createElement("div", { ref: this.rootElement },
                      React.createElement(TeachingBubbleContent_1.TeachingBubbleContent, tslib_1.__assign({}, this.props)))));
          };
          TeachingBubbleBase.defaultProps = {
              /**
               * Default calloutProps is deprecated in favor of private `_defaultCalloutProps`.
               * Remove in next release.
               * @deprecated In favor of private `_defaultCalloutProps`.
               */
              calloutProps: {
                  beakWidth: 16,
                  gapSpace: 0,
                  setInitialFocus: true,
                  doNotLayer: false,
                  directionalHint: DirectionalHint_1.DirectionalHint.rightCenter
              }
          };
          return TeachingBubbleBase;
      }(Utilities_1.BaseComponent));
      exports.TeachingBubbleBase = TeachingBubbleBase;
  });
  //# sourceMappingURL=TeachingBubble.base.js.map