123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- var colors = require('tailwindcss/colors');
- var plugin = require('tailwindcss/plugin');
- var types = ['primary', 'secondary', 'neutral', 'warning', 'success', 'error'];
- function generateSafeList(types) {
- var safelist = [];
- types.forEach(type => {
- safelist.push(
- ...[
- `text-on-${type}`,
- `dark:text-on-${type}-dark`,
- `text-${type}`,
- `dark:text-${type}-dark`,
- `hover:text-${type}-variant`,
- `dark:hover:text-${type}-variant-dark`,
- `bg-${type}`,
- `bg-${type}/25`,
- `from-${type}-variant`,
- `to-${type}`,
- `dark:bg-${type}-dark`,
- `dark:bg-${type}-dark/25`,
- `hover:bg-${type}-variant`,
- `hover:bg-${type}-variant/25`,
- `hover:dark:bg-${type}-variant-dark`,
- `border-${type}`,
- `dark:border-${type}-dark`,
- `hover:border-${type}-variant`,
- `dark:hover:border-${type}-variant-dark`,
- ]
- );
- });
- return safelist;
- }
- /** @type {import('tailwindcss').Config} */
- module.exports = {
- darkMode: 'selector',
- content: ['./src/**/*.{html,js,ts}'],
- safelist: generateSafeList(types),
- theme: {
- extend: {
- aspectRatio: {
- '16/9': '16 / 9',
- '4/5': '4 / 5',
- '1/1': '1 / 1',
- },
- fontFamily: {
- primary: 'var(--font-primary)',
- title: 'var(--font-title)',
- logo: 'var(--font-logo)',
- },
- fontWeight: {
- thin: '100',
- extralight: '200',
- light: '300',
- normal: '400',
- medium: '500',
- semibold: '600',
- bold: '700',
- extrabold: '800',
- black: '900',
- },
- colors: {
- ...colors,
- primary: {
- "50": 'rgb(var(--primary-50) / <alpha-value>)',
- "100": 'rgb(var(--primary-100) / <alpha-value>)',
- "200": 'rgb(var(--primary-200) / <alpha-value>)',
- "300": 'rgb(var(--primary-300) / <alpha-value>)',
- "400": 'rgb(var(--primary-400) / <alpha-value>)',
- "500": 'rgb(var(--primary-500) / <alpha-value>)',
- "600": 'rgb(var(--primary-600) / <alpha-value>)',
- "700": 'rgb(var(--primary-700) / <alpha-value>)',
- "800": 'rgb(var(--primary-800) / <alpha-value>)',
- "900": 'rgb(var(--primary-900) / <alpha-value>)',
- "950": 'rgb(var(--primary-950) / <alpha-value>)',
- DEFAULT: 'rgb(var(--primary-400) / <alpha-value>)',
- dark: 'rgb(var(--primary-800) / <alpha-value>)',
- container: {
- DEFAULT: 'rgb(var(--primary-200) / <alpha-value>)',
- dark: 'rgb(var(--primary-800) / <alpha-value>)',
- },
- variant: {
- DEFAULT: 'rgb(var(--primary-600) / <alpha-value>)',
- dark: 'rgb(var(--primary-700) / <alpha-value>)',
- },
- },
- secondary: {
- "50": 'rgb(var(--primary-50) / <alpha-value>)',
- "100": 'rgb(var(--secondary-100) / <alpha-value>)',
- "200": 'rgb(var(--secondary-200) / <alpha-value>)',
- "300": 'rgb(var(--secondary-300) / <alpha-value>)',
- "400": 'rgb(var(--secondary-400) / <alpha-value>)',
- "500": 'rgb(var(--secondary-500) / <alpha-value>)',
- "600": 'rgb(var(--secondary-600) / <alpha-value>)',
- "700": 'rgb(var(--secondary-700) / <alpha-value>)',
- "800": 'rgb(var(--secondary-800) / <alpha-value>)',
- "900": 'rgb(var(--secondary-900) / <alpha-value>)',
- "950": 'rgb(var(--secondary-950) / <alpha-value>)',
- DEFAULT: 'rgb(var(--secondary-300) / <alpha-value>)',
- dark: 'rgb(var(--secondary-800) / <alpha-value>)',
- container: {
- DEFAULT: 'rgb(var(--secondary-100) / <alpha-value>)',
- dark: 'rgb(var(--secondary-800) / <alpha-value>)',
- },
- variant: {
- DEFAULT: 'rgb(var(--secondary-500) / <alpha-value>)',
- dark: 'rgb(var(--secondary-700) / <alpha-value>)',
- },
- },
- neutral: {
- "50": 'rgb(var(--monochrome-50) / <alpha-value>)',
- "100": 'rgb(var(--monochrome-100) / <alpha-value>)',
- "200": 'rgb(var(--monochrome-200) / <alpha-value>)',
- "300": 'rgb(var(--monochrome-300) / <alpha-value>)',
- "400": 'rgb(var(--monochrome-400) / <alpha-value>)',
- "500": 'rgb(var(--monochrome-500) / <alpha-value>)',
- "600": 'rgb(var(--monochrome-600) / <alpha-value>)',
- "700": 'rgb(var(--monochrome-700) / <alpha-value>)',
- "800": 'rgb(var(--monochrome-800) / <alpha-value>)',
- "900": 'rgb(var(--monochrome-900) / <alpha-value>)',
- "950": 'rgb(var(--monochrome-950) / <alpha-value>)',
- DEFAULT: 'rgb(var(--monochrome-400) / <alpha-value>)',
- dark: 'rgb(var(--monochrome-700) / <alpha-value>)',
- variant: {
- DEFAULT: 'rgb(var(--monochrome-500) / <alpha-value>)',
- dark: 'rgb(var(--monochrome-500) / <alpha-value>)',
- },
- },
- background: {
- DEFAULT: 'rgb(var(--primary-50) / <alpha-value>)',
- dark: 'rgb(var(--primary-950) / <alpha-value>)',
- },
- surface: {
- DEFAULT: 'rgb(var(--primary-100) / <alpha-value>)',
- dark: 'rgb(var(--primary-900) / <alpha-value>)',
- variant: {
- DEFAULT: 'rgb(var(--primary-400) / <alpha-value>)',
- dark: 'rgb(var(--primary-700) / <alpha-value>)',
- },
- },
- success: {
- DEFAULT: colors.green[400],
- dark: colors.green[600],
- variant: {
- DEFAULT: colors.green[500],
- dark: colors.green[500],
- },
- },
- warning: {
- DEFAULT: colors.amber[400],
- dark: colors.amber[600],
- variant: {
- DEFAULT: colors.amber[500],
- dark: colors.amber[500],
- },
- },
- error: {
- DEFAULT: colors.red[400],
- dark: colors.red[600],
- variant: {
- DEFAULT: colors.red[500],
- dark: colors.red[500],
- },
- },
- on: {
- primary: {
- DEFAULT: 'rgb(var(--primary-950) / <alpha-value>)',
- dark: 'rgb(var(--primary-50) / <alpha-value>)',
- container: {
- DEFAULT: 'rgb(var(--primary-900) / <alpha-value>)',
- dark: 'rgb(var(--primary-50) / <alpha-value>)',
- },
- },
- secondary: {
- DEFAULT: 'rgb(var(--secondary-950) / <alpha-value>)',
- dark: 'rgb(var(--secondary-50) / <alpha-value>)',
- container: {
- DEFAULT: 'rgb(var(--secondary-900) / <alpha-value>)',
- dark: 'rgb(var(--secondary-50) / <alpha-value>)',
- },
- },
- neutral: {
- DEFAULT: 'rgb(var(--monochrome-950) / <alpha-value>)',
- dark: 'rgb(var(--monochrome-10) / <alpha-value>)',
- variant: {
- DEFAULT: 'rgb(var(--monochrome-800) / <alpha-value>)',
- dark: 'rgb(var(--monochrome-50) / <alpha-value>)',
- },
- },
- background: {
- DEFAULT: 'rgb(var(--monochrome-950) / <alpha-value>)',
- dark: 'rgb(var(--monochrome-10) / <alpha-value>)',
- },
- surface: {
- DEFAULT: 'rgb(var(--monochrome-950) / <alpha-value>)',
- dark: 'rgb(var(--monochrome-100) / <alpha-value>)',
- variant: {
- DEFAULT: 'rgb(var(--monochrome-700) / <alpha-value>)',
- dark: 'rgb(var(--monochrome-200) / <alpha-value>)',
- },
- },
- success: {
- DEFAULT: colors.green[950],
- dark: colors.green[50],
- variant: {
- DEFAULT: colors.green[400],
- dark: colors.green[600],
- },
- },
- warning: {
- DEFAULT: colors.amber[950],
- dark: colors.amber[50],
- variant: {
- DEFAULT: colors.amber[400],
- dark: colors.amber[600],
- },
- },
- error: {
- DEFAULT: colors.red[950],
- dark: colors.red[50],
- variant: {
- DEFAULT: colors.red[400],
- dark: colors.red[600],
- },
- },
- },
- },
- },
- },
- plugins: [
- plugin(function ({ addBase, theme }) {
- addBase({
- h1: { fontSize: theme('fontSize.3xl'), fontWeight: theme('fontWeight.bold') },
- h2: { fontSize: theme('fontSize.2xl'), fontWeight: theme('fontWeight.bold') },
- h3: { fontSize: theme('fontSize.xl'), fontWeight: theme('fontWeight.semibold') },
- h4: { fontSize: theme('fontSize.lg'), fontWeight: theme('fontWeight.semibold') },
- });
- }),
- ],
- };
|