Responsive breakpoints for building adaptive layouts.
defaultfalsefalsefalsefalsefalseResize your browser window to see the values change in real-time.
There are seven breakpoints by default, inspired by common device resolutions:
The useBreakpoint hook returns the current breakpoint based on the viewport width. It efficiently tracks all breakpoints and returns the largest one that currently matches.
import { useBreakpoint } from "@ngrok/mantle/hooks";
function ResponsiveComponent() {
const breakpoint = useBreakpoint();
return (
<div>
<p>Current breakpoint: {breakpoint}</p>
{breakpoint === "lg" && <p>This only shows on large screens and above!</p>}
</div>
);
}default during server-side renderingReturns a Breakpoint type that can be one of: "default", "2xs", "xs", "sm", "md", "lg", "xl", or "2xl".
The useIsBelowBreakpoint hook returns true if the current viewport width is below the specified breakpoint. Perfect for mobile-first responsive design patterns.
import { useIsBelowBreakpoint } from "@ngrok/mantle/hooks";
function ResponsiveSidebar() {
const isMobile = useIsBelowBreakpoint("md");
return (
<aside className={isMobile ? "mobile-sidebar" : "desktop-sidebar"}>
{isMobile ? <MobileNav /> : <DesktopNav />}
</aside>
);
}Accepts a TailwindBreakpoint which can be one of: "2xs", "xs", "sm", "md", "lg", "xl", or "2xl".
useIsBelowBreakpoint("md") for mobile-first layouts