text: "use strict";
  
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  
  exports.__esModule = true;
  exports.default = void 0;
  
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  
  var _objectSpread4 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
  
  var _react = _interopRequireDefault(require("react"));
  
  var _propTypes = _interopRequireDefault(require("prop-types"));
  
  var _classnames = _interopRequireDefault(require("classnames"));
  
  var _utils = require("./utils");
  
  var _Fade = _interopRequireDefault(require("./Fade"));
  
  var propTypes = {
    children: _propTypes.default.node,
    className: _propTypes.default.string,
    cssModule: _propTypes.default.object,
    fade: _propTypes.default.bool,
    isOpen: _propTypes.default.bool,
    tag: _utils.tagPropType,
    transition: _propTypes.default.shape(_Fade.default.propTypes),
    innerRef: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string, _propTypes.default.func])
  };
  var defaultProps = {
    isOpen: true,
    tag: 'div',
    fade: true,
    transition: (0, _objectSpread4.default)({}, _Fade.default.defaultProps, {
      unmountOnExit: true
    })
  };
  
  function Toast(props) {
    var className = props.className,
        cssModule = props.cssModule,
        Tag = props.tag,
        isOpen = props.isOpen,
        children = props.children,
        transition = props.transition,
        fade = props.fade,
        innerRef = props.innerRef,
        attributes = (0, _objectWithoutPropertiesLoose2.default)(props, ["className", "cssModule", "tag", "isOpen", "children", "transition", "fade", "innerRef"]);
    var classes = (0, _utils.mapToCssModules)((0, _classnames.default)(className, 'toast'), cssModule);
    var toastTransition = (0, _objectSpread4.default)({}, _Fade.default.defaultProps, {}, transition, {
      baseClass: fade ? transition.baseClass : '',
      timeout: fade ? transition.timeout : 0
    });
    return _react.default.createElement(_Fade.default, (0, _extends2.default)({}, attributes, toastTransition, {
      tag: Tag,
      className: classes,
      in: isOpen,
      role: "alert",
      innerRef: innerRef
    }), children);
  }
  
  Toast.propTypes = propTypes;
  Toast.defaultProps = defaultProps;
  var _default = Toast;
  exports.default = _default;