import * as React from 'react'; import { InlineStyles } from '../../Collector'; import { Duration } from '../types'; export interface ReshapingContainerProps { /** * Will trigger the animation when this key changes. * Change this when you want the animations to trigger, * ideally when the children JSX has changed. */ triggerKey: string; /** * Children as function. * Will receive an object with className, style, and ref. */ children: (opts: { style: InlineStyles; }) => React.ReactNode; /** * Defaults to "div". * Any valid HTML tag allowed. */ as: string; /** * Used the same as the CSS property. * E.g. "3px" */ borderRadius?: string; /** * Used the same as the CSS property. * E.g. "rgba(0, 0, 0, 0.5)" */ background?: string; /** * Used the same as the CSS property. * E.g. "0 1px 50px rgba(32, 33, 36, 0.1)" */ boxShadow?: string; /** * Padding. * Use only px values, otherwise same as the CSS property. * E.g. "10px" */ padding: string; /** * Used the same as the CSS property. * E.g. "500px" */ maxWidth?: string; /** * Used the same as the CSS property. * * E.g. "500px" */ maxHeight?: string; /** * Used the same as the CSS property. * * E.g. "500px" */ minWidth?: string; /** * Used the same as the CSS property. * * E.g. "500px" */ minHeight?: string; /** * Used the same as the CSS property. * E.g. "20px auto" */ margin?: string; /** * Takes either "dynamic" or a number in ms. * How long the animation should take over {duration}ms. * Defaults to "dynamic". */ duration?: Duration; /** * Used the same as the CSS property. * Defaults to what the "as" prop is. */ display?: string; /** * Used the same as the CSS property. * E.g. "relative" */ position?: string; /** * Timing function to be used in the transition. */ timingFunction?: string; } export default class ReshapingContainer extends React.PureComponent { static defaultProps: { as: string; }; render(): JSX.Element; }