grapheme handles

Chars

Character-level motion using grapheme-aware handles instead of UTF-16 slices.

All demos

Glyph lab: A→Ω ñ é Ж 字 かな 42% ✦ 🚀

Soft Blur In

1const title = chop('.headline')2const chars = title.chars34gsap.set(chars, { y: 16, opacity: 0, filter: 'blur(12px)' })5gsap.to(chars, {6  y: 0,7  opacity: 1,8  filter: 'blur(0px)',9  duration: 0.9,10  stagger: 0.025,11  ease: 'power3.out'12})