@adyen/adyen-platform-experience-web
Version:

38 lines (37 loc) • 910 B
JavaScript
import { useState as d, useEffect as l } from "../external/preact/hooks/dist/hooks.module.js";
import p from "../core/Context/useCoreContext.js";
const k = (i) => {
var c;
const { componentRef: n } = p(), [r, f] = d(((c = n.current) == null ? void 0 : c.offsetWidth) || 0), [u, o, a] = i;
let s = !1;
switch (u) {
case "up":
s = r >= o;
break;
case "down":
s = r <= o;
break;
case "only":
if (a) {
const { min: e, max: t } = a;
s = t ? r <= t : e ? r >= e : !1;
} else
s = r === o;
break;
}
return l(() => {
const e = n.current;
if (!e) return;
const t = new ResizeObserver((m) => {
for (const b of m)
b.target === e && f(e.offsetWidth);
});
return t.observe(e), () => {
t.unobserve(e), t.disconnect();
};
}, [n]), s;
};
export {
k as default,
k as useContainerQuery
};