Number flow
Yalnızca değişen basamakların döndüğü animasyonlu sayılar; herhangi bir Intl biçimi ve yerel ayarla.
pnpm dlx shadcn@latest add https://hextaui.com/r/number-flow.jsonBileşeni, HextaUI tema token'larını ve bileşenin bağımlı olduğu tüm HextaUI bileşenlerini ekler.
Henüz eklemediyseniz tema token'larını global CSS'inize ekleyin.
Bağımlılıkları yükleyin.
pnpm add cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/number-flow.tsx lib/motion.ts İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Yalnızca değişen haneler hareket eder
Her hane kendi sütunudur. 22'den 23'e geçerken yalnızca birler hanesi döner; onlar hanesi sabit kalır. 99 → 100'deki üçüncü hane gibi beliren veya kaybolan haneler genişliklerini içeri veya dışarı kaydırır.
Eğilim
trend hanelerin hangi yöne döneceğini belirler. auto değer artarken yukarı, azalırken aşağı döner, up ve down bir yönü zorlar, shortest ise çarkın etrafında en yakın yolu seçer.
Biçimler
format ve locales her Intl.NumberFormat seçeneğini kabul eder. Haneler hareket ederken para birimi sembolleri, ayırıcılar ve işaretler sabit kalır; Latin olmayan rakamlar kendi yazılarında döner.
Zamanlama
Hareketi duration ve easing ile ayarlayın veya animated={false} ile kapatın. Azaltılmış hareket ayarları onu otomatik olarak kapatır.
Kesintiler ve olaylar
Dönüş sırasında gelen yeni bir değer her hanenin bulunduğu yerden devam eder, böylece hızlı güncellemeler hiç zıplamaz. onAnimationsStart ve onAnimationsFinish her hane grubunda bir kez tetiklenir.
Satır içi ve rozetlerde
Metnin taban çizgisine oturan satır içi bir <span> işler; haneler dönerken tabular haneler genişliği sabit tutar. BadgeCount bunu en fazla bir üst sınırda duran sayımlar için kullanır.
Sağdan sola
Sayılar, tarayıcıların onları işleyişine uygun olarak, sağdan sola düzende bile her zaman soldan sağa okunur.
- Ekran okuyucular gerçek biçimlendirilmiş sayıyı okur. Dönen sütunlar yardımcı teknolojilerden gizlenir; ayrılan karakterler animasyonla çıkarken gizlenir.
- Canlı bölge değildir. Değişikliklerin duyurulması gerekiyorsa onu
aria-live="polite"olan bir öğeyle sarın. - Azaltılmış hareket açıkken değerler dönmeden anında güncellenir.
children ve prefix dışındaki tüm <span> niteliklerini kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
valueZorunlu. | number | – |
locales | Intl.LocalesArgument | "en-US" |
formatIntl.NumberFormat'a iletilir. | Intl.NumberFormatOptions | – |
prefixSayıdan önceki sabit metin. | string | – |
suffixSayıdan sonraki sabit metin. | string | – |
trend | "auto" | "up" | "down" | "shortest" | "auto" |
durationDönüş süresi, milisaniye cinsinden. | number | 600 |
easingHerhangi bir CSS easing değeri. | string | easeSpring |
animated | boolean | true |
onAnimationsStartBir hane grubu hareket etmeye başladığında çağrılır. | () => void | – |
onAnimationsFinishSon grup oturduğunda çağrılır. Daha yeni bir değer onu keserse atlanır. | () => void | – |
| Öznitelik | Açıklama |
|---|---|
data-slot="number-flow" | Kök span. |
data-slot="number-flow-digit" | Her hane hücresi. |
data-slot="number-flow-symbol" | Ayırıcılar, işaretler, semboller, önek ve sonek. |
data-slot="number-flow-column" | Hane hücresinin içindeki dönen sütun. |
data-digit | Bir sütunun üzerinde durduğu hane, 0–9. |
- MotionHer bileşenin kullandığı yumuşatma eğrileri, süreler ve azaltılmış hareket denetimi; ayrıca boyut dönüşümleri ve kayan vurgular için hook'lar.
- AvatarBaş harf yedekli kullanıcı fotoğrafları, durum rozetleri ve sayıya daralan yığılmış gruplar.
- BadgeRenkli noktalı durum etiketleri, kayarak kapanan kaldırılabilir etiketler ve yeni değerine dönen sayaçlar.
- Cardİçeriği gruplamak için bir yüzey; üç varyant, kenardan kenara medya, eşmerkezli yarıçaplar ve tüm kartı kaplayan bağlantılar içerir.
- ChartTema renkli Recharts grafikleri; etiketleri tek bir yapılandırmadan okuyan bir tooltip ve gösterge, ayrıca görünür odak halkalı klavye gezintisi.
- Data tableGerçek veriler için bir tablo; sıralama, arama, satır seçimi, sabitlenmiş sütunlar, yapışkan başlık ve sayfalama içerir.
Kullanıldığı bloklar
Number flow üzerine kurulan bloklar.
- ArtifactModelin ürettiğini gösteren, yapay zeka sohbetinin yanındaki panel. Web sayfaları, SVG'ler, belgeler ve kod canlı olarak akar, ardından korumalı bir önizlemeye geçer; karşılaştırıp geri yükleyebileceğiniz sürümler, yeniden boyutlandırılabilir bir bölme ve telefonlarda alt sayfa sunar.
- Diff ReviewBir ajanın dosyalardaki düzenlemelerini uygulanmadan önce gözden geçirin. Sayaçlı bir dosya ağacı, her değişikliği, her dosyayı ya da hepsini kabul veya reddetme, herhangi bir satıra ya da aralığa ajana geri giden yorumlar, birleşik ve bölünmüş görünümler, kelime düzeyinde vurgular, geri alma, akışla gelen düzenlemeler ve sohbet için bir “4 dosya düzenlendi” özeti.