UNPKG

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