{"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(0.5),\n      top: theme.spacing(1),\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,SAAA,EAAyC;AACpE,EAAA,QAAQ,SAAA;AAAW,IACjB,KAAK,MAAA;AACH,MAAA,OAAO,QAAA;AAAA,IACT,KAAK,YAAA;AACH,MAAA,OAAO,cAAA;AAAA,IACT,KAAK,UAAA;AACH,MAAA,OAAO,YAAA;AAAA,IACT;AACE,MAAA,OAAO,SAAA,IAAA,IAAA,GAAA,SAAA,GAAa,QAAA;AAAA;AAE1B;AAEO,SAAS,iBAAA,CACd,KAAA,EACA,SAAA,EACA,eAAA,EACA,aACA,cAAA,EACA;AACA,EAAA,OAAO;AAAA,IACL,OAAO,GAAA,CAAI;AAAA,MACT,IAAA,EAAM;AAAA,KACP,CAAA;AAAA,IACD,WAAW,GAAA,CAAI;AAAA,MACb,eAAA,EAAiB,SAAA;AAAA,MACjB,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,OAAA;AAAA,MACjC,MAAA,EAAQ,aAAa,eAAe,CAAA,CAAA;AAAA,MACpC,SAAA,EAAW,MAAM,OAAA,CAAQ,EAAA;AAAA,MACzB,KAAA,EAAO,WAAA;AAAA,MACP,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,MACrC,SAAS,KAAA,CAAM,OAAA,CAAQ,cAAA,CAAe,SAAA,EAAW,eAAe,SAAS,CAAA;AAAA,MACzE,CAAC,KAAA,CAAM,WAAA,CAAY,aAAa,eAAA,EAAiB,QAAQ,CAAC,GAAG;AAAA,QAC3D,UAAA,EAAY;AAAA,OACd;AAAA,MACA,MAAA,EAAQ,MAAM,MAAA,CAAO,OAAA;AAAA,MACrB,QAAA,EAAU,OAAA;AAAA,MACV,YAAA,EAAc,YAAA;AAAA,MAEd,oCAAA,EAAsC;AAAA,QACpC,aAAA,EAAe;AAAA;AACjB,KACD,CAAA;AAAA,IACD,aAAa,GAAA,CAAI;AAAA,MACf,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,MACzB,QAAA,EAAU,UAAA;AAAA,MACV,KAAA,EAAO,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAAA,MACxB,GAAA,EAAK,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MACpB,eAAA,EAAiB,aAAA;AAAA,MACjB,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,IACD,QAAQ,GAAA,CAAI;AAAA,MACV,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,aAAA,EAAe,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,KAC/B,CAAA;AAAA,IACD,MAAM,GAAA,CAAI;AAAA,MACR,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,aAAA,EAAe,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,KAC/B,CAAA;AAAA,IACD,QAAQ,GAAA,CAAI;AAAA,MACV,UAAA,EAAY,KAAA,CAAM,OAAA,CAAQ,CAAC,CAAA;AAAA,MAC3B,aAAA,EAAe,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,KAC/B;AAAA,GACH;AACF;;;;"}