import {
	defineConfig,
	presetIcons,
	presetTypography,
	presetUno,
	presetWebFonts,
	transformerDirectives,
	transformerVariantGroup,
} from 'unocss';

export default defineConfig({
	cli: {
		entry: {
			outFile: './assets/css/uno.css',
			patterns: [
				'./{handlers,templates}/**/*.templ',
				'./assets/**/*.{js,css,html}',
				'!./assets/css/uno.css',
			],
		},
	},
	presets: [
		presetIcons(),
		presetTypography(),
		presetUno({
			dark: 'media',
		}),
		presetWebFonts({
			fonts: {
				display: {
					name: 'Playfair',
				},
				sans: {
					name: 'Karla',
				},
			},
			provider: 'none',
		}),
	],
	theme: {
		colors: {
			accent: {
				'10': 'var(--theme-accent-10)',
				'20': 'var(--theme-accent-20)',
				'30': 'var(--theme-accent-30)',
				'40': 'var(--theme-accent-40)',
				'50': 'var(--theme-accent-50)',
				'60': 'var(--theme-accent-60)',
				'70': 'var(--theme-accent-70)',
				'80': 'var(--theme-accent-80)',
				'90': 'var(--theme-accent-90)',
				'100': 'var(--theme-accent-100)',
				'110': 'var(--theme-accent-110)',
				'120': 'var(--theme-accent-120)',
			},
			danger: {
				'10': 'var(--theme-danger-10)',
				'20': 'var(--theme-danger-20)',
				'30': 'var(--theme-danger-30)',
				'40': 'var(--theme-danger-40)',
				'50': 'var(--theme-danger-50)',
				'60': 'var(--theme-danger-60)',
				'70': 'var(--theme-danger-70)',
				'80': 'var(--theme-danger-80)',
				'90': 'var(--theme-danger-90)',
				'100': 'var(--theme-danger-100)',
				'110': 'var(--theme-danger-110)',
				'120': 'var(--theme-danger-120)',
			},
			neutral: {
				'10': 'var(--theme-neutral-10)',
				'20': 'var(--theme-neutral-20)',
				'30': 'var(--theme-neutral-30)',
				'40': 'var(--theme-neutral-40)',
				'50': 'var(--theme-neutral-50)',
				'60': 'var(--theme-neutral-60)',
				'70': 'var(--theme-neutral-70)',
				'80': 'var(--theme-neutral-80)',
				'90': 'var(--theme-neutral-90)',
				'100': 'var(--theme-neutral-100)',
				'110': 'var(--theme-neutral-110)',
				'120': 'var(--theme-neutral-120)',
			},
			success: {
				'10': 'var(--theme-success-10)',
				'20': 'var(--theme-success-20)',
				'30': 'var(--theme-success-30)',
				'40': 'var(--theme-success-40)',
				'50': 'var(--theme-success-50)',
				'60': 'var(--theme-success-60)',
				'70': 'var(--theme-success-70)',
				'80': 'var(--theme-success-80)',
				'90': 'var(--theme-success-90)',
				'100': 'var(--theme-success-100)',
				'110': 'var(--theme-success-110)',
				'120': 'var(--theme-success-120)',
			},
			warn: {
				'10': 'var(--theme-warn-10)',
				'20': 'var(--theme-warn-20)',
				'30': 'var(--theme-warn-30)',
				'40': 'var(--theme-warn-40)',
				'50': 'var(--theme-warn-50)',
				'60': 'var(--theme-warn-60)',
				'70': 'var(--theme-warn-70)',
				'80': 'var(--theme-warn-80)',
				'90': 'var(--theme-warn-90)',
				'100': 'var(--theme-warn-100)',
				'110': 'var(--theme-warn-110)',
				'120': 'var(--theme-warn-120)',
			},
		},
	},
	transformers: [transformerDirectives(), transformerVariantGroup()],
});
