import * as React from 'react'; import { TransitionProps } from '../transitions/transition'; export interface SlideProps extends TransitionProps { /** * Perform the enter transition when it first mounts if `in` is also `true`. * Set this to `false` to disable this behavior. * @default true */ appear?: boolean; /** * A single child content element. */ children: React.ReactElement; /** * An HTML element, or a function that returns one. * It's used to set the container the Slide is transitioning from. */ container?: null | Element | ((element: Element) => Element); /** * Direction the child node will enter from. * @default 'down' */ direction?: 'left' | 'right' | 'up' | 'down'; /** * The transition timing function. * You may specify a single easing or a object containing enter and exit values. * @default { * enter: 'cubic-bezier(0.0, 0, 0.2, 1)', * exit: 'cubic-bezier(0.4, 0, 0.6, 1)', * } */ easing?: TransitionProps['easing']; /** * If `true`, the component will transition in. */ in?: TransitionProps['in']; ref?: React.Ref; /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. * @default { * enter: 225, * exit: 195, * } */ timeout?: TransitionProps['timeout']; /** * The component used for the transition. * @default Transition */ TransitionComponent?: React.ComponentType; }