1. Mechanisme — kopieer 1-op-1, geen styling-keuzes
// Mechanisme: gallery-clip-wipe-grid-brutalist
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);
if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;
gsap.utils.toArray('.clip-wipe-item').forEach((el,i)=>gsap.fromTo(el,{clipPath:'inset(0 100% 0 0)'},{clipPath:'inset(0 0% 0 0)',duration:0.5,ease:'power4.out',scrollTrigger:{trigger:el,start:'top 85%',once:true},delay:i*0.03})); 2. Skeleton — DOM + class-namen, mag herschikken
<!-- Skeleton: gallery-clip-wipe-grid-brutalist -->
<div class="demo-block">
<!-- DOM-structuur hier -->
</div>
3. Styling-template — verplicht eigen invulling per merk
/* Styling: gallery-clip-wipe-grid-brutalist */
:root {
--block-bg: ;
--block-fg: ;
--block-accent: ;
}