@testing-library/user-event
Version:
Fire events the same way the user does
22 lines (18 loc) • 1.09 kB
JavaScript
var UI = require('../../document/UI.js');
require('../../utils/dataTransfer/Clipboard.js');
var getTargetTypeAndSelection = require('./getTargetTypeAndSelection.js');
/**
* Extend/shrink the selection like with Shift+Arrows or Shift+Mouse
*/ function modifySelection({ focusNode, focusOffset }) {
var _focusNode_ownerDocument_getSelection, _focusNode_ownerDocument;
const typeAndSelection = getTargetTypeAndSelection.getTargetTypeAndSelection(focusNode);
if (typeAndSelection.type === 'input') {
return UI.setUISelection(focusNode, {
anchorOffset: typeAndSelection.selection.anchorOffset,
focusOffset
}, 'modify');
}
(_focusNode_ownerDocument = focusNode.ownerDocument) === null || _focusNode_ownerDocument === undefined ? undefined : (_focusNode_ownerDocument_getSelection = _focusNode_ownerDocument.getSelection()) === null || _focusNode_ownerDocument_getSelection === undefined ? undefined : _focusNode_ownerDocument_getSelection.extend(focusNode, focusOffset);
}
exports.modifySelection = modifySelection;
;