مراحل (Stepper)
نمایش پیشرفت گامبهگام در جریانهای چند مرحلهای به صورت افقی یا عمودی.
معرفی
کامپوننتهای Stepper و Step برای نمایش مراحل یک فرایند چند مرحلهای استفاده میشوند. هر مرحله میتواند وضعیت «تکمیلشده»، «فعال»، «در انتظار» یا — با status="error" روی یک Step مشخص — «خطا» داشته باشد.
چه زمانی استفاده کنیم:
- برای فرآیندهای چندمرحلهای که ترتیب مشخصی دارند (مثل ثبتنام، خرید)
- وقتی کاربر باید پیشرفت خود را در مراحل ببیند
- برای فرمهای طولانی که به چند مرحله تقسیم شدهاند
چه زمانی استفاده نکنیم:
- برای navigation بین بخشهای غیرترتیبی — از
Tabsاستفاده کنید - برای فرآیندهای تکمرحلهای — از
DialogیاFormساده استفاده کنید
یک ویزارد، یک Stepper
ویزارد سیستم طراحی WizardPage است و گامهایش همین Stepperاند. Stepper برای مسیری
است که کاربر طی میکند؛ چرخهٔ حیات یک فرایند سیستمی با وضعیت مستقل هر مرحله
StatusFlow است.
زمین بازی
با تغییر تنظیمات زیر، پیشنمایش زنده را مشاهده کنید.
انتخاب منبع
پیکربندی
بازبینی
اجرا
import { Stepper, Step } from '@partodata/ui'
<Stepper activeStep={1}>
<Step label="انتخاب منبع" />
<Step label="پیکربندی" />
<Step label="بازبینی" />
<Step label="اجرا" />
</Stepper>استفاده
اطلاعات پایه
نام و ایمیل
تأیید هویت
کد پیامکی
تکمیل پروفایل
import { Stepper, Step } from '@partodata/ui'
export default function MyComponent() {
return (
<Stepper activeStep={1}>
<Step label="اطلاعات پایه" description="نام و ایمیل" />
<Step label="تأیید هویت" description="کد پیامکی" />
<Step label="تکمیل پروفایل" />
</Stepper>
)
}ظاهر
یک ظاهر در هر دو جهت، فقط با توکنها:
- نشانگر مرحله دایرهای روی نردبان کوچک است:
sm20،md24 وlg30 پیکسل (lgهمقد کنترلsm)؛ شماره با نقش متنیcaption(درlg،compact). - مرحلهٔ فعال همان قاعدهٔ «انتخابشده» کنترلهای انتخاب (RadioCard، Checkbox) را دارد: حاشیهٔ رنگ متن روی
زمینهٔ انتخاب، بدون حلقهٔ سبز. تکمیلشده سبز پر با تیک است، در انتظار سطح
surface-200با حاشیهٔ پیشفرض، و خطا قرمز پر. - خط اتصال رنگ حاشیهٔ پیشفرض را دارد و بعد از یک مرحلهٔ تکمیلشده سبز کمرنگ میشود؛ در حالت افقی از وسط نشانگرها میگذرد.
- عنوان با نقش
body(درsm،compact) و توضیح باcaptionدر سطح کمرنگتر متن. مرحلهٔ فعالaria-current="step"دارد.
حالتها و انواع
عمودی
ثبتنام
ایجاد حساب کاربری
تأیید ایمیل
لینک تأیید ارسال شد
تنظیم پروفایل
اطلاعات تکمیلی
شروع به کار
اندازهها
اول
دوم
سوم
اول
دوم
سوم
اول
دوم
سوم
وضعیت خطا
مرحلهای که اعتبارسنجی یا ثبت آن با شکست مواجه شده را با status="error" مشخص کنید — این مقدار، وضعیت محاسبهشده از
روی activeStep را override میکند:
<Stepper activeStep={2}>
<Step label="اطلاعات پایه" />
<Step label="پرداخت" status="error" description="کارت رد شد" />
<Step label="تکمیل سفارش" />
</Stepper>اطلاعات پایه
پرداخت
کارت رد شد
تکمیل سفارش
اطلاعات پایه
نام و ایمیل
پرداخت
کارت رد شد
تکمیل سفارش
Props
Stepper
Step
راهنمای استفاده
بکنید
- عنوان هر مرحله را کوتاه و واضح نگه دارید (2-3 کلمه) - از
descriptionبرای توضیح مختصر هر مرحله استفاده کنید - برای فرمهای موبایل، ازorientation="vertical"استفاده کنید - وقتی ثبت یک مرحله شکست میخورد،status="error"بگذارید و دلیل را درdescriptionتوضیح دهید
نکنید
- بیش از 5-6 مرحله نگذارید — فرایند را سادهتر کنید یا مراحل را ادغام کنید - از Stepper برای ناوبری غیرترتیبی استفاده
نکنید — از
Tabsاستفاده کنید
دسترسیپذیری
- از
role="list"وrole="listitem"استفاده میکند - وضعیت هر مرحله از طریق
aria-labelاعلام میشود (تکمیلشده / فعال / در انتظار / خطا)
کامپوننتهای مرتبط
- Tabs — وقتی بخشها ترتیب مشخصی ندارند و کاربر باید آزادانه بین آنها جابجا شود
- الگوهای فرم — راهنمای کامل ساخت فرمهای چند مرحلهای با Stepper