پرتوپرتو

کلاس‌های Tailwind

لیست کامل کلاس‌های کاربردی رنگ در دیزاین سیستم پرتو

این صفحه لیست کامل تمام کلاس‌های کاربردی (utility classes) رنگ را که در دیزاین سیستم پرتو در دسترس هستند، نمایش می‌دهد. تمام این کلاس‌ها مستقیماً از Supabase Design System استخراج شده‌اند و به صورت خودکار با تم روشن و تاریک سازگار هستند.

نحوه استفاده

برای استفاده از هر کلاس، کافی است روی نمونه آن کلیک کنید تا نام کلاس در کلیپ‌بورد شما کپی شود. سپس می‌توانید آن را در کامپوننت‌های خود استفاده کنید.

// مثال استفاده
<div className="bg-surface-100 border border-default p-4 rounded">
  <h2 className="text-foreground mb-2">عنوان</h2>
  <p className="text-light">محتوای کارت</p>
</div>

کلاس‌های متن (Text/Foreground)

این کلاس‌ها برای تعیین رنگ متن استفاده می‌شوند و سلسله‌مراتب بصری واضحی ایجاد می‌کنند.

پرتوtext
پرتوtext-light
پرتوtext-lighter
پرتوtext-muted
پرتوtext-contrast
پرتوtext-destructive
پرتوtext-warning
پرتوtext-brand
پرتوtext-foreground
پرتوtext-foreground-light
پرتوtext-foreground-lighter
پرتوtext-foreground-muted

توضیحات کلاس‌های متن:

کلاستوضیحکاربرد
textمتن اصلی با بیشترین کنتراستعناوین و متن‌های مهم
text-foregroundمعادل textعناوین و متن‌های مهم
text-lightمتن با کنتراست متوسطمتن‌های بدنه و توضیحات
text-foreground-lightمعادل text-lightمتن‌های بدنه
text-lighterمتن با کنتراست کمتراطلاعات ثانویه
text-foreground-lighterمعادل text-lighterاطلاعات ثانویه
text-mutedمتن کم‌رنگمتادیتا، تاریخ، توضیحات کوچک
text-foreground-mutedمعادل text-mutedمتادیتا
text-contrastمتن با کنتراست بسیار بالااستفاده در پس‌زمینه‌های تیره
text-brandمتن با رنگ برندلینک‌ها، عناصر برجسته برند
text-warningمتن هشدارپیام‌های هشدار
text-destructiveمتن خطرپیام‌های خطا، دکمه‌های حذف

مثال‌های استفاده متن:

// سلسله‌مراتب متن در یک کارت
<div className="bg-surface-100 p-6 rounded border border-default">
  <h2 className="text text-2xl font-bold mb-2">
    عنوان مقاله
  </h2>
  
  <p className="text-light mb-4">
    این یک پاراگراف توضیحی است که اطلاعات اصلی را ارائه می‌دهد.
    از رنگ متن با کنتراست متوسط استفاده می‌کند.
  </p>
  
  <div className="flex items-center gap-4">
    <span className="text-lighter text-sm">
      نویسنده: علی احمدی
    </span>
    <span className="text-muted text-xs">
      2 ساعت پیش
    </span>
  </div>
  
  <button className="text-brand mt-4">
    ادامه مطلب →
  </button>
</div>

// پیام‌های وضعیت
<div>
  <p className="text-brand mb-2">✓ عملیات موفق بود</p>
  <p className="text-warning mb-2">⚠ این عملیات قابل بازگشت نیست</p>
  <p className="text-destructive">✗ خطا در بارگذاری داده‌ها</p>
</div>

کلاس‌های پس‌زمینه (Background)

این کلاس‌ها برای تعیین رنگ پس‌زمینه عناصر استفاده می‌شوند و سیستم سطح‌بندی (layering) را پیاده‌سازی می‌کنند.

bg
bg-200
bg-alternative
bg-alternative-200
bg-selection
bg-control
bg-surface-75
bg-surface-100
bg-surface-200
bg-surface-300
bg-surface-400
bg-overlay
bg-overlay-hover
bg-button
bg-dialog
bg-dash-sidebar
bg-dash-canvas
bg-studio

توضیحات کلاس‌های پس‌زمینه:

کلاستوضیحکاربرد
bgپس‌زمینه اصلی صفحهbody در سایت‌های مستندات
bg-200پس‌زمینه سطح دوم-
bg-studioپس‌زمینه داشبوردbody در داشبورد/استودیو
bg-surface-75سطح اول (کم‌عمق‌ترین)کارت‌های اصلی
bg-surface-100سطح دومپنل‌ها، کارت‌های برجسته
bg-surface-200سطح سومدراپ‌داون‌ها، پاپوورها
bg-surface-300سطح چهارممحتوای تو در تو
bg-surface-400سطح پنجممحتوای بسیار تو در تو
bg-alternativeپس‌زمینه جایگزینبخش‌های متمایز
bg-alternative-200سطح دوم جایگزین-
bg-selectionپس‌زمینه انتخاب شدهآیتم‌های انتخاب شده در لیست
bg-controlپس‌زمینه کنترل‌هاinput, select, textarea
bg-overlayپس‌زمینه overlaybackdrop مدال‌ها
bg-overlay-hoverhover overlay-
bg-buttonپس‌زمینه دکمهدکمه‌های سفارشی
bg-dialogپس‌زمینه دیالوگmodal, dialog
bg-dash-sidebarسایدبار داشبوردمنوی کناری
bg-dash-canvascanvas داشبوردمحتوای اصلی داشبورد

مثال‌های استفاده پس‌زمینه:

// سیستم سطح‌بندی (Layering System)
<div className="bg p-8">
  <div className="bg-surface-75 p-6 rounded-lg">
    <h2 className="text mb-4">سطح اول</h2>
    
    <div className="bg-surface-100 p-4 rounded">
      <h3 className="text-light mb-3">سطح دوم</h3>
      
      <div className="bg-surface-200 p-3 rounded">
        <p className="text-lighter">سطح سوم</p>
      </div>
    </div>
  </div>
</div>

// فرم با input
<form className="bg-surface-100 p-6 rounded">
  <label className="text text-sm mb-2">نام کاربری</label>
  <input 
    className="bg-control border border-control rounded px-3 py-2 w-full"
    placeholder="نام کاربری خود را وارد کنید"
  />
</form>

// لیست با آیتم انتخاب شده
<ul>
  <li className="bg-surface-100 hover:bg-surface-200 p-3">آیتم 1</li>
  <li className="bg-selection p-3">آیتم انتخاب شده</li>
  <li className="bg-surface-100 hover:bg-surface-200 p-3">آیتم 3</li>
</ul>

// Modal
<div className="fixed inset-0 bg-overlay/80 flex items-center justify-center">
  <div className="bg-dialog p-6 rounded-lg max-w-md">
    <h2 className="text text-xl mb-4">عنوان دیالوگ</h2>
    <p className="text-light">محتوای دیالوگ</p>
  </div>
</div>

کلاس‌های حاشیه (Border)

این کلاس‌ها برای تعیین رنگ حاشیه عناصر استفاده می‌شوند.

border-default
border-strong
border-stronger
border-overlay
border-control
border-alternative
border-secondary
border-button
border-button-hover

توضیحات کلاس‌های حاشیه:

کلاستوضیحکاربرد
border-defaultحاشیه پیش‌فرضبیشتر موارد، کارت‌ها، کانتینرها
border-strongحاشیه قوی‌ترتاکید متوسط، جداسازی بخش‌ها
border-strongerحاشیه خیلی قویتاکید زیاد، المان‌های برجسته
border-overlayحاشیه overlayمدال‌ها، پاپوورها
border-controlحاشیه کنترل‌هاinput, select, textarea
border-alternativeحاشیه جایگزینتنوع بصری
border-secondaryحاشیه ثانویه-
border-buttonحاشیه دکمهدکمه‌ها در حالت عادی
border-button-hoverحاشیه hover دکمهدکمه‌ها در حالت hover

مثال‌های استفاده حاشیه:

// کارت با سطوح مختلف حاشیه
<div className="flex gap-4">
  <div className="border border-default p-4 rounded">
    حاشیه معمولی
  </div>
  
  <div className="border border-strong p-4 rounded">
    حاشیه قوی
  </div>
  
  <div className="border border-stronger p-4 rounded">
    حاشیه خیلی قوی
  </div>
</div>

// Input با حالت‌های مختلف
<div className="space-y-4">
  {/* حالت عادی */}
  <input 
    className="border border-control rounded px-3 py-2"
    placeholder="حالت عادی"
  />
  
  {/* حالت focus */}
  <input 
    className="border border-strong rounded px-3 py-2"
    placeholder="حالت focus"
  />
  
  {/* حالت خطا */}
  <input 
    className="border-2 border-destructive rounded px-3 py-2"
    placeholder="حالت خطا"
  />
</div>

// دکمه با hover
<button className="border border-button hover:border-button-hover px-4 py-2 rounded transition">
  دکمه
</button>

// جدول
<table className="w-full border border-default">
  <thead>
    <tr className="border-b border-strong">
      <th className="p-3 text-start">ستون 1</th>
      <th className="p-3 text-start">ستون 2</th>
    </tr>
  </thead>
  <tbody>
    <tr className="border-b border-default">
      <td className="p-3">سلول 1</td>
      <td className="p-3">سلول 2</td>
    </tr>
  </tbody>
</table>

ترکیب‌های رایج

کارت استاندارد

<div className="bg-surface-100 border border-default rounded-lg p-6">
  <h3 className="text text-lg font-semibold mb-2">عنوان کارت</h3>
  <p className="text-light text-sm mb-4">توضیحات کارت</p>
  <button className="text-brand text-sm">اقدام →</button>
</div>

کارت برجسته (hover effect)

<div className="bg-surface-100 border border-default hover:border-strong rounded-lg p-6 transition cursor-pointer">
  <h3 className="text text-lg font-semibold">کارت قابل کلیک</h3>
</div>

Input استاندارد

<div>
  <label className="text text-sm mb-1 block">برچسب</label>
  <input 
    className="bg-control border border-control focus:border-strong rounded px-3 py-2 w-full text-foreground outline-none transition"
    placeholder="متن placeholder"
  />
</div>

دکمه اصلی

<button className="bg-brand text-white border border-brand hover:bg-brand/90 px-4 py-2 rounded transition">
  دکمه اصلی
</button>

دکمه ثانویه

<button className="bg-surface-100 text-foreground border border-default hover:bg-surface-200 hover:border-strong px-4 py-2 rounded transition">
  دکمه ثانویه
</button>

دکمه خطرناک

<button className="bg-destructive text-white border border-destructive hover:bg-destructive/90 px-4 py-2 rounded transition">
  حذف
</button>

Alert/Toast - موفقیت

<div className="bg-brand/10 border border-brand rounded-lg p-4">
  <div className="flex items-start gap-3">
    <span className="text-brand"></span>
    <div>
      <h4 className="text-brand font-medium mb-1">موفقیت</h4>
      <p className="text-light text-sm">عملیات با موفقیت انجام شد</p>
    </div>
  </div>
</div>

Alert/Toast - هشدار

<div className="bg-warning/10 border border-warning rounded-lg p-4">
  <div className="flex items-start gap-3">
    <span className="text-warning"></span>
    <div>
      <h4 className="text-warning font-medium mb-1">هشدار</h4>
      <p className="text-light text-sm">این عملیات قابل بازگشت نیست</p>
    </div>
  </div>
</div>

Alert/Toast - خطا

<div className="bg-destructive/10 border border-destructive rounded-lg p-4">
  <div className="flex items-start gap-3">
    <span className="text-destructive"></span>
    <div>
      <h4 className="text-destructive font-medium mb-1">خطا</h4>
      <p className="text-light text-sm">عملیات با شکست مواجه شد</p>
    </div>
  </div>
</div>

نکات مهم

استفاده از transition

برای تجربه کاربری بهتر، همیشه از transition برای تغییرات رنگ استفاده کنید:

<button className="bg-surface-100 hover:bg-surface-200 transition">
  دکمه با انیمیشن
</button>

outline-none با border

هنگام استفاده از outline-none روی input، حتماً border در حالت focus نمایش دهید:

<input className="border border-control focus:border-strong outline-none" />

استفاده از opacity

برای ایجاد حالت‌های شفاف، از / استفاده کنید:

<div className="bg-brand/10">پس‌زمینه شفاف</div>
<button className="hover:bg-brand/90">دکمه با hover</button>

کنتراست متن و پس‌زمینه

همیشه مطمئن شوید ترکیب رنگ متن و پس‌زمینه خوانا است:

// ✅ درست
<div className="bg-surface-100">
  <span className="text-foreground">متن خوانا</span>
</div>

// ❌ غلط
<div className="bg-surface-100">
  <span className="text-lighter">خواندن سخت</span>
</div>

جستجوی سریع

برای یافتن سریع کلاس مورد نظر، از جدول زیر استفاده کنید:

می‌خواهم...از این کلاس استفاده کنم
متن عنوانtext یا text-foreground
متن بدنهtext-light
متن ثانویهtext-lighter
متادیتاtext-muted
لینکtext-brand
پیام خطاtext-destructive
پیام هشدارtext-warning
پس‌زمینه کارتbg-surface-100
پس‌زمینه دراپ‌داونbg-surface-200
پس‌زمینه inputbg-control
پس‌زمینه انتخاب شدهbg-selection
حاشیه کارتborder-default
حاشیه برجستهborder-strong
حاشیه inputborder-control

منابع مرتبط