{"version":3,"file":"FieldLinkList.cjs","sources":["../../../../src/components/DataLinks/FieldLinkList.tsx"],"sourcesContent":["import { css } from '@emotion/css';\n\nimport { Field, GrafanaTheme2, LinkModel } from '@grafana/data';\nimport { Trans } from '@grafana/i18n';\n\nimport { useStyles2 } from '../../themes/ThemeContext';\nimport { Icon } from '../Icon/Icon';\n\nimport { DataLinkButton } from './DataLinkButton';\n\ntype Props = {\n  links: Array<LinkModel<Field>>;\n};\n\n/**\n * @internal\n */\nexport function FieldLinkList({ links }: Props) {\n  const styles = useStyles2(getStyles);\n\n  if (links.length === 1) {\n    return <DataLinkButton link={links[0]} />;\n  }\n\n  const externalLinks = links.filter((link) => link.target === '_blank');\n  const internalLinks = links.filter((link) => link.target === '_self');\n\n  return (\n    <>\n      {internalLinks.map((link, i) => {\n        return <DataLinkButton key={i} link={link} />;\n      })}\n      <div className={styles.wrapper}>\n        <p className={styles.externalLinksHeading}>\n          <Trans i18nKey=\"grafana-ui.field-link-list.external-links-heading\">External links</Trans>\n        </p>\n        {externalLinks.map((link, i) => (\n          <a key={i} href={link.href} target={link.target} className={styles.externalLink}>\n            <Icon name=\"external-link-alt\" />\n            {link.title}\n          </a>\n        ))}\n      </div>\n    </>\n  );\n}\n\nconst getStyles = (theme: GrafanaTheme2) => ({\n  wrapper: css({\n    flexBasis: '150px',\n    width: '100px',\n    marginTop: theme.spacing(1),\n  }),\n  externalLinksHeading: css({\n    color: theme.colors.text.secondary,\n    fontWeight: theme.typography.fontWeightRegular,\n    fontSize: theme.typography.size.sm,\n    margin: 0,\n  }),\n  externalLink: css({\n    color: theme.colors.text.link,\n    fontWeight: theme.typography.fontWeightRegular,\n    display: 'block',\n    whiteSpace: 'nowrap',\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n\n    '&:hover': {\n      textDecoration: 'underline',\n    },\n\n    div: {\n      marginRight: theme.spacing(1),\n    },\n  }),\n});\n"],"names":["useStyles2","jsx","DataLinkButton","jsxs","Fragment","Trans","Icon","css"],"mappings":";;;;;;;;;;;;AAiBO,SAAS,aAAA,CAAc,EAAE,KAAA,EAAM,EAAU;AAC9C,EAAA,MAAM,MAAA,GAASA,wBAAW,SAAS,CAAA;AAEnC,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA,uBAAOC,cAAA,CAACC,6BAAA,EAAA,EAAe,IAAA,EAAM,KAAA,CAAM,CAAC,CAAA,EAAG,CAAA;AAAA,EACzC;AAEA,EAAA,MAAM,gBAAgB,KAAA,CAAM,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,WAAW,QAAQ,CAAA;AACrE,EAAA,MAAM,gBAAgB,KAAA,CAAM,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,WAAW,OAAO,CAAA;AAEpE,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,aAAA,CAAc,GAAA,CAAI,CAAC,IAAA,EAAM,CAAA,KAAM;AAC9B,MAAA,uBAAOH,cAAA,CAACC,6BAAA,EAAA,EAAuB,IAAA,EAAA,EAAH,CAAe,CAAA;AAAA,IAC7C,CAAC,CAAA;AAAA,oBACDC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,OAAA,EACrB,QAAA,EAAA;AAAA,sBAAAF,cAAA,CAAC,GAAA,EAAA,EAAE,WAAW,MAAA,CAAO,oBAAA,EACnB,yCAACI,UAAA,EAAA,EAAM,OAAA,EAAQ,mDAAA,EAAoD,QAAA,EAAA,gBAAA,EAAc,CAAA,EACnF,CAAA;AAAA,MACC,aAAA,CAAc,GAAA,CAAI,CAAC,IAAA,EAAM,sBACxBF,eAAA,CAAC,GAAA,EAAA,EAAU,IAAA,EAAM,IAAA,CAAK,MAAM,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,SAAA,EAAW,OAAO,YAAA,EACjE,QAAA,EAAA;AAAA,wBAAAF,cAAA,CAACK,SAAA,EAAA,EAAK,MAAK,mBAAA,EAAoB,CAAA;AAAA,QAC9B,IAAA,CAAK;AAAA,OAAA,EAAA,EAFA,CAGR,CACD;AAAA,KAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,MAAM,SAAA,GAAY,CAAC,KAAA,MAA0B;AAAA,EAC3C,SAASC,OAAA,CAAI;AAAA,IACX,SAAA,EAAW,OAAA;AAAA,IACX,KAAA,EAAO,OAAA;AAAA,IACP,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GAC3B,CAAA;AAAA,EACD,sBAAsBA,OAAA,CAAI;AAAA,IACxB,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,SAAA;AAAA,IACzB,UAAA,EAAY,MAAM,UAAA,CAAW,iBAAA;AAAA,IAC7B,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,EAAA;AAAA,IAChC,MAAA,EAAQ;AAAA,GACT,CAAA;AAAA,EACD,cAAcA,OAAA,CAAI;AAAA,IAChB,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,IAAA;AAAA,IACzB,UAAA,EAAY,MAAM,UAAA,CAAW,iBAAA;AAAA,IAC7B,OAAA,EAAS,OAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,QAAA,EAAU,QAAA;AAAA,IACV,YAAA,EAAc,UAAA;AAAA,IAEd,SAAA,EAAW;AAAA,MACT,cAAA,EAAgB;AAAA,KAClB;AAAA,IAEA,GAAA,EAAK;AAAA,MACH,WAAA,EAAa,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA;AAC9B,GACD;AACH,CAAA,CAAA;;;;"}