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.

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

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

Preview

1440pxHost theme

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.ru/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…

For developers

The install command lives in the “Component source” block below — a signed link that stays valid for 24 hours.

Technical notes

One file, zero 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
Component source

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

Loading…