@9am/fire-flame-react
Version:
A fire flame library.
37 lines (36 loc) • 976 B
JavaScript
import s, { useRef as o, useImperativeHandle as m, useEffect as u } from "react";
import { FireFlame as f } from "@9am/fire-flame";
import { Vector as R } from "@9am/fire-flame";
const F = s.forwardRef(({ children: a, option: n = {} }, i) => {
const c = o(null), r = o(null);
return m(i, () => ({
setOption: (e) => {
var t;
(t = r.current) == null || t.setOption(e);
},
start: () => {
var e;
(e = r.current) == null || e.start();
},
stop: () => {
var e;
(e = r.current) == null || e.stop();
},
set: (e) => {
var t;
(t = r.current) == null || t.set(e);
}
})), u(() => (r.current || (r.current = new f(c.current, n)), () => {
var e;
return (e = r.current) == null ? void 0 : e.stop();
}), []), u(() => {
var e;
(e = r.current) == null || e.setOption(n);
}, [n]), /* @__PURE__ */ s.createElement("div", {
ref: c
}, a);
});
export {
F as FireFlame,
R as Vector
};