// Lucide-style icons, stroke 1.75, currentColor. Tree-shakes by hand.

const SBIcon = ({ d, size = 22, fill = 'none', strokeWidth = 1.75 }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke="currentColor"
       strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round" style={{ flex: 'none' }}>
    {typeof d === 'string' ? <path d={d} /> : d}
  </svg>
);

const Icons = {
  Home:    (p) => <SBIcon {...p} d={<><path d="M3 11.5 12 4l9 7.5"/><path d="M5 10v10h14V10"/><path d="M10 20v-6h4v6"/></>} />,
  User:    (p) => <SBIcon {...p} d={<><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></>} />,
  Mic:     (p) => <SBIcon {...p} d={<><rect x="9" y="3" width="6" height="12" rx="3"/><path d="M5 11a7 7 0 0 0 14 0"/><path d="M12 18v3"/></>} />,
  Send:    (p) => <SBIcon {...p} d={<><path d="M12 19V5"/><path d="m5 12 7-7 7 7"/></>} />,
  Plus:    (p) => <SBIcon {...p} d={<><path d="M12 5v14"/><path d="M5 12h14"/></>} />,
  Inbox:   (p) => <SBIcon {...p} d={<><path d="M22 12h-6l-2 3h-4l-2-3H2"/><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"/></>} />,
  Check:   (p) => <SBIcon {...p} d={<><path d="m5 12 5 5L20 7"/></>} />,
  CheckCircle: (p) => <SBIcon {...p} d={<><circle cx="12" cy="12" r="10"/><path d="m9 12 2 2 4-4"/></>} />,
  Book:    (p) => <SBIcon {...p} d={<><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></>} />,
  Gear:    (p) => <SBIcon {...p} d={<><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33h0a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51h0a1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82v0a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"/></>} />,
  Search:  (p) => <SBIcon {...p} d={<><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></>} />,
  Calendar:(p) => <SBIcon {...p} d={<><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4"/><path d="M8 2v4"/><path d="M3 10h18"/></>} />,
  Hash:    (p) => <SBIcon {...p} d={<><path d="M4 9h16"/><path d="M4 15h16"/><path d="M10 3 8 21"/><path d="m16 3-2 18"/></>} />,
  Doc:     (p) => <SBIcon {...p} d={<><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><path d="M14 2v6h6"/><path d="M8 13h8"/><path d="M8 17h6"/></>} />,
  Flame:   (p) => <SBIcon {...p} d={<><path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"/></>} />,
  Sparkle: (p) => <SBIcon {...p} d={<><path d="M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"/></>} />,
  Chev:    (p) => <SBIcon {...p} d="m9 18 6-6-6-6" />,
  ChevDown:(p) => <SBIcon {...p} d="m6 9 6 6 6-6" />,
  ChevLeft:(p) => <SBIcon {...p} d="m15 18-6-6 6-6" />,
  Trash:   (p) => <SBIcon {...p} d={<><path d="M3 6h18"/><path d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"/><path d="M10 11v6"/><path d="M14 11v6"/><path d="M9 6V4h6v2"/></>} />,
  X:       (p) => <SBIcon {...p} d={<><path d="M18 6 6 18"/><path d="m6 6 12 12"/></>} />,
  More:    (p) => <SBIcon {...p} d={<><circle cx="5" cy="12" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/></>} fill="currentColor" strokeWidth={0} />,
  Bell:    (p) => <SBIcon {...p} d={<><path d="M6 8a6 6 0 1 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"/></>} />,
  Clock:   (p) => <SBIcon {...p} d={<><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></>} />,
  Chat:    (p) => <SBIcon {...p} d={<><path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8z"/></>} />,
  Timeline:(p) => <SBIcon {...p} d={<><circle cx="6" cy="6" r="2"/><circle cx="6" cy="18" r="2"/><circle cx="6" cy="12" r="2"/><path d="M11 6h10"/><path d="M11 12h7"/><path d="M11 18h10"/></>} />,
  Star:    (p) => <SBIcon {...p} d={<><path d="m12 2 3.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.01z"/></>} />,
  StarFill:(p) => <SBIcon {...p} d={<><path d="m12 2 3.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.01z"/></>} fill="currentColor" strokeWidth={0.5} />,
  Filter:  (p) => <SBIcon {...p} d={<><path d="M3 5h18"/><path d="M6 12h12"/><path d="M10 19h4"/></>} />,
  Tag:     (p) => <SBIcon {...p} d={<><path d="M20.59 13.41 13.42 20.58a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"/><path d="M7 7h.01"/></>} />,
  Wave:    (p) => <SBIcon {...p} d={<><path d="M4 12v2"/><path d="M8 8v8"/><path d="M12 4v16"/><path d="M16 7v10"/><path d="M20 11v3"/></>} />,
  Type:    (p) => <SBIcon {...p} d={<><path d="M4 7V5h16v2"/><path d="M9 19h6"/><path d="M12 5v14"/></>} />,
  Bolt:    (p) => <SBIcon {...p} d={<><path d="M13 2 3 14h7l-1 8 10-12h-7z"/></>} />,
  ArrowUp: (p) => <SBIcon {...p} d={<><path d="M12 19V5"/><path d="m5 12 7-7 7 7"/></>} />,
  TrendUp: (p) => <SBIcon {...p} d={<><path d="m3 17 6-6 4 4 8-8"/><path d="M14 7h7v7"/></>} />,
  Briefcase:(p) => <SBIcon {...p} d={<><rect x="2" y="7" width="20" height="14" rx="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/></>} />,
  Heart:   (p) => <SBIcon {...p} d={<><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"/></>} />,
  Wallet:  (p) => <SBIcon {...p} d={<><path d="M21 12V7a2 2 0 0 0-2-2H5a2 2 0 0 0 0 4h16v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7"/><path d="M16 14h2"/></>} />,
  Link:    (p) => <SBIcon {...p} d={<><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></>} />,
  Pin:     (p) => <SBIcon {...p} d={<><path d="m12 17 .01 5"/><path d="M9 11V6h6v5"/><path d="m6 14 12 0"/><path d="m9 14-1 3h8l-1-3"/></>} />,
  Edit:    (p) => <SBIcon {...p} d={<><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-4z"/></>} />,
};

window.Icons = Icons;
window.SBIcon = SBIcon;
