UNPKG

@testing-library/user-event

Version:
47 lines (42 loc) 1.59 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); require('../click/isClickableInput.js'); var DataTransfer = require('../dataTransfer/DataTransfer.js'); require('../dataTransfer/Clipboard.js'); require('../edit/maxLength.js'); require('../edit/isEditable.js'); require('@testing-library/dom'); var selection = require('./selection.js'); var getWindow = require('../misc/getWindow.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'); function copySelection(target) { const data = selection.hasOwnSelection(target) ? { 'text/plain': readSelectedValueFromInput(target) } : { 'text/plain': String(target.ownerDocument.getSelection()) }; const dt = DataTransfer.createDataTransfer(getWindow.getWindow(target)); for(const type in data){ if (data[type]) { dt.setData(type, data[type]); } } return dt; } function readSelectedValueFromInput(target) { const sel = selection$1.getUISelection(target); const val = value.getUIValue(target); return val.substring(sel.startOffset, sel.endOffset); } exports.copySelection = copySelection;