{"version":3,"file":"TitleItem.cjs","sources":["../../../../src/components/PanelChrome/TitleItem.tsx"],"sourcesContent":["import { cx, css } from '@emotion/css';\nimport { forwardRef } from 'react';\nimport * as React from 'react';\n\nimport { GrafanaTheme2, LinkModel, LinkTarget } from '@grafana/data';\n\nimport { useStyles2 } from '../../themes/ThemeContext';\nimport { getFocusStyles, getMouseFocusStyles } from '../../themes/mixins';\nimport { Button } from '../Button/Button';\n\ntype TitleItemProps = {\n  className?: string;\n  children: React.ReactNode;\n  onClick?: LinkModel['onClick'];\n  href?: string;\n  target?: LinkTarget;\n  title?: string;\n};\n\ntype TitleItemElement = HTMLAnchorElement & HTMLButtonElement;\n\nexport const TitleItem = forwardRef<TitleItemElement, TitleItemProps>(\n  ({ className, children, href, onClick, target, title, ...rest }, ref) => {\n    const styles = useStyles2(getStyles);\n\n    if (href) {\n      return (\n        <a\n          ref={ref}\n          href={href}\n          onClick={onClick}\n          target={target}\n          title={title}\n          className={cx(styles.linkItem, className)}\n          {...rest}\n        >\n          {children}\n        </a>\n      );\n    } else if (onClick) {\n      return (\n        <Button\n          ref={ref}\n          className={cx(styles.buttonItem, className)}\n          variant=\"secondary\"\n          fill=\"text\"\n          onClick={onClick}\n        >\n          {children}\n        </Button>\n      );\n    } else {\n      return (\n        <span ref={ref} className={cx(styles.item, className)} {...rest}>\n          {children}\n        </span>\n      );\n    }\n  }\n);\n\nTitleItem.displayName = 'TitleItem';\n\nconst getStyles = (theme: GrafanaTheme2) => {\n  const item = css({\n    color: `${theme.colors.text.secondary}`,\n    label: 'panel-header-item',\n    border: 'none',\n    borderRadius: `${theme.shape.radius.default}`,\n    padding: `${theme.spacing(0, 1)}`,\n    height: `${theme.spacing(theme.components.height.md)}`,\n    display: 'flex',\n    alignItems: 'center',\n    justifyContent: 'center',\n\n    '&:focus, &:focus-visible': {\n      ...getFocusStyles(theme),\n      zIndex: 1,\n    },\n    '&: focus:not(:focus-visible)': getMouseFocusStyles(theme),\n\n    '&:hover ': {\n      boxShadow: `${theme.shadows.z1}`,\n      background: theme.colors.secondary.shade,\n      color: `${theme.colors.text.primary}`,\n    },\n  });\n\n  return {\n    item,\n    linkItem: cx(item, css({ cursor: 'pointer' })),\n    buttonItem: cx(item, css({ cursor: 'pointer' })),\n  };\n};\n"],"names":["forwardRef","useStyles2","jsx","cx","Button","css","getFocusStyles","getMouseFocusStyles"],"mappings":";;;;;;;;;;;;AAqBO,MAAM,SAAA,GAAYA,gBAAA;AAAA,EACvB,CAAC,EAAE,SAAA,EAAW,QAAA,EAAU,IAAA,EAAM,OAAA,EAAS,MAAA,EAAQ,KAAA,EAAO,GAAG,IAAA,EAAK,EAAG,GAAA,KAAQ;AACvE,IAAA,MAAM,MAAA,GAASC,wBAAW,SAAS,CAAA;AAEnC,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,uBACEC,cAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,IAAA;AAAA,UACA,OAAA;AAAA,UACA,MAAA;AAAA,UACA,KAAA;AAAA,UACA,SAAA,EAAWC,MAAA,CAAG,MAAA,CAAO,QAAA,EAAU,SAAS,CAAA;AAAA,UACvC,GAAG,IAAA;AAAA,UAEH;AAAA;AAAA,OACH;AAAA,IAEJ,WAAW,OAAA,EAAS;AAClB,MAAA,uBACED,cAAA;AAAA,QAACE,aAAA;AAAA,QAAA;AAAA,UACC,GAAA;AAAA,UACA,SAAA,EAAWD,MAAA,CAAG,MAAA,CAAO,UAAA,EAAY,SAAS,CAAA;AAAA,UAC1C,OAAA,EAAQ,WAAA;AAAA,UACR,IAAA,EAAK,MAAA;AAAA,UACL,OAAA;AAAA,UAEC;AAAA;AAAA,OACH;AAAA,IAEJ,CAAA,MAAO;AACL,MAAA,uBACED,cAAA,CAAC,MAAA,EAAA,EAAK,GAAA,EAAU,SAAA,EAAWC,MAAA,CAAG,MAAA,CAAO,IAAA,EAAM,SAAS,CAAA,EAAI,GAAG,IAAA,EACxD,QAAA,EACH,CAAA;AAAA,IAEJ;AAAA,EACF;AACF;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;AAExB,MAAM,SAAA,GAAY,CAAC,KAAA,KAAyB;AAC1C,EAAA,MAAM,OAAOE,OAAA,CAAI;AAAA,IACf,KAAA,EAAO,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,KAAK,SAAS,CAAA,CAAA;AAAA,IACrC,KAAA,EAAO,mBAAA;AAAA,IACP,MAAA,EAAQ,MAAA;AAAA,IACR,YAAA,EAAc,CAAA,EAAG,KAAA,CAAM,KAAA,CAAM,OAAO,OAAO,CAAA,CAAA;AAAA,IAC3C,SAAS,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,CAAC,CAAC,CAAA,CAAA;AAAA,IAC/B,MAAA,EAAQ,GAAG,KAAA,CAAM,OAAA,CAAQ,MAAM,UAAA,CAAW,MAAA,CAAO,EAAE,CAAC,CAAA,CAAA;AAAA,IACpD,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAEhB,0BAAA,EAA4B;AAAA,MAC1B,GAAGC,sBAAe,KAAK,CAAA;AAAA,MACvB,MAAA,EAAQ;AAAA,KACV;AAAA,IACA,8BAAA,EAAgCC,2BAAoB,KAAK,CAAA;AAAA,IAEzD,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,CAAA,EAAG,KAAA,CAAM,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,MAC9B,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,SAAA,CAAU,KAAA;AAAA,MACnC,KAAA,EAAO,CAAA,EAAG,KAAA,CAAM,MAAA,CAAO,KAAK,OAAO,CAAA;AAAA;AACrC,GACD,CAAA;AAED,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,QAAA,EAAUJ,OAAG,IAAA,EAAME,OAAA,CAAI,EAAE,MAAA,EAAQ,SAAA,EAAW,CAAC,CAAA;AAAA,IAC7C,UAAA,EAAYF,OAAG,IAAA,EAAME,OAAA,CAAI,EAAE,MAAA,EAAQ,SAAA,EAAW,CAAC;AAAA,GACjD;AACF,CAAA;;;;"}