forever components

Loaders

DNA Helix

Two columns of 10 glowing dots swing left-right in opposite phases, tracing a rotating DNA double helix. Cycling status messages fade in below.

csslight 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

Loading screens where a quirky, science-themed spinner fits the brand tone. Works well for biotech, data, or developer tools.

When not to

Contexts needing a neutral or minimal loader — the cycling text messages are opinionated and must be replaced for production use.

Working with an AI agent

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

Change accent colors to green/lime tones: set --accent-iris to #22c55e, --accent-cyan to #a3e635, --accent-magenta to #4ade80, and slow the swing cycle to 2.4s. 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 colors (--accent-iris, --accent-cyan, --accent-magenta)
  • node count (COUNT=10)
  • swing duration (1.8s in animation shorthand)
  • swing amplitude (--amp CSS variable)
  • status messages (MSGS array)
  • message cycle interval (2600ms)
  • theme tokens (:root dark defaults + [data-theme=light] overrides)

Keep intact

  • IIFE wrapper
  • visibilitychange pause on both animation and timer
  • prefers-reduced-motion guard (CSS + JS branch)
  • aria-label on helix + aria-live on status
  • theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)

Known limitations

  • Node positions calculated once on load — resize does not reflow node layout
  • Cycling status messages are demo-only and must be replaced or removed before production use
  • z-index crossover in CSS requires stacking-context isolation if embedded in complex layouts

loaderdnahelixdotsglowcycling-textspinner

More Loaders components

  • Morphing BlobAurora-gradient blob slowly morphs border-radius and rotates, with an inset dark ghost layer counter-rotating. Soft glow on dark backdrop.
  • Skeleton ShimmerDark content-placeholder card with avatar circle and staggered text bars swept by a looping gold-to-tan shimmer gradient. Pure CSS, no JS logic.
  • Particle Orbit18 glowing iris, cyan, and magenta particles orbit a white core on wobbling elliptical paths; trailing fill creates a comet-like motion blur effect.
  • Concentric PulseFour concentric rings ripple outward in staggered teal, tan, and slate waves from a beating gradient core dot on a dark background.
  • Equalizer BarsSeven pill-shaped vermillion-to-tan gradient bars bounce at staggered offsets, mimicking an audio equalizer. Pure CSS scaleY animation.
  • Conic ProgressA circular conic-gradient ring fills from 0–100% with a lime arc and a blurred gold glow layer; a live numeric counter updates in sync.