// ROKKOR desktop-app icons — thin lucide-style line glyphs.
// Single source so every kit screen draws consistent iconography.
const Icon = (paths, vb = "0 0 24 24") => ({ size = 18, color = "currentColor", style = {} }) =>
  React.createElement("svg", {
    width: size, height: size, viewBox: vb, fill: "none", stroke: color,
    strokeWidth: 1.9, strokeLinecap: "round", strokeLinejoin: "round", style,
    dangerouslySetInnerHTML: { __html: paths },
  });

const Icons = {
  Home: Icon('<path d="M3 9.5 12 3l9 6.5V20a1 1 0 0 1-1 1h-5v-7H9v7H4a1 1 0 0 1-1-1z"/>'),
  Clock: Icon('<circle cx="12" cy="12" r="9"/><polyline points="12 7 12 12 16 14"/>'),
  Settings: Icon('<line x1="4" x2="20" y1="7" y2="7"/><line x1="4" x2="20" y1="17" y2="17"/><circle cx="9" cy="7" r="2.6"/><circle cx="15" cy="17" r="2.6"/>'),
  Cpu: Icon('<rect x="6" y="6" width="12" height="12" rx="2"/><path d="M9 9h6v6H9z"/><path d="M12 2v3M12 19v3M2 12h3M19 12h3"/>'),
  Brain: Icon('<path d="M12 5a3 3 0 0 0-6 0 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 0z"/><path d="M12 5a3 3 0 0 1 6 0 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 0z"/>'),
  Trending: Icon('<polyline points="3 17 9 11 13 15 21 7"/><polyline points="15 7 21 7 21 13"/>'),
  Wand: Icon('<path d="M15 4V2M15 10V8M11 6H9M21 6h-2M18 9l-1.5-1.5M18 3l-1.5 1.5M4 20l9-9"/>'),
  Transform: Icon('<path d="M4 7h11M15 7l-3-3M15 7l-3 3"/><path d="M20 17H9M9 17l3-3M9 17l3 3"/>'),
  Snippet: Icon('<path d="M8 4h8a2 2 0 0 1 2 2v14l-6-3-6 3V6a2 2 0 0 1 2-2z"/>'),
  Users: Icon('<circle cx="9" cy="8" r="3"/><path d="M3 20a6 6 0 0 1 12 0"/><path d="M16 5.5a3 3 0 0 1 0 5M21 20a6 6 0 0 0-4-5.7"/>'),
  Book: Icon('<path d="M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2z"/><path d="M4 19a2 2 0 0 1 2-2h13"/>'),
  Pen: Icon('<path d="M14 4 20 10 9 21H3v-6z"/><path d="M13 5l6 6"/>'),
  Chart: Icon('<path d="M4 20V4"/><rect x="7" y="12" width="3" height="8"/><rect x="12" y="8" width="3" height="12"/><rect x="17" y="5" width="3" height="15"/>'),
  Help: Icon('<circle cx="12" cy="12" r="9"/><path d="M9.5 9.5a2.5 2.5 0 0 1 4 2c0 1.5-2 1.8-2 3"/><circle cx="11.6" cy="17" r="0.6" fill="currentColor"/>'),
  Mic: Icon('<rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 11a7 7 0 0 0 14 0"/><line x1="12" x2="12" y1="18" y2="22"/>'),
  Lock: Icon('<rect x="4" y="10" width="16" height="11" rx="2"/><path d="M8 10V7a4 4 0 0 1 8 0v3"/>'),
  Play: Icon('<polygon points="7 4 19 12 7 20"/>'),
  Search: Icon('<circle cx="11" cy="11" r="7"/><line x1="21" x2="16.5" y1="21" y2="16.5"/>'),
  Plus: Icon('<line x1="12" x2="12" y1="5" y2="19"/><line x1="5" x2="19" y1="12" y2="12"/>'),
  Check: Icon('<polyline points="4 12 10 18 20 6"/>'),
  Copy: Icon('<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>'),
  Trash: Icon('<path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13"/>'),
  Download: Icon('<path d="M12 3v12M7 11l5 5 5-5M5 21h14"/>'),
  Refresh: Icon('<path d="M3 12a9 9 0 0 1 15-6.7L21 8M21 3v5h-5M21 12a9 9 0 0 1-15 6.7L3 16M3 21v-5h5"/>'),
  Chevron: Icon('<polyline points="9 6 15 12 9 18"/>'),
  ChevronDown: Icon('<polyline points="6 9 12 15 18 9"/>'),
  ChevronLeft: Icon('<polyline points="15 6 9 12 15 18"/>'),
  Sliders: Icon('<line x1="4" x2="20" y1="7" y2="7"/><line x1="4" x2="20" y1="17" y2="17"/><circle cx="9" cy="7" r="2.6"/><circle cx="15" cy="17" r="2.6"/>'),
  Volume: Icon('<polygon points="4 9 4 15 8 15 13 19 13 5 8 9"/><path d="M16 8a5 5 0 0 1 0 8"/>'),
  Waveform: Icon('<path d="M3 12h2l2-6 3 14 3-12 2 8 2-4h4"/>'),
  Cloud: Icon('<path d="M6 18a4 4 0 0 1 0-8 5 5 0 0 1 9.6-1.5A4 4 0 0 1 18 18z"/>'),
  Sparkle: Icon('<path d="M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z"/>'),
  Folder: Icon('<path d="M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>'),
  Grad: Icon('<path d="M12 4 2 9l10 5 10-5z"/><path d="M5 11v5c0 1 3 3 7 3s7-2 7-3v-5"/>'),
  Database: Icon('<ellipse cx="12" cy="6" rx="8" ry="3"/><path d="M4 6v12c0 1.7 3.6 3 8 3s8-1.3 8-3V6M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3"/>'),
  Save: Icon('<path d="M5 3h12l4 4v14H5z"/><path d="M8 3v5h8V3M8 21v-7h8v7"/>'),
};

window.RokkorIcons = Icons;
