wk-animated-icons
v0.0.3
Published
π¨ A beautiful collection of animated SVG icons built with React, GSAP, and TypeScript. Perfect for modern web applications that need engaging visual elements for financial services and business applications.
Readme
WK Animated Icons
π¨ A beautiful collection of animated SVG icons built with React, GSAP, and TypeScript. Perfect for modern web applications that need engaging visual elements for financial services and business applications.
β¨ Features
- π Smooth Animations - Powered by GSAP for high-performance animations
- π± React Ready - Built specifically for React applications
- π― TypeScript Support - Full type safety out of the box
- π¨ Customizable - Easy to style and modify with props
- π¦ Lightweight - Optimized bundle size with tree-shaking support
- π§ Tree Shakable - Import only what you need
- πΌ Business Focused - Icons designed for financial and business applications
οΏ½ Installation
npm install wk-animated-icons
# or
yarn add wk-animated-icons
# or
pnpm add wk-animated-iconsοΏ½ Quick Start
import React from 'react';
import { AutoLase, PersonalLoan, WukadLogo2Animation } from 'wk-animated-icons';
import 'wk-animated-icons/elements.css';
function App() {
return (
<div>
<h1>Welcome to WK Animated Icons</h1>
<AutoLase width={200} height={120} />
<PersonalLoan width={150} height={100} />
<WukadLogo2Animation />
</div>
);
}
export default App;οΏ½ Available Icons
π¦ Financial Services Icons
AutoLase- Auto lease animation with card designPersonalLoan- Personal loan icon with smooth animationsCC- Credit card iconMortage- Mortgage/home loan iconBuyoutLoan- Buyout loan illustrationBuyoutLoanOld- Alternative buyout loan design
π’ Brand & Logo Icons
WukadLogo2Animation- Animated Wukad logo with motion effectsWukadCheckMarkAnimation- Animated checkmark for success statesLogo- General logo component
ποΈ About Us Section Icons
City- City illustration for location/presenceFinance- Finance and money management iconMission- Mission statement visualPuzzle- Puzzle piece for collaboration/solutionsVision- Vision and future goals icon
π Values & Principles Icons
Accessibility- Accessibility and inclusion iconEmpowerment- Empowerment and growth iconInclusion- Innovation and technology iconIntegrity- Integrity and trust iconTransparency- Transparency and openness iconSharedSuccess- Shared success and partnership icon
π€ Business Partnership Icons
BeAPartner- Partnership invitation iconBeAWukader- Join the team iconContactUs- Contact and communication icon
π Product Features & Steps
BeAPartnerFeatures1- Partnership feature highlight 1BeAPartnerFeatures2- Partnership feature highlight 2BeAPartnerStoriesAndStatistics- Success stories and statsCreditCardFromWukadFeature1-4- Credit card feature seriesProductsStepsBeAPartner- Partnership process stepsProductsStepsAutoLase- Auto lease process stepsProductsStepsPersonalLoane- Personal loan process stepsProductsStepsMortgageLoane- Mortgage process steps
π Product Variants
ProductsCC- Product-specific credit card iconProductsCCOld- Alternative credit card designProductsMortage- Product-specific mortgage iconProductsAutoLase- Product-specific auto lease iconProductsPersonalLoan- Product-specific personal loan icon
π‘ Usage Examples
Basic Usage with Default Size
import { AutoLase, Mission } from 'wk-animated-icons';
function FinancialSection() {
return (
<div className="financial-icons">
<AutoLase />
<Mission />
</div>
);
}Custom Sizing
import { WukadLogo2Animation } from 'wk-animated-icons';
function Header() {
return (
<div className="header">
<WukadLogo2Animation
width={200}
height={100}
/>
</div>
);
}With Custom Styling
import { PersonalLoan } from 'wk-animated-icons';
function StyledIcon() {
return (
<PersonalLoan
width={150}
height={150}
style={{
filter: 'drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1))',
transition: 'transform 0.3s ease'
}}
className="hover:scale-110"
/>
);
}Tree Shaking (Recommended for Bundle Size)
// Import only what you need for optimal bundle size
import AutoLase from 'wk-animated-icons/AutoLase';
import PersonalLoan from 'wk-animated-icons/PersonalLoan';
function OptimizedComponent() {
return (
<div>
<AutoLase width={100} height={60} />
<PersonalLoan width={100} height={60} />
</div>
);
}π¨ Customization
Props Interface
All icons accept standard SVG props plus custom sizing:
interface SVGProps {
width?: number;
height?: number;
className?: string;
style?: React.CSSProperties;
// ... other standard SVG props
}CSS Styling
/* Global icon styling */
.wk-icon {
transition: all 0.3s ease;
}
.wk-icon:hover {
transform: scale(1.05);
filter: brightness(1.1);
}
/* Responsive sizing */
@media (max-width: 768px) {
.wk-icon {
width: 80%;
height: auto;
}
}βοΈ Requirements
- React 16.8+ (hooks support required)
- TypeScript (optional but recommended)
- Modern browser with SVG support
- GSAP (included as dependency for animations)
π§ͺ Testing
We use Vitest + React Testing Library for comprehensive testing.
# Run all tests
pnpm test
# Run tests with coverage
pnpm test:coverage
# Run tests in watch mode
pnpm test:watch
# Run tests with UI
pnpm test:uiπ Storybook
Explore all available icons and their animations in our interactive Storybook:
# Start Storybook development server
pnpm storybook
# Build static Storybook
pnpm build-storybookπ οΈ Development
Want to contribute? Here's how to get started:
# Clone the repository
git clone <repository-url>
cd wk-animated-icons
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Run linting
pnpm lint
# Build the library
pnpm buildπ Performance
- Optimized Bundle: Tree-shakable exports mean you only bundle what you use
- GSAP Animations: Hardware-accelerated animations for smooth 60fps performance
- SVG Based: Scalable vector graphics that look crisp at any size
- Minimal CSS: Lightweight styling with zero external dependencies
- TypeScript: Full type checking prevents runtime errors
π TypeScript Support
Full TypeScript support is included out of the box:
import { AutoLase } from 'wk-animated-icons';
const MyComponent: React.FC = () => {
return (
<AutoLase
width={100} // TypeScript autocomplete
height={100} // Type checking included
className="my-icon"
/>
);
};π€ Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Run tests (
pnpm test) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
π License
MIT Β© Ahmed Maghraby
π Links
- NPM Package: wk-animated-icons
- Author: Ahmed Maghraby
- Email: [email protected]
Made with β€οΈ by Ahmed Maghraby
