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.
26 lines
798 B
26 lines
798 B
import type { CommonMapToken, SeedToken } from '../../interface';
|
|
import genFontSizes from './genFontSizes';
|
|
import genRadius from './genRadius';
|
|
|
|
export default function genCommonMapToken(token: SeedToken): CommonMapToken {
|
|
const { motionUnit, motionBase, fontSize, borderRadius, lineWidth } = token;
|
|
|
|
const fontSizes = genFontSizes(fontSize);
|
|
|
|
return {
|
|
// motion
|
|
motionDurationFast: `${(motionBase + motionUnit).toFixed(1)}s`,
|
|
motionDurationMid: `${(motionBase + motionUnit * 2).toFixed(1)}s`,
|
|
motionDurationSlow: `${(motionBase + motionUnit * 3).toFixed(1)}s`,
|
|
|
|
// font
|
|
fontSizes: fontSizes.map(fs => fs.size),
|
|
lineHeights: fontSizes.map(fs => fs.lineHeight),
|
|
|
|
// line
|
|
lineWidthBold: lineWidth + 1,
|
|
|
|
// radius
|
|
...genRadius(borderRadius),
|
|
};
|
|
}
|
|
|