Skip to content

COMPONENT / blueprint-grid

Blueprint Grid_

Drafting-paper background: 24px minor and 120px major --label grid lines with optional --ink crosshairs at the major intersections. Static, pure CSS. Requires @cybr/tokens.

Install

  1. 1. Map the @cybr namespace, once per project. Add this inside your components.json, or into its existing "registries" object. No components.json yet? Run npx shadcn@latest init first to create one.

    "registries": { "@cybr": "https://cybr-ui.com/r/{name}.json" }
  2. 2. Add components:

    $ npx shadcn@latest add @cybr/blueprint-grid

If shadcn reports Unknown registry "@cybr", step 1 is missing from that project's components.json.

Preview

01 / BLUEPRINT GRID

24PX MINOR · 120PX MAJOR · CROSSHAIRS

Props

Component props
PropTypeDefaultDescription
minornumber24Minor grid spacing in px. Faint --label lines (12%).
majornumber120Major grid spacing in px. Stronger --label lines (35%).
crosshairsbooleantrueDraw small --ink + marks where the major lines meet.
...propsComponentProps<"div">—Every other native <div> attribute is forwarded; className is merged last with cn(). Give the root a height (or content) and any layout classes; they apply to the children directly.

Usage

Needs the stylesheet from @cybr/tokens. After the install, import it in app/globals.css:

@import "tailwindcss";
@import "../styles/cybr-tokens.css";
import { BlueprintGrid } from "@/components/ui/blueprint-grid";

export function Hero() {
  return (
    <BlueprintGrid className="flex min-h-96 items-center justify-center">
      <h1 className="font-display text-display-lg text-ink uppercase">Drafted</h1>
    </BlueprintGrid>
  );
}

States

Accessibility