diff --git a/packages/grafana-ui/src/components/uPlot/plugins/TooltipPlugin.tsx b/packages/grafana-ui/src/components/uPlot/plugins/TooltipPlugin.tsx index 76e4da995eb..a9ee42efb33 100644 --- a/packages/grafana-ui/src/components/uPlot/plugins/TooltipPlugin.tsx +++ b/packages/grafana-ui/src/components/uPlot/plugins/TooltipPlugin.tsx @@ -1,3 +1,4 @@ +import { css } from '@emotion/css'; import React, { useEffect, useLayoutEffect, useRef, useState } from 'react'; import { useMountedState } from 'react-use'; import uPlot from 'uplot'; @@ -12,11 +13,12 @@ import { formattedValueToString, getDisplayProcessor, getFieldDisplayName, + GrafanaTheme2, TimeZone, } from '@grafana/data'; import { TooltipDisplayMode, SortOrder } from '@grafana/schema'; -import { useTheme2 } from '../../../themes/ThemeContext'; +import { useStyles2, useTheme2 } from '../../../themes/ThemeContext'; import { Portal } from '../../Portal/Portal'; import { SeriesTable, SeriesTableRowProps, VizTooltipContainer } from '../../VizTooltip'; import { UPlotConfigBuilder } from '../config/UPlotConfigBuilder'; @@ -272,8 +274,10 @@ export const TooltipPlugin = ({ tooltip = renderTooltip(otherProps.data, focusedSeriesIdx, focusedPointIdx); } + const style = useStyles2(getStyles); + return ( - + {tooltip && coords && ( {tooltip} @@ -321,3 +325,9 @@ export function positionTooltip(u: uPlot, bbox: DOMRect) { return { x, y }; } + +const getStyles = (theme: GrafanaTheme2) => ({ + tooltipWrapper: css` + z-index: ${theme.zIndex.portal + 1} !important; + `, +});