hooks
Hooks overview
Cross-platform React hooks. No DOM or RN assumptions in the public API.
@plyxui/hooks is a small collection of headless hooks. Web + native both work where the hook makes sense; useClickOutside is web-only (gesture handling on native is per-platform).
Install
npm install @plyxui/hooks
Exports
| Hook | What |
|---|---|
useDisclosure(initial?) | Boolean state with named setters (open, close, toggle, set). Pairs with Modal, Dropdown, Drawer. |
useClickOutside(handler, active?) | Returns a ref; fires the handler when a click lands outside. Web only. |
useMediaQuery(query) | Tracks a matchMedia query. Returns false on SSR + native. |
useToast() + ToastProvider | Headless toast queue. Wrap your app in <ToastProvider>; call toast({...}) from anywhere. |
Disclosure
import { useDisclosure } from "@plyxui/hooks";
const { isOpen, open, close, toggle } = useDisclosure();
Toast
import { ToastProvider, useToast } from "@plyxui/hooks";
<ToastProvider>
<App />
</ToastProvider>
const { toast } = useToast();
toast({ title: "Saved", variant: "success" });
ToastProvider is headless: it manages the queue. Rendering the toasts is up to you (or @plyxui/comps Toast once it lands).