Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@tsparticles/confetti

Package Overview
Dependencies
Maintainers
2
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tsparticles/confetti

Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.

  • 3.0.0-beta.5
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
12K
increased by0.34%
Maintainers
2
Weekly downloads
 
Created
Source

banner

tsParticles Confetti Bundle

jsDelivr npmjs npmjs GitHub Sponsors

tsParticles confetti bundle loads all the features necessary to create beautiful confetti effects with ease.

Included Packages

How to use it

CDN / Vanilla JS / jQuery

The CDN/Vanilla version JS has two different files:

  • One is a bundle file with all the scripts included in a single file
  • One is a file including just the confetti function to load the tsParticles confetti bunddle, all dependencies must be included manually
Bundle

Including the tsparticles.confetti.bundle.min.js file will out of the box.

This is the easiest usage, since it's a single file with all the features loaded.

You can still add additional packages, loading them like all the other packages.

Not Bundle

This installation requires more work since all dependencies must be included in the page. Some lines above are all specified in the Included Packages section.

Usage

Once the scripts are loaded you can set up tsParticles like the following examples:

** Easiest Way **

confetti();

** Async Way, best practice **

(async () => {
  await confetti();
})();

** Confetti Options **

confetti("tsparticles", {
  /**
   * @deprecated use count property instead
   */
  particleCount: 50,
  /**
   * @deprecated use position property instead
   */
  origin: {
    x: 0.5,
    y: 0.5,
  },
  //------------------------------------------
  angle: 90,
  count: 50,
  position: {
    x: 50,
    y: 50,
  },
  spread: 45,
  startVelocity: 45,
  decay: 0.9,
  gravity: 1,
  drift: 0,
  ticks: 200,
  colors: ["#ffffff", "#ff0000"],
  shapes: ["square", "circle"],
  scalar: 1,
  zIndex: 100,
  disableForReducedMotion: true,
});
Options

The confetti first parameter can be an id and the second parameter a single options object, or just the single options object without the id, which will be confetti by default. The options object has the following properties:

  • count Integer (default: 50): The number of confetti to launch. More is always fun... but be cool, there's a lot of math involved. (particleCount can be used too, but it's deprecated)
  • angle Number (default: 90): The angle in which to launch the confetti, in degrees: 90 is straight up.
  • spread Number (default: 45): How far off center the confetti can go, in degrees. 45 means the confetti will launch at the defined angle plus or minus 22.5 degrees.
  • startVelocity Number (default: 45): How fast the confetti will start going, in pixels.
  • decay Number (default: 0.9): How quickly the confetti will lose speed. Keep this number between 0 and 1, otherwise the confetti will gain speed. Better yet, just never change it.
  • flat Boolean (default: false): Optionally turns off the tilt and wobble that three dimensional confetti would have in the real world. Yeah, they look a little sad, but y'all asked for them, so don't blame me.
  • gravity Number (default: 1): How quickly the particles are pulled down: 1 is full gravity, 0.5 is half gravity, etc., but there are no limits. You can even make particles go up if you'd like.
  • drift Number (default: 0): How much to the side the confetti will drift. The default is 0, meaning that they will fall straight down. Use a negative number for left and positive number for right.
  • ticks Number (default: 200): How many times the confetti will move. This is abstract... but play with it if the confetti disappear too quickly for you.
  • position Object: Where to start firing confetti from. Feel free to launch off-screen if you'd like. (origin can be used too, but it's deprecated)
    • position.x Number (default: 50): The x position on the page, with 0 being the left edge and 100 being the right edge.
    • position.y Number (default: 50): The y position on the page, with 0 being the top edge and 100 being the bottom edge.
  • colors Array<String>: An array of color strings, in the HEX format... you know, like #bada55.
  • shapes Array<String>: An array of shapes for the confetti. The possible values are:
    • circle
    • square
    • star
    • polygon
    • image
    • heart
    • hearts
    • spades
    • clubs
    • diamonds
    • text The default is to use both shapes in an even mix. You can even change the mix by providing a value such as ['circle', 'circle', 'square'] to use two third circles and one third squares.
  • scalar Number (default: 1): Scale factor for each confetti particle. Use decimals to make the confetti smaller. Go on, try teeny tiny confetti, they are adorable!
  • zIndex Integer (default: 100): The confetti should be on top, after all. But if you have a crazy high page, you can set it even higher.
  • disableForReducedMotion Boolean (default: true): Disables confetti entirely for users that prefer reduced motion.

And for those asking, yes you can paste your canvas-confetti code and migrate to tsParticles Confetti without changing a thing

Keywords

FAQs

Package last updated on 03 Dec 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc