syaivoalpha

Waves

Layered ribbons of motion that rise and fall in smooth, continuous rhythm. Calm, fluid, endlessly watchable.

Preview

Usage

import { createWaves } from 'syaivo';

const effect = createWaves({
  colors: ['rgba(59,130,246,0.5)', 'rgba(99,102,241,0.4)', 'rgba(139,92,246,0.3)'],
  layers: 3,
  amplitude: 0.1,
  speed: 0.8,
});

effect.mount(document.getElementById('hero')!);

Options

OptionTypeDefaultDescription
colorsstring[]3 blue tonesWave line/fill colors
backgroundColorstring"transparent"Canvas background
layersnumber3Number of wave layers
amplitudenumber0.08Amplitude as fraction of height
frequencynumber1.5Cycles per canvas width
speednumber1Animation speed multiplier
filledbooleantrueFill waves instead of stroking
lineWidthnumber2Stroke width (when filled=false)
animatedbooleantrueEnable animation
respectReducedMotionbooleantrueHonor prefers-reduced-motion

Dynamic Updates

effect.update({ amplitude: 0.15, speed: 1.2 });

Example

Introducing your product

Build something
people remember

A polished experience starts with the details. Ship interfaces that feel considered from the first pixel.

Get startedDocumentation

On this page