Brickslab.

@brickslab/ui-web

Animation multi-segments : découpe un texte par mot, caractère ou ligne et applique un preset d'animation (fade, blur, slide, scale, rise) avec stagger configurable.

Presets

fade · blur · slide · scale · rise — par mot

Par caractère

granularité character — stagger réduit

Props

PropTypeDéfautRequisDescription
childrenstringTexte à animer.
by"text" | "word" | "character" | "line""word"Granularité de segmentation.
preset"fade" | "blur" | "slide" | "scale" | "rise""fade"Preset d'animation par segment.
delaynumber0Délai initial en secondes avant la première animation.
staggernumber0.05Délai entre chaque segment en secondes.
durationnumber0.5Durée de l'animation par segment.
startOnViewbooleanfalseDéclenche l'animation à l'entrée dans le viewport.
oncebooleantrueN'anime qu'une seule fois si startOnView est actif.
reducedMotion"auto" | "always" | "never""auto"Comportement quand prefers-reduced-motion est actif.
onStart() => voidCallback déclenché au début de l'animation.
onComplete() => voidCallback déclenché à la fin de l'animation.

Utilisation

tsx
import { TextAnimate } from "@brickslab/ui-web";

<TextAnimate preset="slide" by="word">
  Chaque mot glisse vers le haut.
</TextAnimate>

<TextAnimate preset="blur" by="character" stagger={0.03}>
  Lettre par lettre, avec blur.
</TextAnimate>

<TextAnimate preset="rise" startOnView stagger={0.08}>
  Animé à l'entrée dans le viewport.
</TextAnimate>