Progress
Bir işin ne kadar ilerlediğini gösteren yatay çubuk: dosya yükleme, dışa aktarma, ilk kurulum listesi gibi. Değer verilmezse belirsiz bir yükleniyor çubuğuna dönüşür.
<Progress aria-label="Yükleme" value={64} />Import
import { Progress } from "@merid/react";Örnekler
Boyutlar
Kalınlıklar: sm 4px, md 6px (varsayılan), lg 8px.
<Progress aria-label="Küçük" size="sm" value={40} />
<Progress aria-label="Orta" size="md" value={60} />
<Progress aria-label="Büyük" size="lg" value={80} />Belirsiz
Süre bilinmiyorsa value verme (ya da null ver).
<Progress aria-label="Dışa aktarma hazırlanıyor" />Özel max ve değer metni
max ölçeği değiştirir; valueText, ekran okuyucuların okuduğu varsayılan yüzdenin yerine geçer.
<Progress aria-label="İlk kurulum" value={3} max={5} valueText="5 adımdan 3’ü" />Değer güncelleme
Değerler 0 ile max arasına sıkıştırılır. Çubuk %100'e ulaşınca data-state="complete" olur.
const [value, setValue] = useState(0);
// iş ilerledikçe value'yu güncelle
<Progress aria-label="Eşitleniyor" value={value} />API referansı
role="progressbar" olan bir div render'lar; ref ve diğer div attribute'ları bu elemana iletilir.
| Prop | Tip | Varsayılan | Açıklama |
|---|---|---|---|
value | number | null | null | Güncel değer. Belirsiz çubuk için verme ya da null ver. |
max | number | 100 | En büyük değer. Sıfır ya da negatif değerlerde 100'e döner. |
size | "sm" | "md" | "lg" | "md" | Çubuk kalınlığı: sm 4px, md 6px, lg 8px. |
valueText | string | – | Yardımcı teknolojiler için okunabilir değer, örneğin "5 adımdan 3’ü". Varsayılanı yüzdedir. |
Stil verme
| Seçici | Değerler |
|---|---|
.mrd-progress | Kanal (track) |
.mrd-progress__bar | Dolu çubuk |
data-size | sm · md · lg |
data-state | loading · complete · indeterminate |
Component değişkenleri: --mrd-progress-height (boyuta göre ayarlanır) ve --mrd-progress-value (doluluk yüzdesi, inline verilir).
Erişilebilirlik
aria-valuemin,aria-valuemax,aria-valuenowvearia-valuetextile birlikterole="progressbar". Belirsiz state'te hiçbiraria-value*attribute'u verilmez.- Çubuğa her zaman
aria-labelya daaria-labelledbyile bir ad ver; elemanın kendi metni yoktur. prefers-reduced-motionaçıkken belirsiz animasyon kaldırılır.
Kullanım ilkeleri
Yap
İlerlemeyi ölçebiliyorsan süresi belli bir çubuk kullan ve yanına ne olduğunu anlatan görünür bir etiket koy.
Kaçın
%99'da takılıp kalan bir zamanlayıcıyla sahte ilerleme göstermek. Bunun yerine belirsiz çubuğu ya da bir Spinner kullan.