feat: migrate workspace to Tailwind CSS v4 (#377)

* feat: migrate workspace to Tailwind CSS v4

* refactor: move Tailwind v4 setup to CSS directives
This commit is contained in:
KM Koushik
2026-03-15 07:10:37 +11:00
committed by GitHub
parent d7b196c0e3
commit 9a306b1d59
28 changed files with 543 additions and 382 deletions
+89 -3
View File
@@ -1,6 +1,81 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
@custom-variant dark (&:is(.dark *));
@plugin "tailwindcss-animate";
@theme inline {
--font-sans:
Inter, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-mono:
"JetBrains Mono", Menlo, ui-monospace, SFMono-Regular, Monaco, Consolas,
"Liberation Mono", "Courier New", monospace;
--color-border: hsl(var(--border));
--color-input: hsl(var(--input));
--color-ring: hsl(var(--ring));
--color-background: hsl(var(--background));
--color-foreground: hsl(var(--foreground));
--color-primary: hsl(var(--primary));
--color-primary-foreground: hsl(var(--primary-foreground));
--color-secondary: hsl(var(--secondary));
--color-secondary-foreground: hsl(var(--secondary-foreground));
--color-destructive: hsl(var(--destructive));
--color-destructive-foreground: hsl(var(--destructive-foreground));
--color-muted: hsl(var(--muted));
--color-muted-foreground: hsl(var(--muted-foreground));
--color-accent: hsl(var(--accent));
--color-accent-foreground: hsl(var(--accent-foreground));
--color-popover: hsl(var(--popover));
--color-popover-foreground: hsl(var(--popover-foreground));
--color-card: hsl(var(--card));
--color-card-foreground: hsl(var(--card-foreground));
--color-sidebar: hsl(var(--sidebar-background));
--color-sidebar-foreground: hsl(var(--sidebar-foreground));
--color-sidebar-primary: hsl(var(--sidebar-primary));
--color-sidebar-primary-foreground: hsl(var(--sidebar-primary-foreground));
--color-sidebar-accent: hsl(var(--sidebar-accent));
--color-sidebar-accent-foreground: hsl(var(--sidebar-accent-foreground));
--color-sidebar-border: hsl(var(--sidebar-border));
--color-sidebar-ring: hsl(var(--sidebar-ring));
--color-success: hsl(var(--success));
--color-success-foreground: hsl(var(--success-foreground));
--color-warning: hsl(var(--warning));
--color-warning-foreground: hsl(var(--warning-foreground));
--color-green: hsl(var(--green));
--color-red: hsl(var(--red));
--color-blue: hsl(var(--blue));
--color-purple: hsl(var(--purple));
--color-yellow: hsl(var(--yellow));
--color-gray: hsl(var(--gray));
--color-primary-light: hsl(var(--primary-light));
--radius-sm: calc(var(--radius) - 4px);
--radius-md: calc(var(--radius) - 2px);
--radius-lg: var(--radius);
--animate-accordion-down: accordion-down 0.4s ease-out;
--animate-accordion-up: accordion-up 0.4s ease-out;
}
@keyframes accordion-down {
from {
height: 0;
}
to {
height: var(--radix-accordion-content-height);
}
}
@keyframes accordion-up {
from {
height: var(--radix-accordion-content-height);
}
to {
height: 0;
}
}
@layer base {
:root,
@@ -155,6 +230,17 @@
}
@layer utilities {
.container {
margin-inline: auto;
padding-inline: 2rem;
}
@media (min-width: 1400px) {
.container {
max-width: 1400px;
}
}
/* Hide scrollbars but preserve scroll behavior */
.no-scrollbar::-webkit-scrollbar {
display: none;