{"version":3,"file":"SeriesTable.cjs","sources":["../../../../src/components/VizTooltip/SeriesTable.tsx"],"sourcesContent":["import { css, cx } from '@emotion/css';\nimport * as React from 'react';\n\nimport { GrafanaTheme2, GraphSeriesValue } from '@grafana/data';\nimport { t } from '@grafana/i18n';\n\nimport { useStyles2 } from '../../themes/ThemeContext';\nimport { SeriesIcon } from '../VizLegend/SeriesIcon';\n\n/**\n * @public\n */\nexport interface SeriesTableRowProps {\n  color?: string;\n  label?: React.ReactNode;\n  value?: string | GraphSeriesValue;\n  isActive?: boolean;\n}\n\nconst getSeriesTableRowStyles = (theme: GrafanaTheme2) => {\n  return {\n    icon: css({\n      marginRight: theme.spacing(1),\n      verticalAlign: 'middle',\n    }),\n    seriesTable: css({\n      display: 'table',\n    }),\n    seriesTableRow: css({\n      display: 'table-row',\n      fontSize: theme.typography.bodySmall.fontSize,\n    }),\n    seriesTableCell: css({\n      display: 'table-cell',\n    }),\n    label: css({\n      wordBreak: 'break-all',\n    }),\n    value: css({\n      paddingLeft: theme.spacing(2),\n      textAlign: 'right',\n    }),\n    activeSeries: css({\n      fontWeight: theme.typography.fontWeightBold,\n      color: theme.colors.text.maxContrast,\n    }),\n    timestamp: css({\n      fontWeight: theme.typography.fontWeightBold,\n      fontSize: theme.typography.bodySmall.fontSize,\n    }),\n  };\n};\n\n/**\n * @public\n */\nexport const SeriesTableRow = ({ color, label, value, isActive }: SeriesTableRowProps) => {\n  const styles = useStyles2(getSeriesTableRowStyles);\n\n  return (\n    <div data-testid=\"SeriesTableRow\" className={cx(styles.seriesTableRow, isActive && styles.activeSeries)}>\n      {color && (\n        <div className={styles.seriesTableCell}>\n          <SeriesIcon color={color} className={styles.icon} />\n        </div>\n      )}\n      {label && <div className={cx(styles.seriesTableCell, styles.label)}>{label}</div>}\n      {value && <div className={cx(styles.seriesTableCell, styles.value)}>{value}</div>}\n    </div>\n  );\n};\n\n/**\n * @public\n */\nexport interface SeriesTableProps {\n  timestamp?: string | GraphSeriesValue;\n  series: SeriesTableRowProps[];\n}\n\n/**\n * @public\n */\nexport const SeriesTable = ({ timestamp, series }: SeriesTableProps) => {\n  const styles = useStyles2(getSeriesTableRowStyles);\n\n  return (\n    <>\n      {timestamp && (\n        <div className={styles.timestamp} aria-label={t('grafana-ui.viz-tooltip.timestamp', 'Timestamp')}>\n          {timestamp}\n        </div>\n      )}\n      {series.map((s, i) => {\n        return (\n          <SeriesTableRow\n            isActive={s.isActive}\n            label={s.label}\n            color={s.color}\n            value={s.value}\n            key={`${s.label}-${i}`}\n          />\n        );\n      })}\n    </>\n  );\n};\n"],"names":["css","useStyles2","jsxs","cx","jsx","SeriesIcon","Fragment","t"],"mappings":"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"}