// ============================================================
// Husky Paths — Icons
// FitScan uses Unicode glyphs + minimal SVGs. We follow that.
// ============================================================

const HPIcons = {
  // ── tiny inline SVGs (FitScan style: 2px stroke, round caps) ──
  Search: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <circle cx="11" cy="11" r="7" />
      <line x1="21" y1="21" x2="16.65" y2="16.65" />
    </svg>
  ),
  Plus: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" {...props}>
      <line x1="12" y1="5" x2="12" y2="19" />
      <line x1="5" y1="12" x2="19" y2="12" />
    </svg>
  ),
  Minus: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" {...props}>
      <line x1="5" y1="12" x2="19" y2="12" />
    </svg>
  ),
  X: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" {...props}>
      <line x1="18" y1="6"  x2="6"  y2="18" />
      <line x1="6"  y1="6"  x2="18" y2="18" />
    </svg>
  ),
  Mail: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <rect x="3" y="5" width="18" height="14" rx="2" />
      <polyline points="3 7 12 13 21 7" />
    </svg>
  ),
  Linkedin: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" {...props}>
      <path d="M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.22 8h4.56v14H.22V8zm7.65 0h4.37v1.92h.06c.61-1.16 2.1-2.38 4.33-2.38 4.63 0 5.48 3.05 5.48 7.02V22h-4.56v-6.21c0-1.48-.03-3.39-2.06-3.39-2.07 0-2.39 1.61-2.39 3.28V22H7.87V8z"/>
    </svg>
  ),
  Instagram: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <rect x="2" y="2" width="20" height="20" rx="5" />
      <circle cx="12" cy="12" r="4" />
      <circle cx="17.5" cy="6.5" r="0.6" fill="currentColor" stroke="none" />
    </svg>
  ),
  WeChat: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="currentColor" {...props}>
      <path d="M9 3C4.58 3 1 6.13 1 10c0 2.18 1.18 4.12 3.03 5.4l-.74 2.34 2.83-1.45c.72.16 1.48.25 2.27.27a6.5 6.5 0 0 1 .14-1.5C5.05 14.51 3 12.4 3 10c0-2.76 2.69-5 6-5 2.93 0 5.36 1.74 5.9 4.04a6.6 6.6 0 0 1 1.62-.04C16.04 5.7 12.84 3 9 3zm-2 3a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm4 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2zm5.5 4c-3.58 0-6.5 2.5-6.5 5.6 0 1.74.93 3.3 2.41 4.3l-.58 1.78 2.2-1.13c.74.2 1.55.32 2.39.32a8 8 0 0 0 1.16-.08l1.99 1.08-.55-1.78A5.45 5.45 0 0 0 23 15.6c0-3.1-2.92-5.6-6.5-5.6zm-2 3a.8.8 0 1 1 0 1.6.8.8 0 0 1 0-1.6zm4 0a.8.8 0 1 1 0 1.6.8.8 0 0 1 0-1.6z"/>
    </svg>
  ),
  Copy: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <rect x="9" y="9" width="12" height="12" rx="2" />
      <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
    </svg>
  ),
  Globe: (props) => (
    <svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" {...props}>
      <circle cx="12" cy="12" r="9" />
      <ellipse cx="12" cy="12" rx="4" ry="9" />
      <line x1="3" y1="12" x2="21" y2="12" />
    </svg>
  ),
  // FitScan signature: concentric scan-mark
  ScanMark: ({ size = 20, color = "currentColor", ...props }) => (
    <svg viewBox="0 0 32 32" width={size} height={size} fill="none" {...props}>
      <circle cx="16" cy="16" r="13" stroke={color} strokeWidth="1.4" opacity="0.35"/>
      <circle cx="16" cy="16" r="8"  stroke={color} strokeWidth="1.6"/>
      <circle cx="16" cy="16" r="2.6" fill={color}/>
    </svg>
  ),
  Husky: ({ size = 22, ...props }) => (
    // Compact "HP" wordmark, FitScan-style: scan mark + sharp typography
    <svg viewBox="0 0 100 32" width={size * 100 / 32} height={size} {...props}>
      <circle cx="14" cy="16" r="11" fill="none" stroke="currentColor" strokeWidth="1.4" opacity="0.4"/>
      <circle cx="14" cy="16" r="6.5" fill="none" stroke="currentColor" strokeWidth="1.6"/>
      <circle cx="14" cy="16" r="2.2" fill="currentColor"/>
    </svg>
  ),
};

window.HPIcons = HPIcons;
