forked from APSL/react-native-keyboard-aware-scroll-view
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.d.ts
137 lines (124 loc) · 3.44 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
// Type definitions for react-native-keyboard-aware-scroll-view
// Project: https://github.com/APSL/react-native-keyboard-aware-scroll-view
// Definitions by: Kyle Roach <https://github.com/iRoachie>
// TypeScript Version: 2.3.2
import * as React from 'react'
import { ScrollViewProperties, ListViewProperties, FlatListProperties, SectionListProperties } from 'react-native'
interface KeyboardAwareProps {
/**
* Adds an extra offset that represents the TabBarIOS height.
*
* Default is false
* @type {boolean}
* @memberof KeyboardAwareProps
*/
viewIsInsideTabBar?: boolean
/**
* Coordinates that will be used to reset the scroll when the keyboard hides.
*
* @type {{
* x: number,
* y: number
* }}
* @memberof KeyboardAwareProps
*/
resetScrollToCoords?: {
x: number
y: number
}
/**
* Lets the user enable or disable automatic resetScrollToCoords
*
* @type {boolean}
* @memberof KeyboardAwareProps
*/
enableResetScrollToCoords?: boolean
/**
* When focus in TextInput will scroll the position
*
* Default is true
*
* @type {boolean}
* @memberof KeyboardAwareProps
*/
enableAutomaticScroll?: boolean
/**
* Enables keyboard aware settings for Android
*
* Default is false
*
* @type {boolean}
* @memberof KeyboardAwareProps
*/
enableOnAndroid?: boolean
/**
* Adds an extra offset when focusing the TextInputs.
*
* Default is 75
* @type {number}
* @memberof KeyboardAwareProps
*/
extraHeight?: number
/**
* Adds an extra offset to the keyboard.
* Useful if you want to stick elements above the keyboard.
*
* Default is 0
*
* @type {number}
* @memberof KeyboardAwareProps
*/
extraScrollHeight?: number
/**
* Sets the delay time before scrolling to new position
*
* Default is 250
*
* @type {number}
* @memberof KeyboardAwareProps
*/
keyboardOpeningTime?: number
}
interface KeyboardAwareListViewProps
extends KeyboardAwareProps,
ListViewProperties {}
interface KeyboardAwareScrollViewProps
extends KeyboardAwareProps,
ScrollViewProperties {}
interface KeyboardAwareFlatListProps<ItemT>
extends KeyboardAwareProps,
FlatListProperties<ItemT> {}
interface KeyboardAwareSectionListProps<ItemT>
extends KeyboardAwareProps,
SectionListProperties<ItemT> {}
interface KeyboardAwareState {
keyboardSpace: number
}
declare class ScrollableComponent<P, S> extends React.Component<P, S> {
getScrollResponder: () => void;
scrollToPosition: (x: number, y: number, animated?: boolean) => void;
scrollToEnd: (animated?: boolean) => void;
scrollForExtraHeightOnAndroid: (extraHeight: number) => void;
scrollToFocusedInput: (
reactNode: Object,
extraHeight: number,
keyboardOpeningTime: number
) => void
}
export class KeyboardAwareMixin {}
export class KeyboardAwareListView extends ScrollableComponent<
KeyboardAwareListViewProps,
KeyboardAwareState
> {}
export class KeyboardAwareScrollView extends ScrollableComponent<
KeyboardAwareScrollViewProps,
KeyboardAwareState
> {}
export class KeyboardAwareFlatList extends ScrollableComponent<
KeyboardAwareFlatListProps<any>,
KeyboardAwareState
> {}
export class KeyboardAwareSectionList extends ScrollableComponent<
KeyboardAwareSectionListProps<any>,
KeyboardAwareState
> {}