@primer/react-brand
Version:
Primer Brand is a GitHub's design system for creating React-based marketing websites and digital experiences.
27 lines (26 loc) • 968 B
JavaScript
import e from "./Animation.module.js";
import { AnimationContext as t, AnimationVariants as n } from "./AnimationProvider/AnimationProvider.js";
import { useContext as r, useMemo as i } from "react";
//#region src/animation/useAnimation.ts
var a = n.reduce((t, n) => (t[n] = e[`Animation--${n}`], t), {}), o = (n) => {
let { disableAnimations: o } = r(t);
return {
classes: i(() => {
if (!n || o) return "";
let t = e.Animation, r = [], i = a[typeof n == "string" ? n : n.variant];
return i && r.push(i), `${t} ${r.join(" ")}`;
}, [n, o]),
styles: i(() => {
if (!n) return {};
let e = {};
if (typeof n == "object") {
let { delay: t, duration: r, ease: i } = n;
typeof t == "number" && (e.transitionDelay = `${t}ms`), typeof r == "number" && (e.transitionDuration = `${r}ms`), i && (e.transitionTimingFunction = i);
}
return e;
}, [n])
};
};
//#endregion
export { o as useAnimation };
//# sourceMappingURL=useAnimation.js.map