diff --git a/packages/grafana-ui/src/components/Card/Card.tsx b/packages/grafana-ui/src/components/Card/Card.tsx index 996339811c8..427a82ddac0 100644 --- a/packages/grafana-ui/src/components/Card/Card.tsx +++ b/packages/grafana-ui/src/components/Card/Card.tsx @@ -232,12 +232,17 @@ const Meta = memo(({ children, className, separator = '|' }: ChildProps & { sepa const styles = useStyles2(getMetaStyles); let meta = children; + const filtered = React.Children.toArray(children).filter(Boolean); + if (!filtered.length) { + return null; + } + meta = filtered.map((element, i) => ( +
+ {element} +
+ )); // Join meta data elements by separator - if (Array.isArray(children) && separator) { - const filtered = React.Children.toArray(children).filter(Boolean); - if (!filtered.length) { - return null; - } + if (filtered.length > 1 && separator) { meta = filtered.reduce((prev, curr, i) => [ prev, @@ -261,6 +266,9 @@ const getMetaStyles = (theme: GrafanaTheme2) => ({ margin: theme.spacing(0.5, 0, 0), lineHeight: theme.typography.bodySmall.lineHeight, overflowWrap: 'anywhere', + }), + metadataItem: css({ + // Needed to allow for clickable children in metadata zIndex: 0, }), separator: css({