ice.fo.utils
Version:
33 lines (26 loc) • 743 B
JavaScript
function fallbackCopyTextToClipboard(text) {
const textArea = document.createElement('textarea');
textArea.value = text;
// Avoid scrolling to bottom
textArea.style.top = '0';
textArea.style.left = '0';
textArea.style.position = 'fixed';
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
document.execCommand('copy');
document.body.removeChild(textArea);
}
export default function copyTextToClipboard(text) {
return new Promise((resolve, reject) => {
if (!navigator.clipboard) {
try {
fallbackCopyTextToClipboard(text);
resolve();
} catch (error) {
reject(error);
}
}
navigator.clipboard.writeText(text).then(resolve, reject);
});
}