Announcement Bar Navbar

A navbar with a dark announcement strip above a hairline-bordered row carrying a lowercase wordmark, uppercase links, a sign-in link, an accent call to action, and a mobile menu.

PRO

A navbar with an optional dark announcement strip stacked above a hairline-bordered nav row. The strip carries a short message and a linked call-to-action with a trailing arrow, while the row below holds a lowercase wordmark, uppercase nav links, a plain-text sign-in link, and a solid accent button, with the strip, sign-in link, and menu all collapsing sensibly on mobile.

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.

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

Base UI flavor

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

This installs the block to components/beste/block/navbar73.tsx, the button21 component it uses for its call-to-action, and its dependencies.

Quick start

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

tsx
import { Navbar73, navbar73Demo } from "@/components/beste/block/navbar73";

export default function Layout() {
  return <Navbar73 {...navbar73Demo} />;
}

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

tsx
import { Navbar73 } from "@/components/beste/block/navbar73";

export default function Layout() {
  return (
    <Navbar73
      announcement={{
        text: "Now live for multi-site groups.",
        link: { label: "See what's new", href: "/changelog" },
      }}
      brand="Acme"
      items={[
        { label: "Platform", href: "/platform" },
        { label: "Pricing", href: "/pricing" },
      ]}
      signIn={{ label: "Sign in", href: "/login" }}
      button={{ label: "Book a demo", href: "/demo" }}
    />
  );
}

Props

PropTypeDefaultDescription
announcementAnnouncementDark strip above the nav row; omit to hide the strip entirely
brandstringWordmark text, rendered lowercase, linked to https://beste.co
itemsNavLink[][]Nav links in the main row
signInActionLinkPlain-text link shown next to the call-to-action; omit to hide it
buttonActionLinkAccent call-to-action rendered via Button21; omit to hide it
classNamestringExtra classes for the outer <header>
ts
type Announcement = { text: string; link: ActionLink };
type NavLink = { label: string; href: string };
type ActionLink = { label: string; href: string };

Behavior notes

More Navbar blocks

View all Navbar
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.

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

navbar74

Floating Capsule Navbar

A navbar contained in a softly rounded, bordered capsule with a lowercase wordmark, uppercase links, an accent call to action, and a matching mobile panel.