index.mjs 678 B

12345678910111213141516171819
  1. import { isBrowser } from '../is-browser.mjs';
  2. import { hasReducedMotionListener, prefersReducedMotion } from './state.mjs';
  3. function initPrefersReducedMotion() {
  4. hasReducedMotionListener.current = true;
  5. if (!isBrowser)
  6. return;
  7. if (window.matchMedia) {
  8. const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
  9. const setReducedMotionPreferences = () => (prefersReducedMotion.current = motionMediaQuery.matches);
  10. motionMediaQuery.addListener(setReducedMotionPreferences);
  11. setReducedMotionPreferences();
  12. }
  13. else {
  14. prefersReducedMotion.current = false;
  15. }
  16. }
  17. export { initPrefersReducedMotion };