UNPKG

@zohodesk/components

Version:

In this Package, we Provide Some Basic Components to Build Web App

61 lines (52 loc) 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = Animation; var _react = _interopRequireDefault(require("react")); var _defaultProps = require("./props/defaultProps"); var _propTypes = require("./props/propTypes"); var _reactTransitionGroup = require("react-transition-group"); var _utils = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function Animation(props) { var name = props.name, enterDuration = props.enterDuration, exitDuration = props.exitDuration, children = props.children, isActive = props.isActive, unmountOnExit = props.unmountOnExit, _props$onEntered = props.onEntered, onEntered = _props$onEntered === void 0 ? function () {} : _props$onEntered, _props$onExit = props.onExit, onExit = _props$onExit === void 0 ? function () {} : _props$onExit, _props$delayClassName = props.delayClassName, delayClassName = _props$delayClassName === void 0 ? null : _props$delayClassName; var newClassNames = delayClassName ? Object.assign({}, _utils.animationStyle[name], { exit: "".concat(delayClassName, " ").concat(_utils.animationStyle[name].exit) }) : _utils.animationStyle[name]; return /*#__PURE__*/_react["default"].createElement(_reactTransitionGroup.CSSTransition, { classNames: newClassNames && newClassNames, "in": isActive, appear: true, enter: true, exit: true, mountOnEnter: false, unmountOnExit: unmountOnExit, timeout: { enter: enterDuration, exit: exitDuration }, onEntered: onEntered, onExit: onExit }, /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children)); } Animation.propTypes = _propTypes.propTypes; Animation.defaultProps = _defaultProps.defaultProps; // if (__DOCS__) { // Animation.docs = { // componentGroup: 'Animation', // folderName: 'Style Guide', // external: true, // description: ' ' // }; // }