Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
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 {
}