import * as React from 'react';
import Badge from './Badge';
import ForgetBadge from './ForgetBadge';
import IndexableDisplayName from './IndexableDisplayName';
import styles from './IndexableElementBadges.css';
type Props = {
hocDisplayNames: Array<string> | null,
compiledWithForget: boolean,
elementID: number,
className?: string,
};
export default function IndexableElementBadges({
compiledWithForget,
hocDisplayNames,
elementID,
className = '',
}: Props): React.Node {
if (
!compiledWithForget &&
(hocDisplayNames == null || hocDisplayNames.length === 0)
) {
return null;
}
return (
<div className={`${styles.Root} ${className}`}>
{compiledWithForget && (
<ForgetBadge indexable={true} elementID={elementID} />
)}
{hocDisplayNames != null && hocDisplayNames.length > 0 && (
<Badge>
<IndexableDisplayName
displayName={hocDisplayNames[0]}
id={elementID}
/>
</Badge>
)}
{hocDisplayNames != null && hocDisplayNames.length > 1 && (
<div className={styles.ExtraLabel}>+{hocDisplayNames.length - 1}</div>
)}
</div>
);
}