/* icons.jsx — ไอคอนเส้น (stroke) สไตล์เดียวกันทั้งระบบ */
const Ic = ({ d, size = 20, sw = 1.8, fill = "none", children, ...p }) => (
  <svg width={size} height={size} viewBox="0 0 24 24" fill={fill} stroke="currentColor"
       strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round" {...p}>
    {d ? <path d={d} /> : children}
  </svg>
);

const Icons = {
  dashboard: (p) => <Ic {...p}><rect x="3" y="3" width="7" height="9" rx="1.5"/><rect x="14" y="3" width="7" height="5" rx="1.5"/><rect x="14" y="12" width="7" height="9" rx="1.5"/><rect x="3" y="16" width="7" height="5" rx="1.5"/></Ic>,
  receive: (p) => <Ic {...p}><path d="M12 3v11"/><path d="m7 9 5 5 5-5"/><path d="M5 21h14a0 0 0 0 0 0 0v-4a0 0 0 0 0 0 0H5a0 0 0 0 0 0 0v4a0 0 0 0 0 0 0Z"/></Ic>,
  issue: (p) => <Ic {...p}><path d="M12 21V10"/><path d="m7 15 5-5 5 5"/><path d="M5 3h14v4H5z"/></Ic>,
  box: (p) => <Ic {...p}><path d="M21 8 12 3 3 8l9 5 9-5Z"/><path d="M3 8v8l9 5 9-5V8"/><path d="m12 13 0 8"/></Ic>,
  grid: (p) => <Ic {...p}><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></Ic>,
  report: (p) => <Ic {...p}><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 13h2M8 17h6M14 13h2"/></Ic>,
  activity: (p) => <Ic {...p}><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></Ic>,
  search: (p) => <Ic {...p}><circle cx="11" cy="11" r="7"/><path d="m21 21-4.3-4.3"/></Ic>,
  bell: (p) => <Ic {...p}><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"/></Ic>,
  plus: (p) => <Ic {...p}><path d="M12 5v14M5 12h14"/></Ic>,
  close: (p) => <Ic {...p}><path d="M18 6 6 18M6 6l12 12"/></Ic>,
  trash: (p) => <Ic {...p}><path d="M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m2 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/><path d="M10 11v6M14 11v6"/></Ic>,
  check: (p) => <Ic {...p}><path d="M20 6 9 17l-5-5"/></Ic>,
  chevR: (p) => <Ic {...p}><path d="m9 18 6-6-6-6"/></Ic>,
  chevD: (p) => <Ic {...p}><path d="m6 9 6 6 6-6"/></Ic>,
  arrowUp: (p) => <Ic {...p}><path d="M12 19V5M5 12l7-7 7 7"/></Ic>,
  arrowDown: (p) => <Ic {...p}><path d="M12 5v14M19 12l-7 7-7-7"/></Ic>,
  trendUp: (p) => <Ic {...p}><path d="M16 7h6v6"/><path d="m22 7-8.5 8.5-5-5L2 17"/></Ic>,
  alert: (p) => <Ic {...p}><path d="M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z"/><path d="M12 9v4M12 17h.01"/></Ic>,
  pin: (p) => <Ic {...p}><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"/><circle cx="12" cy="10" r="3"/></Ic>,
  filter: (p) => <Ic {...p}><path d="M22 3H2l8 9.5V19l4 2v-8.5L22 3Z"/></Ic>,
  download: (p) => <Ic {...p}><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><path d="M7 10l5 5 5-5M12 15V3"/></Ic>,
  print: (p) => <Ic {...p}><path d="M6 9V2h12v7"/><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><rect x="6" y="14" width="12" height="8" rx="1"/></Ic>,
  menu: (p) => <Ic {...p}><path d="M3 6h18M3 12h18M3 18h18"/></Ic>,
  calendar: (p) => <Ic {...p}><rect x="3" y="4" width="18" height="18" rx="2"/><path d="M16 2v4M8 2v4M3 10h18"/></Ic>,
  user: (p) => <Ic {...p}><circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/></Ic>,
  truck: (p) => <Ic {...p}><path d="M14 18V6a1 1 0 0 0-1-1H2v13"/><path d="M14 9h5l3 3v6h-8"/><circle cx="6.5" cy="18.5" r="2"/><circle cx="17.5" cy="18.5" r="2"/></Ic>,
  layers: (p) => <Ic {...p}><path d="m12 2 9 5-9 5-9-5 9-5Z"/><path d="m3 12 9 5 9-5M3 17l9 5 9-5"/></Ic>,
  tag: (p) => <Ic {...p}><path d="M12.6 2.6 21 11a2 2 0 0 1 0 2.8L13.8 21a2 2 0 0 1-2.8 0L2.6 12.6A2 2 0 0 1 2 11.2V4a2 2 0 0 1 2-2h7.2a2 2 0 0 1 1.4.6Z"/><circle cx="7.5" cy="7.5" r="1.2" fill="currentColor"/></Ic>,
  refresh: (p) => <Ic {...p}><path d="M3 12a9 9 0 0 1 15-6.7L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-15 6.7L3 16"/><path d="M3 21v-5h5"/></Ic>,
  edit: (p) => <Ic {...p}><path d="M12 20h9"/><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"/></Ic>,
  sort: (p) => <Ic {...p}><path d="M11 5h10M11 9h7M11 13h4M3 17l3 3 3-3M6 4v16"/></Ic>,
};
window.Icons = Icons;
