import { Box, Collapse, Fade, Grow, Slide, Zoom } from '@mui/material';
import { PropsWithChildren, forwardRef } from 'react';
type TransitionsProps = PropsWithChildren<{
type?: 'grow' | 'fade' | 'collapse' | 'slide' | 'zoom';
position?: 'top-left' | 'top-right' | 'top' | 'bottom-left' | 'bottom-right' | 'bottom';
direction?: 'up' | 'down' | 'left' | 'right';
}>;
const Transitions = forwardRef(
({ children, position = 'top-left', type = 'grow', direction = 'up', ...others }: TransitionsProps, ref) => {
let positionSX = {
transformOrigin: '0 0 0'
};
switch (position) {
case 'top-right':
positionSX = {
transformOrigin: 'top right'
};
break;
case 'top':
positionSX = {
transformOrigin: 'top'
};
break;
case 'bottom-left':
positionSX = {
transformOrigin: 'bottom left'
};
break;
case 'bottom-right':
positionSX = {
transformOrigin: 'bottom right'
};
break;
case 'bottom':
positionSX = {
transformOrigin: 'bottom'
};
break;
case 'top-left':
default:
positionSX = {
transformOrigin: '0 0 0'
};
break;
}
return (
{type === 'grow' && (
{children}
)}
{type === 'collapse' && (
{children}
)}
{type === 'fade' && (
{children}
)}
{type === 'slide' && (
{children}
)}
{type === 'zoom' && (
{children}
)}
);
}
);
const PopupTransition = forwardRef(function Transition(props, ref) {
// @ts-ignore
return ;
});
export { PopupTransition, Transitions };