Spinner

Süresi bilinmeyen kısa beklemeler için belirsiz bir yükleme göstergesi. currentColor'ı aldığı için içinde durduğu metne ya da butona uyar.

KararlıKaynak kod

Import

tsx
import { Spinner } from "@merid/react";

Örnekler

Boyutlar

Çaplar 14px (sm), 18px (md, varsayılan) ve 24px (lg).

Metnin yanında

Neyin yüklendiğini görünür bir metin zaten söylüyorsa spinner'ı yardımcı teknolojiden gizlemek için label={null} ver; böylece mesaj iki kez okunmaz.

Faturalar yükleniyor…

Renk

color'ı spinner'a ya da bir üst elemana ver. Tek başına duruyorsa ona özel bir label ver.

API referansı

Bir span render'lar; ref'ini iletir ve native attribute'ları aktarır.

PropTipVarsayılanAçıklama
size"sm" | "md" | "lg""md"Çap: sm 14px, md 18px, lg 24px.
labelstring | null"Loading"Erişilebilir ad. Dekoratifse null ver; spinner o zaman aria-hidden olur. Türkçe arayüzlerde Türkçe bir değer ver.

Stil verme

SeçiciDeğerler
.mrd-spinnerKök <span>
.mrd-spinner__svgSVG
.mrd-spinner__trackSoluk tam daire
.mrd-spinner__arcDönen çeyrek yay
data-sizesm · md · lg

Component değişkeni: her boyut için ayarlanan --mrd-spinner-size.

css
.hero .mrd-spinner {
  --mrd-spinner-size: 32px;
}

Erişilebilirlik

  • Etiket verildiğinde spinner role="status" ve aria-label taşır, ekran okuyucular onu araya girmeden okur.
  • label={null} ile aria-hidden olur. Yüklenen bölgeyi aria-busy="true" ile işaretle.
  • prefers-reduced-motion açıkken dönüş durmaz, yavaşlar; böylece ilerleme görünür kalır.

Kullanım ilkeleri

Yap

Spinner'ı birkaç saniyenin altındaki beklemeler için kullan. Daha uzun ya da ölçülebilir işlerde bir Progress çubuğu göster.

Kaçın

Bir Skeleton gelecek içeriğin şeklini gösterebilecekken bütün sayfayı bir spinner'la değiştirmek.

İlgili sayfalar

  • Button: loading bu spinner'ı butonun içinde gösterir.
  • Skeleton: yüklenen içerik için yer tutucu.
  • Progress: ilerlemesi ölçülebilen işler için.