Nos termos do próprio skill
gsap.utils é o conjunto de funções auxiliares puras do GSAP para matemática, intervalos, unidades, cores e coleções, e não exige registro. O skill documenta clamp, mapRange, normalize, interpolate, random, snap, shuffle, distribute, getUnit, unitize, splitColor, selector, toArray, pipe, wrap e wrapYoyo com suas assinaturas, padrões e resultados.
É para desenvolvedores que escrevem ou revisam código GSAP que precisa mapear o scroll para um valor, normalizar entradas, encaixar em uma grade ou delimitar seletores em um componente. Um padrão percorre todo o arquivo: omita o valor final para obter uma função reutilizável, exceto random(), que recebe true.
O que ele produz
- O valor transformado, retornado diretamente quando você passa o argumento do valor
- Uma função reutilizável que aplica clamp, mapeia, normaliza ou encaixa os valores que você passar depois
- Um novo array com os mesmos elementos em ordem aleatória
- Uma função seletora com escopo que encontra elementos apenas dentro do elemento ou da ref informados
Como funciona
- 01Os helpers ficam em gsap.utils
Os utils são helpers puros que não exigem registro e podem ser chamados em qualquer lugar em que o JS comande o GSAP: vars de tween, callbacks de ScrollTrigger ou de Observer.
- 02Passe o valor por último e receba o resultado na hora
A maioria dos utils recebe primeiro a configuração e, como argumento final, o valor a transformar, devolvendo o resultado transformado na hora.
- 03Omita o valor para obter a forma de função
Omita esse valor final e o util devolve uma função que você chama depois com o valor, de modo que uma única configuração pode servir a muitos valores.
- 04Lembre-se: random() inverte o padrão
random() não usa a omissão para sua forma reutilizável; você passa true como último argumento e recebe uma função que retorna um valor novo a cada chamada.
- 05O snap pode ser definido no próprio tween
Para movimento em grade ou por passos, você pode passar snap diretamente nas vars do tween em vez de chamar o util antes.
- 06Encadeie transformações com pipe
pipe compõe funções da esquerda para a direita, então normalize e depois snap podem ser aplicados como uma única função dentro de um tween ou callback.