/* Argus icon set — single-stroke, 16px viewBox.
   All paths use currentColor + stroke-width via parent. */

const I = (paths, opts = {}) => ({ size = 14, stroke = 1.5, ...p }) =>
  <svg viewBox="0 0 16 16" width={size} height={size} fill="none"
       stroke="currentColor" strokeWidth={stroke}
       strokeLinecap="round" strokeLinejoin="round"
       style={opts.style} {...p}>
    {paths}
  </svg>;

const Icon = {
  // Argus iris — the brand mark
  Eye: I(<g>
    <ellipse cx="8" cy="8" rx="7" ry="4.5"/>
    <circle cx="8" cy="8" r="2.6"/>
    <circle cx="8" cy="8" r="1" fill="currentColor" stroke="none"/>
  </g>),
  // Rail icons
  Home: I(<g><path d="M2 7.5L8 2.5l6 5"/><path d="M3.5 7v6.5h9V7"/></g>),
  Inbox: I(<g><path d="M2 9.5h3l1 2h4l1-2h3"/><path d="M2 9.5l1.5-6h9L14 9.5v3.5a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5z"/></g>),
  Folders: I(<g><path d="M1.5 4.5h4l1.2 1.5h7.8v7a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5z"/></g>),
  Grid: I(<g><rect x="2" y="2" width="5" height="5"/><rect x="9" y="2" width="5" height="5"/><rect x="2" y="9" width="5" height="5"/><rect x="9" y="9" width="5" height="5"/></g>),
  Library: I(<g><path d="M3 2v12"/><path d="M5 2v12"/><path d="M7.5 2v12"/><path d="M10 3l2.5.7L11.5 14 9 13.3z"/></g>),
  Graph: I(<g><circle cx="3.5" cy="3.5" r="1.5"/><circle cx="12.5" cy="3.5" r="1.5"/><circle cx="8" cy="12.5" r="1.5"/><path d="M4.5 4.5L7 11M11.5 4.5L9 11M5 3.5h6"/></g>),
  Activity: I(<g><path d="M1.5 8h2.5l1.5-5 3 10 1.5-5h4.5"/></g>),
  Settings: I(<g><path d="M2 4h6M11 4h3"/><circle cx="9.5" cy="4" r="1.4"/><path d="M2 8h2M7 8h7"/><circle cx="5.5" cy="8" r="1.4"/><path d="M2 12h7M12 12h2"/><circle cx="10.5" cy="12" r="1.4"/></g>),

  // chrome
  Plus: I(<g><path d="M8 3.5v9M3.5 8h9"/></g>),
  X: I(<g><path d="M4 4l8 8M12 4l-8 8"/></g>),
  Caret: I(<path d="M5 6l3 3 3-3"/>),
  CaretRight: I(<path d="M6 5l3 3-3 3"/>),
  Search: I(<g><circle cx="7" cy="7" r="4.5"/><path d="M10.5 10.5l3 3"/></g>),
  Filter: I(<path d="M2 3h12l-4.5 6v4l-3 1.5V9z"/>),
  More: I(<g><circle cx="3" cy="8" r=".8" fill="currentColor"/><circle cx="8" cy="8" r=".8" fill="currentColor"/><circle cx="13" cy="8" r=".8" fill="currentColor"/></g>),
  ChevronDown: I(<path d="M3 6l5 5 5-5"/>),
  Bell: I(<g><path d="M4 11h8l-1-1.5V7a3 3 0 0 0-6 0v2.5z"/><path d="M6.5 13a1.5 1.5 0 0 0 3 0"/></g>),
  Theme: I(<g><path d="M14 9.5A6 6 0 0 1 6.5 2 6 6 0 1 0 14 9.5z"/></g>),
  Command: I(<g><path d="M5.5 2.5h0a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h0a2 2 0 0 1 0-4h5a2 2 0 0 1 0 4h0a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h0a2 2 0 0 1 0 4h-5a2 2 0 0 1 0-4z"/></g>),

  // files / docs
  Doc: I(<g><path d="M3 2h6l3.5 3.5V14H3z"/><path d="M9 2v3.5h3.5"/></g>),
  PDF: I(<g><path d="M3 2h6l3.5 3.5V14H3z"/><path d="M9 2v3.5h3.5"/></g>),
  Cite: I(<g><path d="M4 5q-1 1-1 3v3h3v-3H4.5q0-1 .5-2zM10 5q-1 1-1 3v3h3v-3h-1.5q0-1 .5-2z"/></g>),
  Quote: I(<g><path d="M4 6q-1 1-1 3v2h3V8H4.5q0-.7.5-1.5zM10 6q-1 1-1 3v2h3V8h-1.5q0-.7.5-1.5z"/></g>),
  Hash: I(<g><path d="M3 6h10M3 10h10M6 3l-1 10M11 3l-1 10"/></g>),
  Tag: I(<g><path d="M2 2v6l6.5 6.5L14 9 7.5 2.5z"/><circle cx="5" cy="5" r=".8" fill="currentColor"/></g>),
  Link: I(<g><path d="M7 9l-2 2a2.5 2.5 0 1 1-3.5-3.5l2-2"/><path d="M9 7l2-2a2.5 2.5 0 1 1 3.5 3.5l-2 2"/><path d="M6.5 9.5l3-3"/></g>),
  External: I(<g><path d="M9 3h4v4"/><path d="M13 3l-6 6"/><path d="M11 9v3.5H3.5V5H7"/></g>),

  // actions
  Check: I(<path d="M3 8l3.5 3.5L13.5 4.5"/>),
  Upload: I(<g><path d="M3 11v2.5h10V11"/><path d="M5 6l3-3 3 3"/><path d="M8 3v8"/></g>),
  Download: I(<g><path d="M3 11v2.5h10V11"/><path d="M5 8l3 3 3-3"/><path d="M8 3v8"/></g>),
  Refresh: I(<g><path d="M13.5 4v3h-3"/><path d="M13.5 7A5 5 0 1 0 8.2 13"/></g>),
  Edit: I(<g><path d="M3 13h2L13 5l-2-2-8 8z"/><path d="M10 3l2 2"/></g>),
  Trash: I(<g><path d="M3 4.5h10"/><path d="M5 4.5L6 2h4l1 2.5"/><path d="M4 4.5L5 14h6l1-9.5"/></g>),
  Pin: I(<g><path d="M8 1.5v3l2 3.5H6L8 4.5"/><path d="M6 8h4l-1 2-1 4-1-4z"/></g>),
  Note: I(<g><path d="M3 2.5h7L13 5.5V13a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5zM10 2.5v3h3"/><path d="M5 8h5M5 10.5h3"/></g>),
  EyeOn: I(<g><path d="M1.5 8C3 5 5.5 3.5 8 3.5s5 1.5 6.5 4.5c-1.5 3-4 4.5-6.5 4.5S3 11 1.5 8z"/><circle cx="8" cy="8" r="2"/></g>),
  Sparkle: I(<g><path d="M8 2v3M8 11v3M2 8h3M11 8h3M4 4l2 2M12 12l-2-2M4 12l2-2M12 4l-2 2"/></g>),
  Folder: I(<path d="M1.5 4.5h4l1.2 1.5h7.8v7a.5.5 0 0 1-.5.5h-12a.5.5 0 0 1-.5-.5z"/>),
  Book: I(<g><path d="M2.5 2.5h5.5v11H4a1.5 1.5 0 0 1-1.5-1.5z"/><path d="M8 2.5h5.5v9.5A1.5 1.5 0 0 1 12 13.5H8z"/></g>),
  Clock: I(<g><circle cx="8" cy="8" r="6"/><path d="M8 4.5V8l2.5 1.5"/></g>),
  Bolt: I(<path d="M9 1.5L3 9h4l-1 5.5L13 7H9z"/>),
  Queue: I(<g><circle cx="3" cy="4" r="1"/><circle cx="3" cy="8" r="1"/><circle cx="3" cy="12" r="1"/><path d="M6 4h7M6 8h7M6 12h7"/></g>),
  Pause: I(<g><rect x="4" y="3" width="2.5" height="10"/><rect x="9.5" y="3" width="2.5" height="10"/></g>),
};

Object.assign(window, { Icon });
