1
0
Fork 0
react-playground/node_modules/@mui/x-date-pickers/esm/internals/hooks/useReduceAnimations.js
Techognito fc0f69dacb Added Statistics calculation
Statistics now show calculated values
2025-09-04 17:30:00 +02:00

17 lines
No EOL
961 B
JavaScript

import useMediaQuery from '@mui/material/useMediaQuery';
const PREFERS_REDUCED_MOTION = '@media (prefers-reduced-motion: reduce)';
// detect if user agent has Android version < 10 or iOS version < 13
const mobileVersionMatches = typeof navigator !== 'undefined' && navigator.userAgent.match(/android\s(\d+)|OS\s(\d+)/i);
const androidVersion = mobileVersionMatches && mobileVersionMatches[1] ? parseInt(mobileVersionMatches[1], 10) : null;
const iOSVersion = mobileVersionMatches && mobileVersionMatches[2] ? parseInt(mobileVersionMatches[2], 10) : null;
export const slowAnimationDevices = androidVersion && androidVersion < 10 || iOSVersion && iOSVersion < 13 || false;
export function useReduceAnimations(customReduceAnimations) {
const prefersReduced = useMediaQuery(PREFERS_REDUCED_MOTION, {
defaultMatches: false
});
if (customReduceAnimations != null) {
return customReduceAnimations;
}
return prefersReduced || slowAnimationDevices;
}