کلاسهای 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-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 | پسزمینه اصلی صفحه | 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 | پسزمینه overlay | backdrop مدالها |
bg-overlay-hover | hover overlay | - |
bg-button | پسزمینه دکمه | دکمههای سفارشی |
bg-dialog | پسزمینه دیالوگ | modal, dialog |
bg-dash-sidebar | سایدبار داشبورد | منوی کناری |
bg-dash-canvas | canvas داشبورد | محتوای اصلی داشبورد |
مثالهای استفاده پسزمینه:
// سیستم سطحبندی (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 | حاشیه 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 |
| پسزمینه input | bg-control |
| پسزمینه انتخاب شده | bg-selection |
| حاشیه کارت | border-default |
| حاشیه برجسته | border-strong |
| حاشیه input | border-control |
منابع مرتبط
- استفاده از رنگ - راهنمای کامل استفاده از رنگها
- پالت رنگی - پالت کامل رنگی
- تمبندی - نحوه سفارشیسازی تمها