نشان (Badge)
کامپوننت نمایش برچسبها و وضعیتها
معرفی
کامپوننت Badge برای نمایش برچسبها، شمارهها، وضعیتها یا دستهبندیها استفاده میشود.
چه زمانی استفاده نکنیم:
- برای متن طولانیتر از ۲-۳ کلمه — از
TagیاFilterChipاستفاده کنید - برای اعمال قابل کلیک — Badge تعاملی نیست، از
Buttonاستفاده کنید - به جای
SentimentBadgeبرای نمایش احساسات — کامپوننت domain-specific وجود دارد
استفاده
پیشفرضفرعیموفقیتهشدارخطابرندحاشیهدار
import { Badge } from '@parto-system-design/ui'
;<div className="flex flex-wrap gap-2">
<Badge>پیشفرض</Badge>
<Badge variant="secondary">فرعی</Badge>
<Badge variant="success">موفقیت</Badge>
<Badge variant="warning">هشدار</Badge>
<Badge variant="destructive">خطا</Badge>
<Badge variant="brand">برند</Badge>
<Badge variant="outline">حاشیهدار</Badge>
</div>زمین بازی
با تغییر تنظیمات زیر، نشان را به صورت زنده مشاهده کنید.
زمین بازی
نشان نمونه
تنظیمات
import { Badge } from '@parto-system-design/ui'
<Badge>
نشان نمونه
</Badge>انواع (Variants)
پیشفرض
<Badge>پیشفرض</Badge>فرعی (Secondary)
<Badge variant="secondary">فرعی</Badge>موفقیت (Success)
<Badge variant="success">موفقیت</Badge>هشدار (Warning)
<Badge variant="warning">هشدار</Badge>خطا (Destructive)
<Badge variant="destructive">خطا</Badge>برند (Brand)
<Badge variant="brand">برند</Badge>حاشیهدار (Outline)
<Badge variant="outline">حاشیهدار</Badge>اندازهها
کامپوننت Badge از چهار اندازه استاندارد پشتیبانی میکند:
<div className="flex items-center gap-2">
<Badge size="xs">خیلی کوچک</Badge>
<Badge size="sm">کوچک</Badge>
<Badge size="md">متوسط</Badge>
<Badge size="lg">بزرگ</Badge>
</div>خیلی کوچک (xs)
<Badge size="xs">BETA</Badge>مناسب برای برچسبهای کوتاه و نشانگرهای وضعیت. متن به صورت uppercase نمایش داده میشود.
کوچک (sm) - پیشفرض
<Badge size="sm">جدید</Badge>
// یا
<Badge>جدید</Badge>متوسط (md)
<Badge size="md">در دسترس</Badge>بزرگ (lg)
<Badge size="lg">پیشنهاد ویژه</Badge>نقطه وضعیت (Dot)
میتوانید یک نقطه رنگی به Badge اضافه کنید:
<div className="flex items-center gap-2">
<Badge dot>آنلاین</Badge>
<Badge dot variant="success">
فعال
</Badge>
<Badge dot variant="warning">
در انتظار
</Badge>
<Badge dot variant="destructive">
آفلاین
</Badge>
</div>موقعیت نقطه
نقطه میتواند در ابتدا (پیشفرض) یا انتهای Badge قرار گیرد:
<Badge dot dotPosition="start">نقطه در ابتدا</Badge>
<Badge dot dotPosition="end">نقطه در انتها</Badge>استفاده در کنار متن
<div className="flex items-center gap-2">
<span>وضعیت:</span>
<Badge>فعال</Badge>
</div>با آیکون
import { Icons } from '@parto-system-design/ui'
;<Badge>
<Icons.check className="w-3 h-3 ms-1" />
تایید شده
</Badge>نمایش تعداد
<div className="relative inline-block">
<Icons.bell className="w-6 h-6" />
<Badge className="absolute -top-1 -end-1 px-1 min-w-[18px] h-[18px] flex items-center justify-center">5</Badge>
</div>Props
دسترسیپذیری
- برای محتوای معنادار از تگ مناسب استفاده کنید
- برای اعداد، از
aria-labelتوضیحی استفاده کنید - کنتراست رنگی مناسب برای خوانایی
ملاحظات RTL
- متن بهصورت خودکار راستچین میشود
- آیکونها در سمت راست متن قرار میگیرند
- موقعیتهای absolute با
start/endتنظیم میشوند - نقطه وضعیت بر اساس
dotPositionدر RTL معکوس میشود
راهنمای استفاده
بکن
- از
variant="success"برای وضعیتهای مثبت وvariant="destructive"برای خطا استفاده کنید - Badge را برای وضعیت (status) و برچسب (label) ثابت به کار ببرید
نکن
- از رنگهای Badge برای اهداف غیرمعنایی استفاده نکنید (مثلاً
variant="destructive"برای تزئین) - بیش از ۲ Badge در یک ردیف کنار هم قرار ندهید — خوانایی را کاهش میدهد
کامپوننتهای مرتبط
- SentimentBadge — برای نمایش احساسات مثبت/منفی/خنثی
- SocialPlatformBadge — برای نشانهای پلتفرمهای اجتماعی
- FilterChip — برای برچسبهای قابل حذف