Αναφορά API

Κάθε export του @kkwaenggwari/animated-chorus με τα props, τους τύπους και τις προεπιλογές του. Τα ίδια ονόματα λειτουργούν στο web και στο React Native.

17 API

Αριθμοί και κείμενο

MotionNumber

Ένας αριθμός του οποίου τα ψηφία κυλούν σαν τροχοί.

PropΤύποςΠροεπιλογήΠεριγραφή
valuenumber | bigint | string—υποχρεωτικόΟ αριθμός ή αριθμητικό κείμενο μορφοποιημένο από τον καλούντα.
mode'replace' | 'roll''replace'Το replace μετακινεί κάθε ψηφίο που αλλάζει ένα βήμα· το roll περνά από τα ενδιάμεσα ψηφία.
direction'auto' | 'digit' | 'up' | 'down''auto'Το auto ακολουθεί την αλλαγή μεγέθους ώστε τα κρατούμενα να κυλούν προς μία κατεύθυνση· το digit συγκρίνει κάθε ψηφίο χωριστά.
staggernumber45Χιλιοστά του δευτερολέπτου ανάμεσα στα ψηφία που αλλάζουν, από τις μονάδες προς τα έξω. Ολόκληρος ο κυματισμός είναι περιορισμένος.
format(value) => string | Intl.NumberFormatOptionsΣυνάρτηση που επιστρέφει το κείμενο προς εμφάνιση ή επιλογές Intl.NumberFormat (με intl).
intlbooleanfalseΧρήση του ενσωματωμένου Intl.NumberFormat. Απενεργοποιημένο από προεπιλογή ώστε κανένα runtime να μη χρειάζεται Intl.
localestring | string[]Τοπικές ρυθμίσεις για το intl.
prefixstringΚείμενο πριν από τον αριθμό.
suffixstringΚείμενο μετά τον αριθμό.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
onMotionComplete(value) => voidΕκτελείται με την τιμή μόλις ηρεμήσουν τα ψηφία.
Σελίδα component και πάγκος εργασίας

MotionText

Κείμενο που κινείται όταν αλλάζει: το αριθμητικό κείμενο κυλά ανά ψηφίο, το υπόλοιπο εναλλάσσεται.

PropΤύποςΠροεπιλογήΠεριγραφή
childrenReactNodeΤο κείμενο προς εμφάνιση.
aselement'span'Το στοιχείο προς απόδοση.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
onMotionComplete(text) => voidΕκτελείται όταν ηρεμήσει η κίνηση.
Σελίδα component και πάγκος εργασίας

MotionStream

Κείμενο σε ροή που εμφανίζεται με σταθερό ρυθμό και προλαβαίνει τις ριπές.

PropΤύποςΠροεπιλογήΠεριγραφή
textstring—υποχρεωτικόΤο κείμενο ως τώρα. Το κείμενο που μεγαλώνει εμφανίζεται με σταθερό ρυθμό· μια επανεγγραφή συνεχίζει από την κοινή αρχή.
speednumber90Βασικός ρυθμός εμφάνισης σε χαρακτήρες το δευτερόλεπτο.
catchUpnumber900Μια καθυστέρηση εμφανίζεται με επιτάχυνση μέσα σε περίπου τόσα χιλιοστά του δευτερολέπτου.
initialbooleanfalseΕμφάνιση σταδιακά και του κειμένου που υπάρχει κατά την προσάρτηση (αλλιώς φαίνεται αμέσως).
effect'fade' | 'none''fade'Το fade εμφανίζει σταδιακά τους νέους χαρακτήρες· το none τους δείχνει απευθείας.
children(visible: string) => ReactNodeΣυνάρτηση που λαμβάνει το ρυθμισμένο κείμενο, για παράδειγμα για απόδοση Markdown.
aselement'span'Το στοιχείο προς απόδοση.
onMotionComplete(text) => voidΕκτελείται κάθε φορά που η εμφάνιση προλαβαίνει το text.
Σελίδα component και πάγκος εργασίας

Περιεχόμενο και μέγεθος

MotionSwap

Περιεχόμενο που εναλλάσσεται με διασταυρούμενο σβήσιμο ενώ το στοιχείο αλλάζει μέγεθος.

PropΤύποςΠροεπιλογήΠεριγραφή
valueunknownΤαυτότητα του περιεχομένου· μια νέα τιμή προκαλεί εναλλαγή. Τα παιδιά με απλό κείμενο είναι η δική τους ταυτότητα.
childrenReactNodeΤο περιεχόμενο.
aselement'span'Το στοιχείο προς απόδοση.
inlinebooleanas === 'span'Το true προσαρμόζει το μέγεθος στο περιεχόμενο (ετικέτες, εικονίδια)· το false γεμίζει το πλάτος του γονέα και κινεί το ύψος.
align'start' | 'center' | 'end''center'Πού βρίσκεται το περιεχόμενο όσο αλλάζει το μέγεθος.
effect'fade' | 'up' | 'down' | 'scale''fade'Πώς μπαίνει και βγαίνει το περιεχόμενο: το up ανεβαίνει, το down πέφτει, το scale μεγαλώνει.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
onMotionComplete(value) => voidΕκτελείται όταν ηρεμήσει η κίνηση.
Σελίδα component και πάγκος εργασίας

MotionHeight

Κινεί το ύψος προς το περιεχόμενο: σύμπτυξη, ανάπτυξη και αλλαγές περιεχομένου.

PropΤύποςΠροεπιλογήΠεριγραφή
openbooleantrueΤο false συμπτύσσει σε μηδενικό ύψος· το περιεχόμενο μένει προσαρτημένο αλλά κρυφό και ανενεργό.
childrenReactNodeΤο περιεχόμενο.
aselement'div'Το στοιχείο προς απόδοση.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
onMotionComplete(open) => voidΕκτελείται με το open μόλις ηρεμήσει το ύψος.
Σελίδα component και πάγκος εργασίας

MotionPresence

Κρατά το περιεχόμενο προσαρτημένο όσο κινείται προς τα μέσα και προς τα έξω.

PropΤύποςΠροεπιλογήΠεριγραφή
presentboolean—υποχρεωτικόΕμφάνιση ή απόκρυψη του περιεχομένου. Αλλάξτε αυτό αντί για αποπροσάρτηση.
enterPose{ opacity: 1, translateY: 0 }Το pose σε ηρεμία.
exitPose{ opacity: 0, translateY: -12 }Το pose με το οποίο φεύγει και από το οποίο μπαίνει το περιεχόμενο.
aselement'div'Το στοιχείο προς απόδοση.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
onExitComplete() => voidΕκτελείται αφού το περιεχόμενο φύγει και αφαιρεθεί.
Σελίδα component και πάγκος εργασίας

Επιλογή και σελιδοποίηση

MotionHighlight

Στοιχεία από δεδομένα με μία επισήμανση που ταξιδεύει στο επιλεγμένο στοιχείο.

PropΤύποςΠροεπιλογήΠεριγραφή
itemsreadonly T[]—υποχρεωτικόΟ πίνακας δεδομένων σας.
valuekey | null—υποχρεωτικόKey του επισημασμένου στοιχείου· το null κρύβει την επισήμανση.
onValueChange(key, item) => voidΕκτελείται με το key και το στοιχείο όταν πατηθεί ένα στοιχείο.
getKey(item) => string | numberitem.idΕπιστρέφει μοναδικό, σταθερό key για ένα στοιχείο. Από προεπιλογή item.id, ή το ίδιο το στοιχείο για συμβολοσειρές και αριθμούς.
renderItem(item, { selected, index }) => ReactNodeitem.labelΣχεδιάζει ένα στοιχείο· λαμβάνει αν είναι επιλεγμένο.
hoverbooleanfalseΑκολουθεί τον δείκτη πάνω από τα στοιχεία και επιστρέφει στο value όταν φύγει (web).
itemAselement'button'Το στοιχείο για κάθε στοιχείο λίστας.
itemClassNamestringΚλάση για κάθε στοιχείο λίστας· το itemStyle ορίζει το inline στυλ του.
highlightClassNamestringΚλάση για την επισήμανση· το highlightStyle ορίζει το inline στυλ της.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
Σελίδα component και πάγκος εργασίας

MotionPager

Σελίδες με σάρωση από δεδομένα.

PropΤύποςΠροεπιλογήΠεριγραφή
itemsreadonly T[]—υποχρεωτικόΟ πίνακας δεδομένων σας.
indexnumberΗ σελίδα που εμφανίζεται. Παραλείψτε το για να τη διαχειρίζεται ο pager.
defaultIndexnumber0Σελίδα εκκίνησης όταν το index δεν ελέγχεται.
onIndexChange(index, item) => voidΕκτελείται με το index και το στοιχείο μόλις σταθεροποιηθεί μια σάρωση, πλήκτρο ή χειρονομία τροχού.
getKey(item) => string | numberitem.idΕπιστρέφει μοναδικό, σταθερό key για ένα στοιχείο. Από προεπιλογή item.id, ή το ίδιο το στοιχείο για συμβολοσειρές και αριθμούς.
renderItem(item, { index, active }) => ReactNodeitem.labelΣχεδιάζει μια σελίδα· λαμβάνει το index της και αν είναι ενεργή.
gapnumber0Κενό ανάμεσα στις σελίδες σε pixels.
itemClassNamestringΚλάση για κάθε στοιχείο λίστας· το itemStyle ορίζει το inline στυλ του.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
Σελίδα component και πάγκος εργασίας

Λίστες

MotionList

Μια λίστα με keys από δεδομένα που κινεί μόνο ό,τι άλλαξε.

PropΤύποςΠροεπιλογήΠεριγραφή
itemsreadonly T[]—υποχρεωτικόΟ πίνακας δεδομένων σας.
getKey(item) => string | numberitem.idΕπιστρέφει μοναδικό, σταθερό key για ένα στοιχείο. Από προεπιλογή item.id, ή το ίδιο το στοιχείο για συμβολοσειρές και αριθμούς.
renderItem(item, index) => ReactNodeitem.labelΣχεδιάζει ένα στοιχείο.
aselement'div'Το στοιχείο προς απόδοση.
itemAselement'li' | 'div'Το στοιχείο για κάθε στοιχείο λίστας.
itemClassNamestringΚλάση για κάθε στοιχείο λίστας· το itemStyle ορίζει το inline στυλ του.
effect'rise' | 'fade' | 'scale' | 'slide''rise'Πώς μπαίνουν και βγαίνουν τα στοιχεία.
distancenumber16Διαδρομή των rise και slide σε pixels.
staggernumber40Χιλιοστά του δευτερολέπτου ανάμεσα στα στοιχεία που μπαίνουν.
order'forward' | 'reverse''forward'Κατεύθυνση της κλιμάκωσης.
presentbooleantrueΤο false κινεί κάθε στοιχείο προς τα έξω κρατώντας τη διάταξη· το true τα επαναφέρει.
initialbooleantrueΑναπαραγωγή της εισόδου όταν προσαρτάται η λίστα.
playKeystring | numberΗ αλλαγή του αναπαράγει ξανά την είσοδο.
transitionTransitionspringΜετάβαση για στοιχεία που μπαίνουν και βγαίνουν.
layoutTransitionTransitionspringΜετάβαση για στοιχεία που γλιστρούν σε νέες θέσεις.
Σελίδα component και πάγκος εργασίας

MotionReorder

Σύρετε για να αναδιατάξετε μια λίστα ή ένα πλέγμα, με μετακινήσεις από το πληκτρολόγιο.

PropΤύποςΠροεπιλογήΠεριγραφή
itemsreadonly T[]Τα στοιχεία, όταν ελέγχετε εσείς τη σειρά.
defaultItemsreadonly T[][]Αρχικά στοιχεία, όταν τη σειρά την κρατά το component.
onItemsChange(items, { reason, key }) => voidΕκτελείται με τη νέα σειρά και με την προέλευσή της: σύρση, απόθεση ή πληκτρολόγιο.
getKey(item) => string | numberitemΕπιστρέφει μοναδικό key για ένα στοιχείο. Από προεπιλογή, το ίδιο το στοιχείο.
renderItem(item, { index, dragging }) => ReactNodeitem.labelΣχεδιάζει ένα στοιχείο· λαμβάνει το index του και αν σύρεται.
reorder'live' | 'drop''live'Το live μετακινεί τα άλλα στοιχεία κατά τη σύρση· το drop περιμένει την απόθεση.
layout'list' | 'grid''grid'list ή grid.
columnsnumber3Στήλες σε πλέγμα.
gapnumber12Κενό ανάμεσα στα στοιχεία σε pixels.
disabledbooleanfalseΑπενεργοποιεί τη σύρση.
durationnumber260Χιλιοστά του δευτερολέπτου για τα στοιχεία που παραμερίζουν.
itemClassNamestringΚλάση για κάθε στοιχείο λίστας· το itemStyle ορίζει το inline στυλ του.
Σελίδα component και πάγκος εργασίας

Χειρονομίες

MotionSwipe

Μια γραμμή που αποκαλύπτει ενέργειες με οριζόντια σάρωση και μπορεί να απομακρυνθεί με σάρωση.

PropΤύποςΠροεπιλογήΠεριγραφή
childrenReactNodeΤο περιεχόμενο της γραμμής.
startActionsReactNodeΑποκαλύπτονται στην αρχή της γραμμής όταν η γραμμή σύρεται προς το τέλος.
endActionsReactNodeΑποκαλύπτονται στο τέλος της γραμμής όταν η γραμμή σύρεται προς την αρχή.
dismiss'start' | 'end' | 'both'Πλευρές όπου μια μεγάλη σάρωση ή ρίψη αφαιρεί τη γραμμή.
onDismiss(side) => voidΕκτελείται αφού η γραμμή γλιστρήσει έξω και συμπτυχθεί· αφαιρέστε εδώ το στοιχείο από τα δεδομένα σας.
onOpenChange(side | null) => voidΕκτελείται με την ανοιχτή πλευρά, ή με null όταν κλείνει η γραμμή.
disabledbooleanfalseΑπενεργοποιεί τη σάρωση.
contentClassNamestringΚλάση για το περιεχόμενο της γραμμής· το contentStyle ορίζει το inline στυλ του.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
Σελίδα component και πάγκος εργασίας

MotionHold

Πατήστε παρατεταμένα για επιβεβαίωση· η πρόωρη απελευθέρωση επιστρέφει πίσω.

PropΤύποςΠροεπιλογήΠεριγραφή
childrenReactNodeΗ ετικέτα του κουμπιού.
onConfirm() => voidΕκτελείται μόλις ολοκληρωθεί το παρατεταμένο πάτημα.
durationnumber1200Χιλιοστά του δευτερολέπτου που πρέπει να κρατηθεί το πάτημα.
disabledbooleanfalseΑπενεργοποιεί το κουμπί.
fillClassNamestringΚλάση για το γέμισμα που μεγαλώνει· το fillStyle ορίζει το inline στυλ του.
Σελίδα component και πάγκος εργασίας

Επικαλύψεις

MotionSheet

Κάτω sheet, πάνω sheet ή πλαϊνό συρτάρι με σημεία στάσης.

PropΤύποςΠροεπιλογήΠεριγραφή
openbooleanfalseΑν εμφανίζεται το sheet.
onOpenChange(open) => voidΕκτελείται με false όταν το sheet κλείνει με σύρση, πάτημα ή Escape.
detents(number | 'content')[]['content']Μεγέθη ηρεμίας: κλάσμα της οθόνης, pixels ή 'content'.
detentnumberΕλεγχόμενο index σημείου στάσης.
defaultDetentnumber0Index σημείου στάσης που χρησιμοποιείται κατά το άνοιγμα χωρίς detent.
onDetentChange(index) => voidΕκτελείται με το index του σημείου στάσης στο οποίο ηρεμεί το sheet.
side'bottom' | 'top' | 'start' | 'end''bottom'Η άκρη από την οποία έρχεται το sheet.
modalbooleantrueΠροσθέτει φόντο, κρατά την εστίαση μέσα και κάνει τη σελίδα ανενεργή.
dismissiblebooleantrueΗ σύρση πέρα από το μικρότερο σημείο στάσης, το φόντο και το Escape το κλείνουν.
backdropClassNamestringΚλάση για το φόντο· το backdropStyle ορίζει το inline στυλ του.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
Σελίδα component και πάγκος εργασίας

MotionZoom

Μια εικόνα που μεγεθύνεται από τη θέση της ώστε να γεμίσει την οθόνη.

PropΤύποςΠροεπιλογήΠεριγραφή
srcstringΗ εικόνα που εμφανίζεται στη θέση της.
zoomSrcstringΜια μεγαλύτερη εικόνα που εμφανίζεται μόλις φορτωθεί· κρατήστε τον ίδιο λόγο διαστάσεων.
marginnumber24Χώρος που αφήνεται γύρω από τη μεγεθυσμένη εικόνα σε pixels.
disabledbooleanfalseΑπενεργοποιεί το ζουμ.
onZoomChange(zoomed) => voidΕκτελείται με true όταν μεγεθύνεται και false όταν κλείνει.
backdropStyleCSSPropertiesInline στυλ για το φόντο.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
Σελίδα component και πάγκος εργασίας

Πρόοδος

ProgressBar

Μια ελεγχόμενη γραμμή προόδου με απροσδιόριστη κατάσταση.

PropΤύποςΠροεπιλογήΠεριγραφή
valuenumber | nullΠρόοδος από 0 έως max· το null είναι απροσδιόριστο.
maxnumber100Η τιμή που σημαίνει ολοκλήρωση.
colorstring'currentColor'Χρώμα γεμίσματος.
trackColorstring'#e7ece9'Χρώμα τροχιάς.
thicknessnumber8Πάχος γραμμής σε pixels.
direction'ltr' | 'rtl''ltr'Γέμισμα από αριστερά (ltr) ή από δεξιά (rtl).
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
Σελίδα component και πάγκος εργασίας

ProgressRing

Ένας ελεγχόμενος δακτύλιος προόδου με απροσδιόριστη κατάσταση.

PropΤύποςΠροεπιλογήΠεριγραφή
valuenumber | nullΠρόοδος από 0 έως max· το null είναι απροσδιόριστο.
maxnumber100Η τιμή που σημαίνει ολοκλήρωση.
sizenumber96Διάμετρος σε pixels.
thicknessnumber8Πάχος δακτυλίου σε pixels.
colorstring'currentColor'Χρώμα τόξου.
trackColorstring'#e7ece9'Χρώμα τροχιάς.
childrenReactNodeΕτικέτα που εμφανίζεται στο κέντρο.
transitionTransitionspringΜια καμπύλη timing { duration, easing } ή ένα ελατήριο { tempo: 'spring', spring }. Τα ελατήρια κρατούν την ορμή τους όταν διακόπτονται.
Σελίδα component και πάγκος εργασίας

Μεταβάσεις

motionTokens

Έτοιμες τιμές για οποιοδήποτε prop transition.

PropΤύποςΠροεπιλογήΠεριγραφή
duration{ instant, fast, normal, slow }0 · 140 · 280 · 520Διάρκειες σε χιλιοστά του δευτερολέπτου.
easing{ ease, easeOut, expoOut, backOut }TransitionΜεταβάσεις timing με διάρκεια και ονομασμένη καμπύλη.
spring{ quick, basic, gentle, bouncy }TransitionΜεταβάσεις ελατηρίου, από γρήγορες και σφιχτές ως ήπιες και αναπηδητικές.
Μεταβάσεις
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} />
    </>
  );
}

Αναζήτηση

Πληκτρολογήστε για αναζήτηση στην τεκμηρίωση.