Masthead Navbar

Independent Studio — Est. 2014Polaris
About this block

Masthead NavbarPRO

Print-inspired masthead navbar with a giant centered wordmark flanked by studio meta and contact, over a ruled row of spread-out links with an inline seal CTA.

Print-inspired masthead navbar built as a three-column grid: a small uppercase studio label on the left, a giant centered wordmark, and a contact link on the right, all sitting above a ruled row of spread-out uppercase links closed off by an inline seal-style call-to-action. Below lg the ruled row and CTA drop into a centered hamburger menu.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/navbar48?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/navbar48?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/navbar48.tsx and its dependencies.

Quick start

The installed file exports navbar48Demo alongside the block: the exact props behind the preview above. Spread it to get a working navbar in one line.

tsx
import { Navbar48, navbar48Demo } from "@/components/beste/block/navbar48";

export default function Layout() {
  return <Navbar48 {...navbar48Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Navbar48 } from "@/components/beste/block/navbar48";

export default function Layout() {
  return (
    <Navbar48
      brand="Polaris"
      metaLabel="Independent Studio, Est. 2014"
      contactLabel="[email protected]"
      contactHref="mailto:[email protected]"
      links={[
        { label: "Work", href: "/work" },
        { label: "Studio", href: "/studio" },
        { label: "Journal", href: "/journal" },
      ]}
      cta={{ label: "Start a Project", href: "/contact" }}
    />
  );
}

Props

PropTypeDefaultDescription
brandstring–Giant centered wordmark text
metaLabelstring–Small uppercase studio label shown left of the wordmark, hidden below md
contactLabelstring–Contact text (e.g. an email address) shown right of the wordmark on desktop and in the mobile menu
contactHrefstring–href for the contact link, paired with contactLabel
linksNavLink[][]Ruled nav row links, spread across the row with the CTA
ctaCtaLink–Inline seal-style link with a small primary arrow badge, shown at the end of the ruled row and in the mobile menu
classNamestring–Extra classes for the outer <header>
ts
type NavLink = { label: string; href: string };
type CtaLink = { label: string; href: string };

Behavior notes

  • No mega menu or dropdowns; layout is entirely CSS, and the only interactive state is the mobile menu's open boolean.
  • The ruled nav/CTA row is only shown at lg and up; below that it collapses into the hamburger-triggered mobile menu.
  • metaLabel is hidden below md; an empty <span> fills its grid cell on mobile so the wordmark stays centered.
  • The CTA is not the button1 component here; it is a plain link with a small primary square badge holding an arrow icon, rendered identically in the desktop row and the mobile menu.
  • The mobile menu is conditionally rendered ({open && ...}), not SSR-mounted.

More Navigation blocks

View all Navigation
PRO

navbar56

Giant Wordmark Navbar

PRO

navbar52

Letterhead Navbar

PRO

navbar44

Centered Logo Navbar

Get Pro access