Skip to content

createBreakpoints

ts
function createBreakpoints<T extends string>(
    breakpoints: Record<T, string>,
): Breakpoints<T>;

type Breakpoints<T extends string> = {
    readonly [K in T]: ReadonlySignal<boolean>;
    gt: (key: T) => boolean;
    gte: (key: T) => boolean;
    lt: (key: T) => boolean;
    lte: (key: T) => boolean;
};

Creates responsive breakpoint signals for media queries. Each breakpoint key becomes a signal that is true when the viewport width is greater than or equal to the specified value.

Example

ts
import { createBreakpoints } from "@monstermann/signals-web";

const breakpoints = createBreakpoints({
    sm: "640px",
    md: "768px",
    lg: "1024px",
});

breakpoints.md(); // true if width >= 768px
breakpoints.gt("sm"); // true if width > 640px
breakpoints.gte("md"); // true if width >= 768px
breakpoints.lt("lg"); // true if width < 1024px
breakpoints.lte("md"); // true if width <= 768px