in packages-rc/console-base-rc-tooltip/src/model/hook/use-tooltip-style-margin.ts [16:54]
export default function useTooltipStyleMargin(): CSSProperties | undefined {
const [{
placement,
arrow
}] = useModelProps();
return useMemo((): CSSProperties | undefined => {
const spacing = arrow ? SPACING_WITH_ARROW : SPACING_WITHOUT_ARROW;
switch (placement) {
case ETooltipPlacement.TOP:
case ETooltipPlacement.TOP_LEFT:
case ETooltipPlacement.TOP_RIGHT:
return {
marginBottom: spacing
};
case ETooltipPlacement.BOTTOM:
case ETooltipPlacement.BOTTOM_LEFT:
case ETooltipPlacement.BOTTOM_RIGHT:
return {
marginTop: spacing
};
case ETooltipPlacement.LEFT:
case ETooltipPlacement.LEFT_TOP:
case ETooltipPlacement.LEFT_BOTTOM:
return {
marginRight: spacing
};
case ETooltipPlacement.RIGHT:
case ETooltipPlacement.RIGHT_TOP:
case ETooltipPlacement.RIGHT_BOTTOM:
return {
marginLeft: spacing
};
default:
return undefined;
}
}, [placement, arrow]);
}