| 392 | }; |
| 393 | |
| 394 | let _isEditableShortcutTarget = target => { |
| 395 | if (!target || target === document || target === window) { |
| 396 | return false; |
| 397 | } |
| 398 | let el = target.nodeType === 1 ? target : target.parentElement; |
| 399 | if (!el) { |
| 400 | return false; |
| 401 | } |
| 402 | if (el.isContentEditable) { |
| 403 | return true; |
| 404 | } |
| 405 | let tagName = (el.tagName || '').toLowerCase(); |
| 406 | return /^(input|textarea|select)$/i.test(tagName) || !!(el.closest && el.closest('input, textarea, select, [contenteditable="true"]')); |
| 407 | }; |
| 408 | |
| 409 | let _bindOmniShortcuts = () => { |
| 410 | if (omniShortcutsBound) { |
no outgoing calls
no test coverage detected