mirror of
https://github.com/antd-tiny-vue/antd-tiny-vue.git
synced 2024-11-15 08:19:12 +08:00
55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
|
import type { MapToken } from '../../interface'
|
||
|
|
||
|
const genRadius = (radiusBase: number): Pick<MapToken, 'borderRadiusXS' | 'borderRadiusSM' | 'borderRadiusLG' | 'borderRadius' | 'borderRadiusOuter'> => {
|
||
|
let radiusLG = radiusBase
|
||
|
let radiusSM = radiusBase
|
||
|
let radiusXS = radiusBase
|
||
|
let radiusOuter = radiusBase
|
||
|
|
||
|
// radiusLG
|
||
|
if (radiusBase < 6 && radiusBase >= 5) {
|
||
|
radiusLG = radiusBase + 1
|
||
|
} else if (radiusBase < 16 && radiusBase >= 6) {
|
||
|
radiusLG = radiusBase + 2
|
||
|
} else if (radiusBase >= 16) {
|
||
|
radiusLG = 16
|
||
|
}
|
||
|
|
||
|
// radiusSM
|
||
|
if (radiusBase < 7 && radiusBase >= 5) {
|
||
|
radiusSM = 4
|
||
|
} else if (radiusBase < 8 && radiusBase >= 7) {
|
||
|
radiusSM = 5
|
||
|
} else if (radiusBase < 14 && radiusBase >= 8) {
|
||
|
radiusSM = 6
|
||
|
} else if (radiusBase < 16 && radiusBase >= 14) {
|
||
|
radiusSM = 7
|
||
|
} else if (radiusBase >= 16) {
|
||
|
radiusSM = 8
|
||
|
}
|
||
|
|
||
|
// radiusXS
|
||
|
if (radiusBase < 6 && radiusBase >= 2) {
|
||
|
radiusXS = 1
|
||
|
} else if (radiusBase >= 6) {
|
||
|
radiusXS = 2
|
||
|
}
|
||
|
|
||
|
// radiusOuter
|
||
|
if (radiusBase > 4 && radiusBase < 8) {
|
||
|
radiusOuter = 4
|
||
|
} else if (radiusBase >= 8) {
|
||
|
radiusOuter = 6
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
borderRadius: radiusBase > 16 ? 16 : radiusBase,
|
||
|
borderRadiusXS: radiusXS,
|
||
|
borderRadiusSM: radiusSM,
|
||
|
borderRadiusLG: radiusLG,
|
||
|
borderRadiusOuter: radiusOuter
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default genRadius
|