UNPKG

@modern-kit/react

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