@unocss/preset-wind4
Version:
Tailwind 4 compact preset for UnoCSS
118 lines (111 loc) • 3.7 kB
TypeScript
import * as _unocss_core from '@unocss/core';
import { Postprocessor, Preflight, Variant, PresetOptions, Arrayable, CSSEntry, PreflightContext } from '@unocss/core';
import { T as Theme } from './shared/preset-wind4.CeNzqhCV.js';
export { r as rules } from './shared/preset-wind4.oLaz9HAb.js';
export { shortcuts } from './shortcuts.js';
export { t as theme } from './shared/preset-wind4.VVeg6taI.js';
declare function postprocessors(options: PresetWind4Options): Postprocessor[];
declare const preflights: (options: PresetWind4Options) => Preflight<Theme>[];
declare const shorthands: {
position: string[];
globalKeyword: string[];
};
declare function variants(options: PresetWind4Options): Variant<Theme>[];
interface DarkModeSelectors {
/**
* Selector for light variant.
*
* @default '.light'
*/
light?: string;
/**
* Selector for dark variant.
*
* @default '.dark'
*/
dark?: string;
}
interface PreflightsTheme {
/**
* Generate theme keys as CSS variables.
*
* - `true`: Generate theme keys fully.
* - `false`: Disable theme keys. (Not recommended ⚠️)
* - `'on-demand'`: Generate theme keys only when used.
*
* @default 'on-demand'
*/
mode?: boolean | 'on-demand';
/**
* Process the theme keys.
*/
process?: Arrayable<(entry: CSSEntry, ctx: PreflightContext<Theme>) => void>;
}
interface PresetWind4Options extends PresetOptions {
/**
* Dark mode options
*
* @default 'class'
*/
dark?: 'class' | 'media' | DarkModeSelectors;
/**
* Generate tagged pseudo selector as `[group=""]` instead of `.group`
*
* @default false
*/
attributifyPseudo?: boolean;
/**
* Prefix for CSS variables.
*
* @default 'un-'
*/
variablePrefix?: string;
/**
* Utils prefix. When using tagged pseudo selector, only the first truthy prefix will be used.
*
* @default undefined
*/
prefix?: string | string[];
/**
* Enable arbitrary variants, for example `<div class="[&>*]:m-1 [&[open]]:p-2"></div>`.
*
* Disable this might slightly improve the performance.
*
* @default true
*/
arbitraryVariants?: boolean;
/**
* The important option lets you control whether UnoCSS’s utilities should be marked with `!important`.
*
* This can be really useful when using UnoCSS with existing CSS that has high specificity selectors.
*
* You can also set `important` to a selector like `#app` instead, which will generate `#app :is(.m-1) { ... }`
*
* Also check out the compatibility with [:is()](https://caniuse.com/?search=%3Ais())
*
* @default false
*/
important?: boolean | string;
/**
* Control the preflight styles.
*/
preflights?: {
/**
* Reset the default preflight styles.
*
* @default true
*/
reset?: boolean;
/**
* Theme configuration for preflight styles.
*
* This can either be a specific mode from `PreflightsTheme['mode']` or a full `PreflightsTheme` object.
*
* The theme defines the base styles applied to elements and can be customized
* to match the design system or requirements of your project.
*/
theme?: PreflightsTheme['mode'] | PreflightsTheme;
};
}
declare const presetWind4: _unocss_core.PresetFactory<Theme, PresetWind4Options>;
export { type DarkModeSelectors, type PreflightsTheme, type PresetWind4Options, Theme, presetWind4 as default, postprocessors, preflights, presetWind4, shorthands, variants };