UNPKG

@testing-library/user-event

Version:
42 lines (37 loc) 1.62 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('../utils/click/isClickableInput.js'); require('../utils/dataTransfer/Clipboard.js'); require('../event/eventMap.js'); require('../event/behavior/click.js'); require('../event/behavior/cut.js'); require('../event/behavior/keydown.js'); require('../event/behavior/keypress.js'); require('../event/behavior/keyup.js'); require('../event/behavior/paste.js'); require('@testing-library/dom'); require('../utils/edit/maxLength.js'); require('../utils/edit/isEditable.js'); var selection = require('../utils/focus/selection.js'); require('@testing-library/dom/dist/helpers.js'); require('../utils/keyDef/readNextDescriptor.js'); require('../utils/misc/level.js'); require('../options.js'); var index = require('../keyboard/index.js'); var config = require('../setup/config.js'); async function type(element, text, { skipClick =this[config.Config].skipClick , skipAutoClose =this[config.Config].skipAutoClose , initialSelectionStart , initialSelectionEnd } = {}) { // TODO: properly type guard // we use this workaround for now to prevent changing behavior if (element.disabled) return; if (!skipClick) { await this.click(element); } if (initialSelectionStart !== undefined) { selection.setSelectionRange(element, initialSelectionStart, initialSelectionEnd !== null && initialSelectionEnd !== void 0 ? initialSelectionEnd : initialSelectionStart); } await this.keyboard(text); if (!skipAutoClose) { await index.releaseAllKeys(this[config.Config]); } } exports.type = type;