lucid-ui
Version:
A UI component library from Xandr.
86 lines • 3.1 kB
TypeScript
import React from 'react';
import PropTypes from 'prop-types';
import { StandardProps } from '../../util/component-types';
export interface ICollapsibleProps extends StandardProps {
/** Indicates that the component is in the "expanded" state when true and in
* the "unexpanded" state when false. */
isExpanded: boolean;
/** Show an animated transition for alternating values of \`isExpanded\`. */
isAnimated: boolean;
/** If true, do not render children when fully collapsed. */
isMountControlled: boolean;
/** If \isMountControlled\ is true, this value sets is the minimum height
* the container needs to reach to not render any children. */
mountControlThreshold: number;
/** Pass in a custom root element type. */
rootType: any;
/** Pass in a callback to be called after ExpanderPanel has came to a rest. */
onRest?: () => void;
}
export interface ICollapsibleState {
maxHeight: number;
}
declare class Collapsible extends React.Component<ICollapsibleProps, ICollapsibleState, {}> {
static displayName: string;
static peek: {
description: string;
categories: string[];
};
static propTypes: {
/**
Expandable content.
*/
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
/**
Appended to the component-specific class names set on the root element.
*/
className: PropTypes.Requireable<string>;
/**
Indicates that the component is in the "expanded" state when true and in
the "unexpanded" state when false.
*/
isExpanded: PropTypes.Requireable<boolean>;
/**
Show an animated transition for alternating values of \`isExpanded\`.
*/
isAnimated: PropTypes.Requireable<boolean>;
/**
If true, do not render children when fully collapsed.
*/
isMountControlled: PropTypes.Requireable<boolean>;
/**
If \`isMountControlled\` is true, this value sets is the minimum height
the container needs to reach to not render any children.
*/
mountControlThreshold: PropTypes.Requireable<number>;
/**
Optional. The callback that fires when the animation comes to a rest.
*/
onRest: PropTypes.Requireable<(...args: any[]) => any>;
/**
Pass in a custom root element type.
*/
rootType: PropTypes.Requireable<any>;
};
private rootRef;
isAnimated: boolean | undefined;
delayTimer: number | null;
_isMounted: boolean;
static defaultProps: {
isExpanded: boolean;
isAnimated: boolean;
isMountControlled: boolean;
mountControlThreshold: number;
rootType: string;
};
state: {
maxHeight: number;
};
UNSAFE_componentWillMount(): void;
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
render(): React.ReactNode;
}
export default Collapsible;
//# sourceMappingURL=Collapsible.d.ts.map