UNPKG

@payfit/unity-illustrations

Version:

32 lines (31 loc) 993 B
import { Illustration as e, illustratedIcon as t, illustratedPicture as n } from "../illustration/Illustration.js"; import { lazyIllustrationsMap as r } from "../../generated/illustrationAssets.js"; import { forwardRef as i, useEffect as a, useState as o } from "react"; import { jsx as s } from "react/jsx-runtime"; //#region src/components/lazy-illustration/LazyIllustration.tsx var c = i(({ name: i, ...c }, l) => { let [u, d] = o(null), [f, p] = o(!0); return a(() => { (async () => { try { p(!0); let e = r[i], t = await e(); d(t.default); } catch (e) { console.error(`Failed to load illustration "${i}":`, e); } finally { p(!1); } })(); }, [i]), f || !u ? /* @__PURE__ */ s("div", { className: c.variant === "picture" ? n({ className: c.className }) : t({ className: c.className, size: c.size }) }) : /* @__PURE__ */ s(e, { ref: l, src: u, ...c }); }); c.displayName = "LazyIllustration"; //#endregion export { c as LazyIllustration };