// Sonara icons — extracted from landing/src/components/icons.tsx
// Stroke 1.5px, 24x24, rounded caps/joins. Use sizeClass like "size-5".
const I = (path) => ({ size = 20, className = "", ...rest }) => (
  <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" className={className} {...rest}>{path}</svg>
);

const Icons = {
  // Brand soundwave (logo glyph) — 11 bars, official Sonara symbol
  soundwaveLogo: ({ size = 24, className = "" }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" className={className}>
      <path d="M3.991,10.373c-0.221,0-0.4,0.179-0.4,0.4v3.824c0,0.221,0.179,0.4,0.4,0.4s0.4-0.18,0.4-0.4v-3.824C4.391,10.552,4.211,10.373,3.991,10.373z"/>
      <path d="M1.991,11.67c-0.221,0-0.4,0.179-0.4,0.4V13.3c0,0.221,0.179,0.4,0.4,0.4s0.4-0.18,0.4-0.4V12.07C2.391,11.85,2.211,11.67,1.991,11.67z"/>
      <path d="M20.01,10.373c-0.221,0-0.4,0.179-0.4,0.4v3.824c0,0.221,0.18,0.4,0.4,0.4s0.4-0.18,0.4-0.4v-3.824C20.41,10.552,20.23,10.373,20.01,10.373z"/>
      <path d="M22.01,11.67c-0.221,0-0.4,0.179-0.4,0.4V13.3c0,0.221,0.18,0.4,0.4,0.4s0.4-0.18,0.4-0.4V12.07C22.41,11.85,22.23,11.67,22.01,11.67z"/>
      <path d="M5.991,5.178c-0.221,0-0.4,0.179-0.4,0.4v14.213c0,0.221,0.179,0.4,0.4,0.4s0.4-0.18,0.4-0.4V5.578C6.391,5.357,6.211,5.178,5.991,5.178z"/>
      <path d="M7.991,8.873c-0.221,0-0.4,0.179-0.4,0.4v6.824c0,0.221,0.179,0.4,0.4,0.4s0.4-0.18,0.4-0.4V9.272C8.391,9.052,8.211,8.873,7.991,8.873z"/>
      <path d="M11.991,6.063c-0.221,0-0.4,0.179-0.4,0.4v12.445c0,0.221,0.179,0.4,0.4,0.4s0.4-0.18,0.4-0.4V6.462C12.391,6.242,12.211,6.063,11.991,6.063z"/>
      <path d="M9.991,2.181c-0.221,0-0.4,0.179-0.4,0.4v18.838c0,0.221,0.179,0.4,0.4,0.4s0.4-0.18,0.4-0.4V2.581C10.391,2.36,10.211,2.181,9.991,2.181z"/>
      <path d="M17.99,5.178c-0.221,0-0.4,0.179-0.4,0.4v14.213c0,0.221,0.18,0.4,0.4,0.4s0.4-0.18,0.4-0.4V5.578C18.391,5.357,18.211,5.178,17.99,5.178z"/>
      <path d="M15.99,8.873c-0.221,0-0.4,0.179-0.4,0.4v6.824c0,0.221,0.18,0.4,0.4,0.4s0.4-0.18,0.4-0.4V9.272C16.391,9.052,16.211,8.873,15.99,8.873z"/>
      <path d="M13.99,2.181c-0.221,0-0.4,0.179-0.4,0.4v18.838c0,0.221,0.18,0.4,0.4,0.4s0.4-0.18,0.4-0.4V2.581C14.391,2.36,14.211,2.181,13.99,2.181z"/>
    </svg>
  ),
  soundwave: I(<><path d="M2 12h2"/><path d="M6 8v8"/><path d="M10 4v16"/><path d="M14 6v12"/><path d="M18 9v6"/><path d="M22 12h-2"/></>),
  music: I(<><circle cx="6" cy="18" r="3"/><path d="M9 18V5l9-3v13"/><circle cx="18" cy="15" r="3"/></>),
  mic: I(<><rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 10v2a7 7 0 0 0 14 0v-2"/><line x1="12" y1="19" x2="12" y2="22"/><line x1="8" y1="22" x2="16" y2="22"/></>),
  mixer: I(<><line x1="4" y1="21" x2="4" y2="14"/><line x1="4" y1="10" x2="4" y2="3"/><line x1="12" y1="21" x2="12" y2="12"/><line x1="12" y1="8" x2="12" y2="3"/><line x1="20" y1="21" x2="20" y2="16"/><line x1="20" y1="12" x2="20" y2="3"/><circle cx="4" cy="12" r="2"/><circle cx="12" cy="10" r="2"/><circle cx="20" cy="14" r="2"/></>),
  equalizer: I(<><rect x="4" y="4" width="3" height="16" rx="1"/><rect x="10.5" y="8" width="3" height="12" rx="1"/><rect x="17" y="2" width="3" height="18" rx="1"/></>),
  waveform: I(<path d="M2 12h2l2-7 3 14 3-10 3 6 3-3h4"/>),
  disc: I(<><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="3"/></>),
  search: I(<><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></>),
  user: I(<><circle cx="12" cy="8" r="4"/><path d="M4 21v-2a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v2"/></>),
  target: I(<><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></>),
  shield: I(<><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="M9 12l2 2 4-4"/></>),
  zap: I(<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>),
  bell: I(<><path d="M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"/><path d="M10.3 21a1.94 1.94 0 0 0 3.4 0"/></>),
  chart: I(<><path d="M3 3v18h18"/><path d="M18.7 8l-5.1 5.2-2.8-2.7L7 14.3"/></>),
  star: ({ size = 20, className = "", filled = false }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill={filled ? "currentColor" : "none"} stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" className={className}>
      <polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/>
    </svg>
  ),
  verified: I(<><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/><path d="M9 12l2 2 4-4"/></>),
  collaboration: I(<><circle cx="6" cy="6" r="3"/><circle cx="18" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><circle cx="18" cy="18" r="3"/><path d="M9 6h6"/><path d="M6 9v6"/><path d="M18 9v6"/><path d="M9 18h6"/></>),
  coins: I(<><circle cx="8" cy="8" r="6"/><path d="M18.09 10.37A6 6 0 1 1 10.34 18"/><path d="M7 6h2v4"/><path d="M16 14h2v4"/></>),
  audioFile: I(<><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><path d="M8 14v3"/><path d="M11 12v6"/><path d="M14 14v3"/></>),
  connect: I(<><circle cx="6" cy="12" r="3"/><circle cx="18" cy="12" r="3"/><line x1="9" y1="12" x2="15" y2="12"/></>),
  check: I(<polyline points="20 6 9 17 4 12"/>),
  arrowRight: I(<><line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/></>),
  chevronRight: I(<polyline points="9 18 15 12 9 6"/>),
  menu: I(<><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="18" x2="21" y2="18"/></>),
  close: I(<><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></>),
  play: ({ size = 20, className = "" }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="currentColor" className={className}><polygon points="6 4 20 12 6 20 6 4"/></svg>
  ),
  pin: I(<><path d="M12 22s7-7.5 7-13a7 7 0 1 0-14 0c0 5.5 7 13 7 13z"/><circle cx="12" cy="9" r="2.5"/></>),
  message: I(<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>),
  calendar: I(<><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></>),
  filter: I(<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"/>),
  more: I(<><circle cx="5" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="19" cy="12" r="1.5"/></>),
  download: I(<><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></>),
  clock: I(<><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></>),
  edit: I(<><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></>),
  share: I(<><circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/></>),
  flag: I(<><path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"/><line x1="4" y1="22" x2="4" y2="15"/></>),
  users: I(<><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></>),
  heart: I(<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/>),
  arrowLeft: I(<><line x1="19" y1="12" x2="5" y2="12"/><polyline points="12 19 5 12 12 5"/></>),
  info: I(<><circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/></>),
  upload: I(<><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></>),
  headphones: I(<path d="M3 18v-6a9 9 0 0 1 18 0v6M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z"/>),
};

window.SonaraIcons = Icons;
