API-referens

Varje export i @kkwaenggwari/animated-chorus med props, typer och standardvärden. Samma namn fungerar på webben och i React Native.

17 API:er

Siffror och text

MotionNumber

Ett tal vars positioner rullar som hjul.

PropTypStandardBeskrivning
valuenumber | bigint | string—krävsTalet, eller numerisk text som du formaterat.
mode'replace' | 'roll''replace'replace flyttar varje ändrad position ett steg; roll passerar siffrorna däremellan.
direction'auto' | 'digit' | 'up' | 'down''auto'auto följer storleksändringen så att minnessiffror rullar åt ett håll; digit jämför varje position för sig.
staggernumber45Millisekunder mellan ändrade positioner, från entalen och utåt. Hela vågen är begränsad.
format(value) => string | Intl.NumberFormatOptionsEn funktion som returnerar texten som ska visas, eller Intl.NumberFormat-alternativ (med intl).
intlbooleanfalseAnvänd det inbyggda Intl.NumberFormat. Avstängt som standard så att ingen körmiljö behöver Intl.
localestring | string[]Locale för intl.
prefixstringText före talet.
suffixstringText efter talet.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
onMotionComplete(value) => voidKörs med värdet när positionerna har landat.
Komponentsida och arbetsbänk

MotionText

Text som animeras när den ändras: numerisk text rullar per position, annan text byts.

PropTypStandardBeskrivning
childrenReactNodeTexten som ska visas.
aselement'span'Elementet som renderas.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
onMotionComplete(text) => voidKörs när rörelsen landar.
Komponentsida och arbetsbänk

MotionStream

Strömmad text som visas i jämn takt och hinner ikapp skurar.

PropTypStandardBeskrivning
textstring—krävsTexten hittills. Växande text visas i jämn takt; en omskrivning fortsätter från den gemensamma början.
speednumber90Grundtakt för visning i tecken per sekund.
catchUpnumber900En eftersläpning visas inom ungefär så här många millisekunder genom att takten ökar.
initialbooleanfalseVisa även texten som finns vid mount (annars syns den direkt).
effect'fade' | 'none''fade'fade tonar in nya tecken; none visar dem direkt.
children(visible: string) => ReactNodeEn funktion som får den taktade texten, till exempel för att rendera Markdown.
aselement'span'Elementet som renderas.
onMotionComplete(text) => voidKörs varje gång visningen har hunnit ikapp text.
Komponentsida och arbetsbänk

Innehåll och storlek

MotionSwap

Innehåll som övertonas medan elementet ändrar storlek.

PropTypStandardBeskrivning
valueunknownInnehållets identitet; ett nytt värde byter. Barn som bara är text är sin egen identitet.
childrenReactNodeInnehållet.
aselement'span'Elementet som renderas.
inlinebooleanas === 'span'true anpassar storleken efter innehållet (etiketter, ikoner); false fyller förälderns bredd och animerar höjden.
align'start' | 'center' | 'end''center'Var innehållet sitter medan storleken ändras.
effect'fade' | 'up' | 'down' | 'scale''fade'Hur innehåll kommer in och lämnar: up stiger, down faller, scale växer.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
onMotionComplete(value) => voidKörs när rörelsen landar.
Komponentsida och arbetsbänk

MotionHeight

Animerar höjden efter innehållet: fälla ihop, fälla ut och innehållsändringar.

PropTypStandardBeskrivning
openbooleantruefalse fäller ihop till höjden noll; innehållet förblir monterat men dolt och inert.
childrenReactNodeInnehållet.
aselement'div'Elementet som renderas.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
onMotionComplete(open) => voidKörs med open när höjden har landat.
Komponentsida och arbetsbänk

MotionPresence

Håller innehåll monterat medan det animeras in och ut.

PropTypStandardBeskrivning
presentboolean—krävsVisa eller dölj innehållet. Ändra det här i stället för att avmontera.
enterPose{ opacity: 1, translateY: 0 }Posen i vila.
exitPose{ opacity: 0, translateY: -12 }Posen som innehållet lämnar med och kommer in från.
aselement'div'Elementet som renderas.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
onExitComplete() => voidKörs efter att innehållet har lämnat och tagits bort.
Komponentsida och arbetsbänk

Urval och sidor

MotionHighlight

Objekt från data med en markering som flyttar till det valda objektet.

PropTypStandardBeskrivning
itemsreadonly T[]—krävsDin dataarray.
valuekey | null—krävsNyckeln för det markerade objektet; null döljer markeringen.
onValueChange(key, item) => voidKörs med nyckeln och objektet när ett objekt trycks.
getKey(item) => string | numberitem.idReturnerar en unik, stabil nyckel för ett objekt. Standard är item.id, eller själva objektet för strängar och tal.
renderItem(item, { selected, index }) => ReactNodeitem.labelRitar ett objekt; får veta om det är valt.
hoverbooleanfalseFölj pekaren över objekt och återgå till value när den lämnar (webb).
itemAselement'button'Elementet för varje objekt.
itemClassNamestringKlass för varje objektelement; itemStyle sätter dess inline-style.
highlightClassNamestringKlass för markeringen; highlightStyle sätter dess inline-style.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Komponentsida och arbetsbänk

MotionPager

Svepbara sidor från data.

PropTypStandardBeskrivning
itemsreadonly T[]—krävsDin dataarray.
indexnumberSidan som visas. Utelämna den för att låta pagern hålla reda på sin egen.
defaultIndexnumber0Startsida när index inte är kontrollerat.
onIndexChange(index, item) => voidKörs med index och objekt så fort ett svep, en tangent eller en hjulgest landar.
getKey(item) => string | numberitem.idReturnerar en unik, stabil nyckel för ett objekt. Standard är item.id, eller själva objektet för strängar och tal.
renderItem(item, { index, active }) => ReactNodeitem.labelRitar en sida; får dess index och om den är aktiv.
gapnumber0Avstånd mellan sidor i pixlar.
itemClassNamestringKlass för varje objektelement; itemStyle sätter dess inline-style.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Komponentsida och arbetsbänk

Listor

MotionList

En lista med nycklar från data som bara animerar det som ändrats.

PropTypStandardBeskrivning
itemsreadonly T[]—krävsDin dataarray.
getKey(item) => string | numberitem.idReturnerar en unik, stabil nyckel för ett objekt. Standard är item.id, eller själva objektet för strängar och tal.
renderItem(item, index) => ReactNodeitem.labelRitar ett objekt.
aselement'div'Elementet som renderas.
itemAselement'li' | 'div'Elementet för varje objekt.
itemClassNamestringKlass för varje objektelement; itemStyle sätter dess inline-style.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Hur objekt kommer in och lämnar.
distancenumber16Sträcka för rise och slide i pixlar.
staggernumber40Millisekunder mellan inkommande objekt.
order'forward' | 'reverse''forward'Kaskadens riktning.
presentbooleantruefalse animerar ut alla objekt och behåller layouten; true tar tillbaka dem.
initialbooleantrueSpela upp intåget när listan monteras.
playKeystring | numberAtt ändra den spelar upp intåget igen.
transitionTransitionspringÖvergång för objekt som kommer in och lämnar.
layoutTransitionTransitionspringÖvergång för objekt som glider till nya platser.
Komponentsida och arbetsbänk

MotionReorder

Dra för att sortera om en lista eller ett rutnät, med tangentbordsförflyttningar.

PropTypStandardBeskrivning
itemsreadonly T[]Objekten, när du styr ordningen.
defaultItemsreadonly T[][]Startobjekt, när komponenten håller ordningen.
onItemsChange(items, { reason, key }) => voidKörs med den nya ordningen och om den kom från en dragning, ett släpp eller tangentbordet.
getKey(item) => string | numberitemReturnerar en unik nyckel för ett objekt. Standard är själva objektet.
renderItem(item, { index, dragging }) => ReactNodeitem.labelRitar ett objekt; får dess index och om det dras.
reorder'live' | 'drop''live'live flyttar andra objekt under dragningen; drop väntar på släppet.
layout'list' | 'grid''grid'list eller grid.
columnsnumber3Kolumner i ett rutnät.
gapnumber12Avstånd mellan objekt i pixlar.
disabledbooleanfalseStänger av dragning.
durationnumber260Millisekunder för objekt som flyttar undan.
itemClassNamestringKlass för varje objektelement; itemStyle sätter dess inline-style.
Komponentsida och arbetsbänk

Gester

MotionSwipe

En rad som visar åtgärder vid ett horisontellt svep och kan svepas bort.

PropTypStandardBeskrivning
childrenReactNodeRadens innehåll.
startActionsReactNodeVisas i radens början när raden dras mot slutet.
endActionsReactNodeVisas i radens slut när raden dras mot början.
dismiss'start' | 'end' | 'both'Sidor där ett långt svep eller ett kast tar bort raden.
onDismiss(side) => voidKörs efter att raden glidit ut och fällts ihop; ta bort objektet från din data här.
onOpenChange(side | null) => voidKörs med den öppna sidan, eller null när raden stängs.
disabledbooleanfalseStänger av svepning.
contentClassNamestringKlass för radinnehållet; contentStyle sätter dess inline-style.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Komponentsida och arbetsbänk

MotionHold

Håll ned för att bekräfta; att släppa tidigt spolar tillbaka.

PropTypStandardBeskrivning
childrenReactNodeKnappens etikett.
onConfirm() => voidKörs när nedhållningen är fullbordad.
durationnumber1200Millisekunder som trycket måste hållas.
disabledbooleanfalseStänger av knappen.
fillClassNamestringKlass för den växande fyllningen; fillStyle sätter dess inline-style.
Komponentsida och arbetsbänk

Överlägg

MotionSheet

En bottom sheet, top sheet eller sidolåda med stopplägen.

PropTypStandardBeskrivning
openbooleanfalseOm sheeten visas.
onOpenChange(open) => voidKörs med false när sheeten dras, trycks eller Escape-stängs.
detents(number | 'content')[]['content']Vilostorlekar: en bråkdel av skärmen, pixlar eller 'content'.
detentnumberKontrollerat index för stoppläge.
defaultDetentnumber0Index för stoppläge vid öppning utan detent.
onDetentChange(index) => voidKörs med index för stoppläget som sheeten landar på.
side'bottom' | 'top' | 'start' | 'end''bottom'Kanten som sheeten kommer från.
modalbooleantrueLägger till en bakgrund, håller fokus inuti och gör sidan inert.
dismissiblebooleantrueDragning förbi det minsta stoppläget, bakgrunden och Escape stänger den.
backdropClassNamestringKlass för bakgrunden; backdropStyle sätter dess inline-style.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Komponentsida och arbetsbänk

MotionZoom

En bild som zoomar från där den är tills den fyller skärmen.

PropTypStandardBeskrivning
srcstringBilden som visas på plats.
zoomSrcstringEn större bild som visas när den lästs in; behåll samma bildförhållande.
marginnumber24Avstånd runt den inzoomade bilden i pixlar.
disabledbooleanfalseStänger av zoomning.
onZoomChange(zoomed) => voidKörs med true vid inzoomning och false vid stängning.
backdropStyleCSSPropertiesInline-style för bakgrunden.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Komponentsida och arbetsbänk

Förlopp

ProgressBar

En kontrollerad förloppslinje med ett obestämt läge.

PropTypStandardBeskrivning
valuenumber | nullFörlopp från 0 till max; null är obestämt.
maxnumber100Värdet som betyder klart.
colorstring'currentColor'Fyllningsfärg.
trackColorstring'#e7ece9'Spårets färg.
thicknessnumber8Linjetjocklek i pixlar.
direction'ltr' | 'rtl''ltr'Fyll från vänster (ltr) eller från höger (rtl).
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Komponentsida och arbetsbänk

ProgressRing

En kontrollerad förloppsring med ett obestämt läge.

PropTypStandardBeskrivning
valuenumber | nullFörlopp från 0 till max; null är obestämt.
maxnumber100Värdet som betyder klart.
sizenumber96Diameter i pixlar.
thicknessnumber8Ringens tjocklek i pixlar.
colorstring'currentColor'Bågens färg.
trackColorstring'#e7ece9'Spårets färg.
childrenReactNodeEn etikett i mitten.
transitionTransitionspringEn timingkurva { duration, easing } eller en fjäder { tempo: 'spring', spring }. Fjädrar behåller sitt momentum när de avbryts.
Komponentsida och arbetsbänk

Övergångar

motionTokens

Färdiga värden för valfri transition-prop.

PropTypStandardBeskrivning
duration{ instant, fast, normal, slow }0 · 140 · 280 · 520Varaktigheter i millisekunder.
easing{ ease, easeOut, expoOut, backOut }TransitionTimingövergångar med en varaktighet och en namngiven kurva.
spring{ quick, basic, gentle, bouncy }TransitionFjäderövergångar, från snabba och fasta till mjuka och studsiga.
Övergångar
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ök

Skriv för att söka i dokumentationen.