@razorpay/blade
Version:
The Design System that powers Razorpay
44 lines (40 loc) • 2.46 kB
JavaScript
import _defineProperty from '@babel/runtime/helpers/defineProperty';
import 'react';
import styled, { keyframes, css } from 'styled-components';
import '../../BladeProvider/index.js';
import '../../../utils/makeMotionTime/index.web.js';
import { jsx } from 'react/jsx-runtime';
import useTheme from '../../BladeProvider/useTheme.js';
import { makeMotionTime } from '../../../utils/makeMotionTime/makeMotionTime.web.js';
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var fadeIn = /*#__PURE__*/keyframes(["from{transform:scale(.6);opacity:0;}to{transform:scale(1);opacity:1;}"]);
var fadeOut = /*#__PURE__*/keyframes(["from{transform:scale(1);opacity:1;}to{transform:scale(.6);opacity:0;}"]);
var AnimatedFade = /*#__PURE__*/styled.div.withConfig({
displayName: "Fadeweb__AnimatedFade",
componentId: "sc-1h424tv-0"
})(function (_ref) {
var animationType = _ref.animationType;
return animationType === null ? '' : css(["", ""], animationType);
});
var Fade = function Fade(_ref2) {
var show = _ref2.show,
children = _ref2.children,
styles = _ref2.styles;
var _useTheme = useTheme(),
theme = _useTheme.theme;
var duration = theme.motion.duration.xquick;
var enter = /*#__PURE__*/css(["animation:", " ", " ", ";"], fadeIn, makeMotionTime(duration), theme.motion.easing.entrance);
var exit = /*#__PURE__*/css(["animation:", " ", " ", ";"], fadeOut, makeMotionTime(duration), theme.motion.easing.exit);
// if show is undefined do not initialize the animation to prevent flash of animation
var animation = show === undefined ? null : show ? enter : exit;
return /*#__PURE__*/jsx(AnimatedFade, {
animationType: animation,
style: _objectSpread({
opacity: show ? 1 : 0
}, styles),
children: children
});
};
export { Fade };
//# sourceMappingURL=Fade.web.js.map