zent
Version:
一套前端设计语言和基于React的实现
80 lines (79 loc) • 2.85 kB
TypeScript
import { Component } from 'react';
import { IDotsType, IDotsTheme } from './SwiperDots';
export interface ISwiperProps {
className?: string;
transitionDuration?: number;
autoplay?: boolean;
autoplayInterval?: number;
dots?: boolean | IDotsType;
dotsColor?: string;
dotsSize?: 'normal' | 'small' | 'large';
dotsTheme?: IDotsTheme;
arrows?: boolean | 'hover';
arrowsDisabled?: {
left?: boolean;
right?: boolean;
};
arrowsSize: 'normal' | 'large';
arrowsType?: 'dark' | 'light';
onChange?: (current: number, prev: number | null) => void;
children?: React.ReactNode;
renderPrevArrow?: (onPrev: () => void, disabled: boolean) => React.ReactNode;
renderNextArrow?: (onNext: () => void, disabled: boolean) => React.ReactNode;
}
export interface ISwiperState {
currentIndex: number;
prevProps?: ISwiperProps;
}
export declare class Swiper extends Component<ISwiperProps, ISwiperState> {
static defaultProps: {
className: string;
transitionDuration: number;
autoplay: boolean;
autoplayInterval: number;
dots: boolean;
dotsTheme: string;
dotsSize: string;
arrows: boolean;
arrowsSize: string;
arrowsType: string;
arrowsDisabled: {
left: boolean;
right: boolean;
};
renderPrevArrow: (onPrev: () => void, disabled: boolean) => import("react").ReactNode;
renderNextArrow: (onNext: () => void, disabled: boolean) => import("react").ReactNode;
};
swiper: HTMLDivElement;
swiperContainer: HTMLDivElement;
swiperWidth: number;
autoplayTimer?: number;
isSwiping: boolean;
isMouseEnter: boolean;
state: {
currentIndex: number;
};
init: (isResetToOrigin?: boolean) => void;
getSwiper: (swiper: HTMLDivElement) => void;
getSwiperContainer: (swiperContainer: HTMLDivElement) => void;
setSwiperWidth: () => void;
startAutoplay: () => void;
clearAutoplay: () => void;
next: () => void;
prev: () => void;
swipeTo: (index: number) => void;
translate: (currentIndex: number, prevIndex: number | null, isSilent?: boolean) => void;
resetPosition: (currentIndex: number) => void;
getRealPrevIndex: (index: number | null) => number;
cloneChildren: (children?: React.ReactNode) => import("react").ReactNode;
handleMouseEnter: () => void;
handleMouseLeave: () => void;
handleDotsClick: (index: number) => void;
handleResize: () => void;
static getDerivedStateFromProps(props: ISwiperProps, state: ISwiperState): Partial<ISwiperState> | null;
componentDidMount(): void;
componentDidUpdate(prevProps: ISwiperProps, prevState: ISwiperState): void;
componentWillUnmount(): void;
render(): JSX.Element;
}
export default Swiper;