Files
librechat.ai/tailwind.config.js
Danny Avila 113249efca 🪄 refactor: UI Refresh & Agents/Code Interpreter Docs (#174)
*  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>
2024-12-07 12:42:17 -05:00

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')],
},
}