@reactodia/workspace
Version:
Reactodia Workspace -- library for visual interaction with graphs in a form of a diagram.
42 lines • 1.52 kB
TypeScript
import * as React from 'react';
import { AccordionItemProps } from './accordionItem';
export interface AccordionProps {
onStartResize?: (direction: 'vertical' | 'horizontal') => void;
onResize?: (direction: 'vertical' | 'horizontal') => void;
children?: React.ReactElement<AccordionItemProps> | ReadonlyArray<React.ReactElement<AccordionItemProps>>;
direction?: 'vertical' | 'horizontal';
animationDuration?: number;
}
interface State {
readonly sizes: number[];
readonly percents: string[];
readonly collapsed: boolean[];
readonly resizing: boolean;
}
type DefaultPropKeys = 'direction' | 'animationDuration';
export declare class Accordion extends React.Component<AccordionProps, State> {
static defaultProps: Required<Pick<AccordionProps, DefaultPropKeys>>;
private element;
private items;
private dragOrigin;
private defaultProps;
private isScrollable;
constructor(props: AccordionProps);
componentDidMount(): void;
componentDidUpdate(prevProps: AccordionProps, prevState: State): void;
private get isVertical();
private clientSize;
private offsetSize;
private updateSizes;
render(): import("react/jsx-runtime").JSX.Element;
private onElementMount;
private renderItems;
private onBeginDragHandle;
private onEndDragHandle;
private computeEffectiveItemSizes;
private sizeWhenCollapsed;
private onDragHandle;
private onItemChangeCollapsed;
}
export {};
//# sourceMappingURL=accordion.d.ts.map