@flexis/ui
Version:
Styleless React Components
35 lines • 1.38 kB
TypeScript
import { HTMLAttributes, SyntheticEvent, ReactElement, PureComponent } from 'react';
import PropTypes from 'prop-types';
import { CombinePropsAndAttributes } from '../../helpers';
export * from './ExpandTitle';
export * from './ExpandContent';
interface ISelfProps {
defaultActive?: boolean;
active?: boolean;
disabled?: boolean;
children: ReactElement<any>[];
onToggle?(active: boolean, event: Event | SyntheticEvent): any;
}
export declare type IProps = CombinePropsAndAttributes<ISelfProps, HTMLAttributes<HTMLDivElement>>;
interface IState {
active: boolean;
}
export default class Expand extends PureComponent<IProps, IState> {
static propTypes: {
onToggle: PropTypes.Requireable<(...args: any[]) => any>;
defaultActive: PropTypes.Requireable<boolean>;
active: PropTypes.Requireable<boolean>;
disabled: PropTypes.Requireable<boolean>;
children: PropTypes.Validator<PropTypes.ReactElementLike[]>;
};
static defaultProps: {
defaultActive: boolean;
disabled: boolean;
};
static getDerivedStateFromProps({ active, disabled }: IProps, { active: prevActive }: IState): IState;
constructor(props: any);
render(): JSX.Element;
private onToggle;
toggleActiveState(forceState?: boolean, event?: Event | SyntheticEvent): void;
}
//# sourceMappingURL=Expand.d.ts.map