mirror of
https://github.com/LibreChat-AI/librechat.ai.git
synced 2026-03-27 10:48:32 +07:00
* ✨ feat: update home page layout and add usage statistics components * 🔃 chore: clean up eslint-module-utils dependency entries in pnpm-lock.yaml * ✨ feat: a lot of things * ✨ feat: UI adjustements * ✨ feat: improve author card links, update background colors, and enhance layout responsiveness * chore: update bun * ✨ feat: update GitHub stars and Docker pulls statistics * ✨ feat: update demo link to new preview URL * ✨ feat: update features section with new Code Interpreter and adjust layout * ✨ feat: add emoji to Quick Start title for enhanced visibility * refactor: move user guides to features section * ✨ feat: add emojis to installation and user guides for improved clarity * ✨ feat: update Hero component title and description for clarity and enhance demo link * feat: agents page * ✨ feat: update agents documentation to clarify built-in tools and mention future integrations * ✨ feat: add Code Interpreter API documentation and update agents metadata * ✨ feat: add Code Interpreter page metadata and integrate sparkles effect in Hero component * chore: comment out NewsletterForm component in Home page * style: code interpreter gif for features box * fix: update Agents link to point to the correct features documentation * fix: pnpm lockfile * docs: API key notes for code interpreter api * refactor: improve MobileSwitch component with TypeScript types and null check * chore: types, packages * chore: update ESLint configuration and add linting step to CI workflow fix: update rotate prop type in Card component to accept number or string * docs: add section on intellectual property protection for Code Interpreter * docs: refine agents customization features in documentation * style: hero page --------- Co-authored-by: Marco Beretta <81851188+berry-13@users.noreply.github.com>
151 lines
4.3 KiB
JavaScript
151 lines
4.3 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)',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [require('tailwindcss-animate')],
|
|
},
|
|
}
|