UNPKG

3.45 kBTypeScriptView Raw
1// Type definitions for react-slick 0.23
2// Project: https://github.com/akiran/react-slick
3// Definitions by: Andrey Balokha <https://github.com/andrewBalekha>
4// Giedrius Grabauskas <https://github.com/GiedriusGrabauskas>
5// Andrew Makarov <https://github.com/r3nya>
6// Shannor Trotty <https://github.com/Shannor>
7// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
8// TypeScript Version: 2.8
9
10import * as React from "react";
11
12type ComponentConstructor<TProps> =
13 | React.ComponentClass<TProps>
14 | React.StatelessComponent<TProps>;
15
16export interface CustomArrowProps {
17 className?: string | undefined;
18 style?: React.CSSProperties | undefined;
19 onClick?: React.MouseEventHandler<any> | undefined;
20 currentSlide?: number | undefined;
21 slideCount?: number | undefined;
22}
23
24export interface ResponsiveObject {
25 breakpoint: number;
26 settings: "unslick" | Settings;
27}
28
29export type SwipeDirection = "left" | "down" | "right" | "up" | string;
30
31export type LazyLoadTypes = "ondemand" | "progressive";
32
33export interface Settings {
34 accessibility?: boolean | undefined;
35 adaptiveHeight?: boolean | undefined;
36 afterChange?(currentSlide: number): void;
37 appendDots?(dots: React.ReactNode): JSX.Element;
38 arrows?: boolean | undefined;
39 asNavFor?: Slider | undefined;
40 autoplaySpeed?: number | undefined;
41 autoplay?: boolean | undefined;
42 beforeChange?(currentSlide: number, nextSlide: number): void;
43 centerMode?: boolean | undefined;
44 centerPadding?: string | undefined;
45 className?: string | undefined;
46 cssEase?: string | undefined;
47 customPaging?(index: number): JSX.Element;
48 dotsClass?: string | undefined;
49 dots?: boolean | undefined;
50 draggable?: boolean | undefined;
51 easing?: string | undefined;
52 edgeFriction?: number | undefined;
53 fade?: boolean | undefined;
54 focusOnSelect?: boolean | undefined;
55 infinite?: boolean | undefined;
56 initialSlide?: number | undefined;
57 lazyLoad?: LazyLoadTypes | undefined;
58 nextArrow?: JSX.Element | undefined;
59 onEdge?(swipeDirection: SwipeDirection): void;
60 onInit?(): void;
61 onLazyLoad?(slidesToLoad: number[]): void;
62 onReInit?(): void;
63 onSwipe?(swipeDirection: SwipeDirection): void;
64 pauseOnDotsHover?: boolean | undefined;
65 pauseOnFocus?: boolean | undefined;
66 pauseOnHover?: boolean | undefined;
67 prevArrow?: JSX.Element | undefined;
68 responsive?: ResponsiveObject[] | undefined;
69 rows?: number | undefined;
70 rtl?: boolean | undefined;
71 slide?: string | undefined;
72 slidesPerRow?: number | undefined;
73 slidesToScroll?: number | undefined;
74 slidesToShow?: number | undefined;
75 speed?: number | undefined;
76 swipeToSlide?: boolean | undefined;
77 swipe?: boolean | undefined;
78 swipeEvent?(swipeDirection: SwipeDirection): void;
79 touchMove?: boolean | undefined;
80 touchThreshold?: number | undefined;
81 useCSS?: boolean | undefined;
82 useTransform?: boolean | undefined;
83 variableWidth?: boolean | undefined;
84 vertical?: boolean | undefined;
85 verticalSwiping?: boolean | undefined;
86 waitForAnimate?: boolean | undefined;
87}
88
89declare class Slider extends React.Component<Settings, never> {
90 slickNext(): void;
91 slickPause(): void;
92 slickPlay(): void;
93 slickPrev(): void;
94 slickGoTo(slideNumber: number, dontAnimate?: boolean): void;
95}
96
97export default Slider;