@akhatmirzo/ui

Bu eski versiya hujjati

Siz v0.2 hujjatini o'qiyapsiz. Eng so'nggi versiya — v0.3.

Eng so'nggisiga o'tish →

Stepper

Ko'p qadamli jarayon ko'rsatkichi: checkout, ro'yxatdan o'tish va sozlash ustasi uchun.

  1. 2-qadam, 4 tadan: Yetkazib berishManzil va vaqt
  2. 3-qadam, 4 tadan: To'lov
  3. 4-qadam, 4 tadan: Tasdiqlashixtiyoriy

2-qadam, 4 tadan:Yetkazib berish

Import

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

Qachon ishlatish

  • Ketma-ket jarayon — checkout (Savat → Yetkazib berish → To'lov), ro'yxatdan o'tish, ariza topshirish. Foydalanuvchi qayerda turganini va qancha qolganini ko'radi.
  • 3–6 qadam ma'qul. Ko'proq bo'lsa, qadamlarni guruhlang.
  • Bir-biriga bog'liq bo'lmagan bo'limlar uchun emas — ular uchun Tabs.
  • Sayt tuzilishi uchun emas — buning uchun Breadcrumb.

Qadamlar va holatlar

steps — { title, description?, icon?, optional?, status? } ro'yxati. value — joriy qadam indeksi (0 dan). Har bir qadam holati (data-status) o'zi hisoblanadi:

HolatQachonDoira
completeindeks < valueto'ldirilgan primary + ✓
currentindeks = valueprimary chegara, atrofida halqa
upcomingindeks > valuekulrang chegara + raqam
errorqadamda status: 'error'danger fon + !

value={steps.length} — barcha qadamlar bajarilgan. Ulovchi chiziq o'tgan qismda primary rangda to'ladi (300ms).

  1. 1-qadam, 4 tadan: Ma'lumotlar, bajarildi
  2. 2-qadam, 4 tadan: Hujjatlar, xatoPasport rasmi o'qilmadi
  3. 3-qadam, 4 tadan: Tekshiruv
  4. 4-qadam, 4 tadan: Shartnoma

3-qadam, 4 tadan:Tekshiruv

Qadamlarga o'tish

onValueChange berilsa, o'tgan qadamlar tugma bo'ladi — foydalanuvchi orqaga qaytib ma'lumotni tuzata oladi. allowFutureSteps — kelgusi qadamlarga ham o'tishga ruxsat (masalan, ixtiyoriy sozlamalar ustasida). Joriy qadam hech qachon tugma emas.

Vertikal

orientation="vertical" — qadamlar ustun bo'lib turadi; tavsiflar uzun bo'lsa yoki yon panelda qulay.

  1. 2-qadam, 4 tadan: To'lov usullariClick, Payme, naqd

O'lchamlar

size — sm (doira 24px) yoki md (32px, standart).

  1. 1-qadam, 3 tadan: Savat, bajarildi
  2. 2-qadam, 3 tadan: Yetkazib berish
  3. 3-qadam, 3 tadan: To'lov

2-qadam, 3 tadan:Yetkazib berish

  1. 1-qadam, 3 tadan: Savat, bajarildi
  2. 2-qadam, 3 tadan: Yetkazib berish
  3. 3-qadam, 3 tadan: To'lov

2-qadam, 3 tadan:Yetkazib berish

Ixcham ko'rinish

compact="auto" (standart) — gorizontal stepper 640px dan tor ekranda 2 / 4 · Yetkazib berish va progress chizig'iga o'tadi. Ikkala ko'rinish render qilinib, CSS bilan bittasi yashiriladi — SSR'da hydration farqi bo'lmaydi. compact — har doim ixcham, compact={false} — hech qachon.

2-qadam, 4 tadan:Yetkazib berish

Props

Qolgan <div> atributlari ildizga beriladi; aria-label / aria-labelledby esa <ol> ro'yxatga.

PropTipStandartTavsif
stepsmajburiy{ title: ReactNode; description?: ReactNode; icon?: ReactNode; optional?: boolean; status?: 'error' }[]—Qadamlar
valuenumber—Joriy qadam indeksi, 0 dan (boshqariladigan)
defaultValuenumber0Boshlang'ich qadam
onValueChange(index: number) => void—Berilsa — o'tgan qadamlar bosiladigan bo'ladi
allowFutureStepsbooleanfalseKelgusi qadamlarga ham o'tish
orientation'horizontal' | 'vertical''horizontal'Yo'nalish
size'sm' | 'md''md'Doira: 24 / 32px
compactboolean | 'auto''auto'Ixcham ko'rinish; `auto` — gorizontalda 640px dan tor ekranda
labels{ step?: (i, n) => string; optional?; completed?; error? }—Standart: `(i, n) => "${i}-qadam, ${n} tadan"`, "ixtiyoriy", "bajarildi", "xato"

Data atributlari

AtributQayerdaQiymat
data-statusqadam, indikatorcomplete · current · upcoming · error
data-clickableqadam tugmasibosiladigan qadamda mavjud
data-orientationildiz, ro'yxathorizontal · vertical
data-sizeildizsm · md

Accessibility

  • Tuzilish. Qadamlar <ol> ro'yxatda; aria-label bering ("Buyurtma bosqichlari").
  • Joriy qadam — aria-current="step".
  • Ko'rinmas matnlar. Har bir qadam "2-qadam, 4 tadan" deb boshlanadi, bajarilganlarga "bajarildi", xatolarga "xato" qo'shiladi — rang yagona signal emas (✓ va ! ikonkalari ham bor).
  • Klaviatura. Bosiladigan qadamlar oddiy <button>: Tab bilan yuriladi, Enter / Space bilan tanlanadi. Qolganlari fokus olmaydi.
  • Harakat. Chiziq va rang o'tishlari prefers-reduced-motion da o'chadi.

Sahifada