@payfit/unity-illustrations
Version:
32 lines (31 loc) • 993 B
JavaScript
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 };