/* hub-icons.jsx — bộ icon stroke (Lucide-style) cho Hub → window.HubIcon
   (KHÔNG đụng window.Icon của workspace) */
(function () {
  const _I = ({ size = 18, sw = 1.8, children, color }) => (
    <svg width={size} height={size} viewBox="0 0 24 24" fill="none"
      stroke={color || "currentColor"} strokeWidth={sw} strokeLinecap="round" strokeLinejoin="round">{children}</svg>
  );

  const HubIcon = {
    grid:   (p) => <_I {...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"/></_I>,
    layers: (p) => <_I {...p}><path d="M12 3 3 8l9 5 9-5-9-5Z"/><path d="m3 13 9 5 9-5"/></_I>,
    cube:   (p) => <_I {...p}><path d="M21 8.5 12 13 3 8.5 12 4l9 4.5Z"/><path d="M3 8.5v7L12 20l9-4.5v-7"/><path d="M12 13v7"/></_I>,
    users:  (p) => <_I {...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.2a3.2 3.2 0 0 1 0 5.6"/><path d="M17.5 19a5.5 5.5 0 0 0-2.3-4.5"/></_I>,
    doc:    (p) => <_I {...p}><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5Z"/><path d="M14 3v5h5"/><path d="M9 13h6M9 17h6"/></_I>,
    flow:   (p) => <_I {...p}><rect x="3" y="4" width="7" height="5" rx="1.5"/><rect x="14" y="15" width="7" height="5" rx="1.5"/><path d="M6.5 9v4.5a2 2 0 0 0 2 2H14"/></_I>,
    calendar:(p)=> <_I {...p}><rect x="3" y="4.5" width="18" height="16" rx="2.5"/><path d="M3 9h18M8 3v3M16 3v3"/></_I>,
    chart:  (p) => <_I {...p}><path d="M4 20V10M10 20V4M16 20v-7M22 20H2"/></_I>,
    search: (p) => <_I {...p}><circle cx="11" cy="11" r="7"/><path d="m20 20-3.5-3.5"/></_I>,
    bell:   (p) => <_I {...p}><path d="M18 9a6 6 0 0 0-12 0c0 6-2.5 7-2.5 7h17S18 15 18 9Z"/><path d="M10.5 20a2 2 0 0 0 3 0"/></_I>,
    gear:   (p) => <_I {...p}><circle cx="12" cy="12" r="3"/><path d="M19.4 13.5a1.7 1.7 0 0 0 .3 1.9l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-2.9 1.2V21a2 2 0 1 1-4 0v-.1A1.7 1.7 0 0 0 6.8 19.2a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0-1.2-2.9H2.8a2 2 0 1 1 0-4h.1A1.7 1.7 0 0 0 4.2 6.8a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.9.3 1.7 1.7 0 0 0 1-1.5V2.8a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 2.9 1.2 2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.9 1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z"/></_I>,
    sun:    (p) => <_I {...p}><circle cx="12" cy="12" r="4"/><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"/></_I>,
    moon:   (p) => <_I {...p}><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"/></_I>,
    check:  (p) => <_I {...p}><path d="m4 12.5 5 5 11-11"/></_I>,
    checkCircle:(p)=> <_I {...p}><circle cx="12" cy="12" r="9"/><path d="m8.5 12 2.5 2.5 4.5-5"/></_I>,
    clock:  (p) => <_I {...p}><circle cx="12" cy="12" r="9"/><path d="M12 7.5V12l3 2"/></_I>,
    plus:   (p) => <_I {...p}><path d="M12 5v14M5 12h14"/></_I>,
    filter: (p) => <_I {...p}><path d="M3 5h18l-7 8v6l-4-2v-4L3 5Z"/></_I>,
    download:(p)=> <_I {...p}><path d="M12 3v12m0 0 4-4m-4 4-4-4M4 21h16"/></_I>,
    home3:  (p) => <_I {...p}><path d="m3 10 9-7 9 7"/><path d="M5 9v11h14V9"/><path d="M10 20v-6h4v6"/></_I>,
    upload: (p) => <_I {...p}><path d="M12 16V4m0 0 4 4m-4-4-4 4M4 20h16"/></_I>,
    dots:   (p) => <_I {...p}><circle cx="5" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="12" cy="12" r="1.4" fill="currentColor" stroke="none"/><circle cx="19" cy="12" r="1.4" fill="currentColor" stroke="none"/></_I>,
    arrowUp:(p)=> <_I {...p}><path d="M12 19V5m0 0-6 6m6-6 6 6"/></_I>,
    arrowDn:(p)=> <_I {...p}><path d="M12 5v14m0 0 6-6m-6 6-6-6"/></_I>,
    shield: (p) => <_I {...p}><path d="M12 3 5 6v5c0 4.5 3 7.6 7 9 4-1.4 7-4.5 7-9V6l-7-3Z"/><path d="m9 12 2 2 4-4"/></_I>,
    send:   (p) => <_I {...p}><path d="M21 3 10.5 13.5M21 3l-6.6 18-3.9-8.1L2.4 9 21 3Z"/></_I>,
    burst:  (p) => <_I {...p}><path d="m12 2 2.2 5.2L19.5 5l-2.3 5.4 5.3 1.6-5.3 1.6L19.5 19l-5.3-2.2L12 22l-2.2-5.2L4.5 19l2.3-5.4L1.5 12l5.3-1.6L4.5 5l5.3 2.2L12 2Z"/></_I>,
    flag:   (p) => <_I {...p}><path d="M5 21V4M5 4h11l-1.5 3.5L16 11H5"/></_I>,
    ban:    (p) => <_I {...p}><circle cx="12" cy="12" r="9"/><path d="m5.6 5.6 12.8 12.8"/></_I>,
    chevR:  (p) => <_I {...p}><path d="m9 6 6 6-6 6"/></_I>,
    chevD:  (p) => <_I {...p}><path d="m6 9 6 6 6-6"/></_I>,
    chevUD: (p) => <_I {...p}><path d="m8 9 4-4 4 4M8 15l4 4 4-4"/></_I>,
    folder: (p) => <_I {...p}><path d="M3 7a2 2 0 0 1 2-2h4l2 2.5h8a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"/></_I>,
  };

  window.HubIcon = HubIcon;
})();
