| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | export default function copyTextToClipboard(text, {target = document.body} = {}) {	if (typeof text !== 'string') {		throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof text}\`.`);	}	const element = document.createElement('textarea');	const previouslyFocusedElement = document.activeElement;	element.value = text;	// Prevent keyboard from showing on mobile	element.setAttribute('readonly', '');	element.style.contain = 'strict';	element.style.position = 'absolute';	element.style.left = '-9999px';	element.style.fontSize = '12pt'; // Prevent zooming on iOS	const selection = document.getSelection();	const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0);	target.append(element);	element.select();	// Explicit selection workaround for iOS	element.selectionStart = 0;	element.selectionEnd = text.length;	let isSuccess = false;	try {		isSuccess = document.execCommand('copy');	} catch {}	element.remove();	if (originalRange) {		selection.removeAllRanges();		selection.addRange(originalRange);	}	// Get the focus back on the previously focused element, if any	if (previouslyFocusedElement) {		previouslyFocusedElement.focus();	}	return isSuccess;}
 |