Dark Three-Column Mega Navbar

About this block

Dark Three-Column Mega NavbarPRO

Inverted bg-foreground navbar with a three-column mega panel — an intro pitch, a numbered index list and a full-color featured image tile, divided by hairline rules. Outline pill CTAs throughout. Closes on outside click or Escape.

Inverted bg-foreground navbar (dark surface, light text) whose mega panel spreads across three columns divided by hairline rules: an intro pitch with a heading, description and outline CTA; a numbered index list of links; and a full-color featured image tile with its own heading and outline button overlaid on a dark scrim. Outline-tone pill CTAs are used throughout, including inside the panel, and the same expanding right-anchored search field and mega-panel mechanics as navbar69 are reused here on the dark palette.

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/navbar70?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

This installs the block to components/beste/block/navbar70.tsx, the button12 component it uses for the header, panel and mobile CTAs, and its dependencies.

Quick start

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

tsx
import { Navbar70, navbar70Demo } from "@/components/beste/block/navbar70";

export default function Layout() {
  return <Navbar70 {...navbar70Demo} />;
}

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

tsx
import { Navbar70 } from "@/components/beste/block/navbar70";

export default function Layout() {
  return (
    <Navbar70
      brand="Auralis"
      items={[
        {
          label: "Work",
          href: "/work",
          panel: {
            heading: "Find the work that fits your moment",
            description: "A decade of brand, product and motion, built to ship on real deadlines.",
            primary: { label: "Browse the work", href: "/work" },
            list: [
              { label: "Naming & language", href: "/work/naming" },
              { label: "Marks & wordmarks", href: "/work/marks" },
            ],
            featured: {
              heading: "See what we shipped this season",
              button: { label: "Recent launches", href: "/work/recent" },
              image: { src: "/launches.jpg", alt: "Crowd lit by stage lights at a live event" },
            },
          },
        },
        { label: "Studio", href: "/studio" },
      ]}
      button={{ label: "Have a project", href: "/contact" }}
      searchPlaceholder="Search products and projects…"
    />
  );
}

Props

PropTypeDefaultDescription
brandstringWordmark text, linked home
itemsNavItem[][]Top-level nav entries; entries with a panel open the three-column mega menu, others behave as plain links
button{ label: string; href: string }Outline-tone pill CTA in the header, rendered with button12
searchPlaceholderstringPlaceholder text for both the desktop overlay and mobile search inputs
classNamestringExtra classes for the outer <header>
ts
type NavItem = { label: string; href: string; panel?: MegaPanel };

type MegaPanel = {
  heading: string;
  description: string;
  primary: ActionLink;
  list: NavLink[];
  featured: {
    heading: string;
    button: ActionLink;
    image: { src: string; alt: string };
  };
};

type ActionLink = { label: string; href: string };
type NavLink = { label: string; href: string };

Behavior notes

  • The whole header uses bg-foreground/text-background (and background/NN opacity variants for borders and muted text) instead of the usual bg-background/text-foreground pairing, so it renders as a fixed-dark surface regardless of site theme.
  • Items with a panel render as a <button> with a rotating chevron; hovering opens the panel, clicking toggles it, hovering a plain link closes any open panel. The panel is absolutely positioned full-width below the header and always mounted, toggling visible/invisible with a translate/opacity transition rather than conditional rendering.
  • Inside an open panel, the numbered list column prefixes each entry with a zero-padded index (01, 02, …) and reveals an arrow icon only on hover; the featured column overlays its heading and button on the image behind a bg-black/45 scrim.
  • Clicking the search icon opens an absolutely positioned, right-anchored search field (auto-focused via useEffect) while the CTA/search-icon group is kept mounted but set invisible, so the header never reflows. A single outside-pointerdown/Escape handler closes whichever of the mega panel or search field is open.
  • Mega panels and the search trigger only appear at lg and up. Below that, the mobile menu (conditionally rendered while open) shows an always-visible dark-styled search input first, then every item's label as a link with panel list entries indented underneath, then the full-width outline CTA.

Wiring the form up

This block ships the form markup only; state, validation, and submit are yours to add. Our guide wires the shadcn Field primitives to React Hook Form, TanStack Form, and Formisch on one field system.

More Navigation blocks

View all Navigation
PRO

navbar53

Dark Mega Menu Navbar

Dark studio navbar whose Services item opens a mega panel with three eyebrow-titled link columns and a bordered booking card with a seal CTA.

PRO

navbar60

Mega Studio Navbar

Full mega-menu navbar — bold links open three-column panels with parenthetical section labels, descriptions and a footer link. SSR-mounted panels, pill CTA and a stacked mobile menu.

PRO

navbar54

Multi Mega Menu Navbar

Navbar where multiple items each open their own mega panel — three eyebrow-titled columns of described links with a view-all footer strip.

PRO

navbar55

Editorial Mega Menu Navbar

Navbar with an editorial split mega panel — eyebrow statement and seal CTA on the left, a numbered two-column project index in the middle and a tall studio image on the right.

PRO

navbar66

Featured Mega Navbar

Mega-menu navbar whose panels lead with a featured project — a full-color image card with a parenthetical category beside a ruled link list. SSR-mounted panels and a stacked mobile menu.

PRO

navbar81

Columns Mega Navbar

A sticky frosted navbar with two mega items, each dropping a full-width panel of three small-caps link groups in serif type beside a soft featured card with a photograph, an eyebrow and a lifting arrow link. Every panel stays in the markup and is shown with CSS; a light mobile menu groups the same links.