vue-vben-admin/internal/vite-config/src/utils/modifyVars.ts

53 lines
1.6 KiB
TypeScript
Raw Normal View History

2023-04-05 00:20:48 +08:00
import { resolve } from 'node:path';
2023-04-06 23:28:37 +08:00
import { generate } from '@ant-design/colors';
// @ts-ignore: typo
/* import { getThemeVariables } from 'ant-design-vue/dist/theme'; */
import { theme } from 'ant-design-vue/lib';
import convertLegacyToken from 'ant-design-vue/lib/theme/convertLegacyToken';
const { defaultAlgorithm, defaultSeed } = theme;
2023-04-05 00:20:48 +08:00
const primaryColor = '#0960bd';
function generateAntColors(color: string, theme: 'default' | 'dark' = 'default') {
return generate(color, {
theme,
});
}
2021-04-07 23:14:51 +08:00
/**
* less global variable
*/
2023-04-05 00:20:48 +08:00
export function generateModifyVars() {
2021-04-07 23:14:51 +08:00
const palettes = generateAntColors(primaryColor);
const primary = palettes[5];
const primaryColorObj: Record<string, string> = {};
for (let index = 0; index < 10; index++) {
primaryColorObj[`primary-${index + 1}`] = palettes[index];
}
// const modifyVars = getThemeVariables();
const mapToken = defaultAlgorithm(defaultSeed);
const v3Token = convertLegacyToken(mapToken);
2021-04-07 23:14:51 +08:00
return {
...v3Token,
2021-04-07 23:14:51 +08:00
// reference: Avoid repeated references
hack: `true; @import (reference) "${resolve('src/design/config.less')}";`,
2021-04-07 23:14:51 +08:00
'primary-color': primary,
...primaryColorObj,
'info-color': primary,
'processing-color': primary,
'success-color': '#55D187', // Success color
'error-color': '#ED6F6F', // False color
'warning-color': '#EFBD47', // Warning color
'font-size-base': '14px', // Main font size
'border-radius-base': '2px', // Component/float fillet
'link-color': primary, // Link color
2021-04-17 18:51:19 +08:00
'app-content-background': '#fafafa', // Link color
2021-04-07 23:14:51 +08:00
};
}