You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.0 KiB
TypeScript
114 lines
4.0 KiB
TypeScript
import fs from 'node:fs/promises'
|
|
|
|
import {
|
|
defineConfig,
|
|
presetAttributify,
|
|
presetIcons,
|
|
presetTypography,
|
|
presetUno,
|
|
presetWebFonts,
|
|
transformerDirectives,
|
|
transformerVariantGroup,
|
|
} from 'unocss'
|
|
|
|
export default defineConfig({
|
|
presets: [
|
|
presetUno({ dark: 'class' }),
|
|
presetAttributify(),
|
|
presetIcons({
|
|
autoInstall: false,
|
|
scale: 1.2,
|
|
warn: true,
|
|
cdn: 'https://esm.sh/',
|
|
prefix: `${import.meta.env.VITE_ICON_UNOCSS_PREFIX || 'i'}-`,
|
|
collections: {
|
|
logo: () => fs.readFile('public/favicon.svg', 'utf-8'),
|
|
// 'gridicons': () => import('@iconify-json/gridicons/icons.json').then(i => i.default),
|
|
},
|
|
}),
|
|
presetTypography(),
|
|
presetWebFonts({
|
|
fonts: {
|
|
sans: 'DM Sans',
|
|
serif: 'DM Serif Display',
|
|
mono: 'DM Mono',
|
|
},
|
|
}),
|
|
],
|
|
transformers: [
|
|
transformerDirectives(),
|
|
transformerVariantGroup(),
|
|
],
|
|
shortcuts: {
|
|
'wh-full': 'w-full h-full',
|
|
'flex-center': 'flex justify-center items-center',
|
|
'flex-col-center': 'flex-center flex-col',
|
|
'flex-x-center': 'flex justify-center',
|
|
'flex-y-center': 'flex items-center',
|
|
'i-flex-center': 'inline-flex justify-center items-center',
|
|
'i-flex-x-center': 'inline-flex justify-center',
|
|
'i-flex-y-center': 'inline-flex items-center',
|
|
'flex-col': 'flex flex-col',
|
|
'flex-col-stretch': 'flex-col items-stretch',
|
|
'i-flex-col': 'inline-flex flex-col',
|
|
'i-flex-col-stretch': 'i-flex-col items-stretch',
|
|
'flex-1-hidden': 'flex-1 overflow-hidden',
|
|
'absolute-lt': 'absolute left-0 top-0',
|
|
'absolute-lb': 'absolute left-0 bottom-0',
|
|
'absolute-rt': 'absolute right-0 top-0',
|
|
'absolute-rb': 'absolute right-0 bottom-0',
|
|
'absolute-tl': 'absolute-lt',
|
|
'absolute-tr': 'absolute-rt',
|
|
'absolute-bl': 'absolute-lb',
|
|
'absolute-br': 'absolute-rb',
|
|
'absolute-center': 'absolute-lt flex-center wh-full',
|
|
'fixed-lt': 'fixed left-0 top-0',
|
|
'fixed-lb': 'fixed left-0 bottom-0',
|
|
'fixed-rt': 'fixed right-0 top-0',
|
|
'fixed-rb': 'fixed right-0 bottom-0',
|
|
'fixed-tl': 'fixed-lt',
|
|
'fixed-tr': 'fixed-rt',
|
|
'fixed-bl': 'fixed-lb',
|
|
'fixed-br': 'fixed-rb',
|
|
'fixed-center': 'fixed-lt flex-center wh-full',
|
|
'nowrap-hidden': 'whitespace-nowrap overflow-hidden',
|
|
'ellipsis-text': 'nowrap-hidden text-ellipsis',
|
|
'transition-base': 'transition-all duration-300 ease-in-out',
|
|
},
|
|
theme: {
|
|
colors: {
|
|
primary: 'rgb(var(--primary-color))',
|
|
primary_hover: 'rgb(var(--primary-color-hover))',
|
|
primary_pressed: 'rgb(var(--primary-color-pressed))',
|
|
primary_active: 'rgba(var(--primary-color-active),0.1)',
|
|
primary_1: 'rgb(var(--primary-color1))',
|
|
primary_2: 'rgb(var(--primary-color2))',
|
|
primary_3: 'rgb(var(--primary-color3))',
|
|
primary_4: 'rgb(var(--primary-color4))',
|
|
primary_5: 'rgb(var(--primary-color5))',
|
|
primary_6: 'rgb(var(--primary-color6))',
|
|
primary_7: 'rgb(var(--primary-color7))',
|
|
primary_8: 'rgb(var(--primary-color8))',
|
|
primary_9: 'rgb(var(--primary-color9))',
|
|
info: 'rgb(var(--info-color))',
|
|
info_hover: 'rgb(var(--info-color-hover))',
|
|
info_pressed: 'rgb(var(--info-color-pressed))',
|
|
info_active: 'rgb(var(--info-color-active),0.1)',
|
|
success: 'rgb(var(--success-color))',
|
|
success_hover: 'rgb(var(--success-color-hover))',
|
|
success_pressed: 'rgb(var(--success-color-pressed))',
|
|
success_active: 'rgb(var(--success-color-active),0.1)',
|
|
warning: 'rgb(var(--warning-color))',
|
|
warning_hover: 'rgb(var(--warning-color-hover))',
|
|
warning_pressed: 'rgb(var(--warning-color-pressed))',
|
|
warning_active: 'rgb(var(--warning-color-active),0.1)',
|
|
error: 'rgb(var(--error-color))',
|
|
error_hover: 'rgb(var(--error-color-hover))',
|
|
error_pressed: 'rgb(var(--error-color-pressed))',
|
|
error_active: 'rgb(var(--error-color-active),0.1)',
|
|
dark: '#18181c',
|
|
},
|
|
},
|
|
safelist: 'prose prose-sm m-auto text-left'.split(' '),
|
|
})
|