{"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';\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;;;;"}