in packages/charts/src/chart_types/xy_chart/utils/axis_utils.ts [147:175]
function getHorizontalAlign(
position: Position,
rotation: number,
alignment: HorizontalAlignment,
): Exclude<HorizontalAlignment, typeof HorizontalAlignment.Far | typeof HorizontalAlignment.Near> {
if (
alignment === HorizontalAlignment.Center ||
alignment === HorizontalAlignment.Right ||
alignment === HorizontalAlignment.Left
) {
return alignment;
}
if (Math.abs(rotation) === 90) {
if (position === Position.Top) {
return rotation === 90 ? HorizontalAlignment.Right : HorizontalAlignment.Left;
} else if (position === Position.Bottom) {
return rotation === -90 ? HorizontalAlignment.Right : HorizontalAlignment.Left;
}
} else {
if (position === Position.Left) {
return alignment === HorizontalAlignment.Near ? HorizontalAlignment.Right : HorizontalAlignment.Left;
} else if (position === Position.Right) {
return alignment === HorizontalAlignment.Near ? HorizontalAlignment.Left : HorizontalAlignment.Right;
}
}
return HorizontalAlignment.Center; // fallback for near/far on top/bottom axis
}