// EzClaim — icon set (stroke 1.6, currentColor). All 20px viewBox by default.
// Pass size prop to scale.

function Icon({ children, size = 20, strokeWidth = 1.6, fill = "none", className = "", style }) {
  return (
    <svg
      width={size} height={size} viewBox="0 0 20 20"
      fill={fill} stroke="currentColor" strokeWidth={strokeWidth}
      strokeLinecap="round" strokeLinejoin="round"
      className={className} style={style} aria-hidden="true"
    >
      {children}
    </svg>
  );
}

const I = {
  Search: (p) => <Icon {...p}><circle cx="9" cy="9" r="5.5"/><path d="M13 13l3 3"/></Icon>,
  Home:   (p) => <Icon {...p}><path d="M3 9l7-5.5L17 9v7a1 1 0 0 1-1 1h-3v-5h-4v5H4a1 1 0 0 1-1-1V9z"/></Icon>,
  Key:    (p) => <Icon {...p}><circle cx="7" cy="13" r="3"/><path d="M9.2 11l6.3-6.3M12.7 7.5l1.5 1.5M14.5 5.7l1.5 1.5"/></Icon>,
  Pin:    (p) => <Icon {...p}><path d="M10 17.5c4-4 6-6.8 6-10a6 6 0 1 0-12 0c0 3.2 2 6 6 10z"/><circle cx="10" cy="7.5" r="2"/></Icon>,
  Check:  (p) => <Icon {...p}><path d="M4.5 10.5l3.5 3.5L15.5 6"/></Icon>,
  CheckCircle: (p) => <Icon {...p}><circle cx="10" cy="10" r="7.5"/><path d="M6.5 10l2.5 2.5L13.5 8"/></Icon>,
  Circle: (p) => <Icon {...p}><circle cx="10" cy="10" r="7.5"/></Icon>,
  X:      (p) => <Icon {...p}><path d="M5 5l10 10M15 5L5 15"/></Icon>,
  ArrowRight: (p) => <Icon {...p}><path d="M4.5 10h11M11 5.5L15.5 10 11 14.5"/></Icon>,
  ArrowLeft:  (p) => <Icon {...p}><path d="M15.5 10h-11M9 5.5L4.5 10 9 14.5"/></Icon>,
  ChevronRight: (p) => <Icon {...p}><path d="M8 5l5 5-5 5"/></Icon>,
  ChevronDown:  (p) => <Icon {...p}><path d="M5 8l5 5 5-5"/></Icon>,
  Shield: (p) => <Icon {...p}><path d="M10 2.5l6 2.2v5c0 3.7-2.4 6.8-6 7.8-3.6-1-6-4.1-6-7.8v-5l6-2.2z"/></Icon>,
  Lock:   (p) => <Icon {...p}><rect x="4" y="9" width="12" height="8.5" rx="1.5"/><path d="M6.5 9V6.5a3.5 3.5 0 1 1 7 0V9"/></Icon>,
  Mail:   (p) => <Icon {...p}><rect x="2.5" y="4.5" width="15" height="11" rx="1.5"/><path d="M3 6l7 5 7-5"/></Icon>,
  Phone:  (p) => <Icon {...p}><path d="M4 4.5h3l1.5 4-2 1.2c.8 1.8 2.2 3.3 4 4l1.2-2 4 1.5V16a1.5 1.5 0 0 1-1.6 1.5C8.5 17.2 2.8 11.5 2.5 6.1A1.5 1.5 0 0 1 4 4.5z"/></Icon>,
  User:   (p) => <Icon {...p}><circle cx="10" cy="7" r="3"/><path d="M3.5 17c1-3 3.5-4.5 6.5-4.5s5.5 1.5 6.5 4.5"/></Icon>,
  Users:  (p) => <Icon {...p}><circle cx="7.5" cy="7.5" r="2.5"/><circle cx="13.5" cy="8" r="2"/><path d="M2 16c.7-2.3 2.8-3.5 5.5-3.5s4.8 1.2 5.5 3.5"/><path d="M13.5 12.5c2 0 3.7 1.2 4 3.5"/></Icon>,
  Doc:    (p) => <Icon {...p}><path d="M5 2.5h7l3 3V17a.5.5 0 0 1-.5.5H5A.5.5 0 0 1 4.5 17V3a.5.5 0 0 1 .5-.5z"/><path d="M12 2.5V6h3M7 9h6M7 12h6M7 15h4"/></Icon>,
  Fax:    (p) => <Icon {...p}><rect x="3" y="7" width="14" height="9" rx="1"/><rect x="6" y="3.5" width="8" height="4"/><rect x="7" y="10.5" width="6" height="3" rx=".5"/><circle cx="15" cy="10" r=".7" fill="currentColor"/></Icon>,
  Receipt:(p) => <Icon {...p}><path d="M4.5 2.5h11v15l-2-1.2-1.5 1.2-1.5-1.2L9 17.5l-1.5-1.2-1.5 1.2L4.5 17V2.5z"/><path d="M7 7h6M7 10h6M7 13h4"/></Icon>,
  Clock:  (p) => <Icon {...p}><circle cx="10" cy="10" r="7.5"/><path d="M10 5.5V10l3 1.8"/></Icon>,
  Refresh:(p) => <Icon {...p}><path d="M16 5v4h-4M4 15v-4h4"/><path d="M5.5 9a5.5 5.5 0 0 1 10-2M14.5 11a5.5 5.5 0 0 1-10 2"/></Icon>,
  Alert:  (p) => <Icon {...p}><path d="M10 3l8 14H2L10 3z"/><path d="M10 8.5v3.5M10 14.5h.01"/></Icon>,
  Info:   (p) => <Icon {...p}><circle cx="10" cy="10" r="7.5"/><path d="M10 9v4M10 6.5h.01"/></Icon>,
  Calendar:(p)=> <Icon {...p}><rect x="3" y="4.5" width="14" height="12.5" rx="1.5"/><path d="M3 8h14M7 3v3M13 3v3"/></Icon>,
  Card:   (p) => <Icon {...p}><rect x="2.5" y="5" width="15" height="10" rx="1.5"/><path d="M2.5 8h15M5 12h2"/></Icon>,
  Sparkle:(p) => <Icon {...p}><path d="M10 3l1.5 4 4 1.5-4 1.5L10 14l-1.5-4-4-1.5 4-1.5L10 3z"/></Icon>,
  Settings:(p)=> <Icon {...p}><circle cx="10" cy="10" r="2.5"/><path d="M10 2.5v2M10 15.5v2M2.5 10h2M15.5 10h2M4.5 4.5l1.4 1.4M14.1 14.1l1.4 1.4M4.5 15.5l1.4-1.4M14.1 5.9l1.4-1.4"/></Icon>,
  Help:   (p) => <Icon {...p}><circle cx="10" cy="10" r="7.5"/><path d="M7.5 7.8C7.7 6.5 8.8 5.8 10 5.8c1.3 0 2.4.8 2.4 2 0 1.4-2.4 1.7-2.4 3.2M10 14.2h.01"/></Icon>,
  Eye:    (p) => <Icon {...p}><path d="M2 10s3-5 8-5 8 5 8 5-3 5-8 5-8-5-8-5z"/><circle cx="10" cy="10" r="2.5"/></Icon>,
  Copy:   (p) => <Icon {...p}><rect x="3" y="3" width="11" height="11" rx="1.5"/><path d="M6 17h9.5a.5.5 0 0 0 .5-.5V7"/></Icon>,
  Print:  (p) => <Icon {...p}><rect x="3.5" y="7.5" width="13" height="7" rx="1"/><path d="M6 7.5v-4h8v4M6 14.5v3h8v-3"/></Icon>,
  ExternalLink: (p) => <Icon {...p}><path d="M11 4h5v5M9 11l7-7M14 11.5V16H4V6h4.5"/></Icon>,
  DollarSign: (p) => <Icon {...p}><path d="M10 2.5v15M13.5 6.5a3 3 0 0 0-3-2c-1.7 0-3 1.1-3 2.5 0 3 6 1.5 6 4.5 0 1.4-1.3 2.5-3 2.5a3 3 0 0 1-3-2"/></Icon>,
  Trash:  (p) => <Icon {...p}><path d="M3.5 5.5h13M8 5.5V4a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v1.5M5 5.5l.7 11a1 1 0 0 0 1 1h6.6a1 1 0 0 0 1-1l.7-11"/></Icon>,
  Wand:   (p) => <Icon {...p}><path d="M3 17l9-9M11 4l1 1M14 4l-1 1M14 7l1-1M11 7l1-1M16 11l1-1M16 14l1-1M13 14l1-1M13 11l1-1"/></Icon>,
};

// Maryland-y mini flag SVG (stylized, non-replica chevron motif)
function MdGlyph({ size = 14 }) {
  return (
    <svg width={size * 18 / 14} height={size} viewBox="0 0 28 18" aria-hidden="true">
      <rect width="14" height="9" fill="#000"/>
      <rect x="14" width="14" height="9" fill="#E03A3E"/>
      <rect y="9" width="14" height="9" fill="#E03A3E"/>
      <rect x="14" y="9" width="14" height="9" fill="#FFD400"/>
      <g stroke="#fff" strokeWidth=".3" fill="none">
        <path d="M0 0h28v18H0z"/>
      </g>
    </svg>
  );
}

window.I = I;
window.MdGlyph = MdGlyph;
