forever components

SVG Animations

Icon Morph

A peach gradient media icon morphs between play, pause, and stop states via point-interpolated Catmull-Rom curves, slowly spinning inside a glowing ring.

svgmedium complexitymoderate 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

Media player UIs, loading screens, or hero sections needing a polished ambient icon animation.

When not to

Contexts where icon state must reflect actual playback — it auto-cycles regardless of real media state.

Working with an AI agent

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

Change the accent color to coral by setting stop-color to #E8896B in the linearGradient stops, and slow the morph cycle by increasing MORPH from 1100 to 2000. 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 (linearGradient stop-color values)
  • half-extent scale (S=78)
  • hold duration (HOLD=900)
  • morph duration (MORPH=1100)
  • rotation speed (24s in ssa05-rot)
  • state sequence (states array order)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • shared 16-point topology (ensures clean 1:1 vertex morph)
  • IIFE wrapper
  • visibilitychange pause/resume
  • prefers-reduced-motion static fallback
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Auto-cycles through all states — not wired to real media playback events
  • Static reduced-motion fallback shows only the play state
  • Every loop must wind clockwise: the path uses nonzero fill so overlaps mid-morph stay solid

svgmorphiconmedia-playerpath-animationloopcatmull-rom

More SVG Animations components

  • Stroke Draw-OnAn ochre constellation draws itself via stroke-dashoffset, with anchor nodes blooming in as the line passes; the glyph holds then fades and redraws in a loop.
  • Blob MorphA glowing blush gradient blob slowly morphs between 5 organic shapes via Catmull-Rom spline interpolation, with a slow CSS spin and radial halo glow.
  • Gooey Merge7 buttery-gold blobs orbit a shared center under an SVG goo filter, continuously merging and splitting as a global breathing pulse drives their spread.
  • Turbulent BannerSerif gradient "TURBULENT" ripples under animated feTurbulence heat-haze; baseFrequency and displacement scale breathe via coupled sines, dark vignette…
  • Dash FlowOrthogonal circuit traces with powder-blue light pulses travelling via stroke-dashoffset; junction pads flicker as current passes. Dark navy background.
  • Gradient SweepA faceted hex-prism wireframe raked by a rotating spectral gradient band; the lit slice shifts hue continuously via rAF while SMIL drives the sweep rotation.