tsParticles preset for confetti launched from a draggable cannon, using the confetti palette.
@tsparticles/engine (or use the CDN bundle below)loadConfettiCannonPreset(engine) before tsParticles.load(...)preset: "confettiCannon" in options<script src="https://cdn.jsdelivr.net/npm/@tsparticles/preset-confetti-cannon@4/tsparticles.preset.confettiCannon.bundle.min.js"></script>
Once the scripts are loaded you can set up tsParticles like this:
(async engine => {
await loadConfettiCannonPreset(engine);
await engine.load({
options: {
preset: "confettiCannon", // or "confetti-cannon"
},
});
})(tsParticles);
tsParticles.load({
id: "tsparticles",
options: {
particles: {
color: {
value: ["#0000ff", "#00ff00"],
},
},
preset: "confettiCannon", // or "confetti-cannon"
},
});
Like in the sample above, the white and red colors will be replaced by blue and lime.
Checkout the documentation in the component library repository and call the loadConfettiCannonPreset function instead
of loadFull, loadSlim or similar functions.
The options shown above are valid for all the component libraries.
This preset loads and combines the following packages:
| Package | Role in this preset | README |
|---|---|---|
@tsparticles/basic |
Base runtime bundle used by the preset | https://www.npmjs.com/package/@tsparticles/basic |
@tsparticles/engine |
tsParticles engine and preset registration | https://www.npmjs.com/package/@tsparticles/engine |
@tsparticles/interaction-external-cannon |
Adds cannon launch interaction | https://www.npmjs.com/package/@tsparticles/interaction-external-cannon |
@tsparticles/palette-confetti |
Default confetti color palette | https://www.npmjs.com/package/@tsparticles/palette-confetti |
@tsparticles/plugin-interactivity |
Enables external interaction plumbing | https://www.npmjs.com/package/@tsparticles/plugin-interactivity |
@tsparticles/plugin-motion |
Handles reduced-motion accessibility settings | https://www.npmjs.com/package/@tsparticles/plugin-motion |
@tsparticles/shape-square |
Adds square particle shape | https://www.npmjs.com/package/@tsparticles/shape-square |
@tsparticles/updater-life |
Controls particle life-cycle stages | https://www.npmjs.com/package/@tsparticles/updater-life |
@tsparticles/updater-roll |
Adds rolling spin motion | https://www.npmjs.com/package/@tsparticles/updater-roll |
@tsparticles/updater-rotate |
Adds rotation animation | https://www.npmjs.com/package/@tsparticles/updater-rotate |
@tsparticles/updater-tilt |
Adds tilt animation | https://www.npmjs.com/package/@tsparticles/updater-tilt |
@tsparticles/updater-wobble |
Adds side-to-side wobble motion | https://www.npmjs.com/package/@tsparticles/updater-wobble |
If you want to customize one specific behavior, start from the related package README above.
tsParticles.load(...) before loadConfettiCannonPreset(engine)emitters with an empty array and expecting default cannon behaviorflowchart TD
subgraph b [Bundles]
bb[tsParticles Basic]
end
subgraph pl [Plugins]
ple[Emitters]
pli[Interactivity]
plm[Motion]
end
bb --> pl
subgraph s [Shapes]
ssq[Square]
end
bb --> s
subgraph u [Updaters]
ul[Life]
urol[Roll]
urot[Rotate]
uti[Tilt]
uw[Wobble]
end
bb --> u
subgraph pr [Presets]
prcc[Confetti Cannon]
end
bb & ple & pli & plm & ssq & ul & urol & urot & uti & uw --> prcc