@testing-library/user-event
Version:
Fire events the same way the user does
57 lines (52 loc) • 2.56 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
require('../click/isClickableInput.js');
require('../dataTransfer/Clipboard.js');
var isContentEditable = require('../edit/isContentEditable.js');
require('../edit/maxLength.js');
var isEditable = require('../edit/isEditable.js');
require('@testing-library/dom');
var isElementType = require('../misc/isElementType.js');
var selection = require('./selection.js');
require('@testing-library/dom/dist/helpers.js');
require('../keyDef/readNextDescriptor.js');
require('../misc/level.js');
require('../../options.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');
var selection$1 = require('../../document/selection.js');
var value = require('../../document/value.js');
/**
* Expand a selection like the browser does when pressing Ctrl+A.
*/ function selectAll(target) {
if (isElementType.isElementType(target, 'textarea') || isElementType.isElementType(target, 'input') && target.type in isEditable.editableInputTypes) {
return selection.setSelection({
focusNode: target,
anchorOffset: 0,
focusOffset: value.getUIValue(target).length
});
}
var ref;
const focusNode = (ref = isContentEditable.getContentEditable(target)) !== null && ref !== void 0 ? ref : target.ownerDocument.body;
selection.setSelection({
focusNode,
anchorOffset: 0,
focusOffset: focusNode.childNodes.length
});
}
function isAllSelected(target) {
if (isElementType.isElementType(target, 'textarea') || isElementType.isElementType(target, 'input') && target.type in isEditable.editableInputTypes) {
return selection$1.getUISelection(target).startOffset === 0 && selection$1.getUISelection(target).endOffset === value.getUIValue(target).length;
}
var ref;
const focusNode = (ref = isContentEditable.getContentEditable(target)) !== null && ref !== void 0 ? ref : target.ownerDocument.body;
const selection = target.ownerDocument.getSelection();
return (selection === null || selection === void 0 ? void 0 : selection.anchorNode) === focusNode && selection.focusNode === focusNode && selection.anchorOffset === 0 && selection.focusOffset === focusNode.childNodes.length;
}
exports.isAllSelected = isAllSelected;
exports.selectAll = selectAll;