import React from "react"; import { Transition } from "./Transition"; import { TransitionContext } from "./TransitionContainer"; interface ITransitionPanelProps { /** * The panel name unique within a transition container. */ name?: string; children: React.ReactNode | ((value: T) => React.ReactNode); /** * Data which will be passed into a child callback method. * Use this to temporarily keep a reference to the data used in the panel while it is transitioned out. */ data?: T | null; /** * Controls whether the panel is visible. * If the value is an object, then it is also used as the `data` prop and will be passed into a child callback method. * Not recommended when more than 2 panels are used. In that case, manually control the selected panel using a TransitionController. */ isVisible?: boolean | T | null; /** Override the transition for this panel only. */ transition?: Transition; /** Indicates whether the container height is set during a transition. Transitions going from small height to a very large height may look better without height animation. * `True` by default. */ animateHeight?: boolean; } export default class TransitionPanel extends React.Component> { static contextType: React.Context; context: React.ContextType; constructor(props: ITransitionPanelProps); private name; private currentData?; private panelRef; componentDidMount(): void; componentDidUpdate(): void; private afterRender; componentWillUnmount(): void; get isVisible(): boolean; render(): React.JSX.Element | undefined; } export {};