/* icons.jsx — small inline stroke icon set. Exports to window. */
const Ic = ({ d, size = 18, fill = "none", sw = 1.7, children, ...rest }) =>
  React.createElement(
    "svg",
    {
      width: size,
      height: size,
      viewBox: "0 0 24 24",
      fill,
      stroke: "currentColor",
      strokeWidth: sw,
      strokeLinecap: "round",
      strokeLinejoin: "round",
      ...rest,
    },
    children || (d ? React.createElement("path", { d }) : null)
  );

const Icon = {
  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>,
  users: (p) => <Ic {...p}><circle cx="9" cy="8" r="3.2" /><path d="M3.5 19a5.5 5.5 0 0 1 11 0" /><path d="M16 5.5a3 3 0 0 1 0 5.6" /><path d="M17.5 19a5.2 5.2 0 0 0-3-4.7" /></Ic>,
  wallet: (p) => <Ic {...p}><rect x="3" y="6" width="18" height="13" rx="2.5" /><path d="M3 9h18" /><circle cx="16.5" cy="13.5" r="1.3" fill="currentColor" stroke="none" /></Ic>,
  clock: (p) => <Ic {...p}><circle cx="12" cy="12" r="8.5" /><path d="M12 7.5V12l3 2" /></Ic>,
  bell: (p) => <Ic {...p}><path d="M6 9a6 6 0 0 1 12 0c0 5 2 6 2 6H4s2-1 2-6Z" /><path d="M10 19a2 2 0 0 0 4 0" /></Ic>,
  plus: (p) => <Ic {...p}><path d="M12 5v14M5 12h14" /></Ic>,
  search: (p) => <Ic {...p}><circle cx="11" cy="11" r="6.5" /><path d="m20 20-3.2-3.2" /></Ic>,
  pin: (p) => <Ic {...p}><path d="M9 4h6l-1 5 3 3v2h-5v5l-1 1-1-1v-5H4v-2l3-3-1-5Z" /></Ic>,
  edit: (p) => <Ic {...p}><path d="M4 20h4L18.5 9.5a2.1 2.1 0 0 0-3-3L5 17v3Z" /><path d="M14 7l3 3" /></Ic>,
  trash: (p) => <Ic {...p}><path d="M4 7h16M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M6 7l1 13h10l1-13" /></Ic>,
  close: (p) => <Ic {...p}><path d="M6 6l12 12M18 6 6 18" /></Ic>,
  chevR: (p) => <Ic {...p}><path d="m9 6 6 6-6 6" /></Ic>,
  chevL: (p) => <Ic {...p}><path d="m15 6-6 6 6 6" /></Ic>,
  arrowDownRight: (p) => <Ic {...p}><path d="M7 7l10 10M9 17h8V9" /></Ic>,
  arrowUpRight: (p) => <Ic {...p}><path d="M7 17 17 7M9 7h8v8" /></Ic>,
  arrowRight: (p) => <Ic {...p}><path d="M5 12h14M13 6l6 6-6 6" /></Ic>,
  check: (p) => <Ic {...p}><path d="m5 12.5 4.5 4.5L19 7" /></Ic>,
  alert: (p) => <Ic {...p}><path d="M12 3 2.5 20h19L12 3Z" /><path d="M12 10v4M12 17.2v.2" /></Ic>,
  trend: (p) => <Ic {...p}><path d="M3 17l5-5 4 3 6-7" /><path d="M15 8h5v5" /></Ic>,
  flow: (p) => <Ic {...p}><circle cx="5" cy="6" r="2.2" /><circle cx="19" cy="12" r="2.2" /><circle cx="5" cy="18" r="2.2" /><path d="M7 7l10 4M7 17l10-4" /></Ic>,
  filter: (p) => <Ic {...p}><path d="M3 5h18l-7 8v5l-4 2v-7L3 5Z" /></Ic>,
  dots: (p) => <Ic {...p}><circle cx="5" cy="12" r="1.3" fill="currentColor" stroke="none" /><circle cx="12" cy="12" r="1.3" fill="currentColor" stroke="none" /><circle cx="19" cy="12" r="1.3" fill="currentColor" stroke="none" /></Ic>,
  menu: (p) => <Ic {...p}><path d="M4 7h16M4 12h16M4 17h16" /></Ic>,
  reset: (p) => <Ic {...p}><path d="M4 4v5h5" /><path d="M4 9a8 8 0 1 1-1.5 5" /></Ic>,
  doc: (p) => <Ic {...p}><path d="M6 3h8l4 4v14H6V3Z" /><path d="M14 3v4h4M9 12h6M9 16h6" /></Ic>,
};

window.Icon = Icon;
