// Icons.jsx — minimal Lucide-style stroke icons used across the kit.
// Pure SVG, currentColor stroke. Add icons here as needed.

const Icon = ({ name, size = 16, className = '', style }) => {
  const paths = ICONS[name];
  if (!paths) return null;
  return (
    <svg className={`ic ${className}`} viewBox="0 0 24 24" width={size} height={size} style={style} aria-hidden="true">
      {paths}
    </svg>
  );
};

const ICONS = {
  search:    <><circle cx="11" cy="11" r="7" /><path d="M21 21l-4.3-4.3" /></>,
  bell:      <><path d="M6 8a6 6 0 1 1 12 0c0 7 3 7 3 9H3c0-2 3-2 3-9z"/><path d="M10 21a2 2 0 0 0 4 0"/></>,
  plus:      <><path d="M12 5v14M5 12h14"/></>,
  filter:    <><path d="M3 4h18M6 12h12M10 20h4"/></>,
  more:      <><circle cx="5" cy="12" r="1.4"/><circle cx="12" cy="12" r="1.4"/><circle cx="19" cy="12" r="1.4"/></>,
  arrow_r:   <><path d="M5 12h14M13 6l6 6-6 6"/></>,
  arrow_d:   <><path d="M6 9l6 6 6-6"/></>,
  chev_r:    <><path d="M9 6l6 6-6 6"/></>,
  chev_l:    <><path d="M15 6l-6 6 6 6"/></>,
  close:     <><path d="M6 6l12 12M18 6l-6 12"/></>,
  download:  <><path d="M12 4v12M7 11l5 5 5-5M5 20h14"/></>,
  file:      <><path d="M7 3h7l4 4v14H7z"/><path d="M14 3v5h5"/></>,
  ship:      <><path d="M3 16l1.5 4h15L21 16"/><path d="M5 14V8h14v6"/><path d="M9 8V5h6v3"/></>,
  plane:     <><path d="M2 16l9-3 1-9 2 9 8 3-8 1-1 4-2-4z"/></>,
  truck:     <><rect x="2" y="7" width="12" height="9" rx="1"/><path d="M14 10h5l3 3v3h-8"/><circle cx="6" cy="18" r="2"/><circle cx="18" cy="18" r="2"/></>,
  train:     <><rect x="5" y="3" width="14" height="14" rx="2"/><path d="M5 11h14M9 17l-2 4M15 17l2 4"/></>,
  package:   <><path d="M3 7l9-4 9 4-9 4z"/><path d="M3 7v10l9 4 9-4V7"/><path d="M12 11v10"/></>,
  customs:   <><path d="M4 21h16M6 21V9l6-4 6 4v12"/><path d="M9 21v-6h6v6"/></>,
  alert:     <><path d="M12 3l10 18H2z"/><path d="M12 10v5M12 18v.5"/></>,
  pin:       <><path d="M12 2C8 2 5 5 5 9c0 5 7 13 7 13s7-8 7-13c0-4-3-7-7-7z"/><circle cx="12" cy="9" r="2.5"/></>,
  dollar:    <><path d="M12 3v18M16 7H10a3 3 0 0 0 0 6h4a3 3 0 0 1 0 6H7"/></>,
  chart:     <><path d="M3 3v18h18"/><path d="M7 14l3-3 3 3 5-6"/></>,
  users:     <><circle cx="9" cy="8" r="3"/><path d="M3 21c0-3 3-5 6-5s6 2 6 5"/><circle cx="17" cy="9" r="2.5"/><path d="M14 17c1-2 3-3 5-3s2 1 2 3"/></>,
  globe:     <><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/></>,
  cog:       <><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 0 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 0 1-4 0v-.1a1.7 1.7 0 0 0-1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 0 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 0 1 0-4h.1a1.7 1.7 0 0 0 1.5-1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 0 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3 1.7 1.7 0 0 0 1-1.5V3a2 2 0 0 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 0 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8 1.7 1.7 0 0 0 1.5 1H21a2 2 0 0 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1z"/></>,
  inbox:     <><path d="M3 13l3-9h12l3 9"/><path d="M3 13v6a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-6"/><path d="M3 13h5l2 3h4l2-3h5"/></>,
  refresh:   <><path d="M3 12a9 9 0 0 1 15.5-6.5L21 8"/><path d="M21 4v4h-4"/><path d="M21 12a9 9 0 0 1-15.5 6.5L3 16"/><path d="M3 20v-4h4"/></>,
  copy:      <><rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"/></>,
  pencil:    <><path d="M14 4l6 6-12 12H2v-6z"/></>,
  upload:    <><path d="M12 20V8M7 13l5-5 5 5M5 4h14"/></>,
  link:      <><path d="M10 14a4 4 0 0 0 5.5 0l3-3a4 4 0 0 0-5.5-5.5l-1 1"/><path d="M14 10a4 4 0 0 0-5.5 0l-3 3a4 4 0 0 0 5.5 5.5l1-1"/></>,
  calendar:  <><rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18M8 3v4M16 3v4"/></>,
  check:     <><path d="M5 12l5 5L20 7"/></>,
  building:  <><rect x="4" y="3" width="16" height="18" rx="1"/><path d="M8 7h2M8 11h2M8 15h2M14 7h2M14 11h2M14 15h2M10 21v-4h4v4"/></>,
  hash:      <><path d="M4 9h16M4 15h16M10 3L8 21M16 3l-2 18"/></>,
  swap:      <><path d="M7 7h13M16 3l4 4-4 4M17 17H4M8 21l-4-4 4-4"/></>,
  anchor:    <><circle cx="12" cy="6" r="2.5"/><path d="M12 8.5V21M5 14a7 7 0 0 0 14 0M3 14h4M17 14h4M8 11h8"/></>,
  command:   <><path d="M6 6h12v12H6z"/><path d="M9 9V6a2 2 0 1 0-2 2h2M15 9V6a2 2 0 1 1 2 2h-2M9 15v3a2 2 0 1 1-2-2h2M15 15v3a2 2 0 1 0 2-2h-2"/></>,
  info:      <><circle cx="12" cy="12" r="9"/><path d="M12 11v6M12 8v.5"/></>,
  user:      <><circle cx="12" cy="8" r="4"/><path d="M4 21c0-4 4-7 8-7s8 3 8 7"/></>,
  boxes:     <><path d="M3 8l4-2 4 2-4 2zM13 8l4-2 4 2-4 2zM8 16l4-2 4 2-4 2z"/><path d="M3 8v6l4 2M11 8v6l-4 2M13 8v6l4 2M21 8v6l-4 2M8 16v5M16 16v5"/></>,
  printer:   <><path d="M6 9V3h12v6"/><rect x="3" y="9" width="18" height="9" rx="1"/><path d="M6 14h12v7H6z"/></>,
  columns:   <><rect x="3" y="4" width="18" height="16" rx="1"/><path d="M9 4v16M15 4v16"/></>,
  trash:     <><path d="M4 7h16M9 7V4h6v3M6 7l1 13h10l1-13"/></>,
  folder:    <><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"/></>,
  grip:      <><circle cx="9"  cy="6"  r="1.2"/><circle cx="9"  cy="12" r="1.2"/><circle cx="9"  cy="18" r="1.2"/><circle cx="15" cy="6"  r="1.2"/><circle cx="15" cy="12" r="1.2"/><circle cx="15" cy="18" r="1.2"/></>,
  chev_u:    <><path d="M6 15l6-6 6 6"/></>,
  chev_d:    <><path d="M6 9l6 6 6-6"/></>,
};

window.Icon = Icon;
