.agents/skills/unocss/references/preset-mini.md
The minimal preset with only essential rules and variants. Good starting point for custom presets.
import { defineConfig, presetMini } from 'unocss'
export default defineConfig({
presets: [
presetMini(),
],
})
Subset of preset-wind3 with essential utilities aligned to CSS properties:
Opinionated or complex Tailwind utilities:
containerSame as preset-wind3:
presetMini({
dark: 'class' // or 'media'
})
<div class="dark:bg-red:10" />
Class-based:
.dark .dark\:bg-red\:10 {
background-color: rgb(248 113 113 / 0.1);
}
Media query:
@media (prefers-color-scheme: dark) {
.dark\:bg-red\:10 {
background-color: rgb(248 113 113 / 0.1);
}
}
Native CSS layer support:
<div class="layer-foo:p4" />
@layer foo {
.layer-foo\:p4 {
padding: 1rem;
}
}
presetMini({
theme: {
colors: {
veryCool: '#0000ff',
brand: {
primary: 'hsl(var(--hue, 217) 78% 51%)',
}
},
}
})
Note: breakpoints property is overridden, not merged.
presetMini({
// Dark mode: 'class' | 'media' | { light: string, dark: string }
dark: 'class',
// Generate [group=""] instead of .group for attributify
attributifyPseudo: false,
// CSS variable prefix (default: 'un-')
variablePrefix: 'un-',
// Utility prefix
prefix: undefined,
// Preflight generation: true | false | 'on-demand'
preflight: true,
})
Create custom preset extending mini:
import type { Preset } from 'unocss'
import { presetMini } from 'unocss'
export const myPreset: Preset = {
name: 'my-preset',
presets: [presetMini()],
rules: [
// Add custom rules
['card', { 'border-radius': '8px', 'box-shadow': '0 2px 8px rgba(0,0,0,0.1)' }],
],
shortcuts: {
btn: 'px-4 py-2 rounded bg-blue-500 text-white',
},
}