forever components

Navigation

Gooey Tab Bar

Pill-shaped tab bar with a vermillion blob that slides between tabs using a spring easing and SVG goo filter for liquid merge effect on dark surface.

svglight complexitymoderate motionclick

Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited

Live demo — the real component, running in a sandbox. One self-contained HTML file, zero dependencies. Open it on the canvas →
Worth keeping? Votes steer what gets built next — sign in to cast one, free to read

When to use it

Bottom nav bars, in-app tab switching, any dark-UI context needing a premium tactile navigation feel.

When not to

Light-background UIs (background is hardcoded dark). More than 4-5 tabs — blob sizing breaks on narrow viewports.

Working with an AI agent

Every component ships agent-ready metadata. An example instruction for this one:

Change accent color from #E04729 to #f43f5e, increase blob transition to 640ms, and add a fourth tab button labeled "Search" after "Cloud". Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.

Safe to edit

  • accent color (--accent-iris: #E04729)
  • blob spring transition duration (480ms)
  • tab labels (Home / Library / Cloud)
  • auto-cycle interval (1700ms)
  • padding and gap between buttons
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • SVG goo filter (#c03-goo feGaussianBlur + feColorMatrix)
  • IIFE wrapper
  • prefers-reduced-motion guard in loop()
  • visibilitychange stop/start
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Auto-cycles by default — remove loop() call before shipping in production
  • Blob position uses offsetLeft which requires buttons to already be laid out; rAF wraps initial move() to handle this
  • No aria-selected or role=tablist — needs ARIA wiring for accessibility

navigationtab-bargooeysvg-filterpillui-controlspring

More Navigation components

  • Magnify DockmacOS-style frosted-glass dock of six gradient tiles that scale up and lift toward the cursor; idle auto-sweep keeps it animated when untouched.
  • Hamburger MorphThree-line hamburger button spring-morphs into a glowing teal X on click; button border gains teal glow when open. Auto-cycles as demo.
  • Radial Fan MenuA core button rotates to an X and fans five glowing stone-toned icon petals outward in a staggered spring arc; auto-cycles open/close as a demo.
  • Slide-in DrawerHamburger icon morphs to an X while a side panel slides in over a dark scrim, revealing four nav items with staggered fade-in animations.
  • Underline FollowA glowing emerald-to-tan gradient underline slides and resizes to follow hovered nav links; wanders idly across links when unhovered.
  • Sliding PillA 3-segment Day/Week/Month toggle where a glowing translucent pill slides between options with a spring bounce on a dark rounded bar.