Navbar

Festival island header with a glider and colour dots

A festival header made of islands: at the top of the page three separate frosted-glass pills — the brand with a lime mark, the menu with links and an accent “Tickets” — sit wide apart; after scrolling the gaps collapse and the islands gather into one narrow pill. A glider rides under the links: following the cursor on hover, otherwise under the current section. Links carry colour strand dots. On narrow screens a burger and a panel.

React + Tailwind, shadcn-compatible: press “Copy for AI” and your Cursor or Claude Code agent installs it with the shadcn CLI.

What you can change

  • brand, brandHref, markLabel, links (labels, anchors, colours), actionLabel, actionHref, menuLabel, closeLabel, navLabel
  • spy — disable the scroll spy when the page has no anchors
  • accent and background, tone

Built from

The install command brings these components too. The block only passes them props: their palette and behaviour stay their own.

A link for your AI agent: preview, code and instructions.

Preview

1440pxHost theme
Festival island header with a glider and colour dots — A festival header made of islands: at the top of the page three separate frosted-glass pills — the brand with a lime mark, the menu with links and an accent “Tickets” — sit wide apart; after scrolling the gaps collapse and the islands gather into one narrow pill. A glider rides under the links: following the cursor on hover, otherwise under the current section. Links carry colour strand dots. On narrow screens a burger and a panel.

Use it with AI

  1. 1. Copy the link.
  2. 2. Write to your agent in your own words and drop the link into the sentence.
  3. 3. The agent opens the link and installs the component from the registry.
AI
1Pick it here

put this on the home page as the hero:

https://vibeui.club/c/navbar-023?lang=en&theme=dark

2Paste into the chat
3Get it in your project

Not sure where to paste it? Step-by-step guide

Show the full instructions

What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.

Loading…

How to use

<Navbar023
  brand="threedays"
  markLabel="t"
  links={[
    { label: "Programme", href: "#program", color: "#ffe2d6" },
    { label: "Tickets", href: "#tickets", color: "#c2df37" },
  ]}
  actionLabel="Tickets"
  actionHref="#tickets"
/>

A sample call. The agent installs the component itself from the registry via the “Copy for AI” link.

Settings

Theme
tone · default: auto
Brand
brand · default: threedays
Mark
markLabel · default: t
Button
actionLabel · default: Tickets
Scroll spy
spy · default: on
Accent
accent · default: theme colour
Background
background · default: theme colour

Used in scenarios

FAQ

How do I add Festival island header with a glider and colour dots with Cursor or Claude Code?
Press “Copy for AI” on this page and paste it into your agent's chat. The instruction contains the shadcn CLI install command, the dependencies and what to keep, so the agent installs this exact component instead of recreating a lookalike.
What does Festival island header with a glider and colour dots depend on?
No npm packages beyond React and Tailwind CSS. It also installs catalog components: button-016.
What can I change in Festival island header with a glider and colour dots?
Adapt: brand, brandHref, markLabel, links (labels, anchors, colours), actionLabel, actionHref, menuLabel, closeLabel, navLabel; spy — disable the scroll spy when the page has no anchors; accent and background, tone. Keep as installed: the button-016 imports from @/components/vibeui/ — do not inline their code into the block or swap in your own; the parts receive props only; three islands at the top and one pill after scrolling — the header's main gesture; the glider under the links: following the cursor on hover, under the current section on scroll.
Is Festival island header with a glider and colour dots free?
The preview is open to everyone; the source is available with a PRO subscription.

For developers

npx shadcn@latest add https://vibeui.club/r/pro/navbar-023.json

This command needs a signed link: sign in and open “Component source” below — it issues a working link valid for 30 minutes. All install options

Technical notes

A composite block: imports button-016 from @/components/vibeui/ — the install command brings them along with the block. The block owns the layout and its own text, passes the parts props only and leaves their --vibeui-<name>-* palettes alone. One file, zero npm dependencies, “use client” for the scroll state, the glider, the scroll spy and the menu. A sticky <header> with pointer-events:none, only the islands are clickable. The dock gets data-scrolled after 8px: the bar collapses its gap and max-width and gains dense glass with a shadow, while the islands drop their background, border and shadow — three pills become one. The glider is a span with width and translate3d from CSS variables written from offsetLeft/offsetWidth: a link's onMouseEnter leads it under the cursor, onMouseLeave returns it under aria-current; a ResizeObserver recomputes on reflow. The current section comes from an IntersectionObserver on the link anchors (rootMargin -40 %/-55 %). The link dot maps link.color to --dot, scaled 1.5 when active. Links from 60rem (container query); below that a burger with aria-expanded, a data-open panel under the header, Escape and an outside click close it. Under 32rem the burger hides its label. Palette --vibeui-navbar-023-* is neutral: ink and paper via light-dark(), the site colours come through the accent, ink and background props; pill colours live in the data (color and ink per item), so one section can carry all twelve festival colours. Inter Tight and Inter via <link precedence> from Google Fonts with system fallbacks. tone pins the scheme, accent, ink and background override colours.

Tags

  • festival
  • event
  • colorful
  • pills
  • landing
  • header
  • navbar
  • sticky
  • floating
  • scrollspy
  • islands
  • glider
  • glass
  • composite
Component source

The same file your agent installs. Here in case you would rather copy it by hand.

Loading…