// icons.jsx — minimal stroke icon set, all 16x16 viewbox, currentColor

const Icon = ({ d, size = 16, fill, stroke = "currentColor", style }) => (
  <svg viewBox="0 0 16 16" width={size} height={size} fill={fill || "none"} stroke={fill ? "none" : stroke}
       strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" style={style} aria-hidden="true">
    {typeof d === "string" ? <path d={d} /> : d}
  </svg>
);

const I = {
  Search: (p) => <Icon {...p} d="M7 12.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11Zm4-1.5 3 3" />,
  Arrow:  (p) => <Icon {...p} d="M3 8h10m-4-4 4 4-4 4" />,
  ChevD:  (p) => <Icon {...p} d="M4 6l4 4 4-4" />,
  ChevR:  (p) => <Icon {...p} d="M6 4l4 4-4 4" />,
  ChevL:  (p) => <Icon {...p} d="M10 4 6 8l4 4" />,
  Plus:   (p) => <Icon {...p} d="M8 3v10M3 8h10" />,
  Check:  (p) => <Icon {...p} d="M3 8.5 6.5 12 13 4.5" />,
  X:      (p) => <Icon {...p} d="M3.5 3.5 12.5 12.5M12.5 3.5 3.5 12.5" />,
  Star:   (p) => <Icon {...p} d="M8 2.2 9.85 6 14 6.6l-3 2.95.7 4.15L8 11.75l-3.7 1.95L5 9.55 2 6.6 6.15 6 8 2.2Z" fill="currentColor" />,
  StarO:  (p) => <Icon {...p} d="M8 2.2 9.85 6 14 6.6l-3 2.95.7 4.15L8 11.75l-3.7 1.95L5 9.55 2 6.6 6.15 6 8 2.2Z" />,
  Bookmark:(p)=> <Icon {...p} d="M4 2.5h8v11l-4-2.5-4 2.5z" />,
  Share:  (p) => <Icon {...p} d="M11.5 5.5a2 2 0 1 0-2-2M11.5 12.5a2 2 0 1 0-2-2M4.5 9.5a2 2 0 1 0-2-2M5.5 8.5l3.5 2.5M9 5l-3.5 2.5" />,
  Shield: (p) => <Icon {...p} d="M8 1.5 3 3.5v4c0 3 2.5 5.5 5 6.5 2.5-1 5-3.5 5-6.5v-4z" />,
  ShieldCheck:(p)=> <Icon {...p} d={<g><path d="M8 1.5 3 3.5v4c0 3 2.5 5.5 5 6.5 2.5-1 5-3.5 5-6.5v-4z"/><path d="M5.5 7.8 7.3 9.6 10.5 6.4"/></g>} />,
  Verified:(p) => <Icon {...p} d={<g><path d="M8 1.5 9.6 3 11.7 2.7l.6 2.1L14 6l-1 1.7 1 1.7-1.7 1.2-.6 2.1L9.6 13 8 14.5 6.4 13l-2.1.3-.6-2.1L2 9.4l1-1.7L2 6l1.7-1.2.6-2.1L6.4 3z"/><path d="M5.6 8 7.3 9.7 10.4 6.5"/></g>} />,
  Sparkle:(p) => <Icon {...p} d="M8 2v3.5M8 10.5V14M2 8h3.5M10.5 8H14M4 4l2.2 2.2M9.8 9.8 12 12M4 12l2.2-2.2M9.8 6.2 12 4" />,
  Zap:    (p) => <Icon {...p} d="M9 1.5 3 9h4l-1 5.5L13 7H8.8z" />,
  Code:   (p) => <Icon {...p} d="M5.5 5 2.5 8l3 3M10.5 5l3 3-3 3M9.5 4l-3 8" />,
  Doc:    (p) => <Icon {...p} d="M4 1.5h5l3 3v10H4zM9 1.5v3h3M5.5 8h5M5.5 10.5h5M5.5 5.5H7" />,
  Db:     (p) => <Icon {...p} d="M3 3.5c0-1 2.2-2 5-2s5 1 5 2v9c0 1-2.2 2-5 2s-5-1-5-2zM3 3.5c0 1 2.2 2 5 2s5-1 5-2M3 7.5c0 1 2.2 2 5 2s5-1 5-2M3 11.5c0 1 2.2 2 5 2s5-1 5-2" />,
  Pulse:  (p) => <Icon {...p} d="M1.5 8h3l1.5-4 3 8 1.5-4h4" />,
  Beaker: (p) => <Icon {...p} d="M6 1.5h4M6.5 1.5v4l-3 6c-.5 1 .2 2 1 2h7c.8 0 1.5-1 1-2l-3-6v-4M5 9h6" />,
  User:   (p) => <Icon {...p} d="M8 8.5a2.8 2.8 0 1 0 0-5.6 2.8 2.8 0 0 0 0 5.6Z M2.5 14c.5-2.6 2.7-4 5.5-4s5 1.4 5.5 4" />,
  Users:  (p) => <Icon {...p} d="M5.5 8a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5ZM10.5 8.5a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM1 13.5c.4-2 2.2-3 4.5-3s4 1 4.5 3M9.5 10.8c1.6.2 3 1 3.5 2.7" />,
  Clock:  (p) => <Icon {...p} d="M8 14.5A6.5 6.5 0 1 0 8 1.5a6.5 6.5 0 0 0 0 13ZM8 4.5V8l2.5 1.5" />,
  Filter: (p) => <Icon {...p} d="M2 3.5h12l-4.5 5.5v4l-3 1.5v-5.5z" />,
  Sliders:(p) => <Icon {...p} d="M2 4.5h8M2 11.5h4M11 4.5h3M9 11.5h5M9 3v3M7 10v3" />,
  Grid:   (p) => <Icon {...p} d="M2 2.5h5v5H2zM9 2.5h5v5H9zM2 9.5h5v5H2zM9 9.5h5v5H9z" />,
  List:   (p) => <Icon {...p} d="M2 4h12M2 8h12M2 12h12" />,
  Lock:   (p) => <Icon {...p} d="M4 7.5h8v6H4zM5.5 7.5V5a2.5 2.5 0 0 1 5 0v2.5" />,
  Globe:  (p) => <Icon {...p} d="M8 14.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13ZM1.5 8h13M8 1.5c2 2 2 11 0 13M8 1.5c-2 2-2 11 0 13" />,
  Folder: (p) => <Icon {...p} d="M2 4.5h4l1.5 1.5H14v7H2z" />,
  Link:   (p) => <Icon {...p} d="M6.5 9.5l3-3M5 8 3.5 9.5a2.5 2.5 0 0 0 3.5 3.5L8.5 11.5M11 8l1.5-1.5a2.5 2.5 0 0 0-3.5-3.5L7.5 4.5" />,
  Play:   (p) => <Icon {...p} d="M5 3 12 8 5 13z" fill="currentColor" />,
  Dots:   (p) => <Icon {...p} d={<g><circle cx="3.5" cy="8" r="1" fill="currentColor"/><circle cx="8" cy="8" r="1" fill="currentColor"/><circle cx="12.5" cy="8" r="1" fill="currentColor"/></g>} />,
  Settings:(p)=> <Icon {...p} d="M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z M13 8c0-.4 0-.8-.1-1.2L14 6l-1-1.7-1.4.4a4.7 4.7 0 0 0-2.1-1.2L9 2H7l-.5 1.5A4.7 4.7 0 0 0 4.4 4.7L3 4.3 2 6l1.1 1c-.1.3-.1.7-.1 1s0 .7.1 1L2 10l1 1.7 1.4-.4a4.7 4.7 0 0 0 2.1 1.2L7 14h2l.5-1.5a4.7 4.7 0 0 0 2.1-1.2l1.4.4L14 10l-1.1-1c.1-.3.1-.7.1-1Z" />,
  Download:(p)=> <Icon {...p} d="M8 2.5v8m0 0L5 7.5m3 3 3-3M2.5 12.5v1.5h11v-1.5" />,
  Library:(p) => <Icon {...p} d="M3 2.5h2v11H3zM7 2.5h2v11H7zM11.2 3l1.9.5-2.6 9.7-1.9-.5z" />,
  Spark:  (p) => <Icon {...p} d="M8 1v4M8 11v4M1 8h4M11 8h4" />,
  Trend:  (p) => <Icon {...p} d="M2 11.5 6 7l3 2.5L14 4M14 4h-3M14 4v3" />,
};

window.I = I;
