@testing-library/user-event
Version:
Fire events the same way the user does
31 lines (28 loc) • 1.15 kB
JavaScript
import { isElementType } from '../misc/isElementType.js';
import { isContentEditable } from './isContentEditable.js';
function isEditable(element) {
return isEditableInput(element) || isElementType(element, 'textarea', {
readOnly: false
}) || isContentEditable(element);
}
var editableInputTypes;
(function(editableInputTypes) {
editableInputTypes['text'] = 'text';
editableInputTypes['date'] = 'date';
editableInputTypes['datetime-local'] = 'datetime-local';
editableInputTypes['email'] = 'email';
editableInputTypes['month'] = 'month';
editableInputTypes['number'] = 'number';
editableInputTypes['password'] = 'password';
editableInputTypes['search'] = 'search';
editableInputTypes['tel'] = 'tel';
editableInputTypes['time'] = 'time';
editableInputTypes['url'] = 'url';
editableInputTypes['week'] = 'week';
})(editableInputTypes || (editableInputTypes = {}));
function isEditableInput(element) {
return isElementType(element, 'input', {
readOnly: false
}) && Boolean(editableInputTypes[element.type]);
}
export { editableInputTypes, isEditable, isEditableInput };