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';
/**
 * DEFAULT PROPS
 */
interface MediaCarouselCommonProps {
    type?: string;
    gridGap: number;
    desktopColSpan: number;
    tabletColSpan: number;
    mobileColSpan: number;
}
/**
 * RENDER PROPS
 */
interface MediaCarouselRenderProp extends Function {
    (props: MediaCarouselProps, state?: MediaCarouselStateType): ReactNode;
}
interface ItemRenderProp extends Function {
    (item: CarouselItemProps, state?: MediaCarouselStateType): ReactNode;
}
interface CarouselItemProps {
    [key: string]: string | number | boolean;
}
declare type CarouselListType = Array<CarouselItemProps>;
/**
 * MEDIA CAROUSEL PROPS
 */
interface MediaCarouselProps extends MediaCarouselCommonProps {
    className?: string;
    children?: ReactNode;
    state?: MediaCarouselStateType;
    list?: CarouselListType;
    renderItem?: ItemRenderProp;
    renderBullets?: MediaCarouselRenderProp;
    renderArrows?: MediaCarouselRenderProp;
    renderList?: MediaCarouselRenderProp;
    renderCarouselPanel?: MediaCarouselRenderProp;
    renderWrapper?: MediaCarouselRenderProp;
}
/**
 * STATE
 */
export interface MediaCarouselStateType {
    position: number;
    count: number;
    slides: number;
    shouldLeftNavActive: boolean;
    shouldRightNavActive: boolean;
    translatePercentage?: number;
    setStep(step: number): void;
    setPosition(currentPosition: number): void;
    toNext(): void;
    toPrevious(): void;
    goTo(position: number): void;
}
export { CarouselItemProps, MediaCarouselProps };