// Vanday DAM — icons (stroke-based, original)
const Ic = ({ children, size = 18, stroke = 1.6, ...p }) => (
  <svg
    width={size}
    height={size}
    viewBox="0 0 24 24"
    fill="none"
    stroke="currentColor"
    strokeWidth={stroke}
    strokeLinecap="round"
    strokeLinejoin="round"
    {...p}
  >
    {children}
  </svg>
);

const IcHome = (p) => <Ic {...p}><path d="M3 11l9-7 9 7" /><path d="M5 10v10h14V10" /></Ic>;
const IcSearch = (p) => <Ic {...p}><circle cx="11" cy="11" r="7" /><path d="M21 21l-4.3-4.3" /></Ic>;
const IcBell = (p) => <Ic {...p}><path d="M6 8a6 6 0 1112 0c0 6 2 7 2 7H4s2-1 2-7z" /><path d="M10 20a2 2 0 004 0" /></Ic>;
const IcUpload = (p) => <Ic {...p}><path d="M12 16V4" /><path d="M7 9l5-5 5 5" /><path d="M5 20h14" /></Ic>;
const IcFolder = (p) => <Ic {...p}><path d="M3 7a2 2 0 012-2h4l2 2h8a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V7z" /></Ic>;
const IcImage = (p) => <Ic {...p}><rect x="3" y="4" width="18" height="16" rx="2" /><circle cx="9" cy="10" r="2" /><path d="M21 16l-5-5L5 20" /></Ic>;
const IcTrash = (p) => <Ic {...p}><path d="M4 7h16" /><path d="M10 11v6M14 11v6" /><path d="M5 7l1 13a2 2 0 002 2h8a2 2 0 002-2l1-13" /><path d="M9 7V4h6v3" /></Ic>;
const IcSettings = (p) => <Ic {...p}><circle cx="12" cy="12" r="3" /><path d="M19.4 15a1.7 1.7 0 00.3 1.8l.1.1a2 2 0 11-2.8 2.8l-.1-.1a1.7 1.7 0 00-1.8-.3 1.7 1.7 0 00-1 1.5V21a2 2 0 11-4 0v-.1a1.7 1.7 0 00-1.1-1.5 1.7 1.7 0 00-1.8.3l-.1.1a2 2 0 11-2.8-2.8l.1-.1a1.7 1.7 0 00.3-1.8 1.7 1.7 0 00-1.5-1H3a2 2 0 110-4h.1a1.7 1.7 0 001.5-1.1 1.7 1.7 0 00-.3-1.8l-.1-.1a2 2 0 112.8-2.8l.1.1a1.7 1.7 0 001.8.3H9a1.7 1.7 0 001-1.5V3a2 2 0 114 0v.1a1.7 1.7 0 001 1.5 1.7 1.7 0 001.8-.3l.1-.1a2 2 0 112.8 2.8l-.1.1a1.7 1.7 0 00-.3 1.8V9a1.7 1.7 0 001.5 1H21a2 2 0 110 4h-.1a1.7 1.7 0 00-1.5 1z" /></Ic>;
const IcGrid = (p) => <Ic {...p}><rect x="3" y="3" width="7" height="7" rx="1" /><rect x="14" y="3" width="7" height="7" rx="1" /><rect x="3" y="14" width="7" height="7" rx="1" /><rect x="14" y="14" width="7" height="7" rx="1" /></Ic>;
const IcList = (p) => <Ic {...p}><path d="M8 6h13M8 12h13M8 18h13" /><circle cx="4" cy="6" r="1" /><circle cx="4" cy="12" r="1" /><circle cx="4" cy="18" r="1" /></Ic>;
const IcFilter = (p) => <Ic {...p}><path d="M4 5h16l-6 8v6l-4-2v-4L4 5z" /></Ic>;
const IcSort = (p) => <Ic {...p}><path d="M7 4v16M3 8l4-4 4 4" /><path d="M17 20V4M13 16l4 4 4-4" /></Ic>;
const IcChevR = (p) => <Ic {...p}><path d="M9 6l6 6-6 6" /></Ic>;
const IcChevL = (p) => <Ic {...p}><path d="M15 6l-9 6 9 6" /></Ic>;
const IcChevD = (p) => <Ic {...p}><path d="M6 9l6 6 6-6" /></Ic>;
const IcStar = ({ filled, ...p }) => (
  <Ic {...p}>
    <path d="M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.5 2.9 1-6.1L3 9.5l6.1-.9L12 3z" fill={filled ? "currentColor" : "none"} />
  </Ic>
);
const IcPlus = (p) => <Ic {...p}><path d="M12 5v14M5 12h14" /></Ic>;
const IcUsers = (p) => <Ic {...p}><circle cx="9" cy="8" r="4" /><path d="M2 21a7 7 0 0114 0" /><path d="M16 4a4 4 0 010 8" /><path d="M22 21a7 7 0 00-5-6.7" /></Ic>;
const IcCard = (p) => <Ic {...p}><rect x="3" y="6" width="18" height="13" rx="2" /><path d="M3 10h18" /></Ic>;
const IcTag = (p) => <Ic {...p}><path d="M3 12V4h8l10 10-8 8L3 12z" /><circle cx="8" cy="8" r="1.5" /></Ic>;
const IcShield = (p) => <Ic {...p}><path d="M12 3l8 3v6c0 5-3.4 8.5-8 9-4.6-.5-8-4-8-9V6l8-3z" /></Ic>;
const IcDownload = (p) => <Ic {...p}><path d="M12 4v12" /><path d="M7 11l5 5 5-5" /><path d="M5 20h14" /></Ic>;
const IcShare = (p) => <Ic {...p}><circle cx="18" cy="5" r="3" /><circle cx="6" cy="12" r="3" /><circle cx="18" cy="19" r="3" /><path d="M8.6 10.5l6.8-4M8.6 13.5l6.8 4" /></Ic>;
const IcInfo = (p) => <Ic {...p}><circle cx="12" cy="12" r="9" /><path d="M12 8h.01M11 12h1v5h1" /></Ic>;
const IcSparkles = (p) => <Ic {...p}><path d="M5 3v4M3 5h4" /><path d="M19 13v4M17 15h4" /><path d="M11 5l2.5 5 5 2.5-5 2.5L11 20l-2.5-5L3.5 12.5l5-2.5L11 5z" /></Ic>;
const IcEye = (p) => <Ic {...p}><path d="M1 12s4-7 11-7 11 7 11 7-4 7-11 7S1 12 1 12z" /><circle cx="12" cy="12" r="3" /></Ic>;
const IcMore = (p) => <Ic {...p}><circle cx="5" cy="12" r="1.4" /><circle cx="12" cy="12" r="1.4" /><circle cx="19" cy="12" r="1.4" /></Ic>;
const IcClose = (p) => <Ic {...p}><path d="M6 6l12 12M18 6L6 18" /></Ic>;
const IcZoomIn = (p) => <Ic {...p}><circle cx="11" cy="11" r="7" /><path d="M21 21l-4.3-4.3M11 8v6M8 11h6" /></Ic>;
const IcZoomOut = (p) => <Ic {...p}><circle cx="11" cy="11" r="7" /><path d="M21 21l-4.3-4.3M8 11h6" /></Ic>;
const IcFullscreen = (p) => <Ic {...p}><path d="M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5" /></Ic>;
const IcGoogle = (p) => (
  <svg width={p.size || 16} height={p.size || 16} viewBox="0 0 24 24">
    <path fill="#4285F4" d="M22.5 12.2c0-.8-.1-1.6-.2-2.3H12v4.3h5.9a5 5 0 01-2.2 3.3v2.8h3.6c2.1-2 3.2-4.8 3.2-8.1z" />
    <path fill="#34A853" d="M12 23c2.9 0 5.4-1 7.2-2.6l-3.6-2.8c-1 .7-2.3 1.1-3.6 1.1-2.8 0-5.1-1.9-6-4.4H2.4v2.8A11 11 0 0012 23z" />
    <path fill="#FBBC05" d="M6 14.3a6.6 6.6 0 010-4.2V7.3H2.4a11 11 0 000 9.9L6 14.3z" />
    <path fill="#EA4335" d="M12 5.4c1.6 0 3 .5 4.1 1.6l3.1-3.1A11 11 0 0012 1 11 11 0 002.4 7.3L6 10.1c.9-2.5 3.2-4.4 6-4.4z" />
  </svg>
);
const IcApple = (p) => <Ic {...p} fill="currentColor" stroke="none"><path d="M16.5 12.5c0-2.7 2.2-4 2.3-4-1.2-1.8-3.2-2.1-3.9-2.1-1.6-.2-3.2 1-4 1-.9 0-2.2-1-3.6-1A5 5 0 003 8.9c-1.4 2.5-.4 6.2 1 8.2.7 1 1.5 2 2.5 2 1 0 1.4-.6 2.6-.6 1.2 0 1.6.6 2.7.6 1.1 0 1.8-1 2.5-2 .8-1.1 1.1-2.2 1.1-2.3-.1 0-2.1-.8-2.1-3.3M14.3 5c.5-.7.9-1.6.8-2.5-.8 0-1.7.5-2.2 1.2-.5.6-.9 1.5-.8 2.4.9.1 1.7-.4 2.2-1.1" /></Ic>;

const IcLink = (p) => <Ic {...p}><path d="M10 14a4 4 0 005.66 0l3-3a4 4 0 10-5.66-5.66l-1 1" /><path d="M14 10a4 4 0 00-5.66 0l-3 3a4 4 0 105.66 5.66l1-1" /></Ic>;
const IcPlay = (p) => <Ic {...p} fill="currentColor" stroke="none"><path d="M7 5l12 7-12 7V5z" /></Ic>;
const IcCalendar = (p) => <Ic {...p}><rect x="3" y="5" width="18" height="16" rx="2" /><path d="M3 9h18M8 3v4M16 3v4" /></Ic>;
const IcClock = (p) => <Ic {...p}><circle cx="12" cy="12" r="9" /><path d="M12 7v5l3 2" /></Ic>;
const IcExternal = (p) => <Ic {...p}><path d="M14 4h6v6" /><path d="M20 4l-9 9" /><path d="M19 14v5a1 1 0 01-1 1H5a1 1 0 01-1-1V6a1 1 0 011-1h5" /></Ic>;
const IcCrop = (p) => <Ic {...p}><path d="M6 2v16a1 1 0 001 1h15" /><path d="M2 6h16a1 1 0 011 1v15" /></Ic>;
const IcSend = (p) => <Ic {...p}><path d="M22 2L11 13" /><path d="M22 2l-7 20-4-9-9-4 20-7z" /></Ic>;
const IcCheck = (p) => <Ic {...p}><path d="M4 12l5 5L20 6" /></Ic>;
const IcAlert = (p) => <Ic {...p}><path d="M10.3 3.9L1.8 18a2 2 0 001.7 3h17a2 2 0 001.7-3L14.3 3.9a2 2 0 00-3.4 0z" /><path d="M12 9v4M12 17h.01" /></Ic>;
const IcCheckCircle = (p) => <Ic {...p}><circle cx="12" cy="12" r="9" /><path d="M8.5 12l2.5 2.5 4.5-5" /></Ic>;
// Inbox tray — "new things land here." Replaces the old dashed-square mark for unfiled uploads.
const IcInbox = (p) => <Ic {...p}><path d="M4 13h3.5l1 2.2a1 1 0 00.9.6h5.2a1 1 0 00.9-.6l1-2.2H21" /><path d="M6.4 5.4h11.2a1 1 0 01.93.64L21 13v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4l2.47-6.96a1 1 0 01.93-.64z" /></Ic>;

// Social marks — simplified, original glyphs (NOT logos)
function SiteMark({ site, size = 14 }) {
  const s = typeof site === "string" ? SITES.find((x) => x.id === site) : site;
  if (!s) return null;
  return (
    <span
      className="site-mark"
      style={{
        width: size,
        height: size,
        background: s.color,
        color: "white",
        fontSize: size * 0.55,
      }}
    >
      {s.short}
    </span>
  );
}

Object.assign(window, {
  IcHome, IcSearch, IcBell, IcUpload, IcFolder, IcImage, IcTrash,
  IcSettings, IcGrid, IcList, IcFilter, IcSort, IcChevR, IcChevL, IcChevD,
  IcStar, IcPlus, IcUsers, IcCard, IcTag, IcShield, IcDownload, IcShare,
  IcInfo, IcSparkles, IcEye, IcMore, IcClose, IcZoomIn, IcZoomOut, IcFullscreen,
  IcGoogle, IcApple,
  IcLink, IcPlay, IcCalendar, IcClock, IcExternal, IcCrop, IcSend, IcCheck,
  IcAlert, IcCheckCircle, IcInbox,
  SiteMark,
});
