Referencia API

Každý export @kkwaenggwari/animated-chorus s props, typmi a predvolenými hodnotami. Rovnaké názvy fungujú na webe aj v React Native.

API: 17

Čísla a text

MotionNumber

Číslo, ktorého rády sa točia ako kolieska.

PropTypPredvolenéPopis
valuenumber | bigint | string—povinnéČíslo alebo číselný text, ktorý ste naformátovali.
mode'replace' | 'roll''replace'replace posunie každý zmenený rád o jeden krok; roll prejde číslicami medzi nimi.
direction'auto' | 'digit' | 'up' | 'down''auto'auto sleduje zmenu veľkosti, takže prenosy rolujú jedným smerom; digit porovnáva každý rád zvlášť.
staggernumber45Milisekundy medzi zmenenými rádmi, od jednotiek von. Celá vlna je časovo obmedzená.
format(value) => string | Intl.NumberFormatOptionsFunkcia vracajúca text na zobrazenie, alebo voľby Intl.NumberFormat (s intl).
intlbooleanfalsePoužiť vstavaný Intl.NumberFormat. Predvolene vypnuté, aby žiadne behové prostredie Intl nepotrebovalo.
localestring | string[]Locale pre intl.
prefixstringText pred číslom.
suffixstringText za číslom.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
onMotionComplete(value) => voidSpustí sa s hodnotou, keď rády dosadnú.
Stránka komponentu a pracovný stôl

MotionText

Text, ktorý sa pri zmene animuje: číselný text roluje po rádoch, ostatný sa vymení.

PropTypPredvolenéPopis
childrenReactNodeText na zobrazenie.
aselement'span'Prvok, ktorý sa renderuje.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
onMotionComplete(text) => voidSpustí sa, keď pohyb dosadne.
Stránka komponentu a pracovný stôl

MotionStream

Streamovaný text odhaľovaný stálym tempom, ktorý dobieha nárazy.

PropTypPredvolenéPopis
textstring—povinnéDoterajší text. Rastúci text sa odhaľuje stálym tempom; prepis pokračuje od spoločného začiatku.
speednumber90Základná rýchlosť odhaľovania v znakoch za sekundu.
catchUpnumber900Nahromadený text sa zrýchlením odhalí približne za toľko milisekúnd.
initialbooleanfalseOdhaliť aj text, ktorý existuje pri pripojení (inak sa zobrazí hneď).
effect'fade' | 'none''fade'fade nové znaky plynulo zobrazí; none ich ukáže priamo.
children(visible: string) => ReactNodeFunkcia, ktorá dostáva text v danom tempe, napríklad na render Markdown.
aselement'span'Prvok, ktorý sa renderuje.
onMotionComplete(text) => voidSpustí sa zakaždým, keď odhaľovanie dobehne text.
Stránka komponentu a pracovný stôl

Obsah a veľkosť

MotionSwap

Obsah, ktorý sa prelína, kým prvok mení veľkosť.

PropTypPredvolenéPopis
valueunknownIdentita obsahu; nová hodnota vyvolá výmenu. Potomkovia tvorení len textom sú sami svojou identitou.
childrenReactNodeObsah.
aselement'span'Prvok, ktorý sa renderuje.
inlinebooleanas === 'span'true prispôsobí veľkosť obsahu (popisky, ikony); false vyplní šírku rodiča a animuje výšku.
align'start' | 'center' | 'end''center'Kde obsah sedí, kým sa veľkosť mení.
effect'fade' | 'up' | 'down' | 'scale''fade'Ako obsah prichádza a odchádza: up stúpa, down klesá, scale rastie.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
onMotionComplete(value) => voidSpustí sa, keď pohyb dosadne.
Stránka komponentu a pracovný stôl

MotionHeight

Animuje výšku podľa obsahu: zbalenie, rozbalenie a zmeny obsahu.

PropTypPredvolenéPopis
openbooleantruefalse zbalí na nulovú výšku; obsah zostane pripojený, ale skrytý a neaktívny.
childrenReactNodeObsah.
aselement'div'Prvok, ktorý sa renderuje.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
onMotionComplete(open) => voidSpustí sa s open, keď výška dosadne.
Stránka komponentu a pracovný stôl

MotionPresence

Drží obsah pripojený, kým sa animovane objavuje a odchádza.

PropTypPredvolenéPopis
presentboolean—povinnéZobraziť alebo skryť obsah. Meňte toto namiesto odpojenia.
enterPose{ opacity: 1, translateY: 0 }Póza v pokoji.
exitPose{ opacity: 0, translateY: -12 }Póza, s ktorou obsah odchádza a z ktorej prichádza.
aselement'div'Prvok, ktorý sa renderuje.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
onExitComplete() => voidSpustí sa po tom, čo obsah odišiel a bol odstránený.
Stránka komponentu a pracovný stôl

Výber a stránky

MotionHighlight

Položky z údajov s jedným zvýraznením, ktoré putuje k vybranej položke.

PropTypPredvolenéPopis
itemsreadonly T[]—povinnéVaše pole údajov.
valuekey | null—povinnéKľúč zvýraznenej položky; null zvýraznenie skryje.
onValueChange(key, item) => voidSpustí sa s kľúčom a položkou pri stlačení položky.
getKey(item) => string | numberitem.idVracia jedinečný stabilný kľúč položky. Predvolene item.id, pri reťazcoch a číslach samotnú položku.
renderItem(item, { selected, index }) => ReactNodeitem.labelVykreslí položku; dostane informáciu, či je vybraná.
hoverbooleanfalseSledovať ukazovateľ nad položkami a po odchode sa vrátiť na value (web).
itemAselement'button'Prvok pre každú položku.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.
highlightClassNamestringTrieda pre zvýraznenie; highlightStyle nastaví jeho inline štýl.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
Stránka komponentu a pracovný stôl

MotionPager

Stránky z údajov na listovanie potiahnutím.

PropTypPredvolenéPopis
itemsreadonly T[]—povinnéVaše pole údajov.
indexnumberZobrazená stránka. Vynechajte ju a pager si bude vlastnú stránku držať sám.
defaultIndexnumber0Počiatočná stránka, keď index nie je riadený.
onIndexChange(index, item) => voidSpustí sa s indexom a položkou, len čo sa potiahnutie, kláves alebo gesto kolieska usadí.
getKey(item) => string | numberitem.idVracia jedinečný stabilný kľúč položky. Predvolene item.id, pri reťazcoch a číslach samotnú položku.
renderItem(item, { index, active }) => ReactNodeitem.labelVykreslí stránku; dostane jej index a to, či je aktívna.
gapnumber0Medzera medzi stránkami v pixeloch.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
Stránka komponentu a pracovný stôl

Zoznamy

MotionList

Zoznam s kľúčmi z údajov, ktorý animuje len to, čo sa zmenilo.

PropTypPredvolenéPopis
itemsreadonly T[]—povinnéVaše pole údajov.
getKey(item) => string | numberitem.idVracia jedinečný stabilný kľúč položky. Predvolene item.id, pri reťazcoch a číslach samotnú položku.
renderItem(item, index) => ReactNodeitem.labelVykreslí položku.
aselement'div'Prvok, ktorý sa renderuje.
itemAselement'li' | 'div'Prvok pre každú položku.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Ako položky prichádzajú a odchádzajú.
distancenumber16Dráha rise a slide v pixeloch.
staggernumber40Milisekundy medzi prichádzajúcimi položkami.
order'forward' | 'reverse''forward'Smer kaskády.
presentbooleantruefalse animuje odchod všetkých položiek a zachová rozloženie; true ich vráti.
initialbooleantruePrehrať príchod pri pripojení zoznamu.
playKeystring | numberJeho zmena znova prehrá príchod.
transitionTransitionspringPrechod pre prichádzajúce a odchádzajúce položky.
layoutTransitionTransitionspringPrechod pre položky kĺžuce na nové miesta.
Stránka komponentu a pracovný stôl

MotionReorder

Radenie zoznamu alebo mriežky presúvaním, s presunmi klávesnicou.

PropTypPredvolenéPopis
itemsreadonly T[]Položky, keď poradie riadite vy.
defaultItemsreadonly T[][]Počiatočné položky, keď poradie drží komponent.
onItemsChange(items, { reason, key }) => voidSpustí sa s novým poradím a informáciou, či prišlo z ťahania, pustenia alebo klávesnice.
getKey(item) => string | numberitemVracia jedinečný kľúč položky. Predvolene samotnú položku.
renderItem(item, { index, dragging }) => ReactNodeitem.labelVykreslí položku; dostane jej index a to, či sa ťahá.
reorder'live' | 'drop''live'live posúva ostatné položky počas ťahania; drop čaká na pustenie.
layout'list' | 'grid''grid'list alebo grid.
columnsnumber3Stĺpce v mriežke.
gapnumber12Medzera medzi položkami v pixeloch.
disabledbooleanfalseVypne ťahanie.
durationnumber260Milisekundy, za ktoré položky uhnú.
itemClassNamestringTrieda pre prvok každej položky; itemStyle nastaví jeho inline štýl.
Stránka komponentu a pracovný stôl

Gestá

MotionSwipe

Riadok, ktorý vodorovným potiahnutím odkryje akcie a dá sa odsunúť.

PropTypPredvolenéPopis
childrenReactNodeObsah riadka.
startActionsReactNodeOdkryjú sa na začiatku riadka pri ťahaní ku koncu.
endActionsReactNodeOdkryjú sa na konci riadka pri ťahaní k začiatku.
dismiss'start' | 'end' | 'both'Strany, na ktorých dlhé potiahnutie alebo hod riadok odoberie.
onDismiss(side) => voidSpustí sa po tom, čo riadok vykĺzol a zbalil sa; tu položku odoberte zo svojich údajov.
onOpenChange(side | null) => voidSpustí sa s otvorenou stranou, alebo null pri zatvorení riadka.
disabledbooleanfalseVypne potiahnutie.
contentClassNamestringTrieda pre obsah riadka; contentStyle nastaví jeho inline štýl.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
Stránka komponentu a pracovný stôl

MotionHold

Stlačte a podržte na potvrdenie; predčasné pustenie vráti stav späť.

PropTypPredvolenéPopis
childrenReactNodePopisok tlačidla.
onConfirm() => voidSpustí sa po dokončení podržania.
durationnumber1200Milisekundy, počas ktorých treba stlačenie držať.
disabledbooleanfalseVypne tlačidlo.
fillClassNamestringTrieda pre rastúcu výplň; fillStyle nastaví jej inline štýl.
Stránka komponentu a pracovný stôl

Prekrytia

MotionSheet

Spodný alebo horný sheet či bočná zásuvka so zarážkami.

PropTypPredvolenéPopis
openbooleanfalseČi je sheet zobrazený.
onOpenChange(open) => voidSpustí sa s false, keď sa sheet zavrie ťahaním, ťuknutím alebo klávesom Escape.
detents(number | 'content')[]['content']Pokojové veľkosti: zlomok obrazovky, pixely alebo 'content'.
detentnumberRiadený index zarážky.
defaultDetentnumber0Index zarážky pri otvorení bez detent.
onDetentChange(index) => voidSpustí sa s indexom zarážky, na ktorej sheet dosadne.
side'bottom' | 'top' | 'start' | 'end''bottom'Okraj, z ktorého sheet prichádza.
modalbooleantruePridá pozadie, drží fokus vnútri a urobí stránku neaktívnou.
dismissiblebooleantrueZavrie ho ťahanie za najmenšiu zarážku, pozadie aj Escape.
backdropClassNamestringTrieda pre pozadie; backdropStyle nastaví jeho inline štýl.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
Stránka komponentu a pracovný stôl

MotionZoom

Obrázok, ktorý sa z miesta, kde je, priblíži, až vyplní obrazovku.

PropTypPredvolenéPopis
srcstringObrázok zobrazený na mieste.
zoomSrcstringVäčší obrázok zobrazený po načítaní; zachovajte rovnaký pomer strán.
marginnumber24Medzera okolo priblíženého obrázka v pixeloch.
disabledbooleanfalseVypne priblíženie.
onZoomChange(zoomed) => voidSpustí sa s true pri priblížení a false pri zatvorení.
backdropStyleCSSPropertiesInline štýl pozadia.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
Stránka komponentu a pracovný stôl

Priebeh

ProgressBar

Riadená čiara priebehu s neurčitým stavom.

PropTypPredvolenéPopis
valuenumber | nullPriebeh od 0 do max; null je neurčitý.
maxnumber100Hodnota znamenajúca dokončenie.
colorstring'currentColor'Farba výplne.
trackColorstring'#e7ece9'Farba dráhy.
thicknessnumber8Hrúbka čiary v pixeloch.
direction'ltr' | 'rtl''ltr'Plnenie zľava (ltr) alebo sprava (rtl).
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
Stránka komponentu a pracovný stôl

ProgressRing

Riadený kruh priebehu s neurčitým stavom.

PropTypPredvolenéPopis
valuenumber | nullPriebeh od 0 do max; null je neurčitý.
maxnumber100Hodnota znamenajúca dokončenie.
sizenumber96Priemer v pixeloch.
thicknessnumber8Hrúbka kruhu v pixeloch.
colorstring'currentColor'Farba oblúka.
trackColorstring'#e7ece9'Farba dráhy.
childrenReactNodePopisok v strede.
transitionTransitionspringKrivka timing { duration, easing } alebo pružina { tempo: 'spring', spring }. Pružiny si pri prerušení zachovávajú hybnosť.
Stránka komponentu a pracovný stôl

Prechody

motionTokens

Hotové hodnoty pre ľubovoľnú prop transition.

PropTypPredvolenéPopis
duration{ instant, fast, normal, slow }0 · 140 · 280 · 520Dĺžky v milisekundách.
easing{ ease, easeOut, expoOut, backOut }TransitionPrechody timing s dĺžkou a pomenovanou krivkou.
spring{ quick, basic, gentle, bouncy }TransitionPružinové prechody, od rýchlych a pevných po jemné a pružné.
Prechody
App.jsx
// Web and React Native: the same import.
import { MotionNumber, MotionList } from '@kkwaenggwari/animated-chorus';

export function Score({ points, players }) {
  return (
    <>
      <MotionNumber value={points} />
      <MotionList items={players} renderItem={(player) => player.name} />
    </>
  );
}

Hľadať

Píšte a hľadajte v dokumentácii.