crucıble

Flux

A word slot that cycles by melting — the outgoing word sags through a bright white heat-blur while the incoming word solidifies from the same blur, with a hairline neutral underline that stretches to each new width like drawn wire.

motionpro

Installation

CLI

npx shadcn@latest add @crucible/flux

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
wordsstring[]Words or short phrases to cycle through.
intervalnumber2600Milliseconds each word holds before smelting into the next.
transitionDurationnumber0.7Seconds the melt/solidify crossfade takes.
loopbooleantrueRestart from the first word after the last.
pausedbooleanfalseFreeze cycling on the current word.
onIndexChange(index: number) => voidFired whenever a new word becomes current.
heatColorstringsoft whiteHalo the outgoing/incoming glyphs glow with mid-transition.
underlineColorstringneutral-400Hairline underline color.
Also accepts all props of Omit<React.ComponentPropsWithoutRef<"span">, "children">they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.