UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

31 lines 1.66 kB
import { generate, presetPalettes, presetPrimaryColors } from '@ant-design/colors'; import { defaultPresetColors } from '../seed'; import genColorMapToken from '../shared/genColorMapToken'; import genCommonMapToken from '../shared/genCommonMapToken'; import genControlHeight from '../shared/genControlHeight'; import genFontMapToken from '../shared/genFontMapToken'; import genSizeMapToken from '../shared/genSizeMapToken'; import { generateColorPalettes, generateNeutralColorPalettes } from './colors'; export default function derivative(token) { // pink is deprecated name of magenta, keep this for backwards compatibility presetPrimaryColors.pink = presetPrimaryColors.magenta; presetPalettes.pink = presetPalettes.magenta; const colorPalettes = Object.keys(defaultPresetColors).map(colorKey => { const colors = token[colorKey] === presetPrimaryColors[colorKey] ? presetPalettes[colorKey] : generate(token[colorKey]); return Array.from({ length: 10 }, () => 1).reduce((prev, _, i) => { prev[`${colorKey}-${i + 1}`] = colors[i]; prev[`${colorKey}${i + 1}`] = colors[i]; return prev; }, {}); }).reduce((prev, cur) => { // biome-ignore lint/style/noParameterAssign: it is a reduce prev = Object.assign(Object.assign({}, prev), cur); return prev; }, {}); return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, token), colorPalettes), genColorMapToken(token, { generateColorPalettes, generateNeutralColorPalettes })), genFontMapToken(token.fontSize)), genSizeMapToken(token)), genControlHeight(token)), genCommonMapToken(token)); }