import type { Payload, ValueType } from 'recharts/types/component/DefaultTooltipContent' import { cn } from 'ui' import { Attribute, COLOR_MAP } from './Usage.constants' export interface SingleAttributeTooltipContentProps { name: string unit: 'bytes' | 'percentage' | 'absolute' | 'hours' | 'gigabytes' value: any isAfterToday: boolean tooltipFormatter?: (value: any) => any } export const SingleAttributeTooltipContent = ({ name, unit, value, isAfterToday, tooltipFormatter, }: SingleAttributeTooltipContentProps) => { const formattedValue = unit === 'percentage' ? Number(value).toFixed(2) : Number(value) return ( <>
{name}
{isAfterToday ? (No data yet
) : ({tooltipFormatter !== undefined ? tooltipFormatter(formattedValue) : formattedValue}
)} > ) } export interface MultiAttributeTooltipContentProps { attributes: Attribute[] values: Payload{attribute.name} ({percentageContribution}%):{' '}
{tooltipFormatter !== undefined ? tooltipFormatter(attrValue) : `${attrValue}${unit === 'hours' ? ' H' : ''}`}
No data yet
) : (