UNPKG

@blockstack/ui

Version:

Blockstack UI components built using React and styled-components with styled-system.

46 lines (38 loc) 1.35 kB
import { useState } from 'react'; var copyToClipboard = function copyToClipboard(value) { var el = document.createElement('textarea'); el.value = value; el.setAttribute('readonly', ''); el.style.position = 'absolute'; el.style.left = '-9999px'; document.body.appendChild(el); var curSelection = document.getSelection(); var selected = curSelection && curSelection.rangeCount > 0 ? curSelection.getRangeAt(0) : false; el.select(); document.execCommand('copy'); document.body.removeChild(el); if (selected) { var _document$getSelectio, _document$getSelectio2; (_document$getSelectio = document.getSelection()) === null || _document$getSelectio === void 0 ? void 0 : _document$getSelectio.removeAllRanges(); (_document$getSelectio2 = document.getSelection()) === null || _document$getSelectio2 === void 0 ? void 0 : _document$getSelectio2.addRange(selected); } }; function useClipboard(value) { var _useState = useState(false), hasCopied = _useState[0], setHasCopied = _useState[1]; var onCopy = function onCopy() { copyToClipboard(value); setHasCopied(true); setTimeout(function () { return setHasCopied(false); }, 1500); }; return { value: value, onCopy: onCopy, hasCopied: hasCopied }; } export { useClipboard }; //# sourceMappingURL=index.esm.js.map