You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.6 KiB
51 lines
1.6 KiB
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' |
|
import { primaryColor } from '../config/themeConfig' |
|
|
|
const { defaultAlgorithm, defaultSeed } = theme |
|
|
|
function generateAntColors(color: string, theme: 'default' | 'dark' = 'default') { |
|
return generate(color, { |
|
theme, |
|
}) |
|
} |
|
|
|
/** |
|
* less global variable |
|
*/ |
|
export function generateModifyVars() { |
|
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) |
|
// eslint-disable-next-line ts/ban-ts-comment |
|
// @ts-expect-error |
|
const v3Token = convertLegacyToken.default(mapToken) |
|
|
|
return { |
|
...v3Token, |
|
// reference: Avoid repeated references |
|
'hack': `true; @import (reference) "${resolve('src/design/config.less')}";`, |
|
'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 |
|
'app-content-background': '#fafafa', // Link color |
|
} |
|
}
|
|
|