webman/public/js/index-2898de52.js

156 lines
3.6 KiB
JavaScript

import {
H as a,
I as o,
j as r,
ay as e,
c as l,
ag as s,
ah as i,
w as n,
X as t,
Z as d,
D as c,
a8 as u,
v,
J as g,
K as f,
a0 as h,
as as m,
aT as p,
aw as w,
P as y,
Q as b,
} from "./index-476be0bb.js";
const [z, L] = a("image");
const S = b(
o({
name: z,
props: {
src: String,
alt: String,
fit: String,
position: String,
round: Boolean,
block: Boolean,
width: g,
height: g,
radius: g,
lazyLoad: Boolean,
iconSize: g,
showError: f,
errorIcon: h("photo-fail"),
iconPrefix: String,
showLoading: f,
loadingIcon: h("photo"),
},
emits: ["load", "error"],
setup(a, { emit: o, slots: g }) {
const f = r(!1),
h = r(!0),
b = r(),
{ $Lazyload: z } = e().proxy,
S = l(() => {
const o = { width: s(a.width), height: s(a.height) };
return (
i(a.radius) &&
((o.overflow = "hidden"), (o.borderRadius = s(a.radius))),
o
);
});
n(
() => a.src,
() => {
(f.value = !1), (h.value = !0);
}
);
const x = (a) => {
h.value && ((h.value = !1), o("load", a));
},
I = () => {
const a = new Event("load");
Object.defineProperty(a, "target", {
value: b.value,
enumerable: !0,
}),
x(a);
},
P = (a) => {
(f.value = !0), (h.value = !1), o("error", a);
},
j = (o, r, e) =>
e
? e()
: v(
y,
{
name: o,
size: a.iconSize,
class: r,
classPrefix: a.iconPrefix,
},
null
),
$ = () => {
if (f.value || !a.src) return;
const o = {
alt: a.alt,
class: L("img"),
style: { objectFit: a.fit, objectPosition: a.position },
};
return a.lazyLoad
? m(v("img", w({ ref: b }, o), null), [[p("lazy"), a.src]])
: v(
"img",
w({ ref: b, src: a.src, onLoad: x, onError: P }, o),
null
);
},
E = ({ el: a }) => {
const o = () => {
a === b.value && h.value && I();
};
b.value ? o() : u(o);
},
k = ({ el: a }) => {
a !== b.value || f.value || P();
};
return (
z &&
t &&
(z.$on("loaded", E),
z.$on("error", k),
d(() => {
z.$off("loaded", E), z.$off("error", k);
})),
c(() => {
u(() => {
var o;
(null == (o = b.value) ? void 0 : o.complete) && !a.lazyLoad && I();
});
}),
() => {
var o;
return v(
"div",
{ class: L({ round: a.round, block: a.block }), style: S.value },
[
$(),
h.value && a.showLoading
? v("div", { class: L("loading") }, [
j(a.loadingIcon, L("loading-icon"), g.loading),
])
: f.value && a.showError
? v("div", { class: L("error") }, [
j(a.errorIcon, L("error-icon"), g.error),
])
: void 0,
null == (o = g.default) ? void 0 : o.call(g),
]
);
}
);
},
})
);
export { S as I };