@frontify/fondue
Version:
Design system of Frontify
22 lines (21 loc) • 590 B
JavaScript
import { useState as r, useCallback as u, useEffect as a } from "react";
const l = (e = 2e3) => {
const [t, s] = r("idle"), o = u(async (c) => {
s("idle");
try {
await navigator.clipboard.writeText(c), s("success");
} catch {
s("error");
}
}, []);
return a(() => {
let c;
return e && (t === "success" || t === "error") && (c = setTimeout(() => s("idle"), e)), () => {
e && (t === "success" || t === "error") && clearTimeout(c);
};
}, [t, e]), { copy: o, status: t };
};
export {
l as useCopy
};
//# sourceMappingURL=useCopy.es.js.map