@grafana/ui
Version:
Grafana Components Library
1 lines • 3.79 kB
Source Map (JSON)
{"version":3,"file":"tooltipUtils.mjs","sources":["../../../src/utils/tooltipUtils.ts"],"sourcesContent":["import { css } from '@emotion/css';\nimport { Placement } from '@floating-ui/react';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nimport { TooltipPlacement } from '../components/Tooltip/types';\n\nexport function getPlacement(placement?: TooltipPlacement): Placement {\n switch (placement) {\n case 'auto':\n return 'bottom';\n case 'auto-start':\n return 'bottom-start';\n case 'auto-end':\n return 'bottom-end';\n default:\n return placement ?? 'bottom';\n }\n}\n\nexport function buildTooltipTheme(\n theme: GrafanaTheme2,\n tooltipBg: string,\n toggletipBorder: string,\n tooltipText: string,\n tooltipPadding: { topBottom: number; rightLeft: number }\n) {\n return {\n arrow: css({\n fill: tooltipBg,\n }),\n container: css({\n backgroundColor: tooltipBg,\n borderRadius: theme.shape.radius.default,\n border: `1px solid ${toggletipBorder}`,\n boxShadow: theme.shadows.z2,\n color: tooltipText,\n fontSize: theme.typography.bodySmall.fontSize,\n padding: theme.spacing(tooltipPadding.topBottom, tooltipPadding.rightLeft),\n [theme.transitions.handleMotion('no-preference', 'reduce')]: {\n transition: 'opacity 0.3s',\n },\n zIndex: theme.zIndex.tooltip,\n maxWidth: '400px',\n overflowWrap: 'break-word',\n\n \"&[data-popper-interactive='false']\": {\n pointerEvents: 'none',\n },\n }),\n headerClose: css({\n color: theme.colors.text.secondary,\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1.5),\n backgroundColor: 'transparent',\n border: 0,\n }),\n header: css({\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(2),\n }),\n body: css({\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(1),\n }),\n footer: css({\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(1),\n }),\n };\n}\n"],"names":[],"mappings":";;AAOO,SAAS,aAAa,SAAyC,EAAA;AACpE,EAAA,QAAQ,SAAW;AAAA,IACjB,KAAK,MAAA;AACH,MAAO,OAAA,QAAA;AAAA,IACT,KAAK,YAAA;AACH,MAAO,OAAA,cAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAO,OAAA,YAAA;AAAA,IACT;AACE,MAAA,OAAO,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,QAAA;AAAA;AAE1B;AAEO,SAAS,iBACd,CAAA,KAAA,EACA,SACA,EAAA,eAAA,EACA,aACA,cACA,EAAA;AACA,EAAO,OAAA;AAAA,IACL,OAAO,GAAI,CAAA;AAAA,MACT,IAAM,EAAA;AAAA,KACP,CAAA;AAAA,IACD,WAAW,GAAI,CAAA;AAAA,MACb,eAAiB,EAAA,SAAA;AAAA,MACjB,YAAA,EAAc,KAAM,CAAA,KAAA,CAAM,MAAO,CAAA,OAAA;AAAA,MACjC,MAAA,EAAQ,aAAa,eAAe,CAAA,CAAA;AAAA,MACpC,SAAA,EAAW,MAAM,OAAQ,CAAA,EAAA;AAAA,MACzB,KAAO,EAAA,WAAA;AAAA,MACP,QAAA,EAAU,KAAM,CAAA,UAAA,CAAW,SAAU,CAAA,QAAA;AAAA,MACrC,SAAS,KAAM,CAAA,OAAA,CAAQ,cAAe,CAAA,SAAA,EAAW,eAAe,SAAS,CAAA;AAAA,MACzE,CAAC,KAAM,CAAA,WAAA,CAAY,aAAa,eAAiB,EAAA,QAAQ,CAAC,GAAG;AAAA,QAC3D,UAAY,EAAA;AAAA,OACd;AAAA,MACA,MAAA,EAAQ,MAAM,MAAO,CAAA,OAAA;AAAA,MACrB,QAAU,EAAA,OAAA;AAAA,MACV,YAAc,EAAA,YAAA;AAAA,MAEd,oCAAsC,EAAA;AAAA,QACpC,aAAe,EAAA;AAAA;AACjB,KACD,CAAA;AAAA,IACD,aAAa,GAAI,CAAA;AAAA,MACf,KAAA,EAAO,KAAM,CAAA,MAAA,CAAO,IAAK,CAAA,SAAA;AAAA,MACzB,QAAU,EAAA,UAAA;AAAA,MACV,KAAA,EAAO,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,MACtB,GAAA,EAAK,KAAM,CAAA,OAAA,CAAQ,GAAG,CAAA;AAAA,MACtB,eAAiB,EAAA,aAAA;AAAA,MACjB,MAAQ,EAAA;AAAA,KACT,CAAA;AAAA,IACD,QAAQ,GAAI,CAAA;AAAA,MACV,UAAA,EAAY,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,aAAA,EAAe,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA,KAC/B,CAAA;AAAA,IACD,MAAM,GAAI,CAAA;AAAA,MACR,UAAA,EAAY,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,aAAA,EAAe,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA,KAC/B,CAAA;AAAA,IACD,QAAQ,GAAI,CAAA;AAAA,MACV,UAAA,EAAY,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,aAAA,EAAe,KAAM,CAAA,OAAA,CAAQ,CAAC;AAAA,KAC/B;AAAA,GACH;AACF;;;;"}