Skip to content

Latest commit

 

History

History
131 lines (104 loc) · 3.35 KB

README.md

File metadata and controls

131 lines (104 loc) · 3.35 KB

ngx-particles

@omnedia/ngx-particles is an Angular library that provides a dynamic and interactive particle animation effect. The particles react to mouse movements, creating a visually engaging and customizable background for your Angular components.

Features

  • Interactive particle animation that responds to mouse movements.
  • Customizable particle quantity, size, color, and motion dynamics.
  • Lightweight and easy to integrate as a standalone component.

Installation

Install the library using npm:

npm install @omnedia/ngx-particles

Usage

Import the NgxParticlesComponent in your Angular module or component:

import { NgxParticlesComponent } from '@omnedia/ngx-particles';

@Component({
  ...
  imports: [
    ...
    NgxParticlesComponent,
  ],
  ...
})

Use the component in your template:

<om-particles
  [quantity]="150"
  [size]="0.5"
  [circleColor]="'#ff69b4'"
  [staticity]="60"
  [ease]="40"
  [particleSpeed]="1"
  [vx]="0.1"
  [vy]="0.1"
  styleClass="custom-particles"
>
  <h1>Your content here</h1>
</om-particles>

API

<om-particles
  [quantity]="quantity"
  [size]="size"
  [circleColor]="circleColor"
  [staticity]="staticity"
  [ease]="ease"
  [particleSpeed]="particleSpeed"
  [vx]="vx"
  [vy]="vy"
  styleClass="your-custom-class"
>
  <ng-content></ng-content>
</om-particles>
  • quantity (optional): The number of particles. Defaults to 100.
  • size (optional): The size of the particles. Defaults to 0.4.
  • circleColor (optional): The color of the particles. Accepts any valid CSS color value (e.g., '#ff69b4', 'rgba(255, 105, 180, 0.8)'). Default is white
  • staticity (optional): Controls the responsiveness of the particles to the mouse. Higher values reduce particle movement. Defaults to 50.
  • ease (optional): Controls the smoothness of the particle movement. Lower values increase the speed of the transition. Defaults to 50.
  • particleSpeed (optional): Controls the speed of the particle movement. Higher values increase the speed of the particles. Defaults to 1.
  • vx (optional): Horizontal velocity of the particles. Defaults to 0.
  • vy (optional): Vertical velocity of the particles. Defaults to 0.
  • styleClass (optional): A custom CSS class to apply to the particle container.

Example

<om-particles
  [quantity]="200"
  [size]="0.6"
  [circleColor]="'#00ffcc'"
  [staticity]="70"
  [ease]="30"
  [particleSpeed]="2"
  [vx]="0.05"
  [vy]="0.05"
  styleClass="particles-background"
>
  <div class="content">Interactive Particle Background</div>
</om-particles>

This example creates a particle background with 200 particles, cyan-colored, and with custom motion dynamics. The particles will move more fluidly in response to mouse movements.

Styling

To further customize the appearance of the particles or the container, use the styleClass input to apply your own CSS classes.

.particles-background {
  background-color: #000;
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.content {
  position: relative;
  z-index: 1;
  color: white;
  text-align: center;
  padding-top: 50px;
}

This will create a fullscreen particle background with a centered text content overlay.

Contributing

Contributions are welcome. Please submit a pull request or open an issue to discuss your ideas.

License

This project is licensed under the MIT License.