UNPKG

@benzara/svelte-animated-counter

Version:

A tiny ( < 2Kb ) animated counter component for svelte

73 lines (51 loc) • 2.87 kB
# svelte-animated-counter A tiny css-agnostic animated counter for Svelte ## Installation šŸ”§ npm (or any other package manager) ```sh npm install -D @benzara/svelte-animated-counter ``` ## Features ✨ - No dependencies - CSS agnostic (custom styling) - less than 1Kb minified - works for svelte and svelte-kit - Customisable (see options below) ## How to use šŸš€ 1. First import the component on your svelte page's script section. ```js import { AnimatedCounter } from '@benzara/svelte-animated-counter'; ``` 2. Call the component where you want it to be placed e.g.: ```jsx <AnimatedCounter values={Array.from({ length: 122 }, (_, i) => (1900 + i).toString())} class="custom-counter" interval={1000} startImmediately={false} direction="down" loop={true} ease="cubic-bezier(0.25, 0.1, 0.25, 1)" initialValue="2008" /> ``` ### Configuration Options | Name | Default | Description | | ---------------- | -------------------------- | --------------------------------------------------------------------------------------------------- | | values | `['000',..., '100']` | list of values to animate | | interval | `1000` | counter interval between each step in milliseconds, defaults to `1000` | | startImmediately | `false` | whether to start the counter immediately or wait for the `interval` to pass, defaults to `false` | | direction | 'down' | counter direction, can be `up` or `down` defaults to `down` | | loop | `true` | whether to loop the counter animation after reaching the end of `values` array , defaults to `true` | | ease | `cubic-bezier(1, 0, 0, 1)` | easing function to use, defaults to `cubic-bezier(1, 0, 0, 1)` | | initialValue | `undefined` | optional initial value to start the counter from. If not provided, `initlaValue` will be the first item in the `values array` if `direction` === `"up"`, or the last item otherwise | ## Contribution šŸ–‡ļø Feel free to fork. If you find a bug or got something great to add make a pull request! ## Authors āœ’ļø **Benzara Tahar Benlahcene** [benzara-tahar](https://github.com/benzara-tahar) You can also look at the list of all the [contributors](https://github.com/benzara-tahar/svelte-animated-counter/contributors) who have participated in this project. ## License šŸ“„ This project is free to use, edit & distribute under the MIT License. --- āŒØļø with ā¤ļø by [benzara-tahar](https://github.com/benzara-tahar) 😊