Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
confetti-js
Advanced tools
Easily Generate random confetti with javascript and make your design look cooler
Have you ever seen that cool looking confetti on landing pages and above-the-fold content? We give you the power to create the same effect for free and without the hassle of having to design or code it from scratch.
Using npm
npm install confetti-js --save
Direct download -> click here
The classic
way
<script src="node_modules/confetti-js/dist/index.min.js"></script>
ES6 module
// At the component you want to use confetti
import ConfettiGenerator from "confetti-js";
After installing the plugin(the topic above), just call-it passing your options:
<canvas id="my-canvas"></canvas>
var confettiSettings = { target: 'my-canvas' };
var confetti = new ConfettiGenerator(confettiSettings);
confetti.render();
You can also pass a canvas element as the target:
var confettiElement = document.getElementById('my-canvas');
var confettiSettings = { target: confettiElement };
var confetti = new ConfettiGenerator(confettiSettings);
confetti.render();
React.useEffect(() => {
const confettiSettings = { target: 'my-canvas' };
const confetti = new ConfettiGenerator(confettiSettings);
confetti.render();
return () => confetti.clear();
}, []) // add the var dependencies or not
done!
Attribute | Description | Example value | Default value |
---|---|---|---|
target | The Id tag or node of the canvas that will be used | 'my-canvas' | 'confetti-holder' |
max | The number of props(confetti) to be rendered | 11 | 80 |
size | Prop size | 1.8 | 1 |
animate | If the confetti should fall | false | true |
respawn | If the confetti should be recreated after going off-screen | false | true |
clock | The speed confetti fall | 50 | 25 |
props | The type of props(confetti) that should be rendered. In addition to those listed in the default, there's a special "svg" type which requires further configuration and is detailed below. | ['circle', 'square'] | ['circle', 'square', 'triangle', 'line'] |
colors | The color to be rendered on the confetti. By default, RGB format inside an array. | [[0,0,0], [255,255,255]] | [[165,104,246],[230,61,135],[0,199,228],[253,214,126]] |
start_from_edge | Whether the confettis should fall from the top of the screen (or should move up from the bottom) | true | false |
width | Canvas width | 960 | window size |
height | Canvas height | 767 | window height |
rotate | If set to true , SVG and squares will rotate while falling. | true | false |
There is an extra special partical type ("prop") which allows you to render SVGs as confetti particles. For example:
{
"props": [
"circle",
"square",
{ "type": "svg", "src": "site/hat.svg" }
]
}
You must specify the type
and src
properties. There are also a few other configuration properties available to SVG objects:
Attribute | Description | Example value | Default value |
---|---|---|---|
size | Set the size of the SVG when it renders as a particle. | 25 | 15 |
weight | The probability of this particle being rendered, where 1 is a regular weight, and 0.1 is uncommon. | 0.5 | 1 |
Using the object generated by new ConfettiGenerator()
is pretty easy, there're just two main methods actually.
Method | Description |
---|---|
render | Render the confetti at the config <canvas/> |
clear | Clear the <canvas/> where the confetti where rendered |
var confetti = new ConfettiGenerator();
confetti.render();
//
confetti.clear();
You can use/hack/re-distribute/do whatever you want with this for free without having to credit the author or anything. Go on, just do it.
But if you take the time to contribute with the project it would be nice too, just saying :)
Special thanks to "Paper Matthew" on codepen for providing the starting point wich I fork to build this. You are awesome.
FAQs
Easily Generate random confetti for your above-the-fold content
The npm package confetti-js receives a total of 18,859 weekly downloads. As such, confetti-js popularity was classified as popular.
We found that confetti-js demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.