import { blackA, grass, green, indigo, mauve, purple, red, teal, violet } from '@radix-ui/colors' import plugin from 'tailwindcss/plugin' import type { Config } from 'tailwindcss' export default { content: ['./index.html', './src/**/*.{vue,js,ts,jsx,tsx}', '../../docs/components/**/*.{vue,ts}'], theme: { extend: { colors: { ...blackA, ...mauve, ...violet, ...green, ...red, ...indigo, ...purple, ...grass, ...teal, }, keyframes: { overlayShow: { from: { opacity: '0' }, to: { opacity: '1' }, }, contentShow: { from: { opacity: '0', transform: 'translate(-50%, -48%) scale(0.96)' }, to: { opacity: '1', transform: 'translate(-50%, -50%) scale(1)' }, }, slideDownAndFade: { from: { opacity: '0', transform: 'translateY(-2px)' }, to: { opacity: '1', transform: 'translateY(0)' }, }, slideLeftAndFade: { from: { opacity: '0', transform: 'translateX(2px)' }, to: { opacity: '1', transform: 'translateX(0)' }, }, slideUpAndFade: { from: { opacity: '0', transform: 'translateY(2px)' }, to: { opacity: '1', transform: 'translateY(0)' }, }, slideRightAndFade: { from: { opacity: '0', transform: 'translateX(-2px)' }, to: { opacity: '1', transform: 'translateX(0)' }, }, slideDown: { from: { height: '0' }, to: { height: 'var(--reka-accordion-content-height)' }, }, slideUp: { from: { height: 'var(--reka-accordion-content-height)' }, to: { height: '0' }, }, enterFromRight: { from: { opacity: '0', transform: 'translateX(200px)' }, to: { opacity: '1', transform: 'translateX(0)' }, }, enterFromLeft: { from: { opacity: '0', transform: 'translateX(-200px)' }, to: { opacity: '1', transform: 'translateX(0)' }, }, exitToRight: { from: { opacity: '1', transform: 'translateX(0)' }, to: { opacity: '0', transform: 'translateX(200px)' }, }, exitToLeft: { from: { opacity: '1', transform: 'translateX(0)' }, to: { opacity: '0', transform: 'translateX(-200px)' }, }, scaleIn: { from: { opacity: '0', transform: 'rotateX(-10deg) scale(0.9)' }, to: { opacity: '1', transform: 'rotateX(0deg) scale(1)' }, }, scaleOut: { from: { opacity: '1', transform: 'rotateX(0deg) scale(1)' }, to: { opacity: '0', transform: 'rotateX(-10deg) scale(0.95)' }, }, fadeIn: { from: { opacity: '0' }, to: { opacity: '1' }, }, fadeOut: { from: { opacity: '1' }, to: { opacity: '0' }, }, }, animation: { overlayShow: 'overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1)', contentShow: 'contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1)', slideDownAndFade: 'slideDownAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)', slideLeftAndFade: 'slideLeftAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)', slideUpAndFade: 'slideUpAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)', slideRightAndFade: 'slideRightAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)', slideDown: 'slideDown 300ms cubic-bezier(0.87, 0, 0.13, 1)', slideUp: 'slideUp 300ms cubic-bezier(0.87, 0, 0.13, 1)', scaleIn: 'scaleIn 200ms ease', scaleOut: 'scaleOut 200ms ease', fadeIn: 'fadeIn 200ms ease', fadeOut: 'fadeOut 200ms ease', enterFromLeft: 'enterFromLeft 250ms ease', enterFromRight: 'enterFromRight 250ms ease', exitToLeft: 'exitToLeft 250ms ease', exitToRight: 'exitToRight 250ms ease', }, }, }, plugins: [ plugin(({ matchUtilities }) => { matchUtilities({ perspective: value => ({ perspective: value, }), }) }), ], } satisfies Config