- Docs
- Components
- Backgrounds
- Flame Paths
Glowing flame tongues that gust and flare up
| Name | Type | Default | Description |
|---|---|---|---|
colors | [string, string] | ["#6600FF", "#FF0000"] | Flame colours from the left of the row to the right, blended in OKLCh. |
backgroundColor | string | "#000000" | Canvas background. Light colours switch to ink flames. Use transparent to sit on the page; light pages are detected automatically. |
origin | "top" | "bottom" | "top" | Where the flames are rooted: hanging from the top edge or rising from the bottom. |
speed | number | 0.4 | Speed of the flame motion. |
length | number | 1 | How far the flames reach from their root. |
brightness | number | 1 | Overall light output. |
glow | number | 1 | Soft bloom around the brightest parts of the flames. |
core | number | 1 | Strength of the white-hot core at the hottest point of each flame. |
flicker | number | 0.5 | How much each tongue breathes and sways on its own. |
centerShift | number | 1 | Moves the calm centre of the row. Other values sweep the flames into arcs. |
waveAmplitude | number | 10 | Density of the tongues. Higher values give more, thinner flames. |
waveFrequency | number | 0.6 | Waviness along each flame. High values give S-shaped tongues. |
innerFrequency | number | 2.5 | Frequency of the inner wave that splits the row into tongues. |
horizontalPull | number | 1 | Pulls the middle of the row out of step with the edges. |
plusPower | number | 30 | Sharpness of the flames along their length. |
minusPower | number | 10 | Sharpness of the flames across their width. |
interactive | boolean | true | Moving the pointer fans the flames like a gust. Clicking makes them flare up; flare-ups stack. |
gustStrength | number | 1 | How strongly pointer movement fans the flames. |
flareStrength | number | 1 | Strength of each click flare-up. |
opacity | number | 1 | Opacity of the whole canvas. |
intro | boolean | true | Grows the flames in from their root when the component appears. |
paused | boolean | false | Stops the motion. Reduced-motion users always get a still frame. |
dpr | number | 2 | Maximum device pixel ratio for the canvas. |
width | string | number | "100%" | Width of the component. |
height | string | number | "100%" | Height of the component. |
children | ReactNode | - | Content rendered above the flames. |
ref | { flare, replay } | - | flare(strength?, x?) fires a flare-up from code. replay() restarts the intro. |
className | string | - | Classes for the root element. |
style | CSSProperties | - | Inline styles for the root. |
colors[string, string]Flame colours from the left of the row to the right, blended in OKLCh.
["#6600FF", "#FF0000"]backgroundColorstringCanvas background. Light colours switch to ink flames. Use transparent to sit on the page; light pages are detected automatically.
"#000000"origin"top" | "bottom"Where the flames are rooted: hanging from the top edge or rising from the bottom.
"top"speednumberSpeed of the flame motion.
0.4lengthnumberHow far the flames reach from their root.
1brightnessnumberOverall light output.
1glownumberSoft bloom around the brightest parts of the flames.
1corenumberStrength of the white-hot core at the hottest point of each flame.
1flickernumberHow much each tongue breathes and sways on its own.
0.5centerShiftnumberMoves the calm centre of the row. Other values sweep the flames into arcs.
1waveAmplitudenumberDensity of the tongues. Higher values give more, thinner flames.
10waveFrequencynumberWaviness along each flame. High values give S-shaped tongues.
0.6innerFrequencynumberFrequency of the inner wave that splits the row into tongues.
2.5horizontalPullnumberPulls the middle of the row out of step with the edges.
1plusPowernumberSharpness of the flames along their length.
30minusPowernumberSharpness of the flames across their width.
10interactivebooleanMoving the pointer fans the flames like a gust. Clicking makes them flare up; flare-ups stack.
truegustStrengthnumberHow strongly pointer movement fans the flames.
1flareStrengthnumberStrength of each click flare-up.
1opacitynumberOpacity of the whole canvas.
1introbooleanGrows the flames in from their root when the component appears.
truepausedbooleanStops the motion. Reduced-motion users always get a still frame.
falsedprnumberMaximum device pixel ratio for the canvas.
2widthstring | numberWidth of the component.
"100%"heightstring | numberHeight of the component.
"100%"childrenReactNodeContent rendered above the flames.
-ref{ flare, replay }flare(strength?, x?) fires a flare-up from code. replay() restarts the intro.
-classNamestringClasses for the root element.
-styleCSSPropertiesInline styles for the root.
-