{"version":3,"file":"ValuePill.mjs","sources":["../../../../src/components/Combobox/ValuePill.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { forwardRef } from 'react';\n\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { t } from '@grafana/i18n';\n\nimport { useStyles2 } from '../../themes/ThemeContext';\nimport { IconButton } from '../IconButton/IconButton';\n\ninterface ValuePillProps {\n  children: string;\n  onRemove: () => void;\n  disabled?: boolean;\n}\n\nexport const ValuePill = forwardRef<HTMLSpanElement, ValuePillProps>(\n  ({ children, onRemove, disabled, ...rest }, ref) => {\n    const styles = useStyles2(getValuePillStyles, disabled);\n    const removeButtonLabel = t('grafana-ui.value-pill.remove-button', 'Remove {{children}}', { children });\n    return (\n      <span className={styles.wrapper} {...rest} ref={ref}>\n        <span className={styles.text}>{children}</span>\n        {!disabled && (\n          <>\n            <span className={styles.separator} />\n            <IconButton\n              name=\"times\"\n              size=\"md\"\n              aria-label={removeButtonLabel}\n              onClick={(e) => {\n                e.stopPropagation();\n                onRemove();\n              }}\n            />\n          </>\n        )}\n      </span>\n    );\n  }\n);\nValuePill.displayName = 'ValuePill';\n\nconst getValuePillStyles = (theme: GrafanaTheme2, disabled?: boolean) => ({\n  wrapper: css({\n    display: 'inline-flex',\n    borderRadius: theme.shape.radius.sm,\n    color: theme.colors.text.primary,\n    background: theme.colors.background.secondary,\n    padding: theme.spacing(0.25),\n    border: disabled ? `1px solid ${theme.colors.border.weak}` : 'none',\n    fontSize: theme.typography.bodySmall.fontSize,\n    flexShrink: 0,\n    minWidth: '50px',\n    alignItems: 'center',\n\n    '&:first-child:has(+ div)': {\n      flexShrink: 1,\n    },\n  }),\n\n  text: css({\n    whiteSpace: 'nowrap',\n    overflow: 'hidden',\n    textOverflow: 'ellipsis',\n    padding: theme.spacing(0, 1, 0, 0.75),\n  }),\n\n  separator: css({\n    background: theme.colors.border.weak,\n    width: '1px',\n    height: '100%',\n    marginRight: theme.spacing(0.5),\n  }),\n});\n"],"names":[],"mappings":";;;;;;;;AAeO,MAAM,SAAA,GAAY,UAAA;AAAA,EACvB,CAAC,EAAE,QAAA,EAAU,QAAA,EAAU,UAAU,GAAG,IAAA,IAAQ,GAAA,KAAQ;AAClD,IAAA,MAAM,MAAA,GAAS,UAAA,CAAW,kBAAA,EAAoB,QAAQ,CAAA;AACtD,IAAA,MAAM,oBAAoB,CAAA,CAAE,qCAAA,EAAuC,qBAAA,EAAuB,EAAE,UAAU,CAAA;AACtG,IAAA,4BACG,MAAA,EAAA,EAAK,SAAA,EAAW,OAAO,OAAA,EAAU,GAAG,MAAM,GAAA,EACzC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,IAAA,EAAO,QAAA,EAAS,CAAA;AAAA,MACvC,CAAC,4BACA,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,SAAA,EAAW,CAAA;AAAA,wBACnC,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,OAAA;AAAA,YACL,IAAA,EAAK,IAAA;AAAA,YACL,YAAA,EAAY,iBAAA;AAAA,YACZ,OAAA,EAAS,CAAC,CAAA,KAAM;AACd,cAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,cAAA,QAAA,EAAS;AAAA,YACX;AAAA;AAAA;AACF,OAAA,EACF;AAAA,KAAA,EAEJ,CAAA;AAAA,EAEJ;AACF;AACA,SAAA,CAAU,WAAA,GAAc,WAAA;AAExB,MAAM,kBAAA,GAAqB,CAAC,KAAA,EAAsB,QAAA,MAAwB;AAAA,EACxE,SAAS,GAAA,CAAI;AAAA,IACX,OAAA,EAAS,aAAA;AAAA,IACT,YAAA,EAAc,KAAA,CAAM,KAAA,CAAM,MAAA,CAAO,EAAA;AAAA,IACjC,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK,OAAA;AAAA,IACzB,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,UAAA,CAAW,SAAA;AAAA,IACpC,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,IAC3B,QAAQ,QAAA,GAAW,CAAA,UAAA,EAAa,MAAM,MAAA,CAAO,MAAA,CAAO,IAAI,CAAA,CAAA,GAAK,MAAA;AAAA,IAC7D,QAAA,EAAU,KAAA,CAAM,UAAA,CAAW,SAAA,CAAU,QAAA;AAAA,IACrC,UAAA,EAAY,CAAA;AAAA,IACZ,QAAA,EAAU,MAAA;AAAA,IACV,UAAA,EAAY,QAAA;AAAA,IAEZ,0BAAA,EAA4B;AAAA,MAC1B,UAAA,EAAY;AAAA;AACd,GACD,CAAA;AAAA,EAED,MAAM,GAAA,CAAI;AAAA,IACR,UAAA,EAAY,QAAA;AAAA,IACZ,QAAA,EAAU,QAAA;AAAA,IACV,YAAA,EAAc,UAAA;AAAA,IACd,SAAS,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,CAAA,EAAG,GAAG,IAAI;AAAA,GACrC,CAAA;AAAA,EAED,WAAW,GAAA,CAAI;AAAA,IACb,UAAA,EAAY,KAAA,CAAM,MAAA,CAAO,MAAA,CAAO,IAAA;AAAA,IAChC,KAAA,EAAO,KAAA;AAAA,IACP,MAAA,EAAQ,MAAA;AAAA,IACR,WAAA,EAAa,KAAA,CAAM,OAAA,CAAQ,GAAG;AAAA,GAC/B;AACH,CAAA,CAAA;;;;"}