// Lucide-style inline SVG icons. PascalCase so Babel JSX treats them as components.
// Single-weight 1.75 stroke, currentColor.

const _icon = (paths, viewBox = '0 0 24 24') => function Icon({ size = 22, strokeWidth = 1.75, style, ...rest }) {
  return (
    <svg width={size} height={size} viewBox={viewBox} fill="none" stroke="currentColor"
      strokeWidth={strokeWidth} strokeLinecap="round" strokeLinejoin="round" style={style} {...rest}>
      {paths}
    </svg>
  );
};

const Icons = {
  Home:         _icon(<><path d="M3 11l9-8 9 8"/><path d="M5 9.5V20h14V9.5"/><path d="M10 20v-6h4v6"/></>),
  History:      _icon(<><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/></>),
  Insights:     _icon(<><path d="M4 19V5"/><path d="M4 19h16"/><path d="M8 15l3-4 3 3 4-6"/></>),
  Family:       _icon(<><circle cx="9" cy="9" r="3.5"/><circle cx="17" cy="11" r="2.5"/><path d="M3 19c.7-3 3.3-5 6-5s5.3 2 6 5"/><path d="M15 19c.5-1.6 1.7-2.7 3-3"/></>),

  Bottle:       _icon(<><path d="M9 3h6v3l-1 2v2"/><rect x="8" y="10" width="8" height="11" rx="3"/><path d="M9 14h6"/></>),
  Moon:         _icon(<><path d="M20 14A8 8 0 0 1 10 4a8 8 0 1 0 10 10z"/></>),
  Droplet:      _icon(<><path d="M12 3s-6 7-6 11a6 6 0 0 0 12 0c0-4-6-11-6-11z"/></>),
  Note:         _icon(<><path d="M5 4h11l3 3v13H5z"/><path d="M8 9h8M8 13h8M8 17h5"/></>),
  Pump:         _icon(<><path d="M7 7h10v3a5 5 0 0 1-10 0z"/><path d="M9 14v6h6v-6"/></>),

  Plus:         _icon(<><path d="M12 5v14M5 12h14"/></>),
  Close:        _icon(<><path d="M6 6l12 12M18 6L6 18"/></>),
  ChevronRight: _icon(<><path d="M9 6l6 6-6 6"/></>),
  ChevronLeft:  _icon(<><path d="M15 6l-6 6 6 6"/></>),
  ChevronDown:  _icon(<><path d="M6 9l6 6 6-6"/></>),
  Check:        _icon(<><path d="M5 12l4 4 10-10"/></>),
  More:         _icon(<><circle cx="6" cy="12" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="18" cy="12" r="1"/></>),
  Bell:         _icon(<><path d="M6 16V11a6 6 0 1 1 12 0v5l1.5 2H4.5z"/><path d="M10 21a2 2 0 0 0 4 0"/></>),
  Settings:     _icon(<><circle cx="12" cy="12" r="3"/><path d="M12 2v2M12 20v2M2 12h2M20 12h2M5 5l1.5 1.5M17.5 17.5L19 19M5 19l1.5-1.5M17.5 6.5L19 5"/></>),
  PauseIcon:    _icon(<><rect x="6" y="5" width="4" height="14" rx="1"/><rect x="14" y="5" width="4" height="14" rx="1"/></>),
  PlayIcon:     _icon(<><path d="M7 5l12 7-12 7z"/></>),
  StopIcon:     _icon(<><rect x="6" y="6" width="12" height="12" rx="2"/></>),
  Invite:       _icon(<><circle cx="10" cy="9" r="3.5"/><path d="M3 20c.7-3 3.3-5 7-5s6.3 2 7 5"/><path d="M18 6v6M21 9h-6"/></>),
  ArrowLeft:    _icon(<><path d="M5 12h14M5 12l5-5M5 12l5 5"/></>),
};

window.Icons = Icons;
