Tab Bar Navbar

Polaris
Booking new projects for Q3
About this block

Tab Bar NavbarPRO

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

Two-row navbar with a top bar holding the wordmark, an availability status dot, and a seal call-to-action, and a second ruled row of tab-style links where the active tab gets an underline accent. Unlike the other navbars in this set it has no hamburger menu; on narrow screens the tab row simply scrolls horizontally.

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

Base UI flavor

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

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

Quick start

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

tsx
import { Navbar51, navbar51Demo } from "@/components/beste/block/navbar51";

export default function Layout() {
  return <Navbar51 {...navbar51Demo} />;
}

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

tsx
import { Navbar51 } from "@/components/beste/block/navbar51";

export default function Layout() {
  return (
    <Navbar51
      brand="Polaris"
      statusLabel="Booking new projects for Q3"
      links={[
        { label: "Overview", href: "/" },
        { label: "Work", href: "/work", isActive: true },
        { label: "Services", href: "/services" },
      ]}
      cta={{ label: "Start a Project", href: "/contact" }}
    />
  );
}

Props

PropTypeDefaultDescription
brandstring–Wordmark shown in the top row
statusLabelstring–Availability text with a dot indicator, hidden below lg
linksTabLink[][]Underlined tab row; the row is skipped entirely if empty
ctaCtaLink–button1 shown from sm up, replaced by a square icon-only arrow link below sm
classNamestring–Extra classes for the outer <header>
ts
type TabLink = {
  label: string;
  href: string;
  isActive?: boolean;
};

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

Behavior notes

  • This is the only navbar in the batch with no useState and no hamburger or drawer at all; every breakpoint change is pure CSS.
  • The tab row scrolls horizontally with overflow-x-auto on narrow screens instead of collapsing into a menu; the tabs stay centered when they fit and fall back to a scrollable, left-aligned row when they overflow.
  • The active tab (isActive: true) gets a bottom accent bar and full-foreground text color; all others are muted with a hover state.
  • The CTA renders twice: a full button1 from sm up, and a square icon-only arrow link below sm; only one is visible at a time.
  • The tab row is skipped entirely if links is empty.

More Navigation blocks

View all Navigation
PRO

navbar36

Tab-Style Navbar

PRO

navbar65

Status Tier Navbar

PRO

navbar44

Centered Logo Navbar

Get Pro access