API-reference

Hver export i @kkwaenggwari/animated-chorus med props, typer og standardværdier. De samme navne virker på nettet og i React Native.

17 API'er

Tal og tekst

MotionNumber

Et tal, hvis pladser ruller som hjul.

PropTypeStandardBeskrivelse
valuenumber | bigint | string—påkrævetTallet eller numerisk tekst, som du har formateret.
mode'replace' | 'roll''replace'replace flytter hver ændret plads ét trin; roll passerer cifrene imellem.
direction'auto' | 'digit' | 'up' | 'down''auto'auto følger størrelsesændringen, så mente ruller i én retning; digit sammenligner hver plads for sig.
staggernumber45Millisekunder mellem ændrede pladser, fra enerne og udad. Hele bølgen er begrænset.
format(value) => string | Intl.NumberFormatOptionsEn funktion, der returnerer teksten, der skal vises, eller Intl.NumberFormat-indstillinger (med intl).
intlbooleanfalseBrug den indbyggede Intl.NumberFormat. Slået fra som standard, så intet runtime kræver Intl.
localestring | string[]Locale til intl.
prefixstringTekst før tallet.
suffixstringTekst efter tallet.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onMotionComplete(value) => voidKører med værdien, når pladserne er landet.
Komponentside og arbejdsbænk

MotionText

Tekst, der animeres, når den ændrer sig: numerisk tekst ruller pr. plads, anden tekst skiftes.

PropTypeStandardBeskrivelse
childrenReactNodeTeksten, der skal vises.
aselement'span'Elementet, der renderes.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onMotionComplete(text) => voidKører, når bevægelsen lander.
Komponentside og arbejdsbænk

MotionStream

Streamet tekst, der vises i et jævnt tempo og indhenter stød.

PropTypeStandardBeskrivelse
textstring—påkrævetTeksten indtil nu. Voksende tekst vises i et jævnt tempo; en omskrivning fortsætter fra den fælles begyndelse.
speednumber90Grundtempo for visning i tegn pr. sekund.
catchUpnumber900Et efterslæb vises inden for cirka så mange millisekunder ved at sætte tempoet op.
initialbooleanfalseVis også teksten, der findes ved mount (ellers vises den med det samme).
effect'fade' | 'none''fade'fade toner nye tegn ind; none viser dem direkte.
children(visible: string) => ReactNodeEn funktion, der får den taktede tekst, for eksempel til at rendere Markdown.
aselement'span'Elementet, der renderes.
onMotionComplete(text) => voidKører, hver gang visningen har indhentet text.
Komponentside og arbejdsbænk

Indhold og størrelse

MotionSwap

Indhold, der krydstoner, mens elementet ændrer størrelse.

PropTypeStandardBeskrivelse
valueunknownIndholdets identitet; en ny værdi skifter. Børn, der kun er tekst, er deres egen identitet.
childrenReactNodeIndholdet.
aselement'span'Elementet, der renderes.
inlinebooleanas === 'span'true tilpasser størrelsen til indholdet (etiketter, ikoner); false fylder forælderens bredde og animerer højden.
align'start' | 'center' | 'end''center'Hvor indholdet sidder, mens størrelsen ændrer sig.
effect'fade' | 'up' | 'down' | 'scale''fade'Hvordan indhold kommer ind og forlader: up stiger, down falder, scale vokser.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onMotionComplete(value) => voidKører, når bevægelsen lander.
Komponentside og arbejdsbænk

MotionHeight

Animerer højden til indholdet: fold sammen, fold ud og indholdsændringer.

PropTypeStandardBeskrivelse
openbooleantruefalse folder sammen til højden nul; indholdet forbliver monteret, men skjult og inert.
childrenReactNodeIndholdet.
aselement'div'Elementet, der renderes.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onMotionComplete(open) => voidKører med open, når højden er landet.
Komponentside og arbejdsbænk

MotionPresence

Holder indhold monteret, mens det animeres ind og ud.

PropTypeStandardBeskrivelse
presentboolean—påkrævetVis eller skjul indholdet. Ændr dette i stedet for at afmontere.
enterPose{ opacity: 1, translateY: 0 }Posen i hvile.
exitPose{ opacity: 0, translateY: -12 }Posen, som indholdet forlader med og kommer ind fra.
aselement'div'Elementet, der renderes.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
onExitComplete() => voidKører, efter at indholdet er forladt og fjernet.
Komponentside og arbejdsbænk

Valg og sider

MotionHighlight

Elementer fra data med én markering, der flytter til det valgte element.

PropTypeStandardBeskrivelse
itemsreadonly T[]—påkrævetDit data-array.
valuekey | null—påkrævetNøglen for det markerede element; null skjuler markeringen.
onValueChange(key, item) => voidKører med nøglen og elementet, når et element trykkes.
getKey(item) => string | numberitem.idReturnerer en unik, stabil nøgle for et element. Standard er item.id, eller selve elementet for strenge og tal.
renderItem(item, { selected, index }) => ReactNodeitem.labelTegner et element; får at vide, om det er valgt.
hoverbooleanfalseFølg markøren hen over elementer, og vend tilbage til value, når den forlader (web).
itemAselement'button'Elementet for hvert punkt.
itemClassNamestringKlasse for hvert punkts element; itemStyle sætter dets inline-style.
highlightClassNamestringKlasse til markeringen; highlightStyle sætter dens inline-style.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Komponentside og arbejdsbænk

MotionPager

Swipebare sider fra data.

PropTypeStandardBeskrivelse
itemsreadonly T[]—påkrævetDit data-array.
indexnumberDen viste side. Udelad den for at lade pageren holde styr på sin egen.
defaultIndexnumber0Startside, når index ikke er kontrolleret.
onIndexChange(index, item) => voidKører med indeks og element, så snart et swipe, en tast eller en hjulgestus lander.
getKey(item) => string | numberitem.idReturnerer en unik, stabil nøgle for et element. Standard er item.id, eller selve elementet for strenge og tal.
renderItem(item, { index, active }) => ReactNodeitem.labelTegner en side; får dens indeks, og om den er aktiv.
gapnumber0Afstand mellem sider i pixels.
itemClassNamestringKlasse for hvert punkts element; itemStyle sætter dets inline-style.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Komponentside og arbejdsbænk

Lister

MotionList

En liste med nøgler fra data, der kun animerer det, der ændrede sig.

PropTypeStandardBeskrivelse
itemsreadonly T[]—påkrævetDit data-array.
getKey(item) => string | numberitem.idReturnerer en unik, stabil nøgle for et element. Standard er item.id, eller selve elementet for strenge og tal.
renderItem(item, index) => ReactNodeitem.labelTegner et element.
aselement'div'Elementet, der renderes.
itemAselement'li' | 'div'Elementet for hvert punkt.
itemClassNamestringKlasse for hvert punkts element; itemStyle sætter dets inline-style.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Hvordan elementer kommer ind og forlader.
distancenumber16Afstand for rise og slide i pixels.
staggernumber40Millisekunder mellem indkommende elementer.
order'forward' | 'reverse''forward'Kaskadens retning.
presentbooleantruefalse animerer alle elementer ud og bevarer layoutet; true bringer dem tilbage.
initialbooleantrueAfspil indgangen, når listen monteres.
playKeystring | numberAt ændre den afspiller indgangen igen.
transitionTransitionspringOvergang til elementer, der kommer ind og forlader.
layoutTransitionTransitionspringOvergang til elementer, der glider til nye positioner.
Komponentside og arbejdsbænk

MotionReorder

Træk for at omsortere en liste eller et gitter, med tastaturflytninger.

PropTypeStandardBeskrivelse
itemsreadonly T[]Elementerne, når du styrer rækkefølgen.
defaultItemsreadonly T[][]Startelementer, når komponenten holder rækkefølgen.
onItemsChange(items, { reason, key }) => voidKører med den nye rækkefølge, og om den kom fra et træk, et slip eller tastaturet.
getKey(item) => string | numberitemReturnerer en unik nøgle for et element. Standard er selve elementet.
renderItem(item, { index, dragging }) => ReactNodeitem.labelTegner et element; får dets indeks, og om det trækkes.
reorder'live' | 'drop''live'live flytter andre elementer under trækket; drop venter på slippet.
layout'list' | 'grid''grid'list eller grid.
columnsnumber3Kolonner i et gitter.
gapnumber12Afstand mellem elementer i pixels.
disabledbooleanfalseSlår træk fra.
durationnumber260Millisekunder for elementer, der rykker til side.
itemClassNamestringKlasse for hvert punkts element; itemStyle sætter dets inline-style.
Komponentside og arbejdsbænk

Gestus

MotionSwipe

En række, der viser handlinger ved et vandret swipe og kan swipes væk.

PropTypeStandardBeskrivelse
childrenReactNodeRækkens indhold.
startActionsReactNodeVises i linjens begyndelse, når rækken trækkes mod slutningen.
endActionsReactNodeVises i linjens slutning, når rækken trækkes mod begyndelsen.
dismiss'start' | 'end' | 'both'Sider, hvor et langt swipe eller et kast fjerner rækken.
onDismiss(side) => voidKører, efter at rækken er gledet ud og foldet sammen; fjern elementet fra dine data her.
onOpenChange(side | null) => voidKører med den åbne side eller null, når rækken lukker.
disabledbooleanfalseSlår swipe fra.
contentClassNamestringKlasse til rækkens indhold; contentStyle sætter dets inline-style.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Komponentside og arbejdsbænk

MotionHold

Tryk og hold for at bekræfte; slipper du tidligt, spoles tilbage.

PropTypeStandardBeskrivelse
childrenReactNodeKnappens etiket.
onConfirm() => voidKører, når holdet er fuldført.
durationnumber1200Millisekunder, trykket skal holdes.
disabledbooleanfalseSlår knappen fra.
fillClassNamestringKlasse til det voksende fyld; fillStyle sætter dets inline-style.
Komponentside og arbejdsbænk

Overlays

MotionSheet

En bottom sheet, top sheet eller sideskuffe med stoppunkter.

PropTypeStandardBeskrivelse
openbooleanfalseOm sheeten vises.
onOpenChange(open) => voidKører med false, når sheeten trækkes, trykkes eller Escape-lukkes.
detents(number | 'content')[]['content']Hvilestørrelser: en brøkdel af skærmen, pixels eller 'content'.
detentnumberKontrolleret indeks for stoppunkt.
defaultDetentnumber0Indeks for stoppunkt ved åbning uden detent.
onDetentChange(index) => voidKører med indekset for det stoppunkt, sheeten lander på.
side'bottom' | 'top' | 'start' | 'end''bottom'Kanten, sheeten kommer fra.
modalbooleantrueTilføjer en baggrund, holder fokus indeni og gør siden inert.
dismissiblebooleantrueTræk forbi det mindste stoppunkt, baggrunden og Escape lukker den.
backdropClassNamestringKlasse til baggrunden; backdropStyle sætter dens inline-style.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Komponentside og arbejdsbænk

MotionZoom

Et billede, der zoomer fra, hvor det er, til det fylder skærmen.

PropTypeStandardBeskrivelse
srcstringBilledet, der vises på stedet.
zoomSrcstringEt større billede, der vises, når det er indlæst; behold samme billedformat.
marginnumber24Afstand omkring det zoomede billede i pixels.
disabledbooleanfalseSlår zoom fra.
onZoomChange(zoomed) => voidKører med true ved zoom ind og false ved lukning.
backdropStyleCSSPropertiesInline-style til baggrunden.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Komponentside og arbejdsbænk

Fremskridt

ProgressBar

En kontrolleret fremskridtslinje med en ubestemt tilstand.

PropTypeStandardBeskrivelse
valuenumber | nullFremskridt fra 0 til max; null er ubestemt.
maxnumber100Værdien, der betyder færdig.
colorstring'currentColor'Fyldfarve.
trackColorstring'#e7ece9'Sporets farve.
thicknessnumber8Linjetykkelse i pixels.
direction'ltr' | 'rtl''ltr'Fyld fra venstre (ltr) eller fra højre (rtl).
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Komponentside og arbejdsbænk

ProgressRing

En kontrolleret fremskridtsring med en ubestemt tilstand.

PropTypeStandardBeskrivelse
valuenumber | nullFremskridt fra 0 til max; null er ubestemt.
maxnumber100Værdien, der betyder færdig.
sizenumber96Diameter i pixels.
thicknessnumber8Ringens tykkelse i pixels.
colorstring'currentColor'Buens farve.
trackColorstring'#e7ece9'Sporets farve.
childrenReactNodeEn etiket i midten.
transitionTransitionspringEn timingkurve { duration, easing } eller en fjeder { tempo: 'spring', spring }. Fjedre bevarer deres momentum, når de afbrydes.
Komponentside og arbejdsbænk

Overgange

motionTokens

Færdige værdier til enhver transition-prop.

PropTypeStandardBeskrivelse
duration{ instant, fast, normal, slow }0 · 140 · 280 · 520Varigheder i millisekunder.
easing{ ease, easeOut, expoOut, backOut }TransitionTimingovergange med en varighed og en navngiven kurve.
spring{ quick, basic, gentle, bouncy }TransitionFjederovergange, fra hurtige og faste til bløde og hoppende.
Overgange
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} />
    </>
  );
}

Søg

Skriv for at søge i dokumentationen.