Spinner
Apple tarzı çentiklere ya da nefes alan bir halkaya sahip, göstermeden önce bekleyebilen ve titremesin diye yeterince uzun kalan bir yükleme göstergesi.
pnpm dlx shadcn@latest add https://hextaui.com/r/spinner.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 class-variance-authority cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/spinner.tsx İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Varsayılan, Apple platformlarındaki sekiz kollu göstergedir. variant="ring" yayı büyüyüp küçülürken döner; böylece takılı kalmış değil çalışıyor gibi okunur. İkisi de geçerli metin renginde çizilir.
Titremesiz
loading verin; spinner göstermeden önce delay (150ms) bekler, böylece hızlı yüklemelerde hiç çakmaz, ardından görünür olunca en az minDuration (400ms) kalır.
Boyutlar
İki varyant için de sm, default, lg ve xl.
Satır içi
Metnin yanında spinner'ı aria-hidden işaretleyin ki sözcükler konuşsun. Tek başınayken label değerini duyurur.
Düğmelerde
Button ve Command yükleme durumları için bu spinner'ı kullanır; düğmenin simgelerine göre boyutlandırılmıştır.
- Tek başına spinner,
label(“Loading”) ile adlandırılan birstatus'tur. aria-hiddenile rolünü bırakır; görünür metnin yanında veya meşgul bir düğmenin içinde kullanım için.- Azaltılmış harekette dönmek yerine hafifçe nabız atar; böylece yine de bir şeylerin olduğunu gösterir.
| Prop | Tür | Varsayılan |
|---|---|---|
variant | "ticks" | "ring" | "ticks" |
sizenull boyutlandırmayı üst öğeye bırakır. | "sm" | "default" | "lg" | "xl" | null | "default" |
label | string | "Loading" |
loadingGecikmeli göstermeyi açar. Her zaman göstermek için vermeyin. | boolean | – |
delay | number | 150 |
minDuration | number | 400 |
animatedAnimasyonu gizlemeden duraklatır. | boolean | true |
| Öznitelik | Açıklama |
|---|---|
data-slot="spinner" | SVG; data-variant ile. |
Aynı zamanlama bir hook olarak da var; skeleton'lar, bindirmeler veya çakmaması gereken her şey için. useDelayedLoading kılavuzuna bakın.
- useDelayedLoadingYükleme durumunu yalnızca iş gerçekten yavaşken gösterir, sonra hiç titremeyecek kadar uzun süre açık tutar.
- AlertDurum ve geri bildirim için satır içi mesajlar; nötr bir yüzey, renkli bir simge ve yumuşakça daralan bir kapatma düğmesi içerir.
- EmptyHenüz gösterilecek bir şey olmayan ekranlar için, bir simge, bir mesaj ve sonraki eylemi içeren bir yer tutucu.
- ProgressBir görevin ne kadar ilerlediğini gösteren, güncellemeler arasında yumuşak geçiş yapan ve toplam bilinmediğinde kayan bir çubuk ya da halka.
- SkeletonGöstermeden önce 150ms bekleyen, sardıkları içeriğin tam boyutunu alan ve hiçbir şeyi kaydırmadan içeriği yumuşakça görünür kılan yer tutucular.
- ToastDüzgünce üst üste binen, hover'da genişleyen, kaydırılarak kapatılan ve yükleme durumunu yerinde başarıya ya da hataya çeviren kısa mesajlar.
Kullanıldığı bloklar
Spinner ü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.
- Chat SidebarBir sohbet uygulaması için kenar çubuğu. Üstte logo, arama ve Yeni sohbet, altında kendi bağlantılarınız, sabitlenmiş sohbetler, sohbetlerini göstermek için genişleyen projeler, güne göre gruplanmış son sohbetler ve hover ile sağ tık menüleri, satır içi yeniden adlandırma, geri alınabilir silme ve canlı yanıt durumları olan satırlar.
- 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.
- ProfileBir yapay zeka ürününün ayarlarındaki Profil bölümü. Fotoğrafı daire içine kırpın, siz yazarken kontrol edilen bir kullanıcı adı seçin, yeni e-postayı 6 haneli bir kodla onaylayın, siteyi tanıyan bağlantılar ekleyin ve başkalarının sizi nasıl gördüğünü canlı bir kartta izleyin.