UNPKG

@testing-library/user-event

Version:
57 lines (52 loc) 2.56 kB
'use strict'; 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;