svelte-animated-icons Svelte Themes

Svelte Animated Icons

A collection of animated SVG icons for Svelte with customizable draw transitions, events, and accessibility features. Each icon supports hover/click animations, customizable colors, sizes, and stroke widths.

Svelte Animated Icons

A collection of animated SVG icons for Svelte with customizable draw transitions, events, and accessibility features. Each icon supports hover/click animations, customizable colors, sizes, and stroke widths.

Features

  • 🎨 Customizable colors, sizes, and stroke widths
  • ✨ Animated draw transitions on hover or click
  • ♿ Built-in accessibility features
  • 🎯 TypeScript support
  • 🔄 Configurable animation timing
  • 🎮 Multiple event trigger options

Installation

pnpm i -D svelte-animated-icons

Usage

<script>
  import { ArrowDown } from 'svelte-animated-icons';
</script>

<ArrowDown />

With Custom Properties

<script>
  import { ArrowDown } from 'svelte-animated-icons';
</script>

<ArrowDown
  size={32}
  color="#ff0000"
  strokeWidth={2}
  event="onclick"
  pauseDuration={300}
  transitionParams={{
    duration: 800,
    delay: 0
  }}
/>

Props

Prop Type Default Description
size number 24 Icon size in pixels
color string 'currentColor' Icon color (any valid CSS color)
strokeWidth number 1.5 Width of the icon strokes
event 'onmouseenter' | 'onclick' 'onmouseenter' Event that triggers the animation
pauseDuration number 300 Pause duration between animations (ms)
transitionParams object { duration: 800, delay: 0 } Svelte transition parameters
title object - SVG title for accessibility
desc object - SVG description for accessibility
ariaLabel string - Aria label for the icon

Title and Description Props

<ArrowDown
  title={{
    id: 'ArrowDown-title',
    title: 'ArrowDown Icon'
  }}
  desc={{
    id: 'ArrowDown-desc',
    desc: 'A ArrowDown icon that animates on hover'
  }}
/>

Accessibility

All icons include proper ARIA attributes and support custom titles and descriptions. They are keyboard accessible when used with click events.

Browser Support

Works in all modern browsers that support SVG and CSS animations.

Development

Setup

git clone [email protected]:shinokada/svelte-animated-icons.git
cd svelte-animated-icons
pnpm install

Running Tests

pnpm test:e2e
pnpm test

Building

pnpm build

Contributing

Contributions are welcome! Please read our contributing guidelines before submitting a pull request.

License

MIT License - see the LICENSE file for details.

Top categories

Loading Svelte Themes