/*
* icons.tsx
* Zyquo Cloud Web
*
* Author: Simon-Pierre Boucher
* Mail: contact@spboucher.ai
*
* Minimal inline SVG icon set (stroke-based, currentColor) — no icon
* dependency (every dependency is key-theft surface). 16×16 grid.
*/
import type { ReactNode } from 'react'
function I({ children, size = 14 }: { children: ReactNode; size?: number }) {
return (
)
}
export const IconSend = ({ size = 13 }: { size?: number }) => (
)
export const IconStop = ({ size = 11 }: { size?: number }) => (
)
export const IconPlus = ({ size = 13 }: { size?: number }) => (
)
export const IconSearch = ({ size = 12 }: { size?: number }) => (
)
export const IconGear = ({ size = 14 }: { size?: number }) => (
)
export const IconTrash = ({ size = 12 }: { size?: number }) => (
)
export const IconPin = ({ size = 11 }: { size?: number }) => (
)
export const IconCopy = ({ size = 11 }: { size?: number }) => (
)
export const IconEdit = ({ size = 11 }: { size?: number }) => (
)
export const IconRefresh = ({ size = 11 }: { size?: number }) => (
)
export const IconChevronDown = ({ size = 8 }: { size?: number }) => (
)
export const IconChevronRight = ({ size = 8 }: { size?: number }) => (
)
export const IconStar = ({ size = 11, filled = false }: { size?: number; filled?: boolean }) => (
)
export const IconEye = ({ size = 10 }: { size?: number }) => (
)
export const IconBrain = ({ size = 10 }: { size?: number }) => (
)
export const IconWrench = ({ size = 10 }: { size?: number }) => (
)
export const IconPaperclip = ({ size = 14 }: { size?: number }) => (
)
export const IconX = ({ size = 11 }: { size?: number }) => (
)
export const IconMenu = ({ size = 15 }: { size?: number }) => (
)
export const IconSliders = ({ size = 13 }: { size?: number }) => (
)
export const IconQuote = ({ size = 11 }: { size?: number }) => (
)
export const IconBranch = ({ size = 11 }: { size?: number }) => (
)
export const IconCheck = ({ size = 11 }: { size?: number }) => (
)
export const IconDownload = ({ size = 12 }: { size?: number }) => (
)
export const IconColumns = ({ size = 12 }: { size?: number }) => (
)
export const IconInfo = ({ size = 12 }: { size?: number }) => (
)
export const IconArrowDown = ({ size = 10 }: { size?: number }) => (
)
export const IconLightbulb = ({ size = 14 }: { size?: number }) => (
)
export const IconCode = ({ size = 14 }: { size?: number }) => (
)
export const IconDoc = ({ size = 14 }: { size?: number }) => (
)
export const IconGlobe = ({ size = 14 }: { size?: number }) => (
)
export const IconMic = ({ size = 13 }: { size?: number }) => (
)
export const IconSpeaker = ({ size = 11 }: { size?: number }) => (
)
export const IconCommand = ({ size = 13 }: { size?: number }) => (
)
/** Provider glyphs — simple distinctive marks per provider. */
export function ProviderGlyph({ provider, size = 11 }: { provider: string; size?: number }) {
switch (provider) {
case 'openai':
return (
)
case 'anthropic':
return (
)
case 'xai':
return (
)
case 'mistral':
return (
)
case 'gemini':
return (
)
case 'qwen':
return (
)
case 'deepseek':
return (
)
case 'kimi':
return (
)
case 'perplexity':
return (
)
case 'together':
return (
)
case 'deepinfra':
return (
)
case 'cerebras':
return (
)
default:
return (
)
}
}