choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
87 lines (86 loc) • 2.53 kB
TypeScript
import { Component, CSSProperties } from 'react';
import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext';
export declare type CarouselEffect = 'scrollx' | 'fade';
export declare enum CarouselTheme {
DARK = "dark",
LIGHT = "light"
}
export interface CarouselProps {
effect?: CarouselEffect;
dots?: boolean;
theme?: CarouselTheme;
vertical?: boolean;
autoplay?: boolean;
easing?: string;
beforeChange?: (from: number, to: number) => void;
afterChange?: (current: number) => void;
style?: CSSProperties;
prefixCls?: string;
accessibility?: boolean;
nextArrow?: HTMLElement | any;
prevArrow?: HTMLElement | any;
pauseOnHover?: boolean;
className?: string;
adaptiveHeight?: boolean;
arrows?: boolean;
autoplaySpeed?: number;
centerMode?: boolean;
centerPadding?: string | any;
cssEase?: string | any;
dotsClass?: string;
draggable?: boolean;
fade?: boolean;
focusOnSelect?: boolean;
infinite?: boolean;
initialSlide?: number;
lazyLoad?: boolean;
rtl?: boolean;
slide?: string;
slidesToShow?: number;
slidesToScroll?: number;
speed?: number;
swipe?: boolean;
swipeToSlide?: boolean;
touchMove?: boolean;
touchThreshold?: number;
variableWidth?: boolean;
useCSS?: boolean;
slickGoTo?: number;
dotsActionType?: ["click", "hover"];
verticalSwiping?: boolean;
pauseOnDotsHover?: boolean;
pauseOnArrowsHover?: boolean;
}
export default class Carousel extends Component<CarouselProps> {
static displayName: string;
static get contextType(): typeof ConfigContext;
static defaultProps: {
dots: boolean;
arrows: boolean;
draggable: boolean;
theme: CarouselTheme;
pauseOnDotsHover: boolean;
pauseOnArrowsHover: boolean;
dotsActionType: string[];
};
context: ConfigContextValue;
innerSlider: any;
wrapper: HTMLElement | null;
arrowsRef: NodeListOf<Element>;
dotsRef: NodeListOf<Element>;
private slick;
private onWindowResized;
componentDidMount(): void;
componentWillUnmount(): void;
bindDotsEvent(): void;
bindArrowEvent(): void;
handleDotsHover(index: any): void;
handleArrowMouseChange: (event: any) => void;
saveSlick: (node: any) => void;
play(): void;
pause(): void;
next(): void;
prev(): void;
goTo(slide: number, dontAnimate?: boolean): void;
render(): JSX.Element;
}