@@ -20,8 +20,8 @@ type KeyboardEventType = 'keydown' | 'keyup';
20
20
21
21
type KeyboardProps = {
22
22
disabled : boolean ,
23
- onKeyDown : ( e : KeyboardEvent ) => void ,
24
- onKeyUp : ( e : KeyboardEvent ) => void ,
23
+ onKeyDown : ( e : KeyboardEvent ) => ? boolean ,
24
+ onKeyUp : ( e : KeyboardEvent ) => ? boolean ,
25
25
preventKeys : Array < string > ,
26
26
} ;
27
27
@@ -162,7 +162,7 @@ function createKeyboardEvent(
162
162
163
163
function dispatchKeyboardEvent (
164
164
event : ReactDOMResponderEvent ,
165
- listener : KeyboardEvent => void ,
165
+ listener : KeyboardEvent => ? boolean ,
166
166
context : ReactDOMResponderContext ,
167
167
type : KeyboardEventType ,
168
168
defaultPrevented : boolean ,
@@ -209,9 +209,11 @@ const keyboardResponderImpl = {
209
209
const config = ( ( preventKey [ 1 ] : any ) : Object ) ;
210
210
for ( let s = 0 ; s < modifiers . length ; s ++ ) {
211
211
const modifier = modifiers [ s ] ;
212
+ const configModifier = config [ modifier ] ;
213
+ const eventModifier = nativeEvent [ modifier ] ;
212
214
if (
213
- ( config [ modifier ] && ! nativeEvent [ modifier ] ) ||
214
- ( ! config [ modifier ] && nativeEvent [ modifier ] )
215
+ ( configModifier && ! eventModifier ) ||
216
+ ( ! configModifier && eventModifier )
215
217
) {
216
218
continue preventKeyLoop;
217
219
}
0 commit comments