'use client'; import { memo } from 'react'; import { cn } from '@djangocfg/ui-core/lib'; export interface StreamingIndicatorProps { variant?: 'dots' | 'pulse'; label?: string; className?: string; } /** * StreamingIndicator — animated dots or pulse for streaming state. * * Memoised: re-renders only when `variant`, `label` or `className` * change. All props are primitives, so default shallow comparison is * sufficient. */ function StreamingIndicatorRaw({ variant = 'dots', label, className }: StreamingIndicatorProps) { return ( {variant === 'dots' ? ( ) : ( )} {label ? {label} : null} ); } export const StreamingIndicator = memo(StreamingIndicatorRaw);