From fa3ac93010bea3805438ee3ab0a182bfbf7423da Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期一, 27 五月 2024 16:19:31 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- windi.config.ts | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/windi.config.ts b/windi.config.ts new file mode 100644 index 0000000..901cf64 --- /dev/null +++ b/windi.config.ts @@ -0,0 +1,74 @@ +import { defineConfig } from 'vite-plugin-windicss' +import { primaryColor } from './build/config/themeConfig' + +export default defineConfig({ + darkMode: 'class', + plugins: [createEnterPlugin()], + theme: { + extend: { + zIndex: { + '-1': '-1', + }, + colors: { + primary: primaryColor, + }, + screens: { + sm: '576px', + md: '768px', + lg: '992px', + xl: '1200px', + '2xl': '1600px', + }, + }, + }, +}) + +/** + * Used for animation when the element is displayed + * @param maxOutput The larger the maxOutput output, the larger the generated css volume + */ +function createEnterPlugin(maxOutput = 8) { + const createCss = (index: number, d = 'x') => { + const upd = d.toUpperCase() + return { + [`*> .enter-${d}:nth-child(${index})`]: { + transform: `translate${upd}(50px)`, + }, + [`*> .-enter-${d}:nth-child(${index})`]: { + transform: `translate${upd}(-50px)`, + }, + [`* > .enter-${d}:nth-child(${index}),* > .-enter-${d}:nth-child(${index})`]: { + 'z-index': `${10 - index}`, + opacity: '0', + animation: `enter-${d}-animation 0.4s ease-in-out 0.3s`, + 'animation-fill-mode': 'forwards', + 'animation-delay': `${(index * 1) / 10}s`, + }, + } + } + const handler = ({ addBase }) => { + const addRawCss = {} + for (let index = 1; index < maxOutput; index++) { + Object.assign(addRawCss, { + ...createCss(index, 'x'), + ...createCss(index, 'y'), + }) + } + addBase({ + ...addRawCss, + [`@keyframes enter-x-animation`]: { + to: { + opacity: '1', + transform: 'translateX(0)', + }, + }, + [`@keyframes enter-y-animation`]: { + to: { + opacity: '1', + transform: 'translateY(0)', + }, + }, + }) + } + return { handler } +} -- Gitblit v1.9.3