Table
Yüzey stili, sarmalayan veya kompakt hücreler, yapışkan başlıklar, sabitlenmiş sütunlar ve kaydırma ipuçları olan duyarlı bir tablo.
| Invoice | Client | Status | Amount |
|---|---|---|---|
| INV-0418 | Northwind | $2,400.00 | |
| INV-0419 | Globex | $860.00 | |
| INV-0420 | Initech | $1,320.50 | |
| INV-0421 | Umbrella | $415.00 | |
| Total | $4,995.50 | ||
pnpm dlx shadcn@latest add https://hextaui.com/r/table.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/table.tsx İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
Her satırı adlandıran hücre için <TableHead scope="row"> kullanın. Ekran okuyuculara satırın başlığı olarak okunur ve daha güçlü bir metin rengi alır. Sıralama, filtreleme ve seçim için <DataTable /> üzerine kurun.
Varsayılan
Varsayılan varyantın yüzeyi yoktur, yalnızca satırlar arasında ince çizgiler vardır; bir kart veya sayfa bölümü içinde duran tablolar için. <TableCaption /> altındaki tabloyu tanımlar.
Kompakt
size="sm" yoğun veri için satır yüksekliğini ve dolguyu sıkılaştırır.
Metni sarma
Hücreler varsayılan olarak tek satırda kalır; bu veriye uygundur. wrap sarmalarına izin verir ve satırları üste hizalar; sözlükler veya API başvuruları gibi düz yazı için. table-fixed ve sütun genişlikleriyle birlikte kullanın.
Geniş tablolar
Kapsayıcısından geniş tablolar yana kayar. Yumuşak solmalar her iki yanda daha fazlası olduğunu gösterir ve klavye kullanıcıları ok tuşlarıyla kaydırabilsin diye kaydırma alanı odaklanabilir olur. Solmaları scrollFade={false} ile kapatın.
Sabitlenmiş sütun
pinned="start" geri kalan kayarken ilk sütunu görünümde tutar; pinnedEdge içerik altına kayınca bir gölge gösterir.
Yapışkan başlık
stickyHeader yüksekliği sınırlı bir tabloda başlığı görünümde tutar ve satırlar altında kaymaya başlayınca altına ince bir çizgi ekler.
Sağdan sola
Hizalama, sabitlenmiş sütunlar ve kaydırma solmaları okuma yönünü izler.
| Tuş | Action |
|---|---|
| Tab | Tablo taştığında kaydırma alanına, sonra içindeki bağlantılara ve düğmelere odaklanır. |
| ←→ | Odaktaki, taşan bir tabloyu yana kaydırır. |
| ↑↓ | Sticky başlıklı odaktaki bir tabloyu yukarı aşağı kaydırır. |
- Parçalar yerel tablo öğelerini işler, böylece ekran okuyucular fazladan rol olmadan satırları, sütunları ve başlıkları duyurur.
- Her değer satırı ve sütunuyla birlikte okunsun diye bir satırı adlandıran hücreyi
<TableHead scope="row">ile işaretleyin. - Kaydırma alanı sekme sırasına yalnızca taşarken girer; böylece sığan tablolar fazladan bir durak eklemez.
Her parça kendi yerel öğesini işler ve niteliklerini kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
variantsurface yuvarlak, ince çizgili bir çerçeve ve soluk bir başlık bandı ekler. | "default" | "surface" | "default" |
size | "sm" | "default" | "default" |
wrapHücre metninin sarmasına izin verir ve satırları üste hizalar. | boolean | false |
scrollFadeKaydırılacak daha fazla içeriği olan kenarları soldurur. Sütunlar sabitlendiğinde atlanır. | boolean | true |
stickyHeaderBaşlığı görünümde tutar. containerClassName ile kapsayıcıya bir azami yükseklik verin. | boolean | false |
containerClassNameKaydırma kapsayıcısı için sınıflar. | string | – |
containerRefKaydırma kapsayıcısına ref. | Ref<HTMLDivElement> | – |
| Öznitelik | Açıklama |
|---|---|
data-slot="table-frame" | Dış çerçeve; data-variant, data-size ve data-wrap ile. |
data-slot="table-container" | Kaydırma kapsayıcısı. |
data-overflowing | İçeriği taştığında kapsayıcıda bulunur. O zaman odaklanabilir. |
data-scrolled-start / data-scrolled-end | Görünür alanın öncesinde veya sonrasında gizli içerik olduğunda bulunur. |
data-scrolled-top | Sticky başlıklı bir tablo kaydırıldığında bulunur. |
--table-bg | Satır arka planı. Çevreleyen bir kart veya popover'ı izler. |
--table-head-bg | Surface varyantında başlık bandı arka planı. |
--table-cell-px / --table-cell-py | Hücre dolgusu. size ile belirlenir. |
| Prop | Tür | Varsayılan |
|---|---|---|
scopeBir satırı adlandıran hücre için row kullanın. Gövdenin içinde hücre dolgusu ve ön plan metni alır. | "col" | "row" | – |
alignend ayrıca haneler hizalansın diye tabular sayılara geçer. | "start" | "center" | "end" | "start" |
pinnedTablo yana kayarken sütunu görünümde tutar. Aynı değeri başlığına ve her hücresine verin. | "start" | "end" | – |
pinnedEdgeİçerik arkasında gizliyken son sabitlenmiş sütunun iç kenarına yumuşak bir gölge çizer. | boolean | false |
| Öznitelik | Açıklama |
|---|---|
data-slot="table-head" | CSS'te başlık hücrelerini hedefler. |
data-align | Hizalama. |
data-pinned | Sabitlenen taraf. |
| Prop | Tür | Varsayılan |
|---|---|---|
alignend ayrıca haneler hizalansın diye tabular sayılara geçer. | "start" | "center" | "end" | "start" |
pinnedTablo yana kayarken sütunu görünümde tutar. Aynı değeri başlığına ve her hücresine verin. | "start" | "end" | – |
pinnedEdgeİçerik arkasında gizliyken son sabitlenmiş sütunun iç kenarına yumuşak bir gölge çizer. | boolean | false |
| Öznitelik | Açıklama |
|---|---|
data-slot="table-cell" | CSS'te hücreleri hedefler. |
data-align | Hizalama. |
data-pinned | Sabitlenen taraf. |
| Öznitelik | Açıklama |
|---|---|
data-slot="table-row" | CSS'te satırları hedefler. |
data-state="selected" | Seçili bir satırı vurgulamak için ayarlayın. |
| Öznitelik | Açıklama |
|---|---|
data-slot="table-header" | thead. |
data-slot="table-body" | tbody. |
data-slot="table-footer" | Başlık bandı renginde tfoot. |
data-slot="table-caption" | Tablonun altında. Surface varyantında çerçevenin içinde durur. |
- 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.
- ItemListeler, ayarlar ve seçiciler için medya, metin ve eylemlerden oluşan bir satır; gruplanmış bir yüzey ve satırlar arasında kayan bir hover vurgusu içerir.
Kullanıldığı bloklar
Table üzerine kurulan bloklar.