Files
librechat.ai/tailwind.config.js
Danny Avila ab364c23c4 📦 chore: Update Packages (#463)
* chore: bump packages

* chore: bump packages

* chore: bump packages

* chore: update package dependencies to latest versions

* chore: update configuration and dependencies for Nextra migration

- Updated TypeScript references in `next-env.d.ts` to align with new Nextra structure.
- Modified `next.config.mjs` to ignore ESLint and TypeScript build errors during the build process.
- Added a new `PACKAGE_UPDATE_SUMMARY.md` documenting package updates and migration details.
- Downgraded Next.js and Nextra versions for compatibility, and updated related dependencies.
- Introduced new `page.tsx` files for dynamic routing and metadata generation in the app directory.
- Added 'use client' directive to multiple components to support client-side rendering.
- Refactored components to remove deprecated Nextra context methods in preparation for App Router.

* chore: update ESLint configuration to use __dirname for tsconfigRootDir and fix lint errors

* chore: update initial statistics for GitHub stars and Docker pulls in Usage component

* chore: refactor clean-cache script to use CommonJS require syntax

* chore: remove redundant ESLint installation step in workflow
2025-12-05 10:53:29 -05:00

152 lines
4.4 KiB
JavaScript

/** @type {import('tailwindcss').Config} */
module.exports = {
darkMode: ['class'],
content: [
'./components/**/*.{js,jsx,ts,tsx,mdx}',
'./pages/**/*.{js,jsx,ts,tsx,mdx}',
'./app/**/*.{js,ts,jsx,tsx,mdx}',
'./src/**/*.{js,jsx,ts,tsx,mdx}',
'./theme.config.tsx',
'./lib/**/*.{js,jsx,ts,tsx,mdx}',
],
theme: {
container: {
center: true,
padding: '2rem',
screens: {
'2xl': '1400px',
},
},
extend: {
fontFamily: {
sans: ['var(--font-geist-sans)'],
mono: ['var(--font-geist-mono)'],
},
colors: {
gray: {
50: '#fafafa',
100: '#f5f5f5',
200: '#e5e5e5',
300: '#d4d4d4',
400: '#a3a3a3',
500: '#737373',
600: '#525252',
700: '#404040',
800: '#262626',
900: '#171717',
},
blackish: '#000000',
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))',
},
},
borderRadius: {
lg: '20px',
md: 'calc(var(--radius) - 2px)',
sm: 'calc(var(--radius) - 4px)',
},
animation: {
'accordion-down': 'accordion-down 0.2s ease-out',
'accordion-up': 'accordion-up 0.2s ease-out',
'border-beam': 'border-beam calc(var(--duration)*1s) infinite linear',
meteor: 'meteor 5s linear infinite',
spin: 'spin calc(var(--speed) * 2) infinite linear',
slide: 'slide var(--speed) ease-in-out infinite alternate',
gradient: 'gradient 6s linear infinite',
marquee: 'marquee var(--duration) linear infinite',
grid: 'grid 20s linear infinite',
'marquee-vertical': 'marquee-vertical var(--duration) linear infinite',
},
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 },
},
'border-beam': {
'100%': {
'offset-distance': '100%',
},
},
grid: {
'0%': { transform: 'translateY(-50%)' },
'100%': { transform: 'translateY(0)' },
},
meteor: {
'0%': { transform: 'rotate(215deg) translateX(0)', opacity: 1 },
'70%': { opacity: 1 },
'100%': {
transform: 'rotate(215deg) translateX(-500px)',
opacity: 0,
},
},
marquee: {
from: { transform: 'translateX(0)' },
to: { transform: 'translateX(calc(-100% - var(--gap)))' },
},
'marquee-vertical': {
from: { transform: 'translateY(0)' },
to: { transform: 'translateY(calc(-100% - var(--gap)))' },
},
gradient: {
to: { 'background-position': '200% center' },
},
spin: {
'0%': {
rotate: '0deg',
},
'15%, 35%': {
rotate: '90deg',
},
'65%, 85%': {
rotate: '270deg',
},
'100%': {
rotate: '360deg',
},
},
slide: {
to: {
transform: 'translate(calc(100cqw - 100%), 0)',
},
},
},
},
// eslint-disable-next-line @typescript-eslint/no-require-imports
plugins: [require('tailwindcss-animate')],
},
}