@akhatmirzo/ui

Spinner

Yuklanish belgisi: role="status", matn rangini oladi, 3 o'lcham.

YuklanmoqdaYuklanmoqdaYuklanmoqda

Import

import { Spinner } from '@akhatmirzo/ui';

Qachon ishlatish

  • Qisqa, davomiyligi noma'lum kutishlar uchun — so'rov yuborilganda, kichik blok yuklanayotganda.
  • Tugmada spinner qo'lda qo'ymang — Button va IconButton da loading prop'i bor.
  • Kontentning shakli ma'lum bo'lsa — ro'yxat, karta, jadval — Skeleton yaxshiroq: sahifa "sakramaydi".
  • Bir ekranda bitta spinner. O'nlab aylanayotgan belgi foydalanuvchini charchatadi.

O'lchamlar

sm — 16px, md (standart) — 20px, lg — 24px.

Rang

Spinner currentColor bilan chiziladi — ota elementning matn rangini oladi. Rangni className="text-primary" kabi semantik tokenlar bilan bering.

YuklanmoqdaYuklanmoqdaYuklanmoqdaYuklanmoqdaYuklanmoqda

Matn bilan

Yonida ko'rinadigan matn bo'lsa, spinnerni aria-hidden bilan yashiring — aks holda ekran o'quvchi ikki marta o'qiydi. Yolg'iz spinner uchun esa label ga aniq matn bering.

Buyurtmalar yuklanmoqda...
Jadval yuklanmoqda

Props

Spinner qolgan barcha <span> atributlarini qabul qiladi (children dan tashqari).

PropTipStandartTavsif
size'sm' | 'md' | 'lg''md'O'lcham: 16 / 20 / 24px
labelstring'Yuklanmoqda'Ekran o'quvchi uchun yashirin matn

Ildiz elementda data-size atributi bor. Aylanadigan doira klasslari spinnerVariants sifatida eksport qilinadi.

Accessibility

  • role="status" — ekran o'quvchi yashirin label matnini o'qiydi; aylanadigan doiraning o'zi aria-hidden.
  • Kamaytirilgan harakat. Tizimda "reduce motion" yoqilgan bo'lsa, spinner to'xtamaydi, lekin sekinroq (1.5s) aylanadi — kutish holati baribir ko'rinadi.

Sahifada