Files
BewlyBewly/unocss.config.ts
2024-05-02 13:43:49 +08:00

39 lines
925 B
TypeScript

import { defineConfig } from 'unocss/vite'
import { presetAttributify, presetIcons, presetTypography, presetUno, transformerDirectives } from 'unocss'
const remRE = /(-?[\.\d]+)rem/g
export default defineConfig({
presets: [
presetUno(),
presetAttributify(),
presetIcons({
extraProperties: {
'display': 'inline-block',
'vertical-align': 'middle',
'width': '1.2em',
'height': '1.2em',
},
}),
presetTypography(),
{
name: 'text-size-transformer',
postprocess: (util) => {
util.entries.forEach((i) => {
const value = i[1]
if (typeof value === 'string' && remRE.test(value)) {
i[1] = value.replace(remRE, (_, num: number) => {
return `calc(var(--bew-base-font-size) * ${num})`
})
}
})
},
},
],
transformers: [
transformerDirectives(),
],
})