data-cursor drives state
// Mechanisme: foundation-cursor-system import gsap from 'https://esm.sh/[email protected]'; // Pas toe op je eigen selector — geen stijlkeuzes hier. if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return; const cur=document.querySelector('.custom-cursor'); if(cur){document.addEventListener('mousemove',e=>{cur.style.transform='translate('+e.clientX+'px,'+e.clientY+'px)';}); document.querySelectorAll('[data-cursor]').forEach(el=>{el.addEventListener('mouseenter',()=>cur.setAttribute('data-state',el.dataset.cursor));el.addEventListener('mouseleave',()=>cur.removeAttribute('data-state'));});}
<!-- Skeleton: foundation-cursor-system --> <div class="demo-block"> <!-- DOM-structuur hier --> </div>
/* Styling: foundation-cursor-system */
:root {
--block-bg: ;
--block-fg: ;
--block-accent: ;
}