برای استفاده از کامپوننتها و کالکشنها، لازمه ابتدا تنظیمات اولیهی مربوط به رنگها و استایلهای پایه رو انجام بدی.
این بخش بهت نشون میده چطور فایلهای استایل رو آماده و ساختاردهی کنی :)
ما از یک فایل به نام colors.css داخل پوشهی theme استفاده میکنیم تا رنگهای اصلی پروژه رو تعریف کنیم. این فایل بهسادگی قابل ویرایش و شخصیسازی برای تم روشن و تاریکه.
css └── 📁 theme └── 📄 colors.css
colors.cssدر فایل colors.css، رنگهای تم روشن و تاریک به این صورت تعریف میشن:
:root {
--surface-color: oklch(1 0 0);
--surface-content-color: oklch(0 0 0);
--surface-1-color: oklch(96.5% 0 0);
--surface-1-content-color: oklch(14.5% 0 0);
--surface-2-color: oklch(92.7% 0.001 286.375);
--surface-2-content-color: oklch(55.2% 0.016 285.938);
--surface-3-color: oklch(85.7% 0.001 286.375);
--surface-3-content-color: oklch(55.2% 0.016 285.938);
--card-color: oklch(1 0 0);
--card-content-color: oklch(0 0 0);
--primary-color: oklch(48.8% 0.243 264.376);
--primary-content-color: oklch(92.2% 0 0);
--accent-color: oklch(44.4% 0.011 73.639);
--accent-content-color: oklch(98.5% 0.001 106.423);
--success-color: oklch(43.2% 0.095 166.913);
--success-content-color: oklch(95% 0.052 163.051);
--warning-color: oklch(84.1% 0.238 128.85);
--warning-content-color: oklch(12.9% 0.042 264.695);
--info-color: oklch(52% 0.105 223.128);
--info-content-color: oklch(95.6% 0.045 203.388);
--destructive-color: oklch(44.4% 0.177 26.899);
--destructive-content-color: oklch(97.1% 0.013 17.38);
--border-color: oklch(92% 0.004 286.32);
--input-color: oklch(92% 0.004 286.32);
--ring-color: oklch(92% 0.004 286.32);
}
.dark {
--surface-color: oklch(0.173 0 0);
--surface-content-color: oklch(1 0 0);
--surface-1-color: oklch(18.674% 0.00002 271.152);
--surface-1-content-color: oklch(92.797% 0.00011 271.152);
--surface-2-color: oklch(22.213% 0.00003 271.152);
--surface-2-content-color: oklch(75.423% 0.01568 285.945);
--surface-3-color: oklch(30.118% 0.00003 271.152);
--surface-3-content-color: oklch(63.736% 0.01784 285.832);
--card-color: oklch(0.173 0 0);
--card-content-color: oklch(1 0 0);
--primary-color: oklch(48.8% 0.243 264.376);
--primary-content-color: oklch(92.2% 0 0);
--accent-color: oklch(44.4% 0.011 73.639);
--accent-content-color: oklch(98.5% 0.001 106.423);
--success-color: oklch(43.2% 0.095 166.913);
--success-content-color: oklch(95% 0.052 163.051);
--warning-color: oklch(84.1% 0.238 128.85);
--warning-content-color: oklch(12.9% 0.042 264.695);
--info-color: oklch(52% 0.105 223.128);
--info-content-color: oklch(95.6% 0.045 203.388);
--destructive-color: oklch(44.4% 0.177 26.899);
--destructive-content-color: oklch(97.1% 0.013 17.38);
--border-color: oklch(24.354% 0.00003 271.152);
--input-color: oklch(34.07% 0.00004 271.152);
--ring-color: oklch(36.002% 0.00004 271.152);
}
تو میتونی رنگهای بیشتری رو هم به دلخواه به این فایل اضافه کنی.
app.cssبرای استفاده از رنگها و تعریف تنظیمات پایه، کافیه محتویات زیر رو داخل فایل app.css قرار بدی:
@import "tailwindcss";
@import "./theme/colors.css";
@variant dark (&:where(.dark, .dark *));
@theme {
--text-2xs: 0.65rem;
--color-surface: var(--surface-color);
--color-surface-content: var(--surface-content-color);
--color-surface-1: var(--surface-1-color);
--color-surface-1-content: var(--surface-1-content-color);
--color-surface-2: var(--surface-2-color);
--color-surface-2-content: var(--surface-2-content-color);
--color-surface-3: var(--surface-3-color);
--color-surface-3-content: var(--surface-3-content-color);
--color-card: var(--card-color);
--color-card-content: var(--card-content-color);
--color-primary: var(--primary-color);
--color-primary-content: var(--primary-content-color);
--color-accent: var(--accent-color);
--color-accent-content: var(--accent-content-color);
--color-info: var(--info-color);
--color-info-content: var(--info-content-color);
--color-success: var(--success-color);
--color-success-content: var(--success-content-color);
--color-warning: var(--warning-color);
--color-warning-content: var(--warning-content-color);
--color-destructive: var(--destructive-color);
--color-destructive-content: var(--destructive-content-color);
--color-border: var(--border-color);
--color-input: var(--input-color);
--color-ring: var(--ring-color);
}
@layer base {
* {
@apply border-border ring-ring;
}
/* total width */
*::-webkit-scrollbar {
@apply bg-surface-1 w-4;
}
/* background of the scrollbar except button or resizer */
*::-webkit-scrollbar-track {
@apply bg-surface-1;
}
/* scrollbar itself */
*::-webkit-scrollbar-thumb {
@apply bg-surface-3 border-solid border-4 border-surface-1 rounded-2xl;
}
/* set button(top and bottom of the scrollbar) */
*::-webkit-scrollbar-button {
@apply hidden;
}
html {
@apply scroll-smooth;
}
body {
@apply bg-surface font-medium text-surface-content overflow-x-hidden;
}
[x-cloak] {
@apply !hidden;
}
}
با این تنظیمات، پروژهات آمادهی استفاده از دارکمود و استایلهای پایهای مورد نیاز برای کامپوننتها و کالکشنها خواهد بود.
💡 این بخش بین تمام کامپوننتها و کالکشنها مشترکه، پس فقط یکبار نیازه تنظیمش کنی.
💡 کالکشنها ممکنه شامل رنگبندیهای متنوعتری بشن یا نیاز به یهسری تنظیمات اضافی پیدا کنن که همه اینا توی قسمت "راهنمای استفاده" توی صفحه خود کالکشن توضیح داده میشن.