/* Icon set — outlined, 14px viewbox-16, currentColor */
const Icon = ({ name, size = 14, className = "" }) => {
  const s = size;
  const common = { width: s, height: s, viewBox: "0 0 16 16", className: "ico-stroke " + className, fill: "none" };
  const paths = {
    home:        <><path d="M2 7l6-4.5L14 7v6.5a.5.5 0 0 1-.5.5H10v-4H6v4H2.5a.5.5 0 0 1-.5-.5z"/></>,
    catalog:     <><path d="M3 3.5A1.5 1.5 0 0 1 4.5 2H13v11.5a.5.5 0 0 1-.5.5h-8A1.5 1.5 0 0 1 3 12.5z"/><path d="M5 5.5h6M5 8h6M5 10.5h4"/></>,
    list:        <><path d="M5 4h8M5 8h8M5 12h8M2.5 4h.01M2.5 8h.01M2.5 12h.01"/></>,
    layers:      <><path d="M8 2l6 3-6 3-6-3z"/><path d="M2 8l6 3 6-3M2 11l6 3 6-3"/></>,
    work:        <><path d="M2 4h12v8H2z"/><path d="M2 7h12M5 4v8M11 4v8"/></>,
    piece:       <><path d="M11 2v8.5a2 2 0 1 1-1-1.73V4l-4 1v6.5a2 2 0 1 1-1-1.73V3.5z"/></>,
    contributor: <><circle cx="8" cy="6" r="2.5"/><path d="M3.5 13.5c.6-2 2.4-3 4.5-3s3.9 1 4.5 3"/></>,
    asset:       <><path d="M3 3h7l3 3v7H3z"/><path d="M10 3v3h3"/></>,
    raccolta:    <><path d="M3 3h6v3H3zM10 3h3v3h-3zM3 7h6v6H3zM10 7h3v6h-3z"/></>,
    taxonomy:    <><path d="M8 2v3M8 5L4 8M8 5l4 3M4 11h0M12 11h0M8 11h0"/><circle cx="8" cy="3" r="1"/><circle cx="4" cy="11" r="1.5"/><circle cx="8" cy="11" r="1.5"/><circle cx="12" cy="11" r="1.5"/></>,
    import:      <><path d="M8 2v8M5 7l3 3 3-3M3 13h10"/></>,
    settings:    <><circle cx="8" cy="8" r="2"/><path d="M8 1.5v2M8 12.5v2M14.5 8h-2M3.5 8h-2M12.6 3.4l-1.4 1.4M4.8 11.2l-1.4 1.4M12.6 12.6l-1.4-1.4M4.8 4.8L3.4 3.4"/></>,
    search:      <><circle cx="7" cy="7" r="4"/><path d="M10 10l3 3"/></>,
    bell:        <><path d="M4 6.5a4 4 0 0 1 8 0V10l1 2H3l1-2z"/><path d="M6.5 13a1.5 1.5 0 0 0 3 0"/></>,
    plus:        <><path d="M8 3v10M3 8h10"/></>,
    chevron:     <><path d="M6 4l4 4-4 4"/></>,
    chevronDown: <><path d="M4 6l4 4 4-4"/></>,
    arrowRight:  <><path d="M3 8h10M9 4l4 4-4 4"/></>,
    check:       <><path d="M3 8.5L6.5 12 13 4.5"/></>,
    x:           <><path d="M4 4l8 8M12 4l-8 8"/></>,
    edit:        <><path d="M3 13h2.5L13 5.5 10.5 3 3 10.5z"/></>,
    eye:         <><path d="M1 8s2.5-4.5 7-4.5S15 8 15 8s-2.5 4.5-7 4.5S1 8 1 8z"/><circle cx="8" cy="8" r="2"/></>,
    play:        <><path d="M5 3.5v9l8-4.5z" fill="currentColor"/></>,
    download:    <><path d="M8 2v9M5 8l3 3 3-3M3 14h10"/></>,
    upload:      <><path d="M8 11V2M5 5l3-3 3 3M3 14h10"/></>,
    filter:      <><path d="M2 3h12l-4.5 6v4l-3 1V9z"/></>,
    sort:        <><path d="M5 3v10M3 11l2 2 2-2M11 3v10M9 5l2-2 2 2"/></>,
    grid:        <><path d="M3 3h4v4H3zM9 3h4v4H9zM3 9h4v4H3zM9 9h4v4H9z"/></>,
    drag:        <><circle cx="6" cy="4" r="0.8" fill="currentColor"/><circle cx="10" cy="4" r="0.8" fill="currentColor"/><circle cx="6" cy="8" r="0.8" fill="currentColor"/><circle cx="10" cy="8" r="0.8" fill="currentColor"/><circle cx="6" cy="12" r="0.8" fill="currentColor"/><circle cx="10" cy="12" r="0.8" fill="currentColor"/></>,
    more:        <><circle cx="3" cy="8" r="1" fill="currentColor"/><circle cx="8" cy="8" r="1" fill="currentColor"/><circle cx="13" cy="8" r="1" fill="currentColor"/></>,
    link:        <><path d="M9 7l-2 2M6 5l-1.5 1.5a2.5 2.5 0 0 0 3.5 3.5L9.5 8.5M10 11l1.5-1.5a2.5 2.5 0 0 0-3.5-3.5L6.5 7.5"/></>,
    globe:       <><circle cx="8" cy="8" r="6"/><path d="M2 8h12M8 2c2 2 2 10 0 12M8 2c-2 2-2 10 0 12"/></>,
    clock:       <><circle cx="8" cy="8" r="6"/><path d="M8 5v3l2 1.5"/></>,
    music:       <><path d="M11 3v8a2 2 0 1 1-2-2V5l-4 1v6a2 2 0 1 1-2-2"/></>,
    folder:      <><path d="M2 4.5A1.5 1.5 0 0 1 3.5 3h3l1.5 1.5h4.5A1.5 1.5 0 0 1 14 6v6.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5z"/></>,
    star:        <><path d="M8 2l1.8 4 4.2.4-3.2 2.9 1 4.2L8 11.3 4.2 13.5l1-4.2L2 6.4 6.2 6z"/></>,
    warning:     <><path d="M8 2L14.5 13H1.5z"/><path d="M8 6.5v3M8 11v.5"/></>,
    error:       <><circle cx="8" cy="8" r="6"/><path d="M5 5l6 6M11 5l-6 6"/></>,
    check2:      <><circle cx="8" cy="8" r="6"/><path d="M5 8.5L7 10.5 11 6"/></>,
    publish:     <><path d="M8 2v8M11 6L8 3 5 6M3 13h10"/></>,
    trash:       <><path d="M3 5h10M6 5V3.5A.5.5 0 0 1 6.5 3h3a.5.5 0 0 1 .5.5V5M5 5l.5 8a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5L11 5"/></>,
    copy:        <><path d="M5 5V3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5H11"/><path d="M3 5.5A.5.5 0 0 1 3.5 5h7a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5z"/></>,
    refresh:     <><path d="M2.5 8a5.5 5.5 0 0 1 9.5-3.8M13.5 8a5.5 5.5 0 0 1-9.5 3.8"/><path d="M12 2v3h-3M4 14v-3h3"/></>,
    open:        <><path d="M9 3h4v4M13 3l-6 6M11 9v4H3V5h4"/></>,
    columns:     <><path d="M3 3h10v10H3zM7.5 3v10M11 3v10"/></>,
    lock:        <><path d="M4.5 7V5.5a3.5 3.5 0 1 1 7 0V7M3.5 7h9V14h-9z"/></>,
    book:        <><path d="M3 3h5a2 2 0 0 1 2 2v9H4.5A1.5 1.5 0 0 1 3 12.5z"/><path d="M13 3h-3a2 2 0 0 0-2 2v9h3.5a1.5 1.5 0 0 0 1.5-1.5z"/></>,
  };
  return <svg {...common}>{paths[name] || null}</svg>;
};
window.Icon = Icon;
