پرتوپرتو

کلاس‌های Tailwind

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

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

نحوه استفاده

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

// مثال استفاده
<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سطح عمداً کم‌رنگ — گیت کنتراست نداردفقط حالت غیرفعال و placeholder
text-foreground-mutedمعادل text-mutedفقط حالت غیرفعال و placeholder
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)

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

سطوح دو نوع‌اند و این تمایز مهم است:

  • سطوح صلب (solid): surface-75، surface-100، surface-300، overlay-default (یعنی bg-overlaydialog و خودِ background. اینها رنگ ثابت دارند. نکته: در تم فعلی surface-75 و surface-100 دقیقاً یک رنگ‌اند.
  • لایه‌های نیمه‌شفاف تطبیقی (adaptive): surface-200، surface-400، muted، control، selection، overlay-hover و کل مقیاس حاشیه‌ها. اینها با color-mix روی رنگ متن ساخته می‌شوند، روی هر پس‌زمینه‌ای که پشتشان باشد ترکیب (composite) می‌شوند و یک پله بالاتر از آن می‌نشینند — نه یک رنگ روشن‌تر ثابت.

بنابراین سطوح یک «نردبان صلبِ پیوسته روشن‌تر» نیستند؛ سطح واقعیِ پاپ‌اوور/منو bg-overlay است و سطح دیالوگ bg-dialog (توکن اختصاصی خودش، نه پس‌زمینهٔ سایت).

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سطح صلب پایههم‌رنگ surface-100 است؛ پایهٔ سطوح
bg-surface-100سطح صلب کارتکارت‌ها و پنل‌ها (توکن card)
bg-surface-200لایهٔ نیمه‌شفاف تطبیقیهاور آیتم/ردیف؛ روی بک‌دراپ سوار می‌شود
bg-surface-300سطح صلب بالاترمحتوای تو در تو
bg-surface-400لایهٔ نیمه‌شفاف تطبیقی (قوی‌تر)تأکید روی بک‌دراپ
bg-alternativeپس‌زمینه جایگزینبخش‌های متمایز
bg-alternative-200سطح دوم جایگزین-
bg-selectionپس‌زمینه انتخاب شدهآیتم‌های انتخاب شده در لیست
bg-controlپس‌زمینه کنترل‌هاinput, select, textarea
bg-overlayسطح پاپ‌اوور/منو (صلب)دراپ‌داون‌ها، پاپ‌اوورها، منوها
bg-overlay-scrimلایهٔ تیرهٔ پشت مدالbackdrop مدال‌ها
bg-overlay-hoverhover overlay-
bg-buttonپس‌زمینه دکمهدکمه‌های سفارشی
bg-dialogپس‌زمینه دیالوگmodal, dialog
bg-dash-sidebarسایدبار داشبوردمنوی کناری
bg-dash-canvascanvas داشبوردمحتوای اصلی داشبورد

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

// سطح‌بندی: پس‌زمینه صلب → کارت صلب → لایهٔ تطبیقی روی کارت
<div className="bg p-8">
  <div className="bg-surface-100 p-6 rounded-lg">
    <h2 className="text mb-4">کارت (سطح صلب)</h2>

    <div className="bg-surface-200 p-3 rounded">
      {/* surface-200 یک لایهٔ نیمه‌شفاف تطبیقی است و روی رنگ کارت پشتش سوار می‌شود */}
      <p className="text-lighter">لایهٔ تطبیقی روی کارت</p>
    </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 — از bg-overlay-scrim برای پرده (backdrop) و bg-dialog برای پنل استفاده کنید
<div className="fixed inset-0 bg-overlay-scrim 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-on-brand 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-on-destructive 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-lighter
متن غیرفعالtext-muted
لینکtext-brand
پیام خطاtext-destructive
پیام هشدارtext-warning
پس‌زمینه کارتbg-surface-100
پس‌زمینه دراپ‌داونbg-overlay
پس‌زمینه inputbg-control
پس‌زمینه انتخاب شدهbg-selection
حاشیه کارتborder-default
حاشیه برجستهborder-strong
حاشیه inputborder-control

منابع مرتبط