∞ forever components

Navigation

Sliding Pill

A 3-segment Day/Week/Month toggle where a glowing translucent pill slides between options with a spring bounce on a dark rounded bar.

csslight complexitysubtle motionclickmobile-ready

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 →
1

When to use it

Calendar views, date-range pickers, or any 2-4 option segmented control on dark UI surfaces.

When not to

Light backgrounds (colors hardcoded for dark surface). More than 4-5 options — pill width math gets cramped.

Working with an AI agent

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

Change the three labels to 'Hours', 'Days', 'Weeks' and update the accent glow color from emerald to amber by replacing rgba(43,171,107,0.5) with rgba(251,191,36,0.5). 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

  • button labels (Day/Week/Month text)
  • spring easing curve (--ease-spring cubic-bezier)
  • glide transition duration (440ms)
  • accent glow color (--glow-cyan / --border-glow)
  • auto-cycle interval (1700ms) Autonomous preview ends at first deliberate input and never resumes.
  • padding and font size
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • requestAnimationFrame initial move() call (sizes glide on load)
  • visibilitychange stop/loop pause pattern
  • prefers-reduced-motion guard on auto-cycle loop
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
  • demo-v1 preview lifecycle: initialize demoEnabled from window.__foreverPreview and stop attract work on the window forever:interactive event; retain manual feedback, settling, cleanup and explicit sessions

Known limitations

  • Auto-cycles by default — remove loop() call and stop() handler before shipping in production
  • Background and colors hardcoded for dark surfaces only
  • No aria-pressed or role=tablist semantics for screen readers
  • State remains local to each mounted instance; format/theme remount preserves takeover, not component values.

navigationpilltogglesegmented-controlspringglowdark-ui

More Navigation components

  • Magnify DockmacOS-style frosted-glass dock of six gradient tiles that scale up and lift toward the cursor; idle sweep that stops at first deliberate input keeps it…
  • 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.
  • Gooey Tab BarPill-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.
  • 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 until first deliberate input across links when unhovered.