UNPKG

chowa

Version:

UI component library based on React

89 lines (88 loc) 2.75 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import * as React from 'react'; import * as PropTypes from 'prop-types'; export interface CarouselProps { className?: string; style?: React.CSSProperties; current?: number; autoPlay?: boolean; delay?: number; showPages?: boolean; pagesPlacement?: 'inside' | 'outside'; showArrow?: boolean; arrowTrigger?: 'hover' | 'always' | 'never'; effect?: 'slide' | 'fade' | 'smash'; smashRow?: number; smashCol?: number; } export interface CarouselState { clientWidth: number; clientHeight: number; activeIndex: number; amount: number; arrowVisible: boolean; slideEffectStyle: React.CSSProperties; slideLock: boolean; } declare class Carousel extends React.PureComponent<CarouselProps, CarouselState> { static propTypes: { className: PropTypes.Requireable<string>; style: PropTypes.Requireable<object>; current: PropTypes.Requireable<number>; autoPlay: PropTypes.Requireable<boolean>; delay: PropTypes.Requireable<number>; showPages: PropTypes.Requireable<boolean>; pagesPlacement: PropTypes.Requireable<string>; showArrow: PropTypes.Requireable<boolean>; arrowTrigger: PropTypes.Requireable<string>; effect: PropTypes.Requireable<string>; smashRow: PropTypes.Requireable<number>; smashCol: PropTypes.Requireable<number>; }; static defaultProps: { current: number; autoPlay: boolean; delay: number; showPages: boolean; pagesPlacement: string; showArrow: boolean; arrowTrigger: string; effect: string; smashRow: number; smashCol: number; }; static Item: React.SFC<import("./carousel-item").CarouselItemProps>; private timer; private resizeObserver; private wrapperEle; constructor(props: CarouselProps & { children: React.ReactNode; }); componentDidMount(): void; componentDidUpdate(preProps: CarouselProps & { children: React.ReactNode; }): void; componentWillUnmount(): void; private updateRenderParams; private computedItemAmount; private clearTimer; private crontab; private preItemHandler; private nextItemHandler; private onMouseLeaveHandler; private onMouseEnterHandler; private selectPageHandler; private onSlideTransitionEnd; private compileItems; private renderPages; private renderArrow; render(): JSX.Element; } export default Carousel;