مراحل — Stepper
مراحل فهرست مرتب یک فرایند چندمرحلهای است، مثل ثبت ایده یا راهاندازی محصول. کامپوننت وضعیت هر مرحله (تکمیلشده، فعلی، در انتظار) را همزمان با آیکون یا عدد و با متن برای صفحهخوان نشان میدهد؛ بنابراین رنگ تنها نشانهٔ وضعیت نیست. با دادن کپی کد مرحلههای تکمیلشده دکمه میشوند تا کاربر بتواند به عقب برگردد. ساختار کپی کد و کپی کد و منطق وضعیت مراحل ثابت است.
وضعیت: beta · لایه: ۳ (کپی کد) · کد: کپی کد
import { Stepper } from '@tokapps/tuk';نمونهٔ زنده
کد قابل کپی
import { Stepper } from '@tokapps/tuk';const steps = [ { id: 'info', label: 'اطلاعات پایه', description: 'عنوان و دستهبندی' }, { id: 'detail', label: 'شرح ایده', description: 'مسئله و راهحل' }, { id: 'team', label: 'تیم', optional: true }, { id: 'review', label: 'بازبینی و ارسال' },];export function HorizontalStepper() { return <Stepper steps={steps} current={1} aria-label="مراحل ثبت ایده" />;}import { useState } from 'react';import { Stepper } from '@tokapps/tuk';const steps = [ { id: 'info', label: 'اطلاعات پایه', description: 'عنوان و دستهبندی' }, { id: 'detail', label: 'شرح ایده', description: 'مسئله و راهحل' }, { id: 'team', label: 'تیم', optional: true }, { id: 'review', label: 'بازبینی و ارسال' },];// مرحلهٔ تکمیلشده دکمه میشود و کاربر به عقب برمیگرددexport function NavigableVerticalStepper() { const [current, setCurrent] = useState(2); return ( <Stepper steps={steps} current={current} orientation="vertical" onStepClick={(index) => setCurrent(index)} aria-label="مراحل ثبت ایده" /> );}import { Stepper } from '@tokapps/tuk';const steps = [ { id: 'info', label: 'اطلاعات پایه' }, { id: 'review', label: 'بازبینی و ارسال' },];// حالت شروع: هیچ مرحلهای تکمیل نشده و مرحلهٔ فعلی اول است؛ ارقام لاتینexport function StartStateStepper() { return <Stepper steps={steps} current={0} digits="latin" aria-label="مراحل ثبت ایده" print="show" />;}همهٔ پیکربندیها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد | — (الزامی) | فهرست مراحل؛ هر مرحله کپی کد، کپی کد، کپی کد و کپی کد دارد. |
| کپی کد | کپی کد | — (الزامی) | اندیس مرحلهٔ فعلی، ۰-مبنا. مقدار خارج از بازه محدود (clamp) نمیشود. |
| کپی کد | کپی کد | کپی کد | جهت چیدمان. در موبایل افقی به عمودی تبدیل میشود. |
| کپی کد | کپی کد | — | فقط برای مرحلههای تکمیلشده فعال میشود و آنها را دکمه میکند. |
| کپی کد | کپی کد | کپی کد | ارقام نشانگر مرحلهها. |
| کپی کد | کپی کد | متن فارسی پیشفرض (کپی کد، کپی کد، کپی کد، کپی کد، تابع کپی کد) | برچسبهای وضعیت برای صفحهخوان و متن «اختیاری». پاس دادن این پراپ کل مقدار پیشفرض را جایگزین میکند؛ هر پنج کلید را باید بدهید. |
| کپی کد | کپی کد | کپی کد | برچسب کپی کد برای صفحهخوان. |
| کپی کد | کپی کد | کپی کد | پیشفرض در چاپ دیده میشود. |
| کپی کد | کپی کد | — | کلاس اضافی روی کپی کد. |
پراپهای کپی کد:
| فیلد | نوع | پیشفرض | توضیح |
|---|---|---|---|
| کپی کد | کپی کد | — (الزامی) | کلید یکتای مرحله. |
| کپی کد | کپی کد | — (الزامی) | عنوان مرحله. |
| کپی کد | کپی کد | — | توضیح کوتاه زیر عنوان. |
| کپی کد | کپی کد | — | اگر کپی کد باشد، متن «اختیاری» کنار مرحله میآید. |
ساختار و اسلاتها
- کپی کد با کپی کد
- کپی کد
- کپی کد (برای هر مرحله)
- کپی کد (فقط مرحلهٔ تکمیلشده با کپی کد) یا کپی کد
- کپی کد با ✓ یا عدد
- کپی کد
- کپی کد
- کپی کد (اختیاری)
- کپی کد (اگر کپی کد)
- کپی کد (متن وضعیت برای صفحهخوان؛ در چاپ نمایش داده میشود)
- کپی کد (فقط مرحلهٔ تکمیلشده با کپی کد) یا کپی کد
- کپی کد (برای هر مرحله)
- کپی کد
بنیان ثابت: ساختار کپی کد، کپی کد روی مرحلهٔ فعلی، کپی کد و اتصالدهنده بین مرحلهها.
بخش قابلتغییر: کپی کد، کپی کد، کپی کد، کپی کد، کپی کد و کپی کد.
همهٔ حالتها
| حالت | نشانه | نمایش |
|---|---|---|
| complete | کپی کد روی کپی کد | نشانگر پر با کپی کد و آیکون ✓؛ برچسب با رنگ کپی کد؛ اتصالدهنده با کپی کد. |
| current | کپی کد و کپی کد | حلقهٔ اکسنت با پسزمینهٔ کپی کد؛ برچسب پررنگ. |
| upcoming | کپی کد | نشانگر خطی با کپی کد؛ برچسب با کپی کد. |
| hover | کپی کد روی دکمهٔ مرحلهٔ تکمیلشده | پسزمینهٔ کپی کد. |
| focus-visible | کپی کد روی دکمه | حلقهٔ فوکوس کپی کد. فقط مرحلههای تکمیلشدهٔ قابلکلیک فوکوسپذیرند. |
| optional | کپی کد | متن «اختیاری» با رنگ کپی کد. |
| عمودی | کپی کد | مراحل زیر هم و اتصالدهنده عمودی. |
| موبایل | رسانه کپی کد | حالت افقی ستونی میشود و اتصالدهنده پنهان است. |
| چاپ | کپی کد یا کپی کد | پیشفرض دیده میشود؛ کپی کد در چاپ به متن عادی تبدیل میشود. |
کامپوننت حالتهای disabled، invalid، loading و readonly ندارد؛ در کد تعریف نشدهاند.
تغییرات مجاز برای توسعهدهنده
- variant: کپی کد و کپی کد از طریق کپی کد.
- size: یک اندازه (کپی کد)؛ اندازهٔ جداگانهای در کد تعریف نشده است.
- وضعیتها: با کپی کد مرحلهٔ فعلی تعیین میشود؛ مرحلههای بالاتر در انتظار و پایینتر تکمیلشدهاند.
- بازگشت: کپی کد برای برگشت به مرحلهٔ تکمیلشده.
- برچسبها و ارقام: کپی کد برای ترجمهٔ کامل متن وضعیت و کپی کد برای ارقام نشانگر.
- نقاط توسعه: کپی کد، کپی کد، توکنهای کپی کد، کپی کد، کپی کد.
- صدا و handler: رویداد صوتی ندارد؛ فقط کپی کد رویداد کلیک را اعلام میکند.
تغییرات ممنوع (بنیان ثابت)
- حذف کپی کد از مرحلهٔ فعلی یا جایگزینی آن با کپی کد.
- حذف متن وضعیت (کپی کد) یا تکیه بر رنگ تنها برای نمایش وضعیت.
- قابلکلیککردن مرحلههای در انتظار یا فعلی.
- تغییر ترتیب کپی کد یا حذف کپی کد.
- هدف لمسی کمتر از ۴۴ پیکسل برای دکمهٔ مرحلهٔ تکمیلشده.
- حذف فوکوس مرئی یا انیمیشن در کپی کد.
RTL، کیبورد و صفحهخوان
- RTL: ترتیب مرحلهها از راست به چپ است و اتصالدهنده با ویژگیهای منطقی (کپی کد) رسم میشود. اعداد پیشفرض فارسیاند.
- کیبورد: کپی کد فقط روی مرحلههای تکمیلشدهٔ قابلکلیک میایستد؛ کپی کد یا کپی کد به آن مرحله برمیگرداند. بقیهٔ مراحل ایستا هستند.
- صفحهخوان: کپی کد با کپی کد (پیشفرض «مراحل») و کپی کد؛ هر مرحله با متن «مرحلهٔ ۲ از ۴، مرحلهٔ فعلی» یا «تکمیلشده» یا «در انتظار» اعلام میشود.
- هدف لمسی: دکمهٔ مرحلهٔ تکمیلشده حداقل ۴۴ پیکسل ارتفاع دارد.
صدا، حرکت، چاپ و کاهش حرکت
- صدا: بیصدا (کپی کد). پیشرفت مرحلهای صوتی ندارد و prop مربوط به کپی کد در کد تعریف نشده است.
- حرکت: نام معنایی کپی کد با تغییر کپی کد و کپی کد (کپی کد). با کپی کد یا کپی کد تغییر فوری است.
- چاپ: پیشفرض نمایش (کپی کد، رنگ تکرنگ). متن وضعیت هر مرحله در چاپ دیده میشود تا رنگ تنها نشانه نباشد (کپی کد).
توکنها
- فایل توکن: کپی کد و مقدارهای مرجع در کپی کد.
- توکنهای معنایی مصرفی: کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد.
- توکنهای سطح کامپوننت (کپی کد): کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد، کپی کد.
قرارداد ARCH
- آیکون ✓ فقط با کپی کد و نام معنایی کپی کد رندر میشود؛ مسیر asset در کد مصرفکننده نمیآید.
- تم فقط حرکت و توکن را تغییر میدهد؛ ساختار DOM، ARIA و منطق وضعیت ثابت است.
- gesture ندارد؛ بازگشت به مرحلهٔ قبل با کیبورد (کپی کد و کپی کد) و pointer یکسان است.
نکات
- برای بخشهای همسطح غیرترتیبی از Tabs استفاده کنید.
- برای نمایش درصد پیشرفت یک عملیات مشخص از Progress استفاده کنید.
- برای جابهجایی بین صفحههای یک فهرست از Pagination استفاده کنید.
- بیش از حدود ۷ مرحله معمولاً خوانا نیست؛ فرایند طولانی را به بخشها تقسیم کنید.