import { resolve } from 'node:path'; import { generate } from '@ant-design/colors'; import { theme } from 'ant-design-vue/lib'; import convertLegacyToken from 'ant-design-vue/lib/theme/convertLegacyToken'; const { defaultAlgorithm, defaultSeed } = theme; export function generateAntColors(color: string, theme: 'default' | 'dark' = 'default') { return generate(color, { theme, }); } /** * less global variable */ export function generateModifyVars(primaryColor = '#E57373') { const palettes = generateAntColors(primaryColor); const primary = palettes[5]; const primaryColorObj: Record = {}; for (let index = 0; index < 10; index++) { primaryColorObj[`primary-${index + 1}`] = palettes[index]; } const mapToken = defaultAlgorithm(defaultSeed); const v3Token = convertLegacyToken(mapToken); return { ...v3Token, // reference: Avoid repeated references hack: `true; @import (reference) "${resolve('src/design/config.less')}";`, 'primary-color': primary, ...primaryColorObj, }; }