import { Box } from './Box'; export interface StatusDotProps { intent?: 'primary' | 'success' | 'warning' | 'critical' | 'telemetry'; color?: string; // Alias for intent or custom color pulse?: boolean; size?: 'sm' | 'md' | 'lg' | number; } /** * StatusDot * * A simple status indicator dot with optional pulse effect. */ export function StatusDot({ intent = 'telemetry', color: colorProp, pulse = false, size = 'md', }: StatusDotProps) { const intentColorMap = { primary: 'var(--ui-color-intent-primary)', success: 'var(--ui-color-intent-success)', warning: 'var(--ui-color-intent-warning)', critical: 'var(--ui-color-intent-critical)', telemetry: 'var(--ui-color-intent-telemetry)', }; const sizeMap = { sm: '0.375rem', md: '0.5rem', lg: '0.75rem', }; const color = colorProp || intentColorMap[intent]; const dimension = typeof size === 'string' ? sizeMap[size] : `${size * 0.25}rem`; return ( {pulse && ( )} ); }