koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
25 lines (24 loc) • 625 B
JavaScript
"use client";
import { useState as r, useCallback as n, useEffect as c } from "react";
const N = ({ embedRef: e, mutedProp: s }) => {
const [a, l] = r(0), m = n(
(t) => {
l(t.target.valueAsNumber), e.current.volume = t.target.valueAsNumber;
},
[e]
), [u, o] = r(s);
c(() => {
o(s);
}, [s]);
const g = n(() => {
o(!u);
}, [u]);
return c(() => {
var t;
l(Number(((t = e.current) == null ? void 0 : t.volume) || 0));
}, [u, e]), { volume: a, handleSetVolume: m, muted: u, handleToggleMuted: g, setVolume: l };
};
export {
N as useSound
};
//# sourceMappingURL=useSound.js.map