Editorial Studio Navbar

Booking new projects for Q3
Istanbul / Worldwide[email protected]
About this block

Editorial Studio NavbarPRO

Two-tier studio navbar with an availability utility strip, square-mark wordmark, index-numbered links and a seal CTA.

Two-tier studio navbar: a thin utility strip carries an availability dot, a location label and a mailto email link, and the main row pairs a square-mark wordmark with index-numbered links ("01", "02", ...) and a seal CTA. Below lg both rows collapse into a single bar with a hamburger toggle that opens a full-width mobile 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/navbar41?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

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

Quick start

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

tsx
import { Navbar41, navbar41Demo } from "@/components/beste/block/navbar41";

export default function Layout() {
  return <Navbar41 {...navbar41Demo} />;
}

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

tsx
import { Navbar41 } from "@/components/beste/block/navbar41";

export default function Layout() {
  return (
    <Navbar41
      brand="Polaris"
      statusLabel="Booking new projects for Q3"
      locationLabel="Istanbul / Worldwide"
      email="[email protected]"
      links={[
        { label: "Work", href: "/work" },
        { label: "Studio", href: "/studio" },
        { label: "Contact", href: "/contact" },
      ]}
      cta={{ label: "Start a Project", href: "/contact" }}
    />
  );
}

Props

PropTypeDefaultDescription
brandstring–Wordmark text next to the square mark
statusLabelstring–Availability text in the utility strip
locationLabelstring–Location text in the utility strip, hidden below md
emailstring–Renders as a mailto: link in the utility strip, repeated in the mobile menu
linksNavLink[][]Nav links, rendered with a zero-padded index prefix on both desktop and mobile
ctaCtaLink–Seal button rendered via Button1, shown on desktop and repeated in the mobile menu
classNamestring–Extra classes for the outer <header>

NavLink / CtaLink: { label: string; href: string }.

Behavior notes

  • The utility strip (status, location, email) only renders when at least one of the three props is set.
  • Desktop and mobile links both show a bold zero-padded index number ("01", "02", ...) before the label.
  • The mobile menu is conditionally rendered ({open && ...}), not SSR-mounted and CSS-hidden; it toggles via a hamburger button visible below lg.
  • The CTA and the email link are both repeated at the bottom of the mobile panel.

More Navigation blocks

View all Navigation
PRO

navbar59

Studio Bar Navbar

PRO

navbar65

Status Tier Navbar

PRO

navbar55

Editorial Mega Menu Navbar

Get Pro access