import type { Config } from "tailwindcss";
import tailwindcssAnimate from "tailwindcss-animate";

const config: Config = {
    darkMode: ["class"],
    content: [
        "./src/pages/**/*.{js,ts,jsx,tsx,mdx}",
        "./src/components/**/*.{js,ts,jsx,tsx,mdx}",
        "./src/app/**/*.{js,ts,jsx,tsx,mdx}",
    ],
    theme: {
    	extend: {
            transitionDelay: {
                "1500":"1500ms",
                '2000': '2000ms',
                '2300': '2300ms',
                '2600': '2600ms',
                '3100': '3100ms',
                '3600': '3600ms',
                '3900': '3900ms',
               },
    		colors: {
    			lightBackground: 'hsl(var(--lightBackground))',
    			background: 'hsl(var(--background))',
    			foreground: 'hsl(var(--foreground))',
    			primary: {
    				DEFAULT: 'hsl(var(--primary))',
    				foreground: 'hsl(var(--primary-foreground))'
    			},
    			muted: {
    				DEFAULT: 'hsl(var(--muted))',
    				foreground: 'hsl(var(--muted-foreground))'
    			},
    			destructive: {
    				DEFAULT: 'hsl(var(--destructive))',
    				foreground: 'hsl(var(--destructive-foreground))'
    			},
    			secondary: {
    				DEFAULT: 'hsl(var(--secondary))',
    				foreground: 'hsl(var(--secondary-foreground))'
    			},
    			card: {
    				DEFAULT: 'hsl(var(--card))',
    				foreground: 'hsl(var(--card-foreground))'
    			},
    			popover: {
    				DEFAULT: 'hsl(var(--popover))',
    				foreground: 'hsl(var(--popover-foreground))'
    			},
    			accent: {
    				DEFAULT: 'hsl(var(--accent))',
    				foreground: 'hsl(var(--accent-foreground))'
    			},
    			border: 'hsl(var(--border))',
    			gradiant: {
    				foreground: 'hsl(var(--gradient-primary))'
    			},
    			input: 'hsl(var(--input))',
    			ring: 'hsl(var(--ring))',
    			chart: {
    				'1': 'hsl(var(--chart-1))',
    				'2': 'hsl(var(--chart-2))',
    				'3': 'hsl(var(--chart-3))',
    				'4': 'hsl(var(--chart-4))',
    				'5': 'hsl(var(--chart-5))'
    			}
    		},
    		borderRadius: {
    			lg: 'var(--radius)',
    			md: 'calc(var(--radius) - 2px)',
    			sm: 'calc(var(--radius) - 4px)'
    		},
    		animation: {
    			slideup: 'slideup 0.4s ease-in-out',
    			slidedown: 'slidedown 0.3s ease-in-out',
    			slideright: 'slideright 0.3s ease-in-out',
    			slideleft: 'slideleft 0.3s ease-in-out',
    			slowfade: 'slowfade 0.2s ease-in-out  ',
    			slowfade2: 'slowfade 0.2s  ease-in-out  ',
    			dash: 'dash 2s linear infinite',
    			'accordion-down': 'accordion-down 0.2s ease-out',
    			'accordion-up': 'accordion-up 0.2s ease-out',
                float: 'float 5s ease-in-out infinite',
                float2: 'float 4s ease-in-out infinite',
                customPing: 'customPing 1.655s cubic-bezier(0, 0, 0.2, 1) infinite',
                customPing2: 'customPing 3s cubic-bezier(0, 0, 0.2, 1) infinite',
                marquee: 'marquee 50s linear infinite',
                fadeInScale: 'fadeInScale 0.2s ease-out',
                fadeOutScale: 'fadeOutScale 0.2s ease-out',


    		},
    		keyframes: {
    			slowfade: {
    				from: {
    					opacity: '0'
    				},
    				to: {
    					opacity: '1'
    				}
    			},
    			slowfade2: {
    				from: {
    					opacity: '0'
    				},
    				to: {
    					opacity: '1'
    				}
    			},
    			slideup: {
    				from: {
    					opacity: '0',
    					transform: 'translateY(25%)'
    				},
    				to: {
    					opacity: '1',
    					transform: 'translateY(0%)'
    				}
    			},
    			slidedown: {
    				from: {
    					opacity: '0',
    					transform: 'translateY(-20%)'
    				},
    				to: {
    					opacity: '1',
    					transform: 'translateY(0%)'
    				}
    			},
    			slideright: {
    				from: {
    					opacity: '0',
    					transform: 'translateX(25%)'
    				},
    				to: {
    					opacity: '1',
    					transform: 'translateX(0%)'
    				}
    			},
    			slideleft: {
    				from: {
    					transform: 'translateX(0)'
    				},
    				to: {
    					transform: 'translateX(25%)'
    				}
    			},
    			dash: {
    				from: {
    					strokeDashoffset: '0'
    				},
    				to: {
    					strokeDashoffset: '-10'
    				}
    			},
                float: {
                    '0%, 100%': { transform: 'translateY(0)' },
                    '50%': { transform: 'translateY(-10px)' },
                  },
                float2: {
                    '0%, 100%': { transform: 'translateY(0)' },
                    '50%': { transform: 'translateY(-10px)' },
                  },
    			'accordion-down': {
    				from: {
    					height: '0'
    				},
    				to: {
    					height: 'var(--radix-accordion-content-height)'
    				}
    			},
    			'accordion-up': {
    				from: {
    					height: 'var(--radix-accordion-content-height)'
    				},
    				to: {
    					height: '0'
    				}
    			},
                customPing: {
                    '0%': { transform: 'scale(1)', opacity: '1' },
                    '75%, 100%': { transform: 'scale(2)', opacity: '0' },
                  },
                  "marquee": {
                    from: { transform: 'translateX(0)' },
                    to: { transform: 'translateX(-100%)' },
                  },
                  fadeInScale: {
                    '0%': { opacity: "0", transform: 'scale(0.95)'  },
                    '100%': { opacity: "1", transform: 'scale(1)' },
                  },
                  fadeOutScale: {
                    '0%': { opacity: "1", transform: 'scale(1)' },
                    '100%': { opacity: "0", transform: 'scale(0.95)' },
                  },
    		}
    	}
    },
    plugins: [tailwindcssAnimate],
};
export default config;
