(element: Node)
| 2 | import {SEQUENCE_DELIMITER} from './sequence.js' |
| 3 | |
| 4 | export function isFormField(element: Node): boolean { |
| 5 | if (!(element instanceof HTMLElement)) { |
| 6 | return false |
| 7 | } |
| 8 | |
| 9 | const name = element.nodeName.toLowerCase() |
| 10 | const type = (element.getAttribute('type') || '').toLowerCase() |
| 11 | return ( |
| 12 | name === 'select' || |
| 13 | name === 'textarea' || |
| 14 | (name === 'input' && |
| 15 | type !== 'submit' && |
| 16 | type !== 'reset' && |
| 17 | type !== 'checkbox' && |
| 18 | type !== 'radio' && |
| 19 | type !== 'file') || |
| 20 | element.isContentEditable |
| 21 | ) |
| 22 | } |
| 23 | |
| 24 | export function fireDeterminedAction(el: HTMLElement, path: readonly NormalizedHotkeyString[]): void { |
| 25 | const delegateEvent = new CustomEvent('hotkey-fire', {cancelable: true, detail: {path}}) |
no outgoing calls
no test coverage detected