پیشرفت دایرهای (CircularProgress)
یک امتیاز یا درصد تکمیل به شکل حلقه؛ پیشرفت کار با Progress و مصرف سهمیه با QuotaProgressBar
معرفی
کامپوننت CircularProgress برای نمایش مقدار درصدی به شکل یک حلقه دایرهای استفاده میشود. مناسب برای نمایش نرخ تعامل، درصد تکمیل، یا هر معیار 0 تا 100 است.
چه زمانی استفاده کنیم:
- برای نمایش درصد تکمیل در فضای مربعی یا دایرهای
- وقتی نمایش بصری حلقهای مناسبتر از نوار خطی است
- برای نمایش یک مقدار درصدی برجسته (مثلاً نرخ تعامل، امتیاز)
چه زمانی استفاده نکنیم:
- برای مقادیر linear با مقایسه — از
Progressاستفاده کنید - برای نمایش loading — از
Spinnerاستفاده کنید
زمین بازی
با تغییر تنظیمات زیر، پیشنمایش زنده را مشاهده کنید.
import { CircularProgress } from '@partodata/ui'
<CircularProgress />استفاده
import { CircularProgress } from '@partodata/ui'
export default function MyComponent() {
return <CircularProgress value={72} variant="success" label="نرخ تعامل" />
}انواع
رنگبندیها
از prop variant برای تنظیم رنگ حلقه پیشرفت استفاده کنید. شش حالت پشتیبانی میشود: primary، success، warning، destructive و دو حالت جدید info (آبی) و neutral (خاکستری).
اندازهها
با تنظیم diameter میتوانید اندازه دلخواه را انتخاب کنید.
قالببندی درصد
پراپ locale هم رقم و هم نشانهٔ درصد را کنترل میکند. مقدار پیشفرض fa است و خروجی فارسی و
عربی با نشانهٔ ٪ نمایش داده میشود؛ برای رابط انگلیسی locale="en" را تنظیم کنید تا نشانهٔ %
نمایش داده شود. نشانه را در consumer به مقدار عددی نچسبانید.
Props
راهنمای استفاده
بکنید
- از
labelبرای توضیح معنای مقدار استفاده کنید -variantرا متناسب با نوع داده انتخاب کنید (مثلاًsuccessبرای نرخ تعامل بالا) - ازdiameterسفارشی برای تطبیق با فضای موجود استفاده کنید
نکنید
- مقادیر بالای 100 به
valueندهید — محدوده 0 تا 100 است - از CircularProgress برای نمایش loading استفاده نکنید — ازSpinnerاستفاده کنید - چندین CircularProgress با اندازههای مختلف در یک ردیف قرار ندهید — ناهماهنگ به نظر میرسد
دسترسیپذیری
- از
role="progressbar"وaria-valuenow،aria-valuemin،aria-valuemaxپشتیبانی میکند labelعلاوه بر نمایش داخل دایره، باaria-labelledbyنام دسترسیپذیر progressbar را میسازد؛ بنابراین صفحهخوان «نرخ تعامل، 72» را اعلام میکند، نه فقط عدد را- اگر
labelندهید، نام دسترسیپذیر بهصورت پیشفرض «درصد پیشرفت» (متناسب باlocale) است؛ برای نام دقیقتر میتوانیدaria-labelیاaria-labelledbyرا مستقیم بدهید که بر هر دو اولویت دارد - در حالت RTL، جهت انیمیشن به درستی تنظیم میشود