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
Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.ru/c/navbar-023?lang=en&theme=dark
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…