Reference API

Každý export @kkwaenggwari/animated-chorus s props, typy a výchozími hodnotami. Stejné názvy fungují na webu i v React Native.

API: 17

Čísla a text

MotionNumber

Číslo, jehož řády se točí jako kolečka.

PropTypVýchozíPopis
valuenumber | bigint | string—povinnéČíslo nebo číselný text, který jste naformátovali.
mode'replace' | 'roll''replace'replace posune každý změněný řád o jeden krok; roll projde číslicemi mezi.
direction'auto' | 'digit' | 'up' | 'down''auto'auto sleduje změnu velikosti, takže přenosy rolují jedním směrem; digit porovnává každý řád zvlášť.
staggernumber45Milisekundy mezi změněnými řády, od jednotek ven. Celá vlna je časově omezená.
format(value) => string | Intl.NumberFormatOptionsFunkce vracející text k zobrazení, nebo volby Intl.NumberFormat (s intl).
intlbooleanfalsePoužít vestavěný Intl.NumberFormat. Ve výchozím stavu vypnuto, aby žádné běhové prostředí Intl nepotřebovalo.
localestring | string[]Locale pro intl.
prefixstringText před číslem.
suffixstringText za číslem.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onMotionComplete(value) => voidSpustí se s hodnotou, když řády dosednou.
Stránka komponenty a pracovní stůl

MotionText

Text, který se při změně animuje: číselný text roluje po řádech, ostatní se vymění.

PropTypVýchozíPopis
childrenReactNodeText k zobrazení.
aselement'span'Prvek, který se renderuje.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onMotionComplete(text) => voidSpustí se, když pohyb dosedne.
Stránka komponenty a pracovní stůl

MotionStream

Streamovaný text odhalovaný stálým tempem, který dohání nárazy.

PropTypVýchozíPopis
textstring—povinnéDosavadní text. Rostoucí text se odhaluje stálým tempem; přepis pokračuje od společného začátku.
speednumber90Základní rychlost odhalování ve znacích za sekundu.
catchUpnumber900Nahromaděný text se zrychlením odhalí přibližně za tolik milisekund.
initialbooleanfalseOdhalit i text, který existuje při připojení (jinak se zobrazí hned).
effect'fade' | 'none''fade'fade nové znaky plynule zobrazí; none je ukáže přímo.
children(visible: string) => ReactNodeFunkce, která dostává text v daném tempu, například pro render Markdown.
aselement'span'Prvek, který se renderuje.
onMotionComplete(text) => voidSpustí se pokaždé, když odhalování dožene text.
Stránka komponenty a pracovní stůl

Obsah a velikost

MotionSwap

Obsah, který se prolíná, zatímco prvek mění velikost.

PropTypVýchozíPopis
valueunknownIdentita obsahu; nová hodnota vyvolá výměnu. Potomci tvoření jen textem jsou sami svou identitou.
childrenReactNodeObsah.
aselement'span'Prvek, který se renderuje.
inlinebooleanas === 'span'true přizpůsobí velikost obsahu (popisky, ikony); false vyplní šířku rodiče a animuje výšku.
align'start' | 'center' | 'end''center'Kde obsah sedí, zatímco se velikost mění.
effect'fade' | 'up' | 'down' | 'scale''fade'Jak obsah přichází a odchází: up stoupá, down klesá, scale roste.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onMotionComplete(value) => voidSpustí se, když pohyb dosedne.
Stránka komponenty a pracovní stůl

MotionHeight

Animuje výšku podle obsahu: sbalení, rozbalení a změny obsahu.

PropTypVýchozíPopis
openbooleantruefalse sbalí na nulovou výšku; obsah zůstane připojený, ale skrytý a neaktivní.
childrenReactNodeObsah.
aselement'div'Prvek, který se renderuje.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onMotionComplete(open) => voidSpustí se s open, když výška dosedne.
Stránka komponenty a pracovní stůl

MotionPresence

Drží obsah připojený, zatímco se animovaně objevuje a odchází.

PropTypVýchozíPopis
presentboolean—povinnéZobrazit nebo skrýt obsah. Měňte toto místo odpojení.
enterPose{ opacity: 1, translateY: 0 }Póza v klidu.
exitPose{ opacity: 0, translateY: -12 }Póza, se kterou obsah odchází a ze které přichází.
aselement'div'Prvek, který se renderuje.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
onExitComplete() => voidSpustí se poté, co obsah odešel a byl odstraněn.
Stránka komponenty a pracovní stůl

Výběr a stránky

MotionHighlight

Položky z dat s jedním zvýrazněním, které putuje k vybrané položce.

PropTypVýchozíPopis
itemsreadonly T[]—povinnéVaše pole dat.
valuekey | null—povinnéKlíč zvýrazněné položky; null zvýraznění skryje.
onValueChange(key, item) => voidSpustí se s klíčem a položkou při stisku položky.
getKey(item) => string | numberitem.idVrací jedinečný stabilní klíč položky. Ve výchozím stavu item.id, u řetězců a čísel samotnou položku.
renderItem(item, { selected, index }) => ReactNodeitem.labelVykreslí položku; dostane informaci, zda je vybraná.
hoverbooleanfalseSledovat ukazatel nad položkami a po odchodu se vrátit na value (web).
itemAselement'button'Prvek pro každou položku.
itemClassNamestringTřída pro prvek každé položky; itemStyle nastaví jeho inline styl.
highlightClassNamestringTřída pro zvýraznění; highlightStyle nastaví jeho inline styl.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Stránka komponenty a pracovní stůl

MotionPager

Stránky z dat k listování přejetím.

PropTypVýchozíPopis
itemsreadonly T[]—povinnéVaše pole dat.
indexnumberZobrazená stránka. Vynechte ji a pager si bude vlastní stránku držet sám.
defaultIndexnumber0Počáteční stránka, když index není řízený.
onIndexChange(index, item) => voidSpustí se s indexem a položkou, jakmile se přejetí, klávesa nebo gesto kolečka usadí.
getKey(item) => string | numberitem.idVrací jedinečný stabilní klíč položky. Ve výchozím stavu item.id, u řetězců a čísel samotnou položku.
renderItem(item, { index, active }) => ReactNodeitem.labelVykreslí stránku; dostane její index a to, zda je aktivní.
gapnumber0Mezera mezi stránkami v pixelech.
itemClassNamestringTřída pro prvek každé položky; itemStyle nastaví jeho inline styl.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Stránka komponenty a pracovní stůl

Seznamy

MotionList

Seznam s klíči z dat, který animuje jen to, co se změnilo.

PropTypVýchozíPopis
itemsreadonly T[]—povinnéVaše pole dat.
getKey(item) => string | numberitem.idVrací jedinečný stabilní klíč položky. Ve výchozím stavu item.id, u řetězců a čísel samotnou položku.
renderItem(item, index) => ReactNodeitem.labelVykreslí položku.
aselement'div'Prvek, který se renderuje.
itemAselement'li' | 'div'Prvek pro každou položku.
itemClassNamestringTřída pro prvek každé položky; itemStyle nastaví jeho inline styl.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Jak položky přicházejí a odcházejí.
distancenumber16Dráha rise a slide v pixelech.
staggernumber40Milisekundy mezi příchozími položkami.
order'forward' | 'reverse''forward'Směr kaskády.
presentbooleantruefalse animuje odchod všech položek a zachová rozvržení; true je vrátí.
initialbooleantruePřehrát příchod při připojení seznamu.
playKeystring | numberJeho změna znovu přehraje příchod.
transitionTransitionspringPřechod pro příchozí a odcházející položky.
layoutTransitionTransitionspringPřechod pro položky klouzající na nová místa.
Stránka komponenty a pracovní stůl

MotionReorder

Řazení seznamu nebo mřížky přetažením, s přesuny klávesnicí.

PropTypVýchozíPopis
itemsreadonly T[]Položky, když pořadí řídíte vy.
defaultItemsreadonly T[][]Počáteční položky, když pořadí drží komponenta.
onItemsChange(items, { reason, key }) => voidSpustí se s novým pořadím a informací, zda přišlo z tažení, puštění nebo klávesnice.
getKey(item) => string | numberitemVrací jedinečný klíč položky. Ve výchozím stavu samotnou položku.
renderItem(item, { index, dragging }) => ReactNodeitem.labelVykreslí položku; dostane její index a to, zda se táhne.
reorder'live' | 'drop''live'live posouvá ostatní položky během tažení; drop čeká na puštění.
layout'list' | 'grid''grid'list nebo grid.
columnsnumber3Sloupce v mřížce.
gapnumber12Mezera mezi položkami v pixelech.
disabledbooleanfalseVypne tažení.
durationnumber260Milisekundy, za které položky uhnou.
itemClassNamestringTřída pro prvek každé položky; itemStyle nastaví jeho inline styl.
Stránka komponenty a pracovní stůl

Gesta

MotionSwipe

Řádek, který vodorovným přejetím odkryje akce a dá se odsunout.

PropTypVýchozíPopis
childrenReactNodeObsah řádku.
startActionsReactNodeOdkryjí se na začátku řádku při tažení ke konci.
endActionsReactNodeOdkryjí se na konci řádku při tažení k začátku.
dismiss'start' | 'end' | 'both'Strany, na kterých dlouhé přejetí nebo hod řádek odebere.
onDismiss(side) => voidSpustí se poté, co řádek vyklouzl a sbalil se; zde položku odeberte ze svých dat.
onOpenChange(side | null) => voidSpustí se s otevřenou stranou, nebo null při zavření řádku.
disabledbooleanfalseVypne přejíždění.
contentClassNamestringTřída pro obsah řádku; contentStyle nastaví jeho inline styl.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Stránka komponenty a pracovní stůl

MotionHold

Stiskněte a podržte pro potvrzení; předčasné puštění vrátí stav zpět.

PropTypVýchozíPopis
childrenReactNodePopisek tlačítka.
onConfirm() => voidSpustí se po dokončení podržení.
durationnumber1200Milisekundy, po které je třeba stisk držet.
disabledbooleanfalseVypne tlačítko.
fillClassNamestringTřída pro rostoucí výplň; fillStyle nastaví její inline styl.
Stránka komponenty a pracovní stůl

Překryvy

MotionSheet

Spodní nebo horní sheet či boční zásuvka se zarážkami.

PropTypVýchozíPopis
openbooleanfalseZda je sheet zobrazený.
onOpenChange(open) => voidSpustí se s false, když se sheet zavře tažením, klepnutím nebo klávesou Escape.
detents(number | 'content')[]['content']Klidové velikosti: zlomek obrazovky, pixely nebo 'content'.
detentnumberŘízený index zarážky.
defaultDetentnumber0Index zarážky při otevření bez detent.
onDetentChange(index) => voidSpustí se s indexem zarážky, na které sheet dosedne.
side'bottom' | 'top' | 'start' | 'end''bottom'Okraj, ze kterého sheet přichází.
modalbooleantruePřidá pozadí, drží fokus uvnitř a učiní stránku neaktivní.
dismissiblebooleantrueZavře ho tažení za nejmenší zarážku, pozadí i Escape.
backdropClassNamestringTřída pro pozadí; backdropStyle nastaví jeho inline styl.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Stránka komponenty a pracovní stůl

MotionZoom

Obrázek, který se z místa, kde je, přiblíží, až vyplní obrazovku.

PropTypVýchozíPopis
srcstringObrázek zobrazený na místě.
zoomSrcstringVětší obrázek zobrazený po načtení; zachovejte stejný poměr stran.
marginnumber24Mezera kolem přiblíženého obrázku v pixelech.
disabledbooleanfalseVypne přiblížení.
onZoomChange(zoomed) => voidSpustí se s true při přiblížení a false při zavření.
backdropStyleCSSPropertiesInline styl pozadí.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Stránka komponenty a pracovní stůl

Průběh

ProgressBar

Řízená čára průběhu s neurčitým stavem.

PropTypVýchozíPopis
valuenumber | nullPrůběh od 0 do max; null je neurčitý.
maxnumber100Hodnota znamenající dokončení.
colorstring'currentColor'Barva výplně.
trackColorstring'#e7ece9'Barva dráhy.
thicknessnumber8Tloušťka čáry v pixelech.
direction'ltr' | 'rtl''ltr'Plnění zleva (ltr) nebo zprava (rtl).
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Stránka komponenty a pracovní stůl

ProgressRing

Řízený kruh průběhu s neurčitým stavem.

PropTypVýchozíPopis
valuenumber | nullPrůběh od 0 do max; null je neurčitý.
maxnumber100Hodnota znamenající dokončení.
sizenumber96Průměr v pixelech.
thicknessnumber8Tloušťka kruhu v pixelech.
colorstring'currentColor'Barva oblouku.
trackColorstring'#e7ece9'Barva dráhy.
childrenReactNodePopisek uprostřed.
transitionTransitionspringKřivka timing { duration, easing } nebo pružina { tempo: 'spring', spring }. Pružiny si při přerušení zachovávají hybnost.
Stránka komponenty a pracovní stůl

Přechody

motionTokens

Hotové hodnoty pro libovolnou prop transition.

PropTypVýchozíPopis
duration{ instant, fast, normal, slow }0 · 140 · 280 · 520Délky v milisekundách.
easing{ ease, easeOut, expoOut, backOut }TransitionPřechody timing s délkou a pojmenovanou křivkou.
spring{ quick, basic, gentle, bouncy }TransitionPružinové přechody, od rychlých a pevných po jemné a pružné.
Přechody
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} />
    </>
  );
}

Hledat

Pište a hledejte v dokumentaci.