UNPKG

@modern-kit/react

Version:
58 lines (55 loc) 1.47 kB
import { useState, useCallback } from 'react'; import { copyClipboardText, copyClipboardImage, readClipboardText, readClipboardContents } from '@modern-kit/utils'; function useClipboard() { const [copiedData, setCopiedData] = useState(null); const [readData, setReadData] = useState( null ); const copyText = useCallback(async (value) => { try { const result = await copyClipboardText(value); setCopiedData(result); return true; } catch { setCopiedData(null); return false; } }, []); const copyImage = useCallback( async (src, options) => { const toText = options?.toText ?? false; try { const result = await copyClipboardImage(src, { toText }); setCopiedData(result); return true; } catch { setCopiedData(null); return false; } }, [] ); const readText = useCallback(async () => { try { const result = await readClipboardText(); setReadData(result); return true; } catch { setReadData(null); return false; } }, []); const readContents = useCallback(async () => { try { const result = await readClipboardContents(); setReadData(result); return true; } catch { setReadData(null); return false; } }, []); return { copiedData, readData, copyText, copyImage, readText, readContents }; } export { useClipboard }; //# sourceMappingURL=index.mjs.map