import type { ReactElement, ReactNode } from 'react'; // Inline stroke icons so glyphs render identically on every OS/browser (no // emoji font variance). `currentColor` lets callers theme them via CSS. interface IconProps { size?: number; className?: string; } const base = ( size: number, className: string | undefined, children: ReactNode, strokeWidth = 2, ): ReactElement => ( ); // Solid-fill variant helper (play triangle, filled dots, etc.). const solid = (size: number, className: string | undefined, children: ReactNode): ReactElement => ( ); export const PaperclipIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, , ); export const MicIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const VideoIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const StopIcon = ({ size = 20, className }: IconProps): ReactElement => solid(size, className, ); export const SendIcon = ({ size = 20, className }: IconProps): ReactElement => solid(size, className, ); export const CloseIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const FileIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const SearchIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const PlayIcon = ({ size = 20, className }: IconProps): ReactElement => solid(size, className, ); export const PauseIcon = ({ size = 20, className }: IconProps): ReactElement => solid( size, className, <> , ); export const RefreshIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const DownloadIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const ImageIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const CheckIcon = ({ size = 20, className }: IconProps): ReactElement => base(size, className, , 2.4); export const DoubleCheckIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , 2.4, ); export const PlusIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const ChevronLeftIcon = ({ size = 20, className }: IconProps): ReactElement => base(size, className, ); export const SunIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const MoonIcon = ({ size = 20, className }: IconProps): ReactElement => base(size, className, ); export const MonitorIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const LogOutIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const TrashIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const EditIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const SmileIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const UsersIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const PinIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const PinOffIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const FolderIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, , ); export const CopyIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const EraserIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const SettingsIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const ChatsIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, , ); export const UserIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const ChevronDownIcon = ({ size = 20, className }: IconProps): ReactElement => base(size, className, ); export const CameraIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const MegaphoneIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const ForwardIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const SelectIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); export const ReplyIcon = ({ size = 20, className }: IconProps): ReactElement => base( size, className, <> , ); // Zovi brand mark (the "bubble Z") — filled glyph only; the container supplies // the gradient tile so one asset works at every size. export const BrandGlyph = ({ size = 20, className }: IconProps): ReactElement => ( );