in packages-rc/console-base-rc-beacon/src/rc/the-tip/index.tsx [41:102]
function computeTipStyle(width: number, tipAlign: IPropsBeaconTip['tipAlign']): CSSProperties {
let t: number | undefined;
let r: number | undefined;
let b: number | undefined;
let l: number | undefined;
switch (tipAlign) {
case 'tl':
b = 12;
r = -BEACON_SIZE;
break;
case 'tr':
b = 12;
l = 0;
break;
case 'bl':
t = BEACON_SIZE_HALO;
r = -BEACON_SIZE;
break;
case 'br':
t = BEACON_SIZE_HALO;
l = 0;
break;
case 'lt':
b = -BEACON_SIZE;
r = 12;
break;
case 'lb':
t = 0;
r = 12;
break;
case 'rt':
b = -BEACON_SIZE;
l = BEACON_SIZE_HALO;
break;
case 'rb':
t = 0;
l = BEACON_SIZE_HALO;
break;
default: // 等同 br
t = BEACON_SIZE_HALO;
l = 0;
break;
}
return {
width,
top: t,
right: r,
bottom: b,
left: l
};
}