@modern-kit/react
Version:
60 lines (56 loc) • 1.47 kB
JavaScript
;
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