Badge
Renkli noktalı durum etiketleri, kayarak kapanan kaldırılabilir etiketler ve yeni değerine dönen sayaçlar.
pnpm dlx shadcn@latest add https://hextaui.com/r/badge.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 class-variance-authority cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/badge.tsx components/ui/number-flow.tsx lib/motion.ts İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Variant'lar ve görünümler
Varsayılan outline görünümü nötr bir yüzey tutar ve durum rengini noktaya veya simgeye verir. Rozetin öne çıkması gerektiğinde appearance="solid", sakin dolgulu bir çip için appearance="muted" kullanın. shape="pill" tamamen yuvarlar.
Boyutlar
sm, default ve lg. Simgeler, noktalar, kapatma düğmesi ve sayılar rozetle birlikte ölçeklenir.
Kaldırılabilir
Bir rozeti kaldırılabilir yapmak için <BadgeClose /> ekleyin. Rozet küçülerek kapanır, komşuları boşluğa kayar, sonra odak bir sonraki kapatma düğmesine geçer. Çıkış animasyonunun önce bitebilmesi için öğeyi verinizden onOpenChangeComplete içinde kaldırın.
Kontrollü
Görünürlüğü kendiniz yönetmek için open ve onOpenChange geçin. open değerini tekrar true yapmak rozeti bir giriş animasyonuyla geri getirir.
Sayılar
<BadgeCount /> yalnızca değişen basamakları döndürür ve max değerinde (varsayılan 99) artı işaretiyle sınırlanır. Ekran okuyucular her zaman gerçek sayıyı duyar.
Etkileşimli
Bir rozeti bağlantı veya düğme yapmak için render kullanın. Üzerine gelince ton değişimi, basınca ölçek küçülmesi ve odak halkası kazanır. aria-invalid hata durumunu gösterir.
Uzun içerik
Rozet asla kapsayıcısından geniş olmaz. Uzun etiketler üç nokta ile kısaltılır; simgeler ve kapatma düğmesi görünür kalır.
Sağdan sola
Simgeler, kapatma düğmesi ve daralma animasyonu okuma yönünü izler. Sayılar her zaman soldan sağa okunur.
Bu tuşlar <BadgeClose /> için geçerlidir.
| Tuş | Action |
|---|---|
| EnterSpace | Rozeti kaldırır. |
| BackspaceDelete | Rozeti kaldırır. |
| Tab | Sonraki kapatma düğmesine geçer. Bir kaldırmadan sonra odak sonraki kapatma düğmesine, son düğmeyse öncekine iner. |
- Kapatma düğmesi rozetin adını taşır; böylece ekran okuyucu yalnızca “Remove” yerine “Remove design” duyurur. Geçersiz kılmak için
aria-labelgeçin. <BadgeDot />dekoratiftir ve yardımcı teknolojilerden gizlenir. Durumu metin etiketinde tutun.<BadgeCount />, görünen metin 99+ gibi sınırlandırılmış olsa bile tam değeri sunar.- Azaltılmış hareket açıkken kaldırma ve sayı animasyonları atlanır.
<Badge /> bir <span> oluşturur ve onun tüm niteliklerini kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
variantoutline'da noktayı ve simgeleri, solid'de yüzeyi renklendirir. | "default" | "success" | "info" | "warning" | "destructive" | "default" |
appearance | "outline" | "solid" | "muted" | "outline" |
shape | "default" | "pill" | "default" |
size | "sm" | "default" | "lg" | "default" |
openKontrollü görünürlük. | boolean | – |
defaultOpen | boolean | true |
onOpenChangeBadgeClose etkinleştirildiğinde çağrılır. | (open: boolean) => void | – |
onOpenChangeCompleteÇıkış animasyonu bittikten sonra çağrılır. Öğeyi verinizden burada kaldırın. | (open: boolean) => void | – |
render | ReactElement | (props, state) => ReactElement | <span> |
| Öznitelik | Açıklama |
|---|---|
data-slot="badge" | CSS'te rozetleri hedefleyin. |
data-variant | Geçerli varyant. |
data-appearance | Geçerli görünüm. |
data-shape | Geçerli şekil. |
data-size | Geçerli boyut. |
data-ending-style | Rozet çıkış animasyonu yaparken bulunur. |
--badge-accent | Nokta ve simgelerin kullandığı durum rengi. Özel bir vurgu için geçersiz kılın. |
--badge-height | Rozet yüksekliği. |
--badge-radius | Köşe yarıçapı. Kapatma düğmesi kendi yarıçapını buna göre türetir. |
| Prop | Tür | Varsayılan |
|---|---|---|
pulseCanlı durumlar için bir ping animasyonu ekler. Azaltılmış hareket açıkken kapalıdır. | boolean | false |
| Öznitelik | Açıklama |
|---|---|
data-slot="badge-dot" | CSS'te noktaları hedefleyin. |
data-pulse | pulse açıkken bulunur. |
| Prop | Tür | Varsayılan |
|---|---|---|
children | ReactNode | <IconX /> |
aria-labelOtomatik “Remove {label}” adını geçersiz kılar. | string | – |
onClickRozeti açık tutmak için event.preventDefault() çağırın. | (event) => void | – |
| Öznitelik | Açıklama |
|---|---|
data-slot="badge-close" | CSS'te kapatma düğmesini hedefleyin. |
| Prop | Tür | Varsayılan |
|---|---|---|
valueNegatif ve sonlu olmayan değerler 0 gösterir. | number | – |
maxBunun üzerindeki değerler max+ olarak gösterilir. Sınır olmaması için Infinity geçin. | number | 99 |
duration | number | 600 |
animated | boolean | true |
trendBasamakların dönüş yönü. | "auto" | "up" | "down" | "shortest" | "auto" |
locales | Intl.LocalesArgument | – |
format | Intl.NumberFormatOptions | – |
| Öznitelik | Açıklama |
|---|---|
data-slot="badge-count" | CSS'te sayıları hedefleyin. |
- 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.
- Number flowYalnızca değişen basamakların döndüğü animasyonlu sayılar; herhangi bir Intl biçimi ve yerel ayarla.
- AvatarBaş harf yedekli kullanıcı fotoğrafları, durum rozetleri ve sayıya daralan yığılmış gruplar.
- 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
Badge ü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.
- BillingBir yapay zeka ürünü için Cursor, Claude ve Vercel tarzında plan ve kullanım. Modele göre bölünmüş, dönem sonunu öngören ve krediler bitmeden uyaran bir kullanım ölçeri, üzerinde gezinebileceğiniz günlük bir grafik, ölçer üzerinde önizleyebileceğiniz uyarılara sahip bir harcama limiti, tam orantılı hesaplamayla plan değişiklikleri, gerçek doğrulamalı bir kart formu ve PDF olarak indirilen faturalar.
- Code BlockYapay zeka yanıtları için geliştirilmiş kod blokları. Akışa ayak uyduran sözdizimi vurgulama, kopyalama, indirme ve satır kaydırma, satır numaraları ve vurgulanmış satırlar, kabul ve reddetme seçenekli fark görünümleri ve komutlar için bir terminal.
- ModelsBir yapay zeka ürününün ayarlarındaki Modeller sayfası. Bağlamı, hızı ve maliyeti tek bakışta görünen varsayılan bir model, her modelin neyi desteklediğini bilen varsayılan bir efor, sağlayıcıya göre gruplanmış; filtreler, sabitlemeler ve toplu anahtarlar içeren aranabilir bir model listesi, gerçek bir bağlantı testi olan OpenAI uyumlu sunucular ve nelerin yeni olduğunu söyleyen bir yenileme.