Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/avo-hq/stimulus-confetti

The easiest way to add confetti to your StimulusJS app
https://github.com/avo-hq/stimulus-confetti

confetti rails stimulus stimulusjs

Last synced: 3 months ago
JSON representation

The easiest way to add confetti to your StimulusJS app

Awesome Lists containing this project

README

        

# Stimulus confetti

Are you in the mood to add confetti to your stimulus application? You're in luck! This package helps you do that in no-time.

![The easiest way to add confetti to your Stimulus JS app](school-pride.gif)

## Install

Add the package to your project.

```bash
yarn add stimulus-confetti
# or
npm install stimulus-confetti
```

## Register the stimulus controller

Register the controller in your Stimulus app.

```javascript
import { Confetti } from "stimulus-confetti"

application.register('confetti', Confetti)
```

## Use the DOM

```html
Star Avo
```

When you click that link, the confetti will spray and after the animation finishes, the browser will navigate to that location.

## Animation types

There are three types of animation. Note: actions should match animation values.

1. **Basic** which shoots of confetti under your mouse

```html
Star Avo
```

![](basic.gif)

2. **School pride** which adds two cannons on each side of the screen

```html
Star Avo
```

![](school-pride.gif)

3. **Stars** which will spray stars from under your cursor

```html
Star Avo
```

![](stars.gif)

## Configuration

### `data-confetti-animation-value`

Values can be `basic`, `school-pride`, or `stars` and will change the type of animation.

Defaults to `basic`.

### `data-confetti-follow-value`

Controls whether at the end of the animation, the browser should follow the link. You can set it to `false` when you want to test the animation.

Defaults to `true`.

### `data-confetti-duration-value`

The duration, in seconds, for the **School pride** animation.

Defaults to `5`.

### `data-confetti-first-color-value`

The first color for the **School pride** animation.
Defaults to `#0886DE`

### `data-confetti-second-color-value`

The second color for the **School pride** animation.
Defaults to `#FF6154`

### `data-confetti-debug-value`

Controls wether log messages are being displayed in the console.

Defaults to `false`.

### `data-confetti-particleCount-value`, `data-confetti-startVelocity-value`, `data-confetti-spread-value`, and `data-confetti-ticks-value`

Controls various setting for the [`canvas-confetti`](https://github.com/catdad/canvas-confetti) package.

## Thanks

This package is based on the [`canvas-confetti`](https://github.com/catdad/canvas-confetti) package, so please [donate](https://github.com/sponsors/catdad) to help them and support their work.

## Other packages

- [`class_variants`](https://github.com/avo-hq/class_variants) - Easily configure styles and apply them as classes. Very useful when you're implementing Tailwind CSS components and call them with different states.
- [`avo`](https://github.com/avo-hq/avo) - Build Content management systems with Ruby on Rails

## Try Avo ⭐️

If you enjoy this package try out Avo. It helps developers build internal tools, admins, CMSes, CRMs, and any other type of business apps 10x faster on top of Ruby on Rails.

[![](./logo-on-white.png)](https://github.com/avo-hq/avo)