@testing-library/user-event
Version:
Fire events the same way the user does
27 lines (24 loc) • 1.11 kB
JavaScript
import { isElementType } from '../misc/isElementType.js';
import { isContentEditable } from './isContentEditable.js';
function isEditable(element) {
return isEditableInputOrTextArea(element) && !element.readOnly || 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 isEditableInputOrTextArea(element) {
return isElementType(element, 'textarea') || isElementType(element, 'input') && element.type in editableInputTypes;
}
export { isEditable, isEditableInputOrTextArea };