پرتوپرتو

نشان (Badge)

کامپوننت نمایش برچسب‌ها و وضعیت‌ها

معرفی

کامپوننت Badge برای نمایش برچسب‌ها، شماره‌ها، وضعیت‌ها یا دسته‌بندی‌ها استفاده می‌شود.

استفاده

پیش‌فرض
فرعی
موفقیت
هشدار
خطا
برند
حاشیه‌دار
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>

انواع (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="tiny">خیلی کوچک</Badge>
  <Badge size="small">کوچک</Badge>
  <Badge size="large">بزرگ</Badge>
</div>

خیلی کوچک (Tiny)

<Badge size="tiny">BETA</Badge>

مناسب برای برچسب‌های کوتاه و نشانگرهای وضعیت. متن به صورت uppercase نمایش داده می‌شود.

کوچک (Small) - پیش‌فرض

<Badge size="small">جدید</Badge>
// یا
<Badge>جدید</Badge>

بزرگ (Large)

<Badge size="large">پیشنهاد ویژه</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 معکوس می‌شود