@@ -15,23 +15,23 @@ interface HTMLPropsWithRefCallback<T> extends HTMLProps<T> {
15
15
16
16
export interface ReactSliderProps < T extends number | ReadonlyArray < number > = number > {
17
17
// Disallow children
18
- children ?: never ;
18
+ children ?: never | undefined ;
19
19
20
20
/**
21
21
* `aria-label` for screen-readers to apply to the thumb(s).
22
22
*
23
23
* Use an array for more than one thumb.
24
24
* The length of the array must match the number of thumbs in the `value` array.
25
25
*/
26
- ariaLabel ?: T extends number ? string : ReadonlyArray < string > ;
26
+ ariaLabel ?: T extends number ? string : ReadonlyArray < string > | undefined ;
27
27
28
28
/**
29
29
* aria-labelledby for screen-readers to apply to the thumbs.
30
30
* Used when slider rendered with separate label.
31
31
* Use an array for more than one thumb.
32
32
* The length of the array must match the number of thumbs in the value array.
33
33
*/
34
- ariaLabelledby ?: T extends number ? string : ReadonlyArray < string > ;
34
+ ariaLabelledby ?: T extends number ? string : ReadonlyArray < string > | undefined ;
35
35
36
36
/**
37
37
* `aria-valuetext` for screen-readers.
@@ -46,14 +46,14 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
46
46
* - `state.value` - the current value state
47
47
* - `state.valueNow` - the value of the thumb (i.e. aria-valuenow)
48
48
*/
49
- ariaValuetext ?: string | ( ( value : { index : number ; value : T ; valueNow : number } ) => string ) ;
49
+ ariaValuetext ?: string | ( ( value : { index : number ; value : T ; valueNow : number } ) => string ) | undefined ;
50
50
51
51
/**
52
52
* The css class set on the slider node.
53
53
*
54
54
* @default "slider"
55
55
*/
56
- className ?: string ;
56
+ className ?: string | undefined ;
57
57
58
58
/**
59
59
* Determines the initial position(s) of the thumb(s) and the number of thumbs.
@@ -67,28 +67,28 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
67
67
*
68
68
* @default 0
69
69
*/
70
- defaultValue ?: this[ "value" ] extends T ? never : T ;
70
+ defaultValue ?: ( this[ "value" ] extends T ? never : T ) | undefined ;
71
71
72
72
/**
73
73
* If `true` the thumbs can't be moved.
74
74
*
75
75
* @default false
76
76
*/
77
- disabled ?: boolean ;
77
+ disabled ?: boolean | undefined ;
78
78
79
79
/**
80
80
* Inverts the slider.
81
81
*
82
82
* @default false
83
83
*/
84
- invert ?: boolean ;
84
+ invert ?: boolean | undefined ;
85
85
86
86
/**
87
87
* The CSS class set on the marks.
88
88
*
89
89
* @default "mark"
90
90
*/
91
- markClassName ?: string ;
91
+ markClassName ?: string | undefined ;
92
92
93
93
/**
94
94
* Shows passed marks on the track, if `true` it shows all the marks;
@@ -98,67 +98,67 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
98
98
*
99
99
* @default []
100
100
*/
101
- marks ?: boolean | number | ReadonlyArray < number > ;
101
+ marks ?: boolean | number | ReadonlyArray < number > | undefined ;
102
102
103
103
/**
104
104
* The maximum value of the slider.
105
105
*
106
106
* @default 100
107
107
*/
108
- max ?: number ;
108
+ max ?: number | undefined ;
109
109
110
110
/**
111
111
* The minimum value of the slider.
112
112
*
113
113
* @default 0
114
114
*/
115
- min ?: number ;
115
+ min ?: number | undefined ;
116
116
117
117
/**
118
118
* The minimal distance between any pair of thumbs.
119
119
* Must be positive, but `0` means they can sit on top of each other.
120
120
*
121
121
* @default 0
122
122
*/
123
- minDistance ?: number ;
123
+ minDistance ?: number | undefined ;
124
124
125
125
/**
126
126
* Callback called only after moving a thumb has ended. The callback
127
127
* will only be called if the action resulted in a change.
128
128
*
129
129
* - `value` - the result value, or values if the slider has multiple thumbs and the thumb index
130
130
*/
131
- onAfterChange ?: ( value : T , index : number ) => void ;
131
+ onAfterChange ?: ( ( value : T , index : number ) => void ) | undefined ;
132
132
133
133
/**
134
134
* Callback called before starting to move a thumb. The callback will
135
135
* only be called if the action will result in a change.
136
136
*
137
137
* - `value` - the initial value, or values if the slider has multiple thumbs and the thumb index
138
138
*/
139
- onBeforeChange ?: ( value : T , index : number ) => void ;
139
+ onBeforeChange ?: ( ( value : T , index : number ) => void ) | undefined ;
140
140
141
141
/**
142
142
* Callback called on every value change.
143
143
*
144
144
* - `value` - the new value, or values if the slider has multiple thumbs and the thumb index
145
145
*/
146
- onChange ?: ( value : T , index : number ) => void ;
146
+ onChange ?: ( ( value : T , index : number ) => void ) | undefined ;
147
147
148
148
/**
149
149
* Callback called when the the slider is clicked (thumb or tracks).
150
150
*
151
151
* - `value` - the value at the clicked position
152
152
*/
153
- onSliderClick ?: ( value : number ) => void ;
153
+ onSliderClick ?: ( ( value : number ) => void ) | undefined ;
154
154
155
155
/**
156
156
* Determines whether the slider moves horizontally (from left to right)
157
157
* or vertically (from top to bottom).
158
158
*
159
159
* @default "horizontal"
160
160
*/
161
- orientation ?: "horizontal" | "vertical" ;
161
+ orientation ?: "horizontal" | "vertical" | undefined ;
162
162
163
163
/**
164
164
* The result of the function is the value to be added or subtracted
@@ -168,15 +168,15 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
168
168
*
169
169
* @default step => step * 10
170
170
*/
171
- pageFn ?: ( step : number ) => number ;
171
+ pageFn ?: ( ( step : number ) => number ) | undefined ;
172
172
173
173
/**
174
174
* If `true` the active thumb will push other thumbs within the constraints
175
175
* of `min`, `max`, `step` and `minDistance`.
176
176
*
177
177
* @default false
178
178
*/
179
- pearling ?: boolean ;
179
+ pearling ?: boolean | undefined ;
180
180
181
181
/**
182
182
* Provide a custom render function for the mark node.
@@ -188,7 +188,7 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
188
188
*
189
189
* @default props => <div {...props} />
190
190
*/
191
- renderMark ?: ( props : HTMLPropsWithRefCallback < HTMLSpanElement > ) => JSX . Element | null ;
191
+ renderMark ?: ( ( props : HTMLPropsWithRefCallback < HTMLSpanElement > ) => JSX . Element | null ) | undefined ;
192
192
193
193
/**
194
194
* Provide a custom render function for dynamic thumb content.
@@ -203,10 +203,10 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
203
203
*
204
204
* @default props => <div {...props} />
205
205
*/
206
- renderThumb ?: (
206
+ renderThumb ?: ( (
207
207
props : HTMLPropsWithRefCallback < HTMLDivElement > ,
208
208
state : { index : number ; value : T ; valueNow : number } ,
209
- ) => JSX . Element | null ;
209
+ ) => JSX . Element | null ) | undefined ;
210
210
211
211
/**
212
212
* Provide a custom render function for the track node.
@@ -220,17 +220,17 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
220
220
*
221
221
* @default props => <div {...props} />
222
222
*/
223
- renderTrack ?: (
223
+ renderTrack ?: ( (
224
224
props : HTMLPropsWithRefCallback < HTMLDivElement > ,
225
225
state : { index : number ; value : T } ,
226
- ) => JSX . Element | null ;
226
+ ) => JSX . Element | null ) | undefined ;
227
227
228
228
/**
229
229
* Disables thumb move when clicking the slider track
230
230
*
231
231
* @default false
232
232
*/
233
- snapDragDisabled ?: boolean ;
233
+ snapDragDisabled ?: boolean | undefined ;
234
234
235
235
/**
236
236
* Value to be added or subtracted on each step the slider makes.
@@ -239,13 +239,13 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
239
239
*
240
240
* @default 1
241
241
*/
242
- step ?: number ;
242
+ step ?: number | undefined ;
243
243
244
244
/**
245
245
* The css class set on the thumb that is currently being moved.
246
246
* @default "active"
247
247
*/
248
- thumbActiveClassName ?: string ;
248
+ thumbActiveClassName ?: string | undefined ;
249
249
250
250
/**
251
251
* The css class set on each thumb node.
@@ -254,7 +254,7 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
254
254
* `${thumbClassName}-${i}`, e.g. `thumb-0`, `thumb-1`, ...
255
255
* @default "thumb"
256
256
*/
257
- thumbClassName ?: string ;
257
+ thumbClassName ?: string | undefined ;
258
258
259
259
/**
260
260
* The css class set on the tracks between the thumbs.
@@ -263,19 +263,19 @@ export interface ReactSliderProps<T extends number | ReadonlyArray<number> = num
263
263
* `${trackClassName}-${i}`, e.g. `track-0`, `track-1`, ...
264
264
* @default "track"
265
265
*/
266
- trackClassName ?: string ;
266
+ trackClassName ?: string | undefined ;
267
267
268
268
/**
269
269
* Like `defaultValue` but for
270
270
* [controlled components](http://facebook.github.io/react/docs/forms.html#controlled-components).
271
271
*/
272
- value ?: T ;
272
+ value ?: T | undefined ;
273
273
274
274
/**
275
275
* If `true` tracks between the thumbs will be rendered.
276
276
* @default true
277
277
*/
278
- withTracks ?: boolean ;
278
+ withTracks ?: boolean | undefined ;
279
279
}
280
280
281
281
declare class ReactSlider < T extends number | ReadonlyArray < number > = number > extends Component < ReactSliderProps < T > > {
0 commit comments