Vodiči · 01
Prijelazi
Svaka komponenta prima jedan transition: krivulju timinga ili oprugu. Kako birati i što se događa kad se pokret prekine.
Dvije vrste prijelaza
Prijelaz je ili { duration, easing } ili { tempo: 'spring', spring }. Predajte ga u prop transition bilo koje komponente. Komponente koje pomiču više stvari odjednom primaju drugi prop, poput layoutTransition na MotionList za stavke koje klize na nove položaje.
// Timing: a duration and a curve.
{ duration: 300, easing: 'easeOut' }
{ duration: 600, easing: [0.22, 1, 0.36, 1] }
// Spring: physics that keeps its speed when interrupted.
{ tempo: 'spring', spring: { stiffness: 260, damping: 12 } }
// Spring with duration: calibrated to settle exactly then.
{ tempo: 'spring', spring: { stiffness: 260, damping: 12 }, duration: 500 }Opruge s trajanjem
Opruga obično traje koliko joj fizika treba. Dodajte duration i opruga se kalibrira da se smiri točno tada, zadržavajući svoj karakter (koliko odskače) i uklapajući se u vaš timing. Usporedite krivulje timinga i opruge na iste tri komponente ispod.
Priprema primjera…
Prekidi
Svaka komponenta počinje novi pokret od onoga što je na zaslonu. Opruga zadržava i trenutačnu brzinu, pa drugi klik glatko okreće pokret. Krivulja timinga počinje ponovno od trenutačnog položaja s novom krivuljom.
- Brojevi: nova vrijednost nastavlja od glifova na zaslonu.
- Visina i zamjene: veličina nastavlja od veličine na zaslonu.
- Popisi: stavke koje se premještaju na novi položaj zadržavaju brzinu.
Gotovi prijelazi
motionTokens skuplja nekoliko usklađenih osjećaja: četiri opruge, četiri krivulje timinga i četiri trajanja. To su obični objekti, pa raširite jedan da biste promijenili jedno polje.
import { motionTokens } from '@kkwaenggwari/animated-chorus';
motionTokens.spring.quick; // snappy UI feedback
motionTokens.spring.basic; // the default feel
motionTokens.spring.gentle; // panels and height
motionTokens.spring.bouncy; // playful numbers
motionTokens.easing.expoOut; // { duration: 420, easing: 'expoOut' }
motionTokens.duration.fast; // 140Nazivi easinga
easing prima linear, in, out, inOut, ease, easeIn, easeOut, easeInOut, expoOut, backOut ili niz kubične Bézierove krivulje poput [0.22, 1, 0.36, 1].