File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,7 +8,12 @@ export function isFormField(element: Node): boolean {
88 return (
99 name === 'select' ||
1010 name === 'textarea' ||
11- ( name === 'input' && type !== 'submit' && type !== 'reset' && type !== 'checkbox' && type !== 'radio' ) ||
11+ ( name === 'input' &&
12+ type !== 'submit' &&
13+ type !== 'reset' &&
14+ type !== 'checkbox' &&
15+ type !== 'radio' &&
16+ type !== 'file' ) ||
1217 element . isContentEditable
1318 )
1419}
Original file line number Diff line number Diff line change @@ -72,10 +72,18 @@ describe('hotkey', function () {
7272 setHTML ( `
7373 <button id="button1" data-hotkey="b">Button 1</button>
7474 <input id="textfield" />` )
75- document . getElementById ( 'textfield' ) . dispatchEvent ( new KeyboardEvent ( 'keydown' , { key : 'b' } ) )
75+ document . getElementById ( 'textfield' ) . dispatchEvent ( new KeyboardEvent ( 'keydown' , { bubbles : true , key : 'b' } ) )
7676 assert . deepEqual ( elementsActivated , [ ] )
7777 } )
7878
79+ it ( 'triggers when user is focused on a file input' , function ( ) {
80+ setHTML ( `
81+ <button id="button1" data-hotkey="b">Button 1</button>
82+ <input id="filefield" type="file" />` )
83+ document . getElementById ( 'filefield' ) . dispatchEvent ( new KeyboardEvent ( 'keydown' , { bubbles : true , key : 'b' } ) )
84+ assert . deepEqual ( elementsActivated , [ 'button1' ] )
85+ } )
86+
7987 it ( 'handles multiple keys in a hotkey combination' , function ( ) {
8088 setHTML ( '<button id="button3" data-hotkey="Control+c">Button 3</button>' )
8189 document . dispatchEvent ( new KeyboardEvent ( 'keydown' , { key : 'c' , ctrlKey : true } ) )
You can’t perform that action at this time.
0 commit comments