پرتوپرتو

نشان (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

Prop

Type

دسترسی‌پذیری

  • برای محتوای معنادار از تگ مناسب استفاده کنید
  • برای اعداد، از aria-label توضیحی استفاده کنید
  • کنتراست رنگی مناسب برای خوانایی

ملاحظات RTL

  • متن به‌صورت خودکار راست‌چین می‌شود
  • آیکون‌ها در سمت راست متن قرار می‌گیرند
  • موقعیت‌های absolute با start/end تنظیم می‌شوند
  • نقطه وضعیت بر اساس dotPosition در RTL معکوس می‌شود

راهنمای استفاده

بکن

  • از variant="success" برای وضعیت‌های مثبت و variant="destructive" برای خطا استفاده کنید - Badge را برای وضعیت (status) و برچسب (label) ثابت به کار ببرید

نکن

  • از رنگ‌های Badge برای اهداف غیرمعنایی استفاده نکنید (مثلاً variant="destructive" برای تزئین) - بیش از ۲ Badge در یک ردیف کنار هم قرار ندهید — خوانایی را کاهش می‌دهد

کامپوننت‌های مرتبط

  • SentimentBadge — برای نمایش احساسات مثبت/منفی/خنثی
  • SocialPlatformBadge — برای نشان‌های پلتفرم‌های اجتماعی
  • FilterChip — برای برچسب‌های قابل حذف