/* eslint-disable */ const defaultTheme = require('tailwindcss/defaultTheme'); const colors = require('tailwindcss/colors'); function withOpacityValue(variable) { return ({ opacityValue }) => { if (opacityValue === undefined) { return `rgb(var(${variable}))`; } return `rgb(var(${variable}) / ${opacityValue})`; }; } function rem2px(input, fontSize = 16) { if (input == null) { return input; } switch (typeof input) { case 'object': if (Array.isArray(input)) { return input.map((val) => rem2px(val, fontSize)); } const ret = {}; for (const key in input) { ret[key] = rem2px(input[key]); } return ret; case 'string': return input.replace( /(\d*\.?\d+)rem$/, (_, val) => `${parseFloat(val) * fontSize}px` ); default: return input; } } module.exports = { content: ['./src/**/*.{js,jsx,ts,tsx,vue}', './business/**/*.{js,jsx,ts,tsx,vue}'], darkMode: 'class', // or 'media' or 'class' theme: { borderRadius: rem2px(defaultTheme.borderRadius), columns: rem2px(defaultTheme.columns), fontSize: rem2px(defaultTheme.fontSize), lineHeight: rem2px(defaultTheme.lineHeight), maxWidth: ({ theme, breakpoints }) => ({ ...rem2px(defaultTheme.maxWidth({ theme, breakpoints })), }), spacing: rem2px(defaultTheme.spacing), extend: { colors: { primary: withOpacityValue('--color-primary'), secondary: withOpacityValue('--color-secondary'), accent: withOpacityValue('--color-accent'), gray: colors.zinc, orange: colors.orange, }, fontFamily: { sans: ['Poppins', 'sans-serif'], mono: ['Source Code Pro', 'monospace'], }, container: { center: true, padding: { DEFAULT: '1rem', sm: '2rem', }, }, }, }, variants: { extend: {}, }, plugins: [require('@tailwindcss/typography')], };