Toast
Dü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.
pnpm dlx shadcn@latest add https://hextaui.com/r/toast.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 @base-ui/react @tabler/icons-react cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/toast.tsx components/ui/button.tsx components/ui/spinner.tsx İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
<Toaster /> bileşenini uygulamanızın köküne yakın bir yere bir kez ekleyin.
Ardından toast'u React bileşenlerinin dışı dahil her yerden çağırın.
Toast'lar en yenisi önde olacak şekilde düzgün bir yığın oluşturur. Yelpaze gibi açmak için yığının üzerine gelin veya odaklanın; okurken tüm zamanlayıcılar durur. Kapatmak için bir toast'u kenarına doğru kaydırın.
Türler
Her toast aynı sakin yüzeyi kullanır; rengi yalnızca simge taşır.
Promise
toast.promise bir spinner gösterir, sonra yerinde bir başarı veya hata toast'una dönüşür; simge değişirken fırlayarak belirir.
Action
Undo gibi bir düğme için action verin. Ona tıklamak toast'u da kapatır.
Yerinde güncelle
toast.loading'den gelen id'yi saklayın ve türü dahil toast.update ile değiştirin.
Kopya yok
Bir toast'a id verin; yeniden çağırmak bir kopya yığmak yerine mevcut olanı günceller.
| Tuş | Action |
|---|---|
| F6 | Odağı toast'lara taşır ve onları yelpaze gibi açar. |
| Tab | Toast eylemleri ve kapatma düğmeleri arasında gezinir. |
| Esc | Odaktaki toast'u kapatır. |
- Toast'lar nazikçe duyurulur;
toast.errorhemen duyurulur. - İşaretçi veya odak toast'ların üzerindeyken zamanlayıcılar durur, böylece kimsenin bir geri sayımla yarışması gerekmez.
- Kapatma düğmeleri hover ve odakta görünür, dokunmatik ekranlarda her zaman görünür.
- Azaltılmış harekette toast'lar kayarak değil solarak girer.
| Prop | Tür | Varsayılan |
|---|---|---|
positionTelefonlar her zaman tam genişliği kullanır. | "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | "bottom-right" |
limitAynı anda gösterilen toast'lar; eskiler solar. | number | 3 |
timeoutEkranda kalma süresi varsayılanı, ms cinsinden. | number | 5000 |
| Öznitelik | Açıklama |
|---|---|
data-slot="toaster" | Viewport; data-position ile. |
data-slot="toast" | Her toast; data-type, data-expanded ve data-swiping ile. |
| Prop | Tür | Varsayılan |
|---|---|---|
description | ReactNode | – |
action | { label: ReactNode; onClick?: (event) => void } | – |
idÇoğaltmak yerine güncellemek için yeniden kullanın. | string | – |
timeoutVarsayılan olarak Toaster zaman aşımıdır. Uzun mesajlar dakikada yaklaşık 250 sözcük hesabıyla daha uzun kalır. | number | – |
priority | "low" | "high" | "low" |
onClose | () => void | – |
onRemove | () => void | – |
Ayrıca toast.success, toast.error, toast.warning, toast.info, toast.loading, toast.promise, toast.update ve toast.dismiss. Her biri toast'un id'sini döndürür veya alır.
- ButtonHer varyant ve boyutta düğmeler; hızlı istekler için spinner'ı atlayan yerleşik yükleme, başarı ve hata akışı.
- SpinnerApple tarzı çentiklere ya da nefes alan bir halkaya sahip, göstermeden önce bekleyebilen ve titremesin diye yeterince uzun kalan bir yükleme göstergesi.
- 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.
Kullanıldığı bloklar
Toast üzerine kurulan bloklar.
- API keysOpenAI ve Anthropic konsolları gibi bir yapay zeka ürününün API anahtarları sayfası. Kapsamlı izinler ve son kullanma tarihiyle anahtar oluşturun, gizli anahtarı bir kez görün ve kopyalama onaylansın, geri alınabilir şekilde iptal edin, yerinde yeniden adlandırın, ek süreyle döndürün ve anahtar başına kullanımı görün.
- 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.
- HextaAITüm HextaUI yapay zeka bloklarından oluşturulmuş eksiksiz bir yapay zeka sohbet uygulaması. Kenar çubuğunda sohbetler, kaynaklı düşünme, fark ve onaylı araç çağrıları, ajan çalışmadan önce gözden geçirdiğiniz bir plan, akışla gelen Markdown ve kod, ve sessiz ses modu; hepsi AI SDK mesaj parçalarıyla yönetilir.