0.0.1 โ€ข Published 5 months ago

animatea v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

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

ComponentDescription
FadeInAnimates elements with a fade-in effect.
SlideInSlides elements from a specified direction.
ZoomAnimates elements with a zoom-in effect.
StaggerStagger animations for a list of elements.
BounceAdds a bouncing animation.

๐Ÿ”ง API Reference

Common Props

PropTypeDefaultDescription
durationnumber0.5Duration of the animation in seconds.
delaynumber0Delay before the animation starts.
easingstringeaseInOutEasing function for the animation.
direction'left' | 'right' | 'up' | 'down'downDirection 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.