-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathindex.d.ts
178 lines (128 loc) · 3.53 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
import React from 'react'
type PaginationConfig = {
/**
Default false.
Enables infinite scroll, when last element and clicked next it returns to first element.
*/
infinite?: boolean,
/**
Default gray.
Color of unactive dot.
*/
unactiveDotsColor?: string,
/**
Default green.
Color of active dot.
*/
activeDotColor?: string,
/**
Default 1s.
Time of slide to slide animation in s.
*/
transitionTime?: number,
/**
Default 50px.
Distance needed to trigger next or previous slide after touch/mouse up.
*/
minOffsetToChangeSlide?: number,
/**
Default false.
Allows to drag each slide by mouse in web or by touch on mobile.
*/
draggable?: boolean
/**
Default false.
Allows to render elements next to each other
*/
renderNextToEachOther?: boolean
/**
Default false.
Allows scroll with pagination
*/
withScroll?: boolean
}
type RenderPaginationProps = {
/**
returns index of active dot/identifier
*/
selectedDot: number,
/**
returns number of children in slider
*/
childrenCount: number,
/**
returns empty function that triggers transition to next slide (right arrow)
*/
onNext(): void,
/**
returns empty function that triggers transition to previous slide (left arrow)
*/
onPrev(): void,
/**
returns function that requires index of clicked dot/selector, invokes transition to clicked dot/selector
*/
onDotClick(index: number): void
}
type StartAt = {
/**
Defines index of start element (scrolled to when componentDidMount)
*/
startIndex: number,
/**
Defines alignment of start element
If set to true, target element will be centered
*/
center?: boolean
}
export type ReactSmartScrollerProps = {
/**
Default undefined.
If given defines number of columns per container width.
If 1, width of each child is 100%of container width.
If not provided ( default ) width is inherited from children.
*/
numCols?: number,
/**
Default 0.
Defines space in pixels between columns.
Spacing is based on padding of each element.
*/
spacing?: number,
/**
Default undefined.
Overrides base style of track.
*/
trackProps?: React.CSSProperties,
/**
Default rectangle.
Base rectangle element has adaptive width, dependent on length of children.
Provided JSX.Element replaces original thumb.
*/
thumb?: JSX.Element,
/**
Default false.
Defines direction of scrollbar - horizontal in default.
If true, it resize automatically.
To avoid such behaviour define wrapper with targeted height,
then ReactSmartSlider will take parent's height.
*/
vertical?: boolean,
/**
Default false.
If set to true allows to scroll by dragging content.
*/
draggable?: boolean,
/**
Default false.
If set to true renders Slider.
*/
pagination?: boolean,
startAt?: StartAt,
paginationConfig?: PaginationConfig,
style?: React.CSSProperties,
/**
Function that renders custom arrows and currently selected element.
*/
renderPagination?(options: RenderPaginationProps): JSX.Element
}
export class ReactSmartScroller extends React.Component<ReactSmartScrollerProps> {}