use-media-query
shadcn-solidjs/use-media-queryFreeHook
shadcn-solidjs publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by shadcn-solidjs on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://shadcn-solidjs.com/r/use-media-query.jsonSource
1import { type Accessor, createEffect, createSignal, onCleanup } from "solid-js";23export function useMediaQuery(query: string): Accessor<boolean> {4 const [matches, setMatches] = createSignal(false);56 createEffect(() => {7 if (typeof globalThis.matchMedia !== "function") return;89 const mediaQuery = globalThis.matchMedia(query);10 setMatches(mediaQuery.matches);1112 const handler = (event: MediaQueryListEvent) => {13 setMatches(event.matches);14 };1516 mediaQuery.addEventListener("change", handler);1718 onCleanup(() => {19 mediaQuery.removeEventListener("change", handler);20 });21 });2223 return matches;24}
