import type { ElementType, ReactNode } from 'react'; type ChipVariant = 'solid' | 'outlined'; type ChipTone = 'neutral' | 'indigo' | 'cyan'; type ChipProps = { variant?: ChipVariant; tone?: ChipTone; as?: T; className?: string; children: ReactNode; }; const variantClassMap: Record = { solid: 'chip-solid', outlined: 'chip-outlined' }; const toneClassMap: Record = { neutral: 'chip-neutral', indigo: 'chip-indigo', cyan: 'chip-cyan' }; export function Chip({ variant = 'solid', tone = 'neutral', as, className = '', children }: Readonly>) { const Component = as ?? 'span' as ElementType; const classes = `chip-root ${variantClassMap[variant]} ${toneClassMap[tone]} ${className}`.trim(); return {children}; }