2.3.1 • Published 7 years ago

@vestwell/react-confetti v2.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
7 years ago

react-confetti

Build Status npm

Confetti without the cleanup. Demo

Based on a pen by @Gthibaud: https://codepen.io/Gthibaud/pen/ENzXbp

demogif

Install

npm i -S react-confetti

Use

width and height props are required. Here, they are provided by react-sizeme:

import PropTypes from 'prop-types'
import React from 'react'
import ReactDOM from 'react-dom'
import sizeMe from 'react-sizeme'
import Confetti from './react-confetti'

const DimensionedExample = sizeMe({
  monitorHeight: true,
  monitorWidth: true,
})(class Example extends React.PureComponent {
  static propTypes = {
    size: PropTypes.shape({
      width: PropTypes.number,
      height: PropTypes.number,
    }),
  }
  render() {
    return (
      <div style={{ position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' }}>
        <Confetti {...this.props.size} />
      </div>
    )
  }
})

ReactDOM.render(<DimensionedExample />, document.getElementById('app'))

Props

PropertyTypeDefaultDescription
widthNumber'100%'Width of the <canvas> element.
heightNumber'100%'Height of the <canvas> element.
numberOfPiecesNumber200Number of confetti pieces at one time.
confettiSource{ x: Number, y: Number, w: Number, h: Number }{x: 0, y: 0, w: canvas.width, h:0}Rectangle where the confetti should spawn. Default is across the top.
frictionNumber0.99
windNumber0
gravityNumber0.1
colorsArray of String['#f44336''#e91e63''#9c27b0''#673ab7''#3f51b5''#2196f3''#03a9f4''#00bcd4''#009688''#4CAF50''#8BC34A''#CDDC39''#FFEB3B''#FFC107''#FF9800''#FF5722''#795548']All available Colors for the confetti pieces.
opacityNumber1.0
recycleBooltrueKeep spawning confetti after numberOfPieces pieces have been shown.
runBooltrueRun the animation loop