58 lines
1.6 KiB
TypeScript
58 lines
1.6 KiB
TypeScript
import type { Preset, SourceCodeTransformer } from 'unocss';
|
|
import {
|
|
defineConfig,
|
|
presetAttributify,
|
|
presetUno,
|
|
transformerDirectives,
|
|
transformerVariantGroup,
|
|
} from 'unocss';
|
|
import {
|
|
presetApplet,
|
|
presetRemRpx,
|
|
transformerApplet,
|
|
transformerAttributify,
|
|
} from 'unocss-applet';
|
|
|
|
// eslint-disable-next-line n/prefer-global/process
|
|
const isApplet = process.env?.UNI_PLATFORM?.startsWith('mp-') ?? false;
|
|
const presets: Preset[] = [];
|
|
const transformers: SourceCodeTransformer[] = [];
|
|
|
|
if (isApplet) {
|
|
/**
|
|
* UnoCSS Applet
|
|
* @see https://github.com/unocss-applet/unocss-applet
|
|
*/
|
|
presets.push(presetApplet());
|
|
presets.push(presetRemRpx()); // 如果需要使用 rem 转 rpx 单位,需要启用此插件
|
|
transformers.push(transformerAttributify({ ignoreAttributes: ['block'] }));
|
|
transformers.push(transformerApplet());
|
|
} else {
|
|
presets.push(presetUno());
|
|
presets.push(presetAttributify());
|
|
}
|
|
|
|
export default defineConfig({
|
|
presets,
|
|
/**
|
|
* 自定义快捷语句
|
|
* @see https://github.com/unocss/unocss#shortcuts
|
|
*/
|
|
shortcuts: [
|
|
['center', 'flex justify-center items-center'],
|
|
[
|
|
'btn',
|
|
'px-4 py-1 rounded inline-block bg-teal-600 text-white cursor-pointer hover:bg-teal-700 disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50',
|
|
],
|
|
[
|
|
'icon-btn',
|
|
'text-[0.9em] inline-block cursor-pointer select-none opacity-75 transition duration-200 ease-in-out hover:opacity-100 hover:text-teal-600 !outline-none',
|
|
],
|
|
],
|
|
transformers: [
|
|
transformerDirectives(), // 启用 @apply 功能
|
|
transformerVariantGroup(), // 启用 () 分组功能
|
|
...transformers,
|
|
],
|
|
});
|