react-bootstrap
Version:
Bootstrap 4 components built with React
59 lines (45 loc) • 2.13 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _classnames = _interopRequireDefault(require("classnames"));
var _react = _interopRequireWildcard(require("react"));
var _Transition = _interopRequireWildcard(require("react-transition-group/Transition"));
var _transitionEndListener = _interopRequireDefault(require("./transitionEndListener"));
var _triggerBrowserReflow = _interopRequireDefault(require("./triggerBrowserReflow"));
var _fadeStyles;
var defaultProps = {
in: false,
timeout: 300,
mountOnEnter: false,
unmountOnExit: false,
appear: false
};
var fadeStyles = (_fadeStyles = {}, _fadeStyles[_Transition.ENTERING] = 'show', _fadeStyles[_Transition.ENTERED] = 'show', _fadeStyles);
var Fade = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
var className = _ref.className,
children = _ref.children,
props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["className", "children"]);
var handleEnter = (0, _react.useCallback)(function (node) {
(0, _triggerBrowserReflow.default)(node);
if (props.onEnter) props.onEnter(node);
}, [props]);
return /*#__PURE__*/_react.default.createElement(_Transition.default, (0, _extends2.default)({
ref: ref,
addEndListener: _transitionEndListener.default
}, props, {
onEnter: handleEnter
}), function (status, innerProps) {
return /*#__PURE__*/_react.default.cloneElement(children, (0, _extends2.default)({}, innerProps, {
className: (0, _classnames.default)('fade', className, children.props.className, fadeStyles[status])
}));
});
});
Fade.defaultProps = defaultProps;
Fade.displayName = 'Fade';
var _default = Fade;
exports.default = _default;
module.exports = exports["default"];
;