remove tailwind

This commit is contained in:
despiegk 2025-01-12 20:31:22 +01:00
parent d3ce2a3ec1
commit d6a9e13025
12 changed files with 279 additions and 3294 deletions

View File

@ -50,30 +50,6 @@ const config: Config = {
}, },
themes: ['@docusaurus/theme-mermaid'], themes: ['@docusaurus/theme-mermaid'],
plugins: [
async function tailwindPlugin(context, options) {
return {
name: "docusaurus-tailwindcss",
configurePostCss(postcssOptions) {
const tailwindcss = require("tailwindcss");
const tailwindConfig = require("./tailwind.config.js");
postcssOptions.plugins.push(tailwindcss(tailwindConfig));
postcssOptions.plugins.push(require("autoprefixer"));
return postcssOptions;
},
configureWebpack(config, isServer, utils) {
return {
resolve: {
alias: {
"@": require("path").resolve(__dirname, "src"),
},
},
};
},
};
},
],
themeConfig: { themeConfig: {
docs: { docs: {
sidebar: { sidebar: {

View File

@ -50,30 +50,6 @@ const config: Config = {
}, },
themes: ['@docusaurus/theme-mermaid'], themes: ['@docusaurus/theme-mermaid'],
plugins: [
async function tailwindPlugin(context, options) {
return {
name: "docusaurus-tailwindcss",
configurePostCss(postcssOptions) {
const tailwindcss = require("tailwindcss");
const tailwindConfig = require("./tailwind.config.js");
postcssOptions.plugins.push(tailwindcss(tailwindConfig));
postcssOptions.plugins.push(require("autoprefixer"));
return postcssOptions;
},
configureWebpack(config, isServer, utils) {
return {
resolve: {
alias: {
"@": require("path").resolve(__dirname, "src"),
},
},
};
},
};
},
],
themeConfig: { themeConfig: {
docs: { docs: {
sidebar: { sidebar: {

View File

@ -1,21 +0,0 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": false,
"tsx": true,
"tailwind": {
"config": "tailwind.config.js",
"css": "src/css/custom.css",
"baseColor": "gray",
"cssVariables": false,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"iconLibrary": "lucide"
}

View File

@ -50,30 +50,6 @@ const config: Config = {
}, },
themes: ['@docusaurus/theme-mermaid'], themes: ['@docusaurus/theme-mermaid'],
plugins: [
async function tailwindPlugin(context, options) {
return {
name: "docusaurus-tailwindcss",
configurePostCss(postcssOptions) {
const tailwindcss = require("tailwindcss");
const tailwindConfig = require("./tailwind.config.js");
postcssOptions.plugins.push(tailwindcss(tailwindConfig));
postcssOptions.plugins.push(require("autoprefixer"));
return postcssOptions;
},
configureWebpack(config, isServer, utils) {
return {
resolve: {
alias: {
"@": require("path").resolve(__dirname, "src"),
},
},
};
},
};
},
],
themeConfig: { themeConfig: {
docs: { docs: {
sidebar: { sidebar: {

View File

@ -63,10 +63,5 @@ export PATH=${BASE}/node_modules/.bin:$PATH
pnpm install @docusaurus/core @docusaurus/preset-classic @docusaurus/theme-mermaid pnpm install @docusaurus/core @docusaurus/preset-classic @docusaurus/theme-mermaid
pnpm install react-player pnpm install react-player
pnpm install tailwindcss
pnpm install --save-dev @types/node @docusaurus/types @docusaurus/preset-classic prism-react-renderer redocusaurus pnpm install --save-dev @types/node @docusaurus/types @docusaurus/preset-classic prism-react-renderer redocusaurus
# pnpm add redocusaurus
pnpm add tailwindcss-animate class-variance-authority clsx tailwind-merge lucide-react
# #pnpm dlx shadcn@latest init
# pnpm dlx shadcn@latest add accordion alert alert-dialog aspect-ratio avatar badge breadcrumb button calendar card carousel chart checkbox collapsible command context-menu dialog drawer dropdown-menu form hover-card input input-otp label menubar navigation-menu pagination popover progress radio-group resizable scroll-area select separator sheet sidebar skeleton slider sonner switch table tabs textarea toast toggle toggle-group tooltip
pnpm install pnpm install

View File

@ -15,60 +15,19 @@
"typecheck": "tsc" "typecheck": "tsc"
}, },
"dependencies": { "dependencies": {
"@docusaurus/core": "^3.6.3", "@docusaurus/core": "^3.7.0",
"@docusaurus/plugin-client-redirects": "3.6.3", "@docusaurus/plugin-client-redirects": "3.6.3",
"@docusaurus/theme-mermaid": "^3.6.3", "@docusaurus/theme-mermaid": "^3.7.0",
"@hookform/resolvers": "^3.9.1",
"@mdx-js/react": "^3.0.0", "@mdx-js/react": "^3.0.0",
"@radix-ui/react-accordion": "^1.2.2",
"@radix-ui/react-alert-dialog": "^1.1.4",
"@radix-ui/react-aspect-ratio": "^1.1.1",
"@radix-ui/react-avatar": "^1.1.2",
"@radix-ui/react-checkbox": "^1.1.3",
"@radix-ui/react-collapsible": "^1.1.2",
"@radix-ui/react-context-menu": "^2.2.4",
"@radix-ui/react-dialog": "^1.1.4",
"@radix-ui/react-dropdown-menu": "^2.1.4",
"@radix-ui/react-hover-card": "^1.1.4",
"@radix-ui/react-label": "^2.1.1",
"@radix-ui/react-menubar": "^1.1.4",
"@radix-ui/react-navigation-menu": "^1.2.3",
"@radix-ui/react-popover": "^1.1.4",
"@radix-ui/react-progress": "^1.1.1",
"@radix-ui/react-radio-group": "^1.2.2",
"@radix-ui/react-scroll-area": "^1.2.2",
"@radix-ui/react-select": "^2.1.4",
"@radix-ui/react-separator": "^1.1.1",
"@radix-ui/react-slider": "^1.2.2",
"@radix-ui/react-slot": "^1.1.1",
"@radix-ui/react-switch": "^1.1.2",
"@radix-ui/react-tabs": "^1.1.2",
"@radix-ui/react-toast": "^1.2.4",
"@radix-ui/react-toggle": "^1.1.1",
"@radix-ui/react-toggle-group": "^1.1.1",
"@radix-ui/react-tooltip": "^1.1.6",
"cmdk": "1.0.0",
"date-fns": "^4.1.0",
"embla-carousel-react": "^8.5.1",
"input-otp": "^1.4.1",
"next-themes": "^0.4.4",
"raw-loader": "^4.0.2", "raw-loader": "^4.0.2",
"react": "^18.0.0", "react": "^18.0.0",
"react-day-picker": "8.10.1",
"react-dom": "^18.0.0", "react-dom": "^18.0.0",
"react-hook-form": "^7.54.2", "react-player": "^2.16.0"
"react-player": "^2.16.0",
"react-resizable-panels": "^2.1.7",
"recharts": "^2.15.0",
"sonner": "^1.7.1",
"tailwindcss-animate": "^1.0.7",
"vaul": "^1.1.2",
"zod": "^3.24.1"
}, },
"devDependencies": { "devDependencies": {
"@docusaurus/module-type-aliases": "3.6.3", "@docusaurus/module-type-aliases": "3.6.3",
"@docusaurus/plugin-content-blog": "^3.6.3", "@docusaurus/plugin-content-blog": "^3.6.3",
"@docusaurus/preset-classic": "^3.6.3", "@docusaurus/preset-classic": "^3.7.0",
"@docusaurus/theme-common": "^3.6.3", "@docusaurus/theme-common": "^3.6.3",
"@docusaurus/tsconfig": "3.6.3", "@docusaurus/tsconfig": "3.6.3",
"@docusaurus/types": "3.6.3", "@docusaurus/types": "3.6.3",
@ -76,15 +35,9 @@
"@types/node": "^22.10.5", "@types/node": "^22.10.5",
"@types/react": "^19.0.2", "@types/react": "^19.0.2",
"@types/react-dom": "^19.0.2", "@types/react-dom": "^19.0.2",
"autoprefixer": "^10.4.20",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"lucide-react": "^0.469.0",
"postcss": "^8.4.49",
"prism-react-renderer": "^2.4.1", "prism-react-renderer": "^2.4.1",
"redocusaurus": "^2.2.0", "redocusaurus": "^2.2.0",
"tailwind-merge": "^2.6.0",
"tailwindcss": "^3.4.17",
"typescript": "~5.5.2" "typescript": "~5.5.2"
}, },
"peerDependencies": { "peerDependencies": {

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +0,0 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

View File

@ -1,53 +1,31 @@
/** /**
* Global CSS styles and Tailwind configuration * Global CSS styles
* Combines Infima (Docusaurus default), custom styles, and Tailwind utilities * Combines Infima (Docusaurus default) and custom styles
*/ */
/* Base styles and resets */ /* Typography - Inter font configuration */
@tailwind base; @font-face {
@tailwind components; font-family: 'Inter';
@tailwind utilities; font-weight: 400;
font-style: normal;
src: url('/fonts/Inter_28pt-Light.ttf') format('truetype');
font-display: swap;
}
/* Enhanced button styling for shadcn */ @font-face {
.tw-inline-flex { font-family: 'Inter';
background: linear-gradient(180deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.06) 100%);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 16px;
color: rgba(255, 255, 255, 0.95);
font-weight: 500; font-weight: 500;
padding: 12px 24px; font-style: normal;
transition: all var(--transition-normal); src: url('/fonts/Inter_28pt-Regular.ttf') format('truetype');
box-shadow: font-display: swap;
0 2px 4px rgba(0, 0, 0, 0.2),
0 4px 8px rgba(0, 0, 0, 0.1),
inset 0 1px 1px rgba(255, 255, 255, 0.12);
} }
.tw-inline-flex[class*="variant-outline"] { @font-face {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.04) 100%); font-family: 'Inter';
border: 1px solid rgba(255, 255, 255, 0.25); font-weight: 600;
box-shadow: font-style: normal;
0 2px 4px rgba(0, 0, 0, 0.2), src: url('/fonts/Inter_28pt-Medium.ttf') format('truetype');
0 4px 8px rgba(0, 0, 0, 0.1), font-display: swap;
inset 0 1px 1px rgba(255, 255, 255, 0.12);
}
.tw-inline-flex:hover {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.08) 100%);
transform: translateY(-1px);
box-shadow:
0 4px 8px rgba(0, 0, 0, 0.3),
0 8px 16px rgba(0, 0, 0, 0.1),
inset 0 1px 1px rgba(255, 255, 255, 0.18);
}
.tw-inline-flex:active {
transform: translateY(1px);
background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
box-shadow:
0 1px 2px rgba(0, 0, 0, 0.2),
0 2px 4px rgba(0, 0, 0, 0.1),
inset 0 1px 1px rgba(255, 255, 255, 0.08);
} }
/* Custom animations */ /* Custom animations */
@ -61,16 +39,6 @@
to { transform: translateY(0); opacity: 1; } to { transform: translateY(0); opacity: 1; }
} }
@keyframes slideDown {
from { height: 0; }
to { height: var(--radix-accordion-content-height); }
}
@keyframes slideUp {
from { height: var(--radix-accordion-content-height); }
to { height: 0; }
}
/* Navigation styles */ /* Navigation styles */
.navbar__logo { .navbar__logo {
display: flex; display: flex;
@ -115,31 +83,6 @@
width: 100%; width: 100%;
} }
/* Typography - Inter font configuration */
@font-face {
font-family: 'Inter';
font-weight: 400;
font-style: normal;
src: url('/fonts/Inter_28pt-Light.ttf') format('truetype');
font-display: swap;
}
@font-face {
font-family: 'Inter';
font-weight: 500;
font-style: normal;
src: url('/fonts/Inter_28pt-Regular.ttf') format('truetype');
font-display: swap;
}
@font-face {
font-family: 'Inter';
font-weight: 600;
font-style: normal;
src: url('/fonts/Inter_28pt-Medium.ttf') format('truetype');
font-display: swap;
}
/* Global typography and spacing */ /* Global typography and spacing */
body { body {
font-family: 'Inter', sans-serif; font-family: 'Inter', sans-serif;
@ -377,47 +320,47 @@ aside.theme-doc-sidebar-container {
/* Mobile Navigation */ /* Mobile Navigation */
@media (max-width: 996px) { @media (max-width: 996px) {
.navbar__toggle { .navbar__toggle {
display: block !important; display: block;
position: fixed !important; position: fixed;
top: 1rem !important; top: 1rem;
right: 1rem !important; right: 1rem;
z-index: 9999 !important; z-index: 9999;
width: 44px !important; width: 44px;
height: 44px !important; height: 44px;
background: #000 !important; background: #000;
color: #fff !important; color: #fff;
border-radius: 4px !important; border-radius: 4px;
cursor: pointer !important; cursor: pointer;
} }
.navbar__toggle::before { .navbar__toggle::before {
content: '☰' !important; content: '☰';
font-size: 24px !important; font-size: 24px;
} }
.navbar-sidebar { .navbar-sidebar {
display: block !important; display: block;
position: fixed !important; position: fixed;
top: 0 !important; top: 0;
left: 0 !important; left: 0;
bottom: 0 !important; bottom: 0;
width: 300px !important; width: 300px;
background: #000 !important; background: #000;
z-index: 9998 !important; z-index: 9998;
} }
.navbar-sidebar__items { .navbar-sidebar__items {
padding: 1rem !important; padding: 1rem;
} }
.navbar-sidebar__backdrop { .navbar-sidebar__backdrop {
position: fixed !important; position: fixed;
top: 0 !important; top: 0;
left: 0 !important; left: 0;
right: 0 !important; right: 0;
bottom: 0 !important; bottom: 0;
background: rgba(0, 0, 0, 0.5) !important; background: rgba(0, 0, 0, 0.5);
z-index: 9997 !important; z-index: 9997;
} }
} }
@ -435,49 +378,6 @@ body.menu-open {
} }
} }
/* Enhanced button styling for shadcn */
[data-theme='dark'] button[class*="inline-flex"],
[data-theme='dark'] .btn {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
border: 1px solid rgba(255, 255, 255, 0.15);
color: rgba(255, 255, 255, 0.9);
transition: all var(--transition-normal);
box-shadow:
0 2px 4px rgba(0, 0, 0, 0.2),
0 4px 8px rgba(0, 0, 0, 0.1),
inset 0 1px 1px rgba(255, 255, 255, 0.1);
}
[data-theme='dark'] button[class*="inline-flex"][data-variant="outline"],
[data-theme='dark'] .btn-outline {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow:
0 2px 4px rgba(0, 0, 0, 0.2),
0 4px 8px rgba(0, 0, 0, 0.1),
inset 0 1px 1px rgba(255, 255, 255, 0.1);
}
[data-theme='dark'] button[class*="inline-flex"]:hover,
[data-theme='dark'] .btn:hover {
background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0.07) 100%);
transform: translateY(-1px);
box-shadow:
0 4px 8px rgba(0, 0, 0, 0.3),
0 8px 16px rgba(0, 0, 0, 0.1),
inset 0 1px 1px rgba(255, 255, 255, 0.15);
}
[data-theme='dark'] button[class*="inline-flex"]:active,
[data-theme='dark'] .btn:active {
transform: translateY(1px);
background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
box-shadow:
0 1px 2px rgba(0, 0, 0, 0.2),
0 2px 4px rgba(0, 0, 0, 0.1),
inset 0 1px 1px rgba(255, 255, 255, 0.05);
}
/* Enhanced code blocks with modern styling */ /* Enhanced code blocks with modern styling */
.theme-code-block { .theme-code-block {
background-color: rgba(26, 26, 26, 0.95) !important; background-color: rgba(26, 26, 26, 0.95) !important;
@ -515,19 +415,19 @@ body.menu-open {
border-spacing: 0; border-spacing: 0;
margin: 2rem 0; margin: 2rem 0;
width: 100%; width: 100%;
border: none !important; border: none;
} }
.markdown table * { .markdown table * {
border: none !important; border: none;
border-bottom: none !important; border-bottom: none;
border-color: transparent !important; border-color: transparent;
} }
.markdown table tr { .markdown table tr {
background-color: transparent; background-color: transparent;
transition: background-color var(--transition-fast); transition: background-color var(--transition-fast);
border: none !important; border: none;
} }
.markdown table tr:nth-child(2n) { .markdown table tr:nth-child(2n) {
@ -556,31 +456,31 @@ body.menu-open {
/* Override any Docusaurus table styles */ /* Override any Docusaurus table styles */
:root { :root {
--ifm-table-border-width: 0 !important; --ifm-table-border-width: 0;
--ifm-table-border-color: transparent !important; --ifm-table-border-color: transparent;
--ifm-table-stripe-background: transparent !important; --ifm-table-stripe-background: transparent;
--ifm-table-head-background: transparent !important; --ifm-table-head-background: transparent;
--ifm-table-head-color: rgba(255, 255, 255, 0.95) !important; --ifm-table-head-color: rgba(255, 255, 255, 0.95);
--ifm-table-head-font-weight: 600 !important; --ifm-table-head-font-weight: 600;
--ifm-table-cell-padding: 0.75rem 1rem !important; --ifm-table-cell-padding: 0.75rem 1rem;
} }
/* Additional table overrides */ /* Additional table overrides */
.markdown table thead { .markdown table thead {
border: none !important; border: none;
background: none !important; background: none;
} }
.markdown table thead tr { .markdown table thead tr {
border: none !important; border: none;
border-bottom: none !important; border-bottom: none;
background-color: rgba(255, 255, 255, 0.03) !important; background-color: rgba(255, 255, 255, 0.03);
} }
.markdown table thead th { .markdown table thead th {
border: none !important; border: none;
border-bottom: none !important; border-bottom: none;
background: none !important; background: none;
} }
/* Blockquotes */ /* Blockquotes */
@ -604,7 +504,7 @@ body.menu-open {
.blog-post-title, .blog-post-title,
.blog-list-title, .blog-list-title,
.blog-list-page article header h2 { .blog-list-page article header h2 {
font-size: clamp(1.5rem, 3vw, 2.5rem) !important; font-size: clamp(1.5rem, 3vw, 2.5rem);
margin-bottom: 1rem; margin-bottom: 1rem;
transition: color var(--transition-fast); transition: color var(--transition-fast);
word-wrap: break-word; word-wrap: break-word;
@ -622,7 +522,7 @@ body.menu-open {
.blog-post-title, .blog-post-title,
.blog-list-title { .blog-list-title {
font-size: clamp(1.25rem, 6vw, 1.75rem) !important; font-size: clamp(1.25rem, 6vw, 1.75rem);
} }
article.margin-bottom--xl { article.margin-bottom--xl {
@ -663,12 +563,12 @@ article.margin-bottom--xl {
/* Hide author info on blog list */ /* Hide author info on blog list */
.avatar__photo, .avatar__photo,
.avatar__intro { .avatar__intro {
display: none !important; display: none;
} }
/* Show blog list images */ /* Show blog list images */
article header + div img:first-child { article header + div img:first-child {
display: block !important; display: block;
margin: 1.5rem 0; margin: 1.5rem 0;
max-width: 100%; max-width: 100%;
height: auto; height: auto;
@ -678,67 +578,15 @@ article header + div img:first-child {
/* Homepage specific styles */ /* Homepage specific styles */
.homepage { .homepage {
--doc-sidebar-width: 0 !important; --doc-sidebar-width: 0;
} }
.homepage .theme-doc-sidebar-container { .homepage .theme-doc-sidebar-container {
display: none !important; display: none;
} }
.homepage main { .homepage main {
max-width: 100% !important; max-width: 100%;
margin: 0 !important; margin: 0;
padding: 0 !important; padding: 0;
}
/* Tailwind base layer configuration */
@layer base {
:root {
--background: 300 4% 7%;
--foreground: 0 0% 100%;
--muted: 300 4% 10%;
--muted-foreground: 0 0% 70%;
--accent: 300 4% 12%;
--accent-foreground: 0 0% 100%;
--popover: 300 4% 7%;
--popover-foreground: 0 0% 100%;
--border: 300 4% 15%;
--input: 300 4% 15%;
--card: 300 4% 7%;
--card-foreground: 0 0% 100%;
--primary: 212 100% 59%;
--primary-foreground: 0 0% 100%;
--secondary: 300 4% 12%;
--secondary-foreground: 0 0% 100%;
--destructive: 0 63% 31%;
--destructive-foreground: 0 0% 100%;
--ring: 300 4% 15%;
--sidebar-background: 0 0% 98%;
--sidebar-foreground: 240 5.3% 26.1%;
--sidebar-primary: 240 5.9% 10%;
--sidebar-primary-foreground: 0 0% 98%;
--sidebar-accent: 240 4.8% 95.9%;
--sidebar-accent-foreground: 240 5.9% 10%;
--sidebar-border: 220 13% 91%;
--sidebar-ring: 217.2 91.2% 59.8%;
}
.dark {
--sidebar-background: 240 5.9% 10%;
--sidebar-foreground: 240 4.8% 95.9%;
--sidebar-primary: 224.3 76.3% 48%;
--sidebar-primary-foreground: 0 0% 100%;
--sidebar-accent: 240 3.7% 15.9%;
--sidebar-accent-foreground: 240 4.8% 95.9%;
--sidebar-border: 240 3.7% 15.9%;
--sidebar-ring: 217.2 91.2% 59.8%;
}
}
@layer base {
* {
@apply border-border;
}
body {
@apply font-sans antialiased bg-background text-foreground;
}
} }

View File

@ -1,6 +1,5 @@
import { clsx, type ClassValue } from "clsx" import { clsx, type ClassValue } from "clsx"
import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) { export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs)) return clsx(inputs)
} }

View File

@ -1,7 +1,7 @@
import React from 'react'; import React from 'react';
import MDXComponents from '@theme-original/MDXComponents'; import MDXComponents from '@theme-original/MDXComponents';
import Highlight from '@/components/Highlight'; import Highlight from '../components/Highlight';
import TypeformEmbed from '@/components/TypeForm'; import TypeformEmbed from '../components/Typeform';
export default { export default {
// Re-use the default mapping // Re-use the default mapping

View File

@ -1,92 +0,0 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
prefix: "",
blocklist: ["container"],
content: [
"./src/**/*.{js,jsx,ts,tsx,md,mdx}",
"./docs/**/*.{js,jsx,ts,tsx,md,mdx}",
"./blog/**/*.{js,jsx,ts,tsx,md,mdx}",
"./pages/**/*.{js,jsx,ts,tsx,md,mdx}",
],
theme: {
extend: {
keyframes: {
'accordion-down': {
from: {
height: '0'
},
to: {
height: 'var(--radix-accordion-content-height)'
}
},
'accordion-up': {
from: {
height: 'var(--radix-accordion-content-height)'
},
to: {
height: '0'
}
}
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out'
},
colors: {
border: 'hsl(var(--border))',
input: 'hsl(var(--input))',
ring: 'hsl(var(--ring))',
background: 'hsl(var(--background))',
foreground: 'hsl(var(--foreground))',
primary: {
DEFAULT: 'hsl(var(--primary))',
foreground: 'hsl(var(--primary-foreground))'
},
secondary: {
DEFAULT: 'hsl(var(--secondary))',
foreground: 'hsl(var(--secondary-foreground))'
},
destructive: {
DEFAULT: 'hsl(var(--destructive))',
foreground: 'hsl(var(--destructive-foreground))'
},
muted: {
DEFAULT: 'hsl(var(--muted))',
foreground: 'hsl(var(--muted-foreground))'
},
accent: {
DEFAULT: 'hsl(var(--accent))',
foreground: 'hsl(var(--accent-foreground))'
},
popover: {
DEFAULT: 'hsl(var(--popover))',
foreground: 'hsl(var(--popover-foreground))'
},
card: {
DEFAULT: 'hsl(var(--card))',
foreground: 'hsl(var(--card-foreground))'
},
sidebar: {
DEFAULT: 'hsl(var(--sidebar-background))',
foreground: 'hsl(var(--sidebar-foreground))',
primary: 'hsl(var(--sidebar-primary))',
'primary-foreground': 'hsl(var(--sidebar-primary-foreground))',
accent: 'hsl(var(--sidebar-accent))',
'accent-foreground': 'hsl(var(--sidebar-accent-foreground))',
border: 'hsl(var(--sidebar-border))',
ring: 'hsl(var(--sidebar-ring))'
}
},
borderRadius: {
lg: 'var(--radius)',
md: 'calc(var(--radius) - 2px)',
sm: 'calc(var(--radius) - 4px)'
}
}
},
plugins: [require("tailwindcss-animate")],
darkMode: ['class', '[data-theme="dark"]', "class"],
corePlugins: {
preflight: false,
},
}