forever components

Neumorphism

Volume Knob

A neumorphic volume knob with 24 tick marks auto-rotates back and forth over 6 seconds, its gradient marker sweeping the full 360 degrees.

csslight complexitysubtle motion

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

Audio/music UI mockups, settings panels, or any neumorphic design showcase needing a realistic dial component.

When not to

Contexts requiring actual user input — the knob is display-only with no drag/click interaction wired up.

Working with an AI agent

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

Change the marker gradient from plum to orange-red (update background:linear-gradient(180deg,#ff6b35,#f7c948)), slow the sweep cycle to 10000ms by setting PERIOD=10000. 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

  • tick count (N=24)
  • sweep period (PERIOD=6000ms)
  • marker gradient colors (#925D78, #999086)
  • knob/socket shadow values
  • label text ('VOLUME')
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • visibilitychange stop/play guards
  • prefers-reduced-motion static fallback (rotate(120deg))
  • IIFE wrapper
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • No drag interaction — purely decorative auto-animation
  • Background color hardcoded to #e0e5ec; changing it breaks the neumorphic shadow illusion

neumorphismknobui-controlloopsoft-uiambient

More Neumorphism components

  • Toggle SwitchesThree neumorphic toggle switches auto-cycle on/off with a smooth ochre-accented thumb slide and inset shadow track.
  • Progress TrackNeumorphic inset progress track fills 0→100% via a slate-to-olive gradient fill, cycling with a percentage counter. Resets and loops automatically.
  • Stat CardsFour neumorphic stat cards (temp, humidity, power, signal) cycle through live-updating values one at a time, each card pulsing its shadow on update.
  • Ring GaugeSVG ring gauge fills with a sage-to-slate gradient arc over 4 seconds, counting a numeric percentage; resets and loops continuously.