1
0
mirror of https://github.com/elk-zone/elk synced 2024-11-23 22:56:09 +09:00
elk/unocss.config.ts

93 lines
2.6 KiB
TypeScript
Raw Normal View History

2022-11-13 14:34:43 +09:00
import {
defineConfig,
presetAttributify,
presetIcons,
presetTypography,
presetUno,
presetWebFonts,
transformerDirectives,
transformerVariantGroup,
} from 'unocss'
export default defineConfig({
shortcuts: [
2022-11-23 11:16:31 +09:00
{
'border-base': 'border-$c-border',
'border-strong': 'border-$c-text-base',
'border-bg-base': 'border-$c-bg-base',
2022-11-24 17:04:53 +09:00
// background
2022-11-23 11:16:31 +09:00
'bg-base': 'bg-$c-bg-base',
2022-11-23 13:20:59 +09:00
'bg-active': 'bg-$c-bg-active',
2022-11-24 12:42:03 +09:00
'bg-code': 'bg-$c-bg-code',
2022-12-01 16:32:07 +09:00
'bg-fade': 'bg-$c-bg-fade',
2022-11-24 17:04:53 +09:00
2022-11-27 12:54:46 +09:00
// text colors
2022-11-23 11:16:31 +09:00
'text-base': 'text-$c-text-base',
2022-11-30 13:50:29 +09:00
'text-code': 'text-$c-text-code',
2022-11-30 05:04:23 +09:00
'text-inverted': 'text-$c-bg-base',
2022-11-23 16:46:34 +09:00
'text-secondary': 'text-$c-text-secondary',
'text-secondary-light': 'text-$c-text-secondary-light',
2022-11-24 17:04:53 +09:00
// buttons
'btn-base': 'cursor-pointer disabled:pointer-events-none disabled:bg-$c-bg-btn-disabled disabled:text-$c-text-btn-disabled',
'btn-solid': 'btn-base px-4 py-2 rounded text-$c-text-btn bg-$c-primary hover:bg-$c-primary-active',
2022-11-30 05:04:23 +09:00
'btn-outline': 'btn-base px-4 py-2 rounded text-$c-primary border border-$c-primary hover:bg-$c-primary hover:text-inverted',
2022-11-24 16:53:27 +09:00
'btn-text': 'btn-base px-4 py-2 text-$c-primary hover:text-$c-primary-active',
'btn-action-icon': 'btn-base hover:bg-active rounded-full h9 w9 flex items-center justify-center',
2022-11-24 17:04:53 +09:00
2022-11-27 12:54:46 +09:00
// link
'text-link-rounded': 'focus:outline-none focus:ring-(2 primary inset) hover:bg-active rounded md:rounded-full px2 mx--2',
2022-11-24 17:04:53 +09:00
// utils
'flex-center': 'items-center justify-center',
'flex-v-center': 'items-center',
'flex-h-center': 'justify-center',
2022-11-23 11:16:31 +09:00
},
2022-11-13 14:34:43 +09:00
],
presets: [
2022-11-14 11:56:48 +09:00
presetUno({
attributifyPseudo: true,
}),
2022-11-13 14:34:43 +09:00
presetAttributify(),
presetIcons({
scale: 1.2,
extraProperties: {
'color': 'inherit',
// Avoid crushing of icons in crowded situations
'min-width': '1.2em',
},
2022-11-13 14:34:43 +09:00
}),
presetTypography(),
presetWebFonts({
2022-12-10 01:32:09 +09:00
provider: 'none',
2022-11-13 14:34:43 +09:00
fonts: {
sans: 'DM Sans',
serif: 'DM Serif Display',
mono: 'DM Mono',
2022-11-24 11:38:14 +09:00
script: 'Homemade Apple',
2022-11-13 14:34:43 +09:00
},
}),
],
transformers: [
transformerDirectives(),
transformerVariantGroup(),
],
2022-11-14 01:05:32 +09:00
theme: {
colors: {
2022-11-23 23:21:18 +09:00
primary: {
DEFAULT: 'var(--c-primary)',
active: 'var(--c-primary-active)',
},
2022-11-14 01:05:32 +09:00
},
},
rules: [
// scrollbar-hide
[/^scrollbar-hide$/, (_, { constructCSS }) => {
let res = constructCSS({ 'scrollbar-width': 'none' })
res += `\n${res.replace('{scrollbar-width:none;}', '::-webkit-scrollbar{display: none;}')}`
return res
}],
],
2022-11-13 14:34:43 +09:00
})