react-particle-effect-button

Bursting particle effect buttons for React ?

Github stars Tracking Chart

react-particle-effect-button (demo)

Bursting particle effect buttons for React.

NPM Build Status JavaScript Style Guide

Demo

This library is a React port of an awesome Codrops Article by Luis Manuel (original source).

Install

npm install --save react-particle-effect-button

Usage

Check out the Demo to see it in action.

import React, { Component } from 'react'

import ParticleEffectButton from 'react-particle-effect-button'

class App extends Component {
  state = {
    hidden: false
  }

  render () {
    return (
      <ParticleEffectButton
        color='#121019'
        hidden={this.state.hidden}
      >
        BUTTON CONTENT GOES HERE
      </ParticleEffectButton>
    )
  }
}

Note that children can be anything from a simple <button> to a complex React subtree. The children should represent the button's contents.

You change the hidden boolean prop to kick-off an animation, typically as a result of a click on the button's contents. If hidden changes to true, the button will perform a disintegrating animation. If hidden changes to false, it will reverse and reintegrate the original content.

Props, Property, Type, Default, Description, :--------------, :-------------------, :--------------------------------------, :---------------------------------------------------------------------------------------------------------------------------------------------, hidden, boolean, false, Whether button should be hidden or visible. Changing this prop starts an animation., color, string, '#000', Particle color. Should match the button content's background color, children, React Node, undefined, The contents of the button., duration, number, 1000, Animation duration in milliseconds., easing, string, 'easeInOutCubic', Animation easing., type, string, circle, 'circle' or 'rectangle' or 'triangle', style, string, fill, 'fill' or 'stroke', direction, string, 'left', 'left' or 'right' or 'top' or 'bottom', canvasPadding, number, 150, Amount of extra padding to add to the canvas since the animation will overflow the content's bounds, size, number, func, random(4), Particle size. May be a static number or a function which returns numbers., speed, number, func, random(4), Particle speed. May be a static number or a function which returns numbers., particlesAmountCoefficient, number, 3, Increases or decreases the relative number of particles, oscillationCoefficient, number, 20, Increases or decreases the relative curvature of particles, onBegin, func, noop, Callback to be notified once an animation starts., onComplete, func, noop, Callback to be notified once an animation completes., I tried to keep the properties exactly the same as in the original codrops version.

This module was bootstrapped with create-react-library.

License

MIT © Travis Fischer

Main metrics

Overview
Name With Ownertransitive-bullshit/react-particle-effect-button
Primary LanguageJavaScript
Program languageHTML (Language Count: 3)
Platform
License:MIT License
所有者活动
Created At2018-04-29 14:33:31
Pushed At2023-10-26 21:23:35
Last Commit At2023-10-26 16:23:35
Release Count3
Last Release Namev1.0.1 (Posted on 2018-08-02 10:35:20)
First Release Namev0.1.1 (Posted on 2018-04-29 10:55:04)
用户参与
Stargazers Count1.5k
Watchers Count24
Fork Count97
Commits Count26
Has Issues Enabled
Issues Count9
Issue Open Count5
Pull Requests Count2
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private