@clubmed/trident-ui
Version:
Shared ClubMed React UI components
69 lines (68 loc) • 2.63 kB
JavaScript
import { useState as f, useCallback as H, useEffect as c } from "react";
import { useSpring as J } from "@react-spring/web";
var K = "(prefers-reduced-motion: no-preference)", N = function() {
return typeof window > "u" ? !0 : !window.matchMedia(K).matches;
}, O = function() {
var r = f(N), e = r[0], t = r[1];
return c(function() {
var n = window.matchMedia("(prefers-reduced-motion: no-preference)"), o = function(a) {
t(!a.matches);
};
return n.addEventListener("change", o), function() {
return n.removeEventListener("change", o);
};
}, []), e;
}, V = function(r) {
var e = r === void 0 ? {} : r, t = e.x, n = t === void 0 ? 0 : t, o = e.y, a = o === void 0 ? 0 : o, v = e.z, S = v === void 0 ? 0 : v, g = e.rotation, b = g === void 0 ? 0 : g, m = e.rx, C = m === void 0 ? 0 : m, p = e.ry, L = p === void 0 ? 0 : p, l = e.rz, Z = l === void 0 ? b : l, w = e.scale, d = w === void 0 ? 1 : w, _ = e.sx, Q = _ === void 0 ? d || 1 : _, x = e.sy, j = x === void 0 ? d || 1 : x, y = e.sz, q = y === void 0 ? d || 1 : y, k = e.skewX, P = k === void 0 ? 0 : k, h = e.skewY, U = h === void 0 ? 0 : h, T = e.timing, z = T === void 0 ? 150 : T, D = e.springConfig, A = D === void 0 ? {
tension: 300,
friction: 10
} : D, M = e.delay, Y = M === void 0 ? 0 : M, i = O(), I = f(!1), s = I[0], X = I[1], B = f(!1), E = B[0], R = B[1], F = J(i ? {} : {
transform: s ? "translate3D(" + n + "px, " + a + "px, " + S + `px)
rotateX(` + C + "deg) rotateY(" + L + "deg) rotateZ(" + Z + `deg)
scale3D(` + Q + "," + j + "," + q + `)
skew(` + P + "deg, " + U + "deg)" : `translate3D(0px, 0px, 0px)
rotateX(0deg) rotateY(0deg) rotateZ(0deg)
scale3D(1, 1, 1)
skew(0deg, 0deg)`,
config: A,
immediate: i
}), G = H(function() {
i || R(!0);
}, [i]);
return c(function() {
if (E) {
var u = window.setTimeout(function() {
X(!0), R(!1);
}, Y);
return function() {
return window.clearTimeout(u);
};
}
}, [E, Y]), c(function() {
if (s) {
var u = window.setTimeout(function() {
return X(!1);
}, z);
return function() {
return window.clearTimeout(u);
};
}
}, [s, z]), [F, G];
};
const ee = (r) => {
const [{ transform: e }, t] = V(r);
return [
{
"--transform": e || `translate3D(0px, 0px, 0px)
rotateX(0deg) rotateY(0deg) rotateZ(0deg)
scale3D(1, 1, 1)
skew(0deg, 0deg)`,
transform: "var(--transform)"
},
t
];
};
export {
ee as useSafeBoop
};
//# sourceMappingURL=useSafeBoop.js.map