$ show Avijit07x/animateicons
The animateicons repository is a monorepo that provides a library of animated React icons built with Framer Motion. It includes a Next.js gallery for browsing and documenting the icons, a CLI for managing icons in projects, and an MCP server for AI agent integration. The core logic handles icon cataloging, search, and resolution. The application emphasizes reusable UI primitives, custom hooks for hover handling and animation configuration, and a utility for class name merging. The icon components follow a consistent pattern of exposing animation controls via refs and supporting hover-triggered animations with reduced motion respect.
The LLM identified 3 files worth highlighting for reuse:
A small utility function that combines class names using clsx and tailwind-merge. It is used throughout the codebase for consistent styling and has no internal dependencies, making it highly reusable in any project that uses Tailwind CSS.
A custom React hook that encapsulates mouse enter and leave event handling. It returns memoized onMouseEnter and onMouseLeave handlers, reducing boilerplate in components that need hover interactions. Used extensively in the icon components to trigger animations.
A reusable button component with support for variants (default, destructive, outline, secondary, etc.) and sizes. It uses the `cn` utility for class composition and is designed to be easily extensible. The component is self-contained aside from the `cn` utility and demonstrates good practices in component API design.