import { c as _c } from "react/compiler-runtime";
import { useEffect, useState } from "react";

// Taken and adapted from:
// https://www.joshwcomeau.com/snippets/react-hooks/use-prefers-reduced-motion/

const query = "(prefers-reduced-motion: no-preference)";
const isRenderingOnServer = typeof window === "undefined";
const getInitialState = () => {
  // For our initial server render, we won't know if the user
  // prefers reduced motion, but it doesn't matter. This value
  // will be overwritten on the client, before any animations
  // occur.
  return isRenderingOnServer ? true : !window.matchMedia(query).matches;
};
export default function usePrefersReducedMotion() {
  const $ = _c(2);
  const [prefersReducedMotion, setPrefersReducedMotion] = useState(getInitialState);
  let t0;
  let t1;
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
    t0 = () => {
      const mediaQueryList = window.matchMedia(query);
      if (!mediaQueryList.addEventListener) {
        return;
      }
      const listener = event => setPrefersReducedMotion(!event.matches);
      mediaQueryList.addEventListener("change", listener, {
        passive: true
      });
      return () => mediaQueryList.removeEventListener("change", listener);
    };
    t1 = [];
    $[0] = t0;
    $[1] = t1;
  } else {
    t0 = $[0];
    t1 = $[1];
  }
  useEffect(t0, t1);
  return prefersReducedMotion;
}
//# sourceMappingURL=usePrefersReducedMotion.jsx.map