@intility/bifrost-react
Version:
React library for Intility's design system, Bifrost.
19 lines (18 loc) • 790 B
JavaScript
import useMediaQuery from "./useMediaQuery.js";
/**
* Hook to simulate CSS `var(--bf-animation-duration)`
* @param duration Optional animation duration in ms (default `200`)
* @returns `0` for users with `prefers-reduced-motion`, otherwise the specified duration (default `200`)
* @example
* // 0` for users with `prefers-reduced-motion`, otherwise 200
* const animationDuration = useAnimationDuration()
* @example
* // 0` for users with `prefers-reduced-motion`, otherwise 500
* const animationDuration = useAnimationDuration(500)
*/
const useAnimationDuration = t0 => {
const duration = t0 === undefined ? 200 : t0;
const prefersReducedMotion = useMediaQuery("(prefers-reduced-motion)");
return prefersReducedMotion ? 0 : duration;
};
export default useAnimationDuration;