O módulo svelte/animate exporta uma função para usar com as animações da Svelte.
flippermalink
tsfunction flip(node: Element,{from,to}: {from: DOMRect;to: DOMRect;},
animate:flip={params}A função flip calcula a posição inicial e final dum elemento e anima entre elas, passando os valores de x e y. flip significa First (Primeiro), Last (Último), Invert (Inverter), Play (Tocar).
flip aceita os seguintes parâmetros:
delay(number, predefine 0) — milissegundos antes de começarduration(number|function, predefined => Math.sqrt(d) * 120) — consulte abaixoeasing(function, predefinecubicOut) — uma função de atenuação
duration pode ser fornecido ou como:
- um
number, em milissegundos. - uma função,
distance: number => duration: number, recebendo a distância que o elemento percorrerá em píxeis e retornando a duração em milissegundos. Isto permite-nos atribuir uma duração que é relativa à distância percorrida por cada elemento.
Nós podemos consultar um exemplo completo no tutorial de animações:
<script>
import { flip } from 'svelte/animate';
import { quintOut } from 'svelte/easing';
let list = [1, 2, 3];
</script>
{#each list as n (n)}
<div animate:flip={{ delay: 250, duration: 250, easing: quintOut }}>
{n}
</div>
{/each}Tipospermalink
AnimationConfigpermalink
tsinterface AnimationConfig {…}
tsdelay?: number;
tsduration?: number;
tseasing?: (t: number) => number;
tscss?: (t: number, u: number) => string;
tstick?: (t: number, u: number) => void;
FlipParamspermalink
tsinterface FlipParams {…}
tsdelay?: number;
tsduration?: number | ((len: number) => number);
tseasing?: (t: number) => number;