xtreme-ui
Version:
Collection of reusable components that can be used in web projects
37 lines (36 loc) • 1.53 kB
JavaScript
const s = typeof window < "u", c = s ? window : void 0, y = s ? document : void 0, p = s ? localStorage : void 0, d = (t, r) => s ? getComputedStyle(r?.current || document.documentElement).getPropertyValue(t) : "", v = (t, r) => parseInt(d(t, r).replace(/px/g, ""), 10), f = (t, r) => {
const e = parseInt(d(t, r).replace(/vh/g, ""), 10);
return [(c?.innerHeight ?? 0) * e / 100, e];
}, g = (t, r) => {
const e = parseInt(d(t, r).replace(/vw/g, ""), 10);
return [(c?.innerWidth ?? 0) * e / 100, e];
}, h = (t, r, e) => s ? (e?.current || document.documentElement).style.setProperty(t, r) : "", w = (t) => new Promise((r) => {
let e = document.querySelector(t);
if (e) return r(e);
const o = new MutationObserver(() => {
e = document.querySelector(t), e && (r(e), o.disconnect());
});
o.observe(document.body, { childList: !0, subtree: !0 });
}), b = (t, r) => {
r?.forEach?.((e) => {
let o;
new MutationObserver((u) => {
document.querySelector(e) && (o = document.querySelector(e)), u?.forEach?.((n) => {
n.type === "childList" && (Array.from(n.addedNodes).indexOf(o) > -1 && t(o, "added", n), Array.from(n.removedNodes).indexOf(o) > -1 && t(o, "removed", n));
});
}).observe(document.body, { childList: !0, subtree: !0 });
});
};
export {
y as doc,
b as elementObserver,
d as getCssProperty,
v as getCssPropertyPx,
f as getCssPropertyVh,
g as getCssPropertyVw,
s as isClient,
p as localStore,
h as setCssProperty,
w as waitForElement,
c as win
};