Repository URL to install this package:
|
Version:
4.0.59 ▾
|
import { ReactNode } from 'react';
export interface CardRenderProp {
(props: CardProps, state: CardState): ReactNode;
}
export interface ClickHandler {
(event: Event): void;
}
/**
* PROPS
*/
export interface CardProps {
className?: string;
children?: ReactNode;
nowrap?: boolean;
/**
* where we rendering the main card
* @alias renderWrap
* @alias renderCard
*/
renderWrap?: CardRenderProp;
renderToggleButton?: CardRenderProp;
renderDefaultView?: CardRenderProp;
renderExpandedView?: CardRenderProp;
state?: BaseCardState;
}
/**
* STATES
*/
export interface BaseCardState {
isExpanded: boolean;
isConfirming: boolean;
/**
* @note - this is not passed in, this state HAS the handler
*/
handleClick: ClickHandler;
render(props: CardProps): ReactNode;
setIsExpanded(isExpanded: boolean): BaseCardState;
setIsConfirming(isConfirming: boolean): BaseCardState;
handleToggle(): void;
handleConfirm(): void;
handleConfirmCancel(): void;
}
export interface CardPropsProvidedByState {
onClick: ClickHandler;
}
export interface CardState extends BaseCardState {
}