UNPKG

ice.fo.utils

Version:

33 lines (26 loc) 722 B
export 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) }) } 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) }