Vercel UI SDK 0.1.0-beta.2 üzerine kurulu. API’si değişebilir.
Timeline
Vercel UI SDK üzerinde etkinlik, sipariş ilerlemesi ve ajan adımları için dikey ya da yatay; durumlar, zaman damgaları, simge işaretleri ve akış modu olan bir zaman çizelgesi.
- Veri gösterim bileşenleri
- 7 parça
- 8 örnek
@ui-sdk/core@ui-sdk/reactclass-variance-authority
pnpm dlx shadcn@latest add https://hextaui.com/r/ui-sdk-timeline.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 @ui-sdk/react@0.1.0-beta.2 @ui-sdk/core@0.1.0-beta.2 class-variance-authority cnAşağıdaki kodu kopyalayıp projenize yapıştırın.
components/ui/ui-sdk-timeline.tsx İçe aktarma yollarını proje yapılandırmanıza uyacak şekilde güncelleyin.
UI SDK, ui-sdk adlı bir cascade katmanında kendi CSS’ini biraz ekler. Sınıflarınızın kazanması için bu katmanı genel stil dosyanızın en üstünde, Tailwind import’unun üzerinde tanımlayın.
Zaman çizelgesi; etkinlik akışı, sipariş ilerlemesi ya da bir ajanın adımları gibi olmuş veya olacak şeyleri listeler. Ekran okuyucular için tek sekme duraklı bir listedir ve ok tuşları olaylar arasında gezinir. Tarihin makinece okunabilmesi, metnin ise anlaşılır kalması için TimelineTime öğesine dateTime verin. UI SDK onu 0.1.0-beta.2 sürümünde deneysel olarak işaretler.
Bir öğenin içindeki her parça isteğe bağlıdır. İşaret kendi sütununda durur ve bağlayıcı ondan sonraki olaya uzanır, sonuncudan sonra gizlenir. Bir öğeye koyduğunuz düğme veya açılır bölüm gibi başka her şey başlıkla hizalanır.
Her öğeye complete, current veya upcoming değerinde bir status verin. Geçerli olay aria-current="step" ve sekme durağını alır; bir denetleyici olaya value ile odaklanır. İşaret durumu yalnızca gösterdiği için durumu başlıkta da belirtin.
TimelineMarker içindeki bir simge onu küçük bir daireye dönüştürür. Bir ajan çalışırken geçerli adıma bir yükleme göstergesi, dateTime içine de PT5S gibi bir süre koyun.
İşaretin variant değeri boş nokta veya simge için success, warning, destructive ya da info olur.
orientation="horizontal" olayları bir yol haritası gibi yan yana dizer. Sol ve Sağ aralarında gezinir, loop={false} uçlarda durur.
Bir olayın içindeki bağlantılar ve düğmeler sekme sırasında kalır. Tab olaydan onlara geçer, ok tuşları ise olaylar arasında gezinmeye devam eder.
feed listeyi büyüyen zaman çizelgeleri için bir makale akışına çevirir; Page Down ve Page Up aralarında gezinir. Daha fazlası yüklenirken busy ayarlayın.
İşaretler ve çizgi sağ tarafa geçer.
| Tuş | Action |
|---|---|
| ↓↑ | Dikey bir zaman çizelgesinde olaylar arasında gezinir. |
| →← | Yatay bir zaman çizelgesinde olaylar arasında gezinir. Sağdan sola metinde yer değiştirirler. |
| HomeEnd | İlk veya son olaya odaklanır. |
| PageDownPageUp | Bir akışta, bir makalenin içinde herhangi bir yerden sonraki veya önceki makaleye odaklanır. |
| Tab | Geçerli olaya, yoksa ilkine girer; ardından içindeki bağlantı ve düğmelere geçer. |
Zaman çizelgesi aria-label ile adlandırılmış bir liste ya da konumlarıyla birlikte bir makale akışıdır. Her olay başlığıyla adlandırılır, zamanı ve açıklamasıyla tanımlanır; işaretler ve bağlayıcılar ekran okuyuculardan gizlenir.
Odaktaki olay etrafında boşluk bırakan bir halka gösterir. İşaret renkleri yalnızca harekete izin verildiğinde durumlar arasında geçiş yapar; zorlanmış renklerde noktalar ve çizgiler metin rengiyle çizilir.
Her parça aynı adlı UI SDK parçasını sarar ve render ile parçanın durumuna bağlı bir fonksiyon olabilen className dahil tüm prop’larını kabul eder.
| Prop | Tür | Varsayılan |
|---|---|---|
orientation | "vertical" | "horizontal" | "vertical" |
loop | boolean | true |
feed | boolean | false |
busyBir akış yüklenirken aria-busy ayarlar. | boolean | false |
controllercreateTimelineController() ile oluşturulur. | TimelineController | – |
render | ReactElement | (props, state) => ReactElement | – |
| Öznitelik | Açıklama |
|---|---|
data-slot="timeline" | CSS'te zaman çizelgesini hedeflemek için. |
data-orientation | vertical veya horizontal. |
data-busy | Bir akış meşgulken bulunur. |
--timeline-count | Sayfada kaç olay olduğu. |
| Prop | Tür | Varsayılan |
|---|---|---|
valueOlayı denetleyicinin focus() çağrısı için adlandırır. | string | – |
status | "complete" | "current" | "upcoming" | – |
render | ReactElement | (props, state) => ReactElement | – |
| Öznitelik | Açıklama |
|---|---|
data-slot="timeline-item" | CSS'te bir olayı hedeflemek için. |
data-complete | Olayın durumu complete olduğunda bulunur. |
data-current | Olayın durumu current olduğunda bulunur. |
data-upcoming | Olayın durumu upcoming olduğunda bulunur. |
data-first | İlk olay sayfaya girdiğinde onda bulunur. |
data-last | Son olay sayfaya girdiğinde onda bulunur. |
--timeline-index | Olayın 0'dan başlayan sırası. |
| Prop | Tür | Varsayılan |
|---|---|---|
variant | "default" | "success" | "warning" | "destructive" | "info" | "default" |
childrenBir simge veya görsel. Boşsa nokta çizer. | ReactNode | – |
render | ReactElement | (props, state) => ReactElement | – |
| Öznitelik | Açıklama |
|---|---|
data-slot="timeline-marker" | CSS'te işareti hedeflemek için. |
data-variant | İşaretin varyantı. |
data-complete | Olayın durumu complete olduğunda bulunur. |
data-current | Olayın durumu current olduğunda bulunur. |
data-upcoming | Olayın durumu upcoming olduğunda bulunur. |
İşaretten sonraki olaya uzanan çizgi. Tamamlanmış bir olayın altında belirgindir, sonuncudan sonra gizlenir.
Olayını adlandırır. Olaylar arasında başlıkla gezinilebilmesi için onu render={<h3 />} ile başlık olarak çizin.
| Prop | Tür | Varsayılan |
|---|---|---|
dateTimeMakinece okunabilir bir tarih, saat veya süre. Olayı tanımlar. | string | – |
Olayı hakkında daha fazlası. Olayı tanımlar.
- 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.