gitbutler/tailwind.config.cjs
2023-08-03 08:28:31 +02:00

198 lines
4.3 KiB
JavaScript

const plugin = require('tailwindcss/plugin');
const config = {
content: ['./src/**/*.{html,js,svelte,ts}'],
darkMode: 'class',
corePlugins: {
backgroundOpacity: false
},
theme: {
extend: {
transitionProperty: {
width: 'width'
}
},
fontFamily: {
sans: ['Inter', 'SF Pro', '-apple-system', 'system-ui'],
mono: ['SF Mono', 'Consolas', 'Liberation Mono', 'monospace']
},
fontSize: {
xs: '0.625rem',
sm: '0.6875rem',
base: '0.8125rem',
lg: '0.9375rem',
xl: '1.125rem',
'2xl': '1.375rem',
'3xl': '1.6875rem',
'4xl': '2rem'
},
colors: {
modal: {
background: '#242429',
stroke: '#3f3f3f'
},
gb: {
700: '#52525B'
},
interactive: '#2563EB',
divider: '#3f3f46',
card: {
active: '#3B3B3F',
default: '#2F2F33'
},
app: {
gradient: '#27272A'
},
overlay: {
default: '#18181B'
},
text: {
default: '#D4D4D8',
subdued: '#71717A'
},
icon: {
default: '#A1A1AA'
},
bookmark: {
selected: '#2563EB'
},
white: '#FFFFFF',
black: '#000000',
transparent: 'transparent',
gray: {
400: '#9ca3af',
500: '#6B7280'
},
dark: {
50: '#FAFAFA', // Button text
100: '#D4D4D8', // Normal text
200: '#A1A1AA', // Commit sequence line, meatballs menu
300: '#71717A', // Subtle text
400: '#545454', // File card border
500: '#414141', // Commit message border
600: '#393939', // Commit card border
700: '#373737', // Commit message background
800: '#2C2C2C', // Tray and commit card background
850: '#282828', // Scrollbar
900: '#212121', // Header background
1000: '#1E1E1E', // Board and inactive tab background
1100: '#181818' // Git log background
},
light: {
25: '#FAFAFB', // Active tab and file card background
50: '#F6F6F7', // Active tab and file card background
100: '#F4F4F5', // Branch background in tray
150: '#EAEAEB', // Branch background in tray
200: '#E4E4E7', // Board background and commit message border
300: '#DDDDDE', // File card border
400: '#D4D4D8', // Branch lane border and disabled text
500: '#CDCDD0', // Scroll bar color
600: '#A1A1AA', // Commit sequence line, meatballs menu, icons
700: '#6D7175', // Subtle text
800: '#3F3F46', // Branch text in tray
900: '#202223' // Normal text
},
blue: {
50: '#EFF4FF',
100: '#CBE2FE',
200: '#bfdbfe',
400: '#60a5fa',
500: '#3b82f6',
600: '#2563eb',
700: '#1d4ed8',
900: '#1e3a8a'
},
yellow: {
50: '#FFFBE6',
100: '#FFF7CC',
200: '#FEF0A2',
300: '#FDE978',
400: '#FACC15',
500: '#EAB308',
600: '#C19206',
700: '#987105',
800: '#6F5004',
900: '#713F12'
},
red: {
400: '#F87171',
500: '#ef4444',
600: '#dc2626',
700: '#b91c1c',
900: '#7c2d12'
},
green: {
200: '#AFEDB1',
300: '#6BE66D',
400: '#4ade80',
450: '#40C341',
460: '#346E45',
470: '#314D39',
500: '#22c55e',
600: '#16a34a',
700: '#15803d',
900: '#14532d'
},
purple: {
50: '#F2F0FD',
100: '#E6E0FA',
200: '#CFC7F5',
300: '#B8ADF1',
400: '#A193EC',
500: '#8A79E7',
600: '#5852A0',
700: '#443D7A',
800: '#302854',
900: '#1C142E'
},
orange: {
50: '#FEF6E4',
100: '#FEE9C8',
200: '#FED7AA',
300: '#FDC592',
400: '#FCB37B',
500: '#FBA163',
600: '#FA8E4B',
700: '#CD6E02',
800: '#A55602',
900: '#7D3F02'
},
zinc: {
50: '#fafafa',
100: '#f4f4f5',
200: '#e5e5e5',
300: '#d4d4d8',
400: '#a1a1aa',
500: '#71717a',
600: '#52525b',
700: '#3f3f46',
800: '#27272a',
900: '#18181b'
}
}
},
plugins: [
// Expose color palette as CSS variables (--color-xxx-yyy)
// https://gist.github.com/Merott/d2a19b32db07565e94f10d13d11a8574
plugin(function ({ addBase, theme }) {
function extractColorVars(colorObj, colorGroup = '') {
return Object.keys(colorObj).reduce((vars, colorKey) => {
const value = colorObj[colorKey];
const newVars =
typeof value === 'string'
? { [`--color${colorGroup}-${colorKey}`]: value }
: extractColorVars(value, `-${colorKey}`);
return { ...vars, ...newVars };
}, {});
}
addBase({
':root': extractColorVars(theme('colors'))
});
})
]
};
module.exports = config;