animatea v0.0.1
Framely
A cutting-edge library of animated components built with Framer Motion. This library empowers developers to easily integrate stunning animations into their web projects while maintaining performance and simplicity.
๐ Features
- Rich Animation Components: Ready-to-use animated components like
FadeIn
,SlideIn
,Zoom
, and more. - Composable API: Highly flexible components to support any animation scenario.
- CSS Modules: Scoped and maintainable styles for each component.
- Tree-shakable: Import only what you need to optimize bundle size.
- TypeScript Support: Fully typed components for an enhanced developer experience.
- Custom Configuration: Extend and tweak animations to fit your project.
๐ฆ Installation
Install the library via npm or yarn:
npm install framely
# or
yarn add framely
๐ Usage
Import and use the animated components in your project:
Example: FadeIn Animation
import React from "react";
import { FadeIn } from "framely";
const App = () => (
<FadeIn duration={0.5} delay={0.2}>
<h1>Hello, World!</h1>
</FadeIn>
);
export default App;
Advanced Example: Chained Animations
import React from "react";
import { FadeIn, SlideIn } from "framely";
// or
import ProgressBar from "framely/progress-bar";
const App = () => (
<div>
<FadeIn duration={0.5}>
<h1>Welcome!</h1>
</FadeIn>
<SlideIn direction="left" duration={0.7}>
<p>This is an awesome animation library!</p>
</SlideIn>
</div>
);
export default App;
โ๏ธ Configuration
You can define a configuration file to customize default animation settings:
framely.config.ts
export default {
defaultDuration: 0.8,
defaultEasing: "easeInOut",
};
Place this file in the root of your project. The library will automatically pick it up during installation.
๐ Components
Component | Description |
---|---|
FadeIn | Animates elements with a fade-in effect. |
SlideIn | Slides elements from a specified direction. |
Zoom | Animates elements with a zoom-in effect. |
Stagger | Stagger animations for a list of elements. |
Bounce | Adds a bouncing animation. |
๐ง API Reference
Common Props
Prop | Type | Default | Description |
---|---|---|---|
duration | number | 0.5 | Duration of the animation in seconds. |
delay | number | 0 | Delay before the animation starts. |
easing | string | easeInOut | Easing function for the animation. |
direction | 'left' | 'right' | 'up' | 'down' | down | Direction for slide-based animations. |
๐งช Development
Clone and Install Dependencies
git clone https://github.com/ArianZargaran/Framely.git
cd framely
npm install
Run Storybook
npm run storybook
Build the Library
npm run build
๐ก Testing
The library includes unit tests for every component. To run the tests:
npm run test
๐ License
This project is licensed under the MIT License. See the LICENSE file for details.
๐ฌ Feedback and Contributions
Weโd love to hear your feedback and suggestions! Feel free to open an issue or contribute by submitting a pull request.
5 months ago