UNPKG

@activecollab/components

Version:

ActiveCollab Components

40 lines 1.16 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import React, { cloneElement, useMemo } from "react"; import { Transition } from "react-transition-group"; const transitionStyles = { entered: { transform: "scale(1)" }, exiting: { transform: "scale(0)" } }; export const Scale = _ref => { let _ref$in = _ref.in, inProp = _ref$in === void 0 ? false : _ref$in, onEnter = _ref.onEnter, onExited = _ref.onExited, children = _ref.children, style = _ref.style, _ref$timeout = _ref.timeout, timeout = _ref$timeout === void 0 ? 200 : _ref$timeout; const defaultStyle = useMemo(() => { return { transitionProperty: "transform", transitionDuration: timeout + "ms", transform: "scale(0)" }; }, [timeout]); return /*#__PURE__*/React.createElement(Transition, { in: inProp, timeout: timeout, onEnter: onEnter, onExited: onExited }, state => { return /*#__PURE__*/cloneElement(children, { style: _extends({}, defaultStyle, transitionStyles[state], style, children.props.style) }); }); }; Scale.displayName = "Scale"; //# sourceMappingURL=Scale.js.map