UNPKG

emulate-key-in-browser

Version:
19 lines (18 loc) 1.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.emulateKeyEvents = exports.findKeyTarget = void 0; var text_input_element_type_1 = require("./text-input-element.type"); function findKeyTarget() { return document.activeElement || document.body; } exports.findKeyTarget = findKeyTarget; function emulateKeyEvents(key, textInputAction, target, options) { if (target === void 0) { target = findKeyTarget(); } var executeDefaultActions = target.dispatchEvent(new KeyboardEvent('keydown', { key: key, cancelable: true, bubbles: true })); executeDefaultActions = target.dispatchEvent(new KeyboardEvent('keypress', { key: key, cancelable: true, bubbles: options === null || options === void 0 ? void 0 : options.keypressBubbles })) && executeDefaultActions; if (executeDefaultActions && textInputAction && text_input_element_type_1.isTextInputElement(target)) { executeDefaultActions = textInputAction(target); } executeDefaultActions = target.dispatchEvent(new KeyboardEvent('keyup', { key: key, cancelable: true })) && executeDefaultActions; } exports.emulateKeyEvents = emulateKeyEvents;