@tsparticles/fireworks
Version:
tsParticles fireworks bundle — easily create spectacular fireworks and fountain particle effects with built-in presets. Ready to use components available for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.
2 lines (1 loc) • 7.9 kB
JavaScript
!function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},function(t,s,e,n,a,r,i,l,o,c,_,u){"use strict";class d{background;brightness;colors;gravity;minHeight;rate;saturation;sounds;speed;splitCount;constructor(){this.background="none",this.brightness={min:-30,max:30},this.colors=["#FF0000","#FF2A00","#FF5500","#FF8000","#FFAA00","#FFD400","#FFFF00","#D4FF00","#AAFF00","#80FF00","#55FF00","#2AFF00","#00FF00","#00FF2A","#00FF55","#00FF80","#00FFAA","#00FFD4","#00FFFF","#00D4FF","#00AAFF","#0080FF","#0055FF","#002AFF","#0000FF","#2A00FF","#5500FF","#8000FF","#AA00FF","#D400FF","#FF00FF","#FF00D4","#FF00AA","#FF0080","#FF0055","#FF002A"],this.gravity=30,this.minHeight={min:10,max:30},this.rate=10,this.saturation={min:-30,max:30},this.sounds=!0,this.speed={min:20,max:40},this.splitCount=100}load(t){s.isNull(t)||(void 0!==t.colors&&(s.isArray(t.colors)?this.colors=[...t.colors]:this.colors=t.colors),s.loadProperty(this,"background",t.background),s.loadRangeProperty(this,"brightness",t.brightness),s.loadRangeProperty(this,"gravity",t.gravity),s.loadRangeProperty(this,"minHeight",t.minHeight),s.loadRangeProperty(this,"rate",t.rate),s.loadRangeProperty(this,"saturation",t.saturation),s.loadProperty(this,"sounds",t.sounds),s.loadRangeProperty(this,"speed",t.speed),s.loadRangeProperty(this,"splitCount",t.splitCount))}}const p=new Map;const P=t=>{const s=t.data;return s?.particle?.options.move.gravity.enable??!1};function I(t,e){return{detectRetina:!0,background:{color:t.background},blend:{enable:!0,mode:"lighter"},fullScreen:{enable:!e},fpsLimit:60,emitters:{direction:s.MoveDirection.top,life:{count:0,duration:.1,delay:.1},rate:{delay:s.isNumber(t.rate)?1/t.rate:{min:1/s.getRangeMin(t.rate),max:1/s.getRangeMax(t.rate)},quantity:1},size:{width:100,height:0},position:{y:100,x:50}},particles:{number:{value:0},paint:{fill:{enable:!1},stroke:{color:{value:t.colors},width:2}},destroy:{mode:"split",bounds:{top:s.setRangeValue(t.minHeight)},split:{count:1,factor:{value:.333333},rate:{value:t.splitCount},strokeColorOffset:{s:t.saturation,l:t.brightness},particles:{group:"split",number:{value:0},opacity:{value:{min:.1,max:1},animation:{enable:!0,speed:{min:2,max:4},sync:!0,startValue:s.StartValueType.max,destroy:s.DestroyType.min,count:1}},size:{value:{min:5,max:10}},life:{count:1,duration:{value:{min:.5,max:1}}},move:{decay:.05,enable:!0,gravity:{enable:!1},speed:{min:10,max:25},direction:"outside",outModes:s.OutMode.destroy}}}},life:{count:1},shape:{type:"line",options:{line:{cap:"round"}}},size:{value:{min:10,max:20}},rotate:{path:!0},move:{enable:!0,gravity:{acceleration:s.setRangeValue(t.gravity),enable:!0,inverse:!0,maxSpeed:150},speed:s.setRangeValue(t.speed),outModes:{default:s.OutMode.destroy,top:s.OutMode.none}}},sounds:{enable:t.sounds,events:[{event:s.EventType.particleRemoved,filter:P,audio:["https://particles.js.org/audio/explosion0.mp3","https://particles.js.org/audio/explosion1.mp3","https://particles.js.org/audio/explosion2.mp3"]}],volume:50}}}async function h(t,s,e,n){const a=p.get(s);if(a instanceof Promise)return a;if(a){if(!a.destroyed)return a;p.delete(s)}const r=(async()=>{const a=new d;a.load(e);const r=I(a,n),i=await t.load({id:s,element:n,options:r});if(!i)return void p.delete(s);const{FireworksInstance:l}=await Promise.resolve().then(function(){return y}),o=new l(i,s);return p.set(s,o),o})();return p.set(s,r),r}let g=null;async function F(t){return g||(g=async function(t){t.checkVersion("4.5.0"),await t.pluginManager.register(async t=>{await Promise.all([e.loadBasic(t),o.loadLineShape(t),n.loadBlendPlugin(t),(async t=>{await r.loadEmittersPluginSimple(t),await i.loadEmittersShapeSquare(t)})(t),u.loadSoundsPlugin(t),_.loadRotateUpdater(t),a.loadDestroyUpdater(t),l.loadLifeUpdater(t),c.loadPaintUpdater(t)])})}(t),g)}async function f(t,e){let n,a;return await F(s.tsParticles),s.isString(t)?(n=t,a=e??{}):(n="fireworks",a=t??{}),h(s.tsParticles,n,a)}f.create=async(t,e)=>{await F(s.tsParticles);const n=t?.id??"fireworks";return h(s.tsParticles,n,e??{},t??void 0)},f.init=async()=>{await F(s.tsParticles)},f.version="4.5.0",globalThis.fireworks=f;const m=globalThis;m.__tsParticlesInternals=m.__tsParticlesInternals??{},m.fireworks=f;var y=Object.freeze({__proto__:null,FireworksInstance:class{#t;#s;constructor(t,s){this.#t=t,this.#s=s}get destroyed(){return this.#t.destroyed}destroy(){var t;this.#t.destroy(),t=this.#s,p.delete(t)}pause(){this.#t.pause()}play(){this.#t.play()}stop(){this.#t.stop()}}});t.fireworks=f}(t.__tsParticlesInternals.bundles.fireworks=t.__tsParticlesInternals.bundles.fireworks||{},t.__tsParticlesInternals.engine,t.__tsParticlesInternals.bundles.basic,t.__tsParticlesInternals.plugins.blend,t.__tsParticlesInternals.updaters.destroy,t.__tsParticlesInternals.plugins.emitters/plugin,t.__tsParticlesInternals.plugins.emittersShapes.square,t.__tsParticlesInternals.updaters.life,t.__tsParticlesInternals.shapes.line,t.__tsParticlesInternals.updaters.paint,t.__tsParticlesInternals.updaters.rotate,t.__tsParticlesInternals.plugins.sounds)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:self),Object.assign(globalThis.window||globalThis,{fireworks:(globalThis.__tsParticlesInternals.bundles.fireworks||{}).fireworks});