Toggle Sidebar B
AppearanceLight & dark mode D

Bubble Menu

Floating circular expanding menu with staggered item reveal.

Default

Click the toggle to open the menu. The ease, colors, duration and stagger are wired to the controls underneath.

Dark previewReplay previewOpen in new tab

Customize

Ease
Menu BG
Content Color
Anim Duration0.5s
Stagger0.12s

API Reference

BubbleMenu

PropTypeDefaultDescription
logostringundefinedImage src shown in the central bubble. Use the logo slot for custom content.
menuAriaLabelstring'Toggle menu'Accessible aria-label for the toggle button.
menuBgstring'#fff'Background color for the logo and toggle bubbles and base pill background.
menuContentColorstring'#111'Color for the menu icon lines and default pill text.
useFixedPositionbooleanfalseIf true positions the menu with fixed instead of absolute (follows viewport).
itemsMenuItem[]DEFAULT_ITEMSCustom menu items; each = { label, href, ariaLabel?, rotation?, hoverStyles?: { bgColor?, textColor? } }.
animationEasestring'back.out(1.5)'GSAP ease string used for bubble scale-in animation.
animationDurationnumber0.5Duration (s) for each bubble and label animation.
staggerDelaynumber0.12Base stagger (s) between bubble animations (with slight random variance).

Events

PropTypeDefaultDescription
menu-click(open: boolean) => void-Emitted whenever the menu toggle changes; receives the open state.

Accessibility

Keyboard shortcuts and ARIA behavior.

Shortcut Description
TabMoves focus to the toggle, then through the menu links.
Enter + SpaceToggles the menu from the toggle button.
  • The toggle exposes aria-pressed, and the hidden overlay is aria-hidden while closed.