@@ -9,13 +9,6 @@ import {
9
9
TextStyle
10
10
} from 'react-native' ;
11
11
12
- /**
13
- * Recursive Array Interface
14
- */
15
- export interface RecursiveArray < T > {
16
- [ i : number ] : T | RecursiveArray < T > ;
17
- }
18
-
19
12
export module IButton {
20
13
export interface IProps extends IButtonState {
21
14
// Container Settings
@@ -24,7 +17,7 @@ export module IButton {
24
17
25
18
// State Settings
26
19
selectedState ?: string ;
27
- states : {
20
+ states ? : {
28
21
[ key : string ] : IButtonStateWithPrivate ;
29
22
} ;
30
23
@@ -63,12 +56,12 @@ export module IButton {
63
56
64
57
// Icon Settings
65
58
icon ?: ImageURISource | any ;
66
- iconStyle ?: RecursiveArray < ImageStyle > ;
59
+ iconStyle ?: Array < ImageStyle > | ImageStyle ;
67
60
iconPosition ?: 'left' | 'right' ;
68
61
69
62
// Text Settings
70
63
text : string ;
71
- textStyle ?: RecursiveArray < TextStyle > ;
64
+ textStyle ?: Array < TextStyle > | TextStyle ;
72
65
73
66
// Spinner Settings
74
67
spinner ?: boolean ;
@@ -79,14 +72,14 @@ export module IButton {
79
72
asyncIconAndTextAnimationDiff ?: number ;
80
73
81
74
// Renderers
82
- renderButtonInside ( state : IButtonState ) : JSX . Element ;
83
- renderIcon ( state : IButtonState ) : JSX . Element ;
84
- renderSpinner ( state : IButtonState ) : JSX . Element ;
85
- renderText ( state : IButtonState ) : JSX . Element ;
75
+ renderButtonInside ? ( state : IButtonState ) : JSX . Element ;
76
+ renderIcon ? ( state : IButtonState ) : JSX . Element ;
77
+ renderSpinner ? ( state : IButtonState ) : JSX . Element ;
78
+ renderText ? ( state : IButtonState ) : JSX . Element ;
86
79
87
80
// Events
88
- onLongPress ( event ?: GestureResponderEvent , activeState ?: IButtonState ) : boolean | void ;
89
- onPress ( event ?: GestureResponderEvent , activeState ?: IButtonState ) : boolean | void ;
81
+ onLongPress ? ( event ?: GestureResponderEvent , activeState ?: IButtonState ) : boolean | void ;
82
+ onPress ? ( event ?: GestureResponderEvent , activeState ?: IButtonState ) : boolean | void ;
90
83
}
91
84
92
85
export interface IButtonStateWithPrivate extends IButtonState {
0 commit comments