@@ -9,13 +9,6 @@ import {
99 TextStyle
1010} from 'react-native' ;
1111
12- /**
13- * Recursive Array Interface
14- */
15- export interface RecursiveArray < T > {
16- [ i : number ] : T | RecursiveArray < T > ;
17- }
18-
1912export module IButton {
2013 export interface IProps extends IButtonState {
2114 // Container Settings
@@ -24,7 +17,7 @@ export module IButton {
2417
2518 // State Settings
2619 selectedState ?: string ;
27- states : {
20+ states ? : {
2821 [ key : string ] : IButtonStateWithPrivate ;
2922 } ;
3023
@@ -63,12 +56,12 @@ export module IButton {
6356
6457 // Icon Settings
6558 icon ?: ImageURISource | any ;
66- iconStyle ?: RecursiveArray < ImageStyle > ;
59+ iconStyle ?: Array < ImageStyle > | ImageStyle ;
6760 iconPosition ?: 'left' | 'right' ;
6861
6962 // Text Settings
7063 text : string ;
71- textStyle ?: RecursiveArray < TextStyle > ;
64+ textStyle ?: Array < TextStyle > | TextStyle ;
7265
7366 // Spinner Settings
7467 spinner ?: boolean ;
@@ -79,14 +72,14 @@ export module IButton {
7972 asyncIconAndTextAnimationDiff ?: number ;
8073
8174 // 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 ;
8679
8780 // 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 ;
9083 }
9184
9285 export interface IButtonStateWithPrivate extends IButtonState {
0 commit comments