Motion Lab / Heroes / word reveal / kinetic
// Mechanisme: hero-word-reveal-kinetic
import gsap from 'https://esm.sh/gsap@3.12.5';
// Pas toe op je eigen selector — geen stijlkeuzes hier.
import gsap from 'https://esm.sh/gsap@3.12.5';
import{ScrollTrigger}from 'https://esm.sh/gsap@3.12.5/ScrollTrigger';
gsap.registerPlugin(ScrollTrigger);
const el=document.querySelector('.word-reveal-target');
if(el){const t=el.textContent.trim();el.innerHTML=t.split(' ').map(w=>'<span class="ww"><span class="wi">'+w+'</span></span>').join(' ');if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;
gsap.fromTo(el.querySelectorAll('.wi'),{yPercent:110,autoAlpha:0},{yPercent:0,autoAlpha:1,duration:0.7,stagger:0.04,ease:'power4.out',scrollTrigger:{trigger:el,start:'top 85%',once:true}});} <!-- Skeleton: hero-word-reveal-kinetic --> <div class="demo-block"> <!-- DOM-structuur hier --> </div>
/* Styling: hero-word-reveal-kinetic */
:root {
--block-bg: ;
--block-fg: ;
--block-accent: ;
}