import React from 'react'; import { Transition } from '@douyinfe/semi-animation-react'; function QueueTransition({ children, state, position = 'right', ...rest }) { const propMap = { left: { type: 'translateX', ratio: -1, }, right: { type: 'translateX', ratio: 1, }, top: { type: 'translateY', ratio: -1, }, bottom: { type: 'translateY', ratio: 1, }, }; let translateObj = propMap[position]; if (!translateObj) { translateObj = propMap.right; } const translateType = translateObj.type; const translateRatio = translateObj.ratio; return React.Children.map(children, (child, idx) => ( {(props = {}) => React.cloneElement(child, { ...child.props, style: { ...child.props.style, opacity: props.opacity, transform: `${[translateType]}(${props[translateType]}%)`, }, })} )); } export default QueueTransition;