Drawer Navbar

About this block

Drawer NavbarPRO

Minimal navbar with an availability status whose menu opens a dark right-side drawer — numbered links float in with a stagger over a backdrop, with a seal CTA and socials below.

Minimal navbar pairing a wordmark and an availability status dot with a two-line menu trigger that opens a dark, inverted right-side drawer over a backdrop. Inside the drawer, numbered links float in from the right with a staggered animation, followed by a call-to-action button, an email link, and social icons in the footer.

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

Base UI flavor

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

This installs the block to components/beste/block/navbar49.tsx and the button1 component it uses for its call-to-action.

Quick start

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

tsx
import { Navbar49, navbar49Demo } from "@/components/beste/block/navbar49";

export default function Layout() {
  return <Navbar49 {...navbar49Demo} />;
}

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

tsx
import { Navbar49 } from "@/components/beste/block/navbar49";

export default function Layout() {
  return (
    <Navbar49
      brand="Polaris"
      statusLabel="Booking new projects for Q3"
      menuLabel="Menu"
      closeLabel="Close"
      links={[
        { label: "Work", href: "/work" },
        { label: "Studio", href: "/studio" },
        { label: "Contact", href: "/contact" },
      ]}
      socials={[
        { icon: "twitter", href: "https://twitter.com" },
        { icon: "instagram", href: "https://instagram.com" },
      ]}
      cta={{ label: "Start a Project", href: "/contact" }}
      email="studio@polaris.co"
    />
  );
}

Props

PropTypeDefaultDescription
brandstringWordmark shown in the top bar and repeated in the drawer's close row
statusLabelstringAvailability text with a dot indicator, hidden below md
menuLabelstringLabel text next to the two-line menu trigger icon
closeLabelstringLabel text next to the close (X) icon inside the drawer
linksNavLink[][]Numbered links listed inside the drawer
socialsSocialLink[][]Social icon links in the drawer footer
ctaCtaLinkFull-width button1 in the drawer footer
emailstringRendered as a mailto: link in the drawer footer
classNamestringExtra classes for the outer <header>
ts
type NavLink = { label: string; href: string };

type SocialLink = {
  icon: "twitter" | "instagram" | "linkedin" | "dribbble";
  href: string;
};

type CtaLink = { label: string; href: string };

Behavior notes

  • Clicking the menu trigger sets open, which drives a fixed full-screen backdrop, a fixed max-w-md right-side drawer, and their internal content, all animated with translate-x/opacity transitions rather than conditional rendering, so the closed markup stays present in the DOM.
  • Links inside the drawer animate in with a per-item stagger, sliding in from the right; the footer (CTA, email, socials) staggers in after the last link.
  • Clicking the backdrop, clicking a link, or clicking the close control all set open back to false; there is no Escape-key handler.
  • The drawer uses inverted colors (bg-foreground/text-background) regardless of the site's theme.
  • The menu trigger and close control are custom two-line and X icons built from styled spans, not Lucide Menu/X; the second line of the hamburger shrinks on hover.
  • The block's meta.fullscreen: true flag marks its opened state as a fullscreen overlay for the preview tooling, matching how the drawer actually covers the viewport when open.

More Navigation blocks

View all Navigation
PRO

navbar34

Sidebar Drawer Navbar

Navbar with slide-in sidebar drawer featuring grouped navigation sections and overlay backdrop. Perfect for content-rich sites wanting organized off-canvas navigation menus.

PRO

navbar51

Tab Bar Navbar

Two-row navbar with brand, availability status and seal CTA on top, and an underlined active-tab link row that scrolls horizontally on mobile.

PRO

navbar65

Status Tier Navbar

Two-tier navbar — a top strip carries an availability badge with a live dot and utility links, over a main row with an oversized wordmark, nav and pill CTA.

PRO

navbar43

Dark Announcement Navbar

Dark studio navbar with a primary announcement bar, wordmark with tagline divider, uppercase links and a primary seal CTA.

PRO

navbar72

Centered Link Navbar

A minimal navbar with a lowercase wordmark, absolutely centered uppercase text links, an accent call to action, and a collapsing mobile menu.

PRO

navbar71

Pill Menu Navbar

A light editorial navbar with a lowercase wordmark, soft muted nav pills that reveal hover dropdowns, a solid accent call to action, and a collapsing mobile menu.