@tsparticles/preset-confetti-cannon 4.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/107.min.js +1 -0
- package/126.min.js +1 -0
- package/158.min.js +1 -0
- package/17.min.js +1 -0
- package/182.min.js +1 -0
- package/204.min.js +1 -0
- package/22.min.js +1 -0
- package/231.min.js +1 -0
- package/254.min.js +1 -0
- package/270.min.js +1 -0
- package/278.min.js +1 -0
- package/28.min.js +1 -0
- package/3.min.js +1 -0
- package/302.min.js +1 -0
- package/316.min.js +1 -0
- package/337.min.js +1 -0
- package/382.min.js +1 -0
- package/406.min.js +1 -0
- package/430.min.js +1 -0
- package/452.min.js +1 -0
- package/470.min.js +1 -0
- package/508.min.js +1 -0
- package/530.min.js +1 -0
- package/558.min.js +1 -0
- package/596.min.js +1 -0
- package/6.min.js +1 -0
- package/637.min.js +1 -0
- package/646.min.js +1 -0
- package/676.min.js +1 -0
- package/694.min.js +1 -0
- package/730.min.js +1 -0
- package/731.min.js +1 -0
- package/740.min.js +1 -0
- package/754.min.js +1 -0
- package/812.min.js +1 -0
- package/830.min.js +1 -0
- package/834.min.js +1 -0
- package/844.min.js +1 -0
- package/85.min.js +1 -0
- package/878.min.js +1 -0
- package/922.min.js +1 -0
- package/930.min.js +1 -0
- package/952.min.js +1 -0
- package/991.min.js +1 -0
- package/LICENSE +21 -0
- package/README.md +104 -0
- package/browser/bundle.js +2 -0
- package/browser/index.js +37 -0
- package/browser/options.js +110 -0
- package/browser/package.json +1 -0
- package/cjs/bundle.js +2 -0
- package/cjs/index.js +37 -0
- package/cjs/options.js +110 -0
- package/cjs/package.json +1 -0
- package/dist_browser_options_js.js +30 -0
- package/esm/bundle.js +2 -0
- package/esm/index.js +37 -0
- package/esm/options.js +110 -0
- package/esm/package.json +1 -0
- package/node_modules_pnpm_tsparticles_basic_4_0_0-beta_1_node_modules_tsparticles_basic_browser_index_js.js +30 -0
- package/node_modules_pnpm_tsparticles_interaction-external-cannon_4_0_0-beta_1_node_modules_tsparticl-d67cfa.js +40 -0
- package/node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-beta_1_node_modules_tsparticles_plugin-h-8932d7.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-beta_1_node_modules_tsparticles_plugin-h-a0aea9.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-beta_1_node_modules_tsparticles_plugin-h-1179c3.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-beta_1_node_modules_tsparticles_plugin-h-1737bf.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-interactivity_4_0_0-beta_1_node_modules_tsparticles_plug-908f96.js +120 -0
- package/node_modules_pnpm_tsparticles_plugin-interactivity_4_0_0-beta_1_node_modules_tsparticles_plug-d6e6b1.js +70 -0
- package/node_modules_pnpm_tsparticles_plugin-motion_4_0_0-beta_1_node_modules_tsparticles_plugin-moti-0ff566.js +50 -0
- package/node_modules_pnpm_tsparticles_plugin-motion_4_0_0-beta_1_node_modules_tsparticles_plugin-moti-861f30.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-motion_4_0_0-beta_1_node_modules_tsparticles_plugin-moti-899da2.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-move_4_0_0-beta_1_node_modules_tsparticles_plugin-move_b-aa7108.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-move_4_0_0-beta_1_node_modules_tsparticles_plugin-move_b-c23e73.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-beta_1_node_modules_tsparticles_plugin-r-0f881a.js +30 -0
- package/node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-beta_1_node_modules_tsparticles_plugin-r-ae3d6b.js +30 -0
- package/node_modules_pnpm_tsparticles_shape-circle_4_0_0-beta_1_node_modules_tsparticles_shape-circle-07826a.js +40 -0
- package/node_modules_pnpm_tsparticles_shape-circle_4_0_0-beta_1_node_modules_tsparticles_shape-circle-c2187f.js +30 -0
- package/node_modules_pnpm_tsparticles_shape-square_4_0_0-beta_1_node_modules_tsparticles_shape-square-53c1de.js +40 -0
- package/node_modules_pnpm_tsparticles_shape-square_4_0_0-beta_1_node_modules_tsparticles_shape-square-c4fdaa.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-fill-color_4_0_0-beta_1_node_modules_tsparticles_update-75868d.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-fill-color_4_0_0-beta_1_node_modules_tsparticles_update-7cca03.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-life_4_0_0-beta_1_node_modules_tsparticles_updater-life-0d5869.js +70 -0
- package/node_modules_pnpm_tsparticles_updater-life_4_0_0-beta_1_node_modules_tsparticles_updater-life-3af196.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-opacity_4_0_0-beta_1_node_modules_tsparticles_updater-o-138fb5.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-opacity_4_0_0-beta_1_node_modules_tsparticles_updater-o-8a311f.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-beta_1_node_modules_tsparticles_updater-265a6a.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-roll_4_0_0-beta_1_node_modules_tsparticles_updater-roll-17906d.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-roll_4_0_0-beta_1_node_modules_tsparticles_updater-roll-2ae6b1.js +70 -0
- package/node_modules_pnpm_tsparticles_updater-rotate_4_0_0-beta_1_node_modules_tsparticles_updater-ro-82c0df.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-rotate_4_0_0-beta_1_node_modules_tsparticles_updater-ro-f03001.js +50 -0
- package/node_modules_pnpm_tsparticles_updater-size_4_0_0-beta_1_node_modules_tsparticles_updater-size-124f3f.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-size_4_0_0-beta_1_node_modules_tsparticles_updater-size-cbf46f.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-tilt_4_0_0-beta_1_node_modules_tsparticles_updater-tilt-4d0524.js +60 -0
- package/node_modules_pnpm_tsparticles_updater-tilt_4_0_0-beta_1_node_modules_tsparticles_updater-tilt-e66f0d.js +30 -0
- package/node_modules_pnpm_tsparticles_updater-wobble_4_0_0-beta_1_node_modules_tsparticles_updater-wo-30a54c.js +60 -0
- package/node_modules_pnpm_tsparticles_updater-wobble_4_0_0-beta_1_node_modules_tsparticles_updater-wo-e6d8f0.js +30 -0
- package/package.json +119 -0
- package/palettes_confetti_dist_browser_index_js.js +30 -0
- package/palettes_confetti_dist_browser_options_js.js +30 -0
- package/report.html +95 -0
- package/tsparticles.preset.confettiCannon.bundle.js +957 -0
- package/tsparticles.preset.confettiCannon.bundle.min.js +2 -0
- package/tsparticles.preset.confettiCannon.js +447 -0
- package/tsparticles.preset.confettiCannon.min.js +2 -0
- package/types/bundle.d.ts +2 -0
- package/types/index.d.ts +2 -0
- package/types/options.d.ts +2 -0
- package/umd/bundle.js +17 -0
- package/umd/index.js +84 -0
- package/umd/options.js +123 -0
- package/vendors-node_modules_pnpm_tsparticles_engine_4_0_0-beta_1_node_modules_tsparticles_engine_bro-0bb20b.js +100 -0
- package/vendors-node_modules_pnpm_tsparticles_interaction-external-cannon_4_0_0-beta_1_node_modules_t-1efa99.js +130 -0
- package/vendors-node_modules_pnpm_tsparticles_plugin-interactivity_4_0_0-beta_1_node_modules_tspartic-d557a0.js +50 -0
- package/vendors-node_modules_pnpm_tsparticles_plugin-move_4_0_0-beta_1_node_modules_tsparticles_plugi-2dea06.js +40 -0
- package/vendors-node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-beta_1_node_modules_tsparticles-a5ec2f.js +80 -0
package/107.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[107],{6107(F,e,t){t.d(e,{options:()=>n});let n={name:"Confetti",background:"#1a1a2e",blendMode:"source-over",colors:["#FF0044","#FF4400","#FFCC00","#00CC44","#00AAFF","#AA00FF","#FF00AA","#00FFCC","#FF6600","#FFFFFF"],fill:!0}}}]);
|
package/126.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[126],{126(e,a,t){t.r(a),t.d(a,{ensureBaseMoverLoaded:()=>i,loadMovePlugin:()=>r});var n=t(3360);async function r(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(async e=>{let a=e.pluginManager;a.initializers.pathGenerators??=new Map,a.pathGenerators??=new Map,a.addPathGenerator=(e,t)=>{a.initializers.pathGenerators??=new Map,a.initializers.pathGenerators.set(e,t)},a.getPathGenerators=async(e,t=!1)=>(a.initializers.pathGenerators??=new Map,a.pathGenerators??=new Map,(0,n.OtU)(e,a.pathGenerators,a.initializers.pathGenerators,t));let{MovePlugin:r}=await t.e(730).then(t.bind(t,5730));e.pluginManager.addPlugin(new r(e.pluginManager))})}function i(e){if(!e.pluginManager.addPathGenerator)throw Error("tsParticles Base Mover is not loaded")}}}]);
|
package/158.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[158],{9158(e,t,n){async function a(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("wobble",async e=>{let{WobbleUpdater:t}=await n.e(637).then(n.bind(n,1637));return new t(e)})})}n.r(t),n.d(t,{loadWobbleUpdater:()=>a})}}]);
|
package/17.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[17],{6017(t,e,n){n.r(e),n.d(e,{loadConfettiPalette:()=>a});async function a(t){await t.pluginManager.register(async t=>{let{options:e}=await n.e(107).then(n.bind(n,6107));t.pluginManager.addPalette("confetti",e)})}}}]);
|
package/182.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[182],{2182(e,t,n){async function a(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("size",async e=>{let{SizeUpdater:t}=await n.e(596).then(n.bind(n,4596));return new t(e)})})}n.r(t),n.d(t,{loadSizeUpdater:()=>a})}}]);
|
package/204.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[204],{4204(e,a,n){n.d(a,{CircleDrawer:()=>i});var t=n(3360);class i{draw(e){!function(e){let{context:a,particle:n,radius:i}=e;n.circleRange??={min:0,max:t.R1e};let c=n.circleRange;a.arc(t.boI.x,t.boI.y,i,c.min,c.max,!1)}(e)}getSidesCount(){return 12}particleInit(e,a){let n=a.shapeData,i=n?.angle??{max:360,min:0};a.circleRange=(0,t.Gvm)(i)?{min:(0,t.puj)(i.min),max:(0,t.puj)(i.max)}:{min:0,max:(0,t.puj)(i)}}}}}]);
|
package/22.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[22],{1022(e,t,n){async function a(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("life",async e=>{let{LifeUpdater:t}=await n.e(991).then(n.bind(n,8991));return new t(e)})})}n.r(t),n.d(t,{loadLifeUpdater:()=>a})}}]);
|
package/231.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[231],{2231(r,e,t){t.d(e,{RgbColorManager:()=>g});var s,n,a=t(3360);(s=n||(n={}))[s.r=1]="r",s[s.g=2]="g",s[s.b=3]="b",s[s.a=5]="a";let i=/rgba?\(\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*[\s,]\s*(\d{1,3})\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class g{accepts(r){return r.startsWith("rgb")}handleColor(r){let e=r.value.rgb??r.value;if("r"in e&&"g"in e&&"b"in e)return e}handleRangeColor(r){let e=r.value.rgb??r.value;if("r"in e&&"g"in e&&"b"in e)return{r:(0,a.VGA)(e.r),g:(0,a.VGA)(e.g),b:(0,a.VGA)(e.b)}}parseString(r){if(!this.accepts(r))return;let e=i.exec(r);return e?{a:e.length>4?(0,a.M3Y)(e[n.a]):1,b:parseInt(e[n.b]??"0",10),g:parseInt(e[n.g]??"0",10),r:parseInt(e[n.r]??"0",10)}:void 0}}}}]);
|
package/254.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[254],{9254(e,t,i){i.d(t,{TiltUpdater:()=>l});var n,s,a=i(3360);(n=s||(s={})).clockwise="clockwise",n.counterClockwise="counter-clockwise",n.random="random";class o{decay;enable;speed;sync;constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(e){(0,a.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed&&(this.speed=(0,a.DT4)(e.speed)),void 0!==e.decay&&(this.decay=(0,a.DT4)(e.decay)),void 0!==e.sync&&(this.sync=e.sync))}}class c extends a.PVU{animation;direction;enable;constructor(){super(),this.animation=new o,this.direction=s.clockwise,this.enable=!1,this.value=0}load(e){super.load(e),(0,a.kZJ)(e)||(this.animation.load(e.animation),void 0!==e.direction&&(this.direction=e.direction),void 0!==e.enable&&(this.enable=e.enable))}}class l{container;constructor(e){this.container=e}getTransformValues(e){let t=e.tilt?.enable&&e.tilt;return{b:t?Math.cos(t.value)*t.cosDirection:void 0,c:t?Math.sin(t.value)*t.sinDirection:void 0}}init(e){let t=e.options.tilt;if(!t)return;e.tilt={enable:t.enable,value:(0,a.puj)((0,a.VGA)(t.value)),sinDirection:(0,a.G0i)()>=a.MXx?a.D_O:-a.D_O,cosDirection:(0,a.G0i)()>=a.MXx?a.D_O:-a.D_O,min:0,max:a.R1e};let i=t.direction;switch(i===s.random&&(i=Math.floor((0,a.G0i)()*a.gdl)>0?s.counterClockwise:s.clockwise),i){case s.counterClockwise:case"counterClockwise":e.tilt.status=a.H_P.decreasing;break;case s.clockwise:e.tilt.status=a.H_P.increasing}let n=e.options.tilt?.animation;n?.enable&&(e.tilt.decay=a.D_O-(0,a.VGA)(n.decay),e.tilt.velocity=(0,a.VGA)(n.speed)/360*this.container.retina.reduceFactor,n.sync||(e.tilt.velocity*=(0,a.G0i)()))}isEnabled(e){let t=e.options.tilt?.animation;return!e.destroyed&&!e.spawning&&!!t?.enable}loadOptions(e,...t){for(let i of(e.tilt??=new c,t))e.tilt.load(i?.tilt)}update(e,t){this.isEnabled(e)&&e.tilt&&(0,a.UC0)(e,e.tilt,!1,a.VKE.none,t)}}}}]);
|
package/270.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[270],{4270(t,e,i){i.d(e,{InteractivityPluginInstance:()=>h});var n=i(3360),s=i(8660),a=i(2607);class r{_canPush=!0;_clickPositionPlugins;_container;_handlers;_interactionManager;_touches;constructor(t,e){this._container=t,this._clickPositionPlugins=[],this._interactionManager=e,this._touches=new Map,this._handlers={mouseDown:()=>{this._mouseDown()},mouseLeave:()=>{this._mouseTouchFinish()},mouseMove:t=>{this._mouseTouchMove(t)},mouseUp:t=>{this._mouseTouchClick(t)},touchStart:t=>{this._touchStart(t)},touchMove:t=>{this._mouseTouchMove(t)},touchEnd:t=>{this._touchEnd(t)},touchCancel:t=>{this._touchEnd(t)},touchEndClick:t=>{this._touchEndClick(t)},visibilityChange:()=>{this._handleVisibilityChange()}}}addListeners(){this._manageListeners(!0)}init(){for(let t of(this._clickPositionPlugins.length=0,this._container.plugins.filter(t=>!!t.clickPositionValid)))this._clickPositionPlugins.push(t)}removeListeners(){this._manageListeners(!1)}_doMouseTouchClick=t=>{let e=this._container,i=this._interactionManager,s=e.actualOptions;if(this._canPush){let t=i.interactivityData.mouse,e=t.position;if(!e)return;t.clickPosition={...e},t.clickTime=performance.now();let a=s.interactivity?.events.onClick;if(!a?.mode)return;(0,n.wJ2)(a.mode,t=>{i.handleClickMode(t)})}"touchend"===t.type&&setTimeout(()=>{this._mouseTouchFinish()},500)};_handleVisibilityChange=()=>{this._mouseTouchFinish()};_manageInteractivityListeners=t=>{let e=this._handlers,i=this._container,a=this._interactionManager,r=i.actualOptions,o=a.interactivityData.element;if(!o)return;let c=i.canvas;c.setPointerEvents(o===c.element?"initial":"none"),(!t||r.interactivity?.events.onHover.enable||r.interactivity?.events.onClick.enable)&&((0,n.KpY)(o,s.Rb,e.mouseMove,t),(0,n.KpY)(o,s.s7,e.touchStart,t),(0,n.KpY)(o,s.DG,e.touchMove,t),t?r.interactivity?.events.onClick.enable?((0,n.KpY)(o,s.Bp,e.touchEndClick,t),(0,n.KpY)(o,s.vo,e.mouseUp,t),(0,n.KpY)(o,s.ms,e.mouseDown,t)):(0,n.KpY)(o,s.Bp,e.touchEnd,t):((0,n.KpY)(o,s.Bp,e.touchEndClick,t),(0,n.KpY)(o,s.vo,e.mouseUp,t),(0,n.KpY)(o,s.ms,e.mouseDown,t),(0,n.KpY)(o,s.Bp,e.touchEnd,t)),(0,n.KpY)(o,s.Z0,e.mouseLeave,t),(0,n.KpY)(o,s.G3,e.touchCancel,t))};_manageListeners=t=>{let e=this._handlers,i=this._container,s=this._interactionManager,r=i.actualOptions,o=r.interactivity?.detectsOn,c=i.canvas.element;o===a.h.window?s.interactivityData.element=(0,n.T5G)():o===a.h.parent&&c?s.interactivityData.element=c.parentElement??c.parentNode:s.interactivityData.element=c,this._manageInteractivityListeners(t),(0,n.KpY)(document,n.nKi,e.visibilityChange,t,!1)};_mouseDown=()=>{let{interactivityData:t}=this._interactionManager,{mouse:e}=t;e.clicking=!0,e.downPosition=e.position};_mouseTouchClick=t=>{let e=this._container,i=this._interactionManager,n=e.actualOptions,{mouse:s}=i.interactivityData;s.inside=!0;let a=!1,r=s.position;if(r&&n.interactivity?.events.onClick.enable){for(let t of this._clickPositionPlugins)if(a=t.clickPositionValid?.(r)??!1)break;a||this._doMouseTouchClick(t),s.clicking=!1}};_mouseTouchFinish=()=>{let{interactivityData:t}=this._interactionManager,{mouse:e}=t;delete e.position,delete e.clickPosition,delete e.downPosition,t.status=s.Z0,e.inside=!1,e.clicking=!1};_mouseTouchMove=t=>{let e,i=this._container,r=this._interactionManager,o=i.actualOptions,c=r.interactivityData,l=i.canvas.element;if(!c.element)return;if(c.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,c.element===(0,n.T5G)()){if(l){let i=l.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(o.interactivity?.detectsOn===a.h.parent){let i=t.target,s=t.currentTarget;if(l){let a=i.getBoundingClientRect(),r=s.getBoundingClientRect(),o=l.getBoundingClientRect();e={x:t.offsetX+n.gdl*a.left-(r.left+o.left),y:t.offsetY+n.gdl*a.top-(r.top+o.top)}}else e={x:t.offsetX,y:t.offsetY}}else t.target===l&&(e={x:t.offsetX,y:t.offsetY});else if(this._canPush="touchmove"!==t.type,l){let i=t.touches[t.touches.length-n.K3],s=l.getBoundingClientRect();if(!i)return;e={x:i.clientX-s.left,y:i.clientY-s.top}}let h=i.retina.pixelRatio;e&&(e.x*=h,e.y*=h),c.mouse.position=e,c.status=s.Rb};_touchEnd=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchFinish()};_touchEndClick=t=>{for(let e of Array.from(t.changedTouches))this._touches.delete(e.identifier);this._mouseTouchClick(t)};_touchStart=t=>{for(let e of Array.from(t.changedTouches))this._touches.set(e.identifier,performance.now());this._mouseTouchMove(t)}}var o=i(6416);class c{container;interactivityData;_clickHandlers;_eventListeners;_externalInteractors;_interactors;_intersectionObserver;_particleInteractors;_pluginManager;constructor(t,e){this.container=e,this._pluginManager=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[],this._clickHandlers=new Map,this._eventListeners=new r(e,this),this.interactivityData={mouse:{clicking:!1,inside:!1}},this._intersectionObserver=(0,n.BRq)(t=>{this._intersectionManager(t)})}addClickHandler(t){let{container:e,interactivityData:i}=this;if(e.destroyed)return;let n=i.element;if(!n)return;let a=(i,n,s)=>{if(e.destroyed)return;let a=e.retina.pixelRatio,r={x:n.x*a,y:n.y*a};t(i,e.particles.grid.queryCircle(r,s*a))},r=!1,o=!1;for(let[t,i]of(this._clickHandlers.set(s.xO,t=>{if(e.destroyed)return;let i={x:t.offsetX,y:t.offsetY};a(t,i,1)}),this._clickHandlers.set(s.s7,()=>{e.destroyed||(r=!0,o=!1)}),this._clickHandlers.set(s.DG,()=>{e.destroyed||(o=!0)}),this._clickHandlers.set(s.Bp,t=>{if(!e.destroyed){if(r&&!o){let i=t.touches[t.touches.length-1];if(!i)return;let n=e.canvas.element,s=n?n.getBoundingClientRect():void 0;a(t,{x:i.clientX-(s?s.left:0),y:i.clientY-(s?s.top:0)},Math.max(i.radiusX,i.radiusY))}r=!1,o=!1}}),this._clickHandlers.set(s.G3,()=>{e.destroyed||(r=!1,o=!1)}),this._clickHandlers))n.addEventListener(t,i)}addListeners(){this._eventListeners.addListeners()}clearClickHandlers(){let{container:t,interactivityData:e}=this;if(!t.destroyed){for(let[t,i]of this._clickHandlers)e.element?.removeEventListener(t,i);this._clickHandlers.clear()}}externalInteract(t){for(let e of this._externalInteractors){let{interactivityData:i}=this;e.isEnabled(i)&&e.interact(i,t)}}handleClickMode(t){if(this.container.destroyed)return;let{interactivityData:e}=this;for(let i of this._externalInteractors)i.handleClickMode?.(t,e)}init(){for(let t of(this._eventListeners.init(),this._interactors)){switch(t.type){case o.e.external:this._externalInteractors.push(t);break;case o.e.particles:this._particleInteractors.push(t)}t.init()}}async initInteractors(){let t=await this._pluginManager.getInteractors?.(this.container,!0);t&&(this._interactors=t,this._externalInteractors=[],this._particleInteractors=[])}particlesInteract(t,e){let{interactivityData:i}=this;for(let i of this._externalInteractors)i.clear(t,e);for(let n of this._particleInteractors)n.isEnabled(t,i)&&n.interact(t,i,e)}removeListeners(){this._eventListeners.removeListeners()}reset(t){let{interactivityData:e}=this;for(let i of this._externalInteractors)i.isEnabled(e)&&i.reset(e,t);for(let i of this._particleInteractors)i.isEnabled(t,e)&&i.reset(e,t)}startObserving(){let{interactivityData:t}=this;t.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(t.element)}stopObserving(){let{interactivityData:t}=this;t.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(t.element)}updateMaxDistance(){let t=0;for(let e of this._interactors)e.maxDistance>t&&(t=e.maxDistance);let e=this.container;e.particles.grid.setCellSize(t*e.retina.pixelRatio)}_intersectionManager=t=>{let{container:e}=this;if(!e.destroyed&&e.actualOptions.pauseOnOutsideViewport)for(let i of t)i.target===this.interactivityData.element&&(i.isIntersecting?e.play():e.pause())}}var l=i(1575);class h{interactionManager;_container;_pluginManager;constructor(t,e){this._container=e,this._pluginManager=t,this.interactionManager=new c(t,e),this._container.addClickHandler=t=>{this.interactionManager.addClickHandler(t)}}addClickHandler(t){this.interactionManager.addClickHandler(t)}clearClickHandlers(){this.interactionManager.clearClickHandlers()}destroy(){this.clearClickHandlers(),this._pluginManager.interactors?.delete(this._container)}particleCreated(t){let e=new l.k(this._pluginManager,this._container);e.load(this._container.actualOptions.interactivity),e.load(t.options.interactivity),t.interactivity=e}particleReset(t){this.interactionManager.reset(t)}postParticleUpdate(t,e){this.interactionManager.particlesInteract(t,e)}postUpdate(t){this.interactionManager.externalInteract(t),this.interactionManager.updateMaxDistance()}async preInit(){await this.interactionManager.initInteractors(),this.interactionManager.init()}async redrawInit(){await this.interactionManager.initInteractors(),this.interactionManager.init()}start(){return this.interactionManager.addListeners(),this.interactionManager.startObserving(),Promise.resolve()}stop(){this.interactionManager.removeListeners(),this.interactionManager.stopObserving()}}}}]);
|
package/278.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[278],{7278(n,e,a){async function t(n){n.checkVersion("4.0.0-beta.1"),await n.pluginManager.register(async n=>{let{RgbColorManager:e}=await a.e(231).then(a.bind(a,2231));n.pluginManager.addColorManager("rgb",new e)})}a.r(e),a.d(e,{loadRgbColorPlugin:()=>t})}}]);
|
package/28.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[28],{5028(e,n,a){a.r(n),a.d(n,{options:()=>t});let t={palette:"confetti",background:{color:{value:""}},fullScreen:{enable:!0,zIndex:100},particles:{number:{value:0,density:{enable:!0}},shape:{type:["square","circle"]},size:{value:{min:3,max:5}},opacity:{value:{min:0,max:1},animation:{enable:!0,startValue:"max",destroy:"min",speed:.1}},move:{enable:!0,speed:1,decay:.1,gravity:{enable:!0},outModes:{default:"destroy",top:"none"}},rotate:{value:{min:0,max:360},direction:"random",move:!0,animation:{enable:!0,speed:60}},tilt:{direction:"random",enable:!0,value:{min:0,max:360},animation:{enable:!0,speed:60}},roll:{darken:{enable:!0,value:30},enlighten:{enable:!0,value:30},enable:!0,mode:"both",speed:{min:15,max:25}},wobble:{distance:30,enable:!0,move:!0,speed:{min:-15,max:15}}},interactivity:{events:{onClick:{enable:!0,mode:"cannon"}}},motion:{disable:!0}}}}]);
|
package/3.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[3],{6003(s,e,t){t.d(e,{HslColorManager:()=>h});var a,l,n=t(3360);(a=l||(l={}))[a.h=1]="h",a[a.s=2]="s",a[a.l=3]="l",a[a.a=5]="a";let r=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class h{accepts(s){return s.startsWith("hsl")}handleColor(s){let e=s.value.hsl??s.value;if("h"in e&&"s"in e&&"l"in e)return(0,n.YLU)(e)}handleRangeColor(s){let e=s.value.hsl??s.value;if("h"in e&&"s"in e&&"l"in e)return(0,n.YLU)({h:(0,n.VGA)(e.h),l:(0,n.VGA)(e.l),s:(0,n.VGA)(e.s)})}parseString(s){if(!this.accepts(s))return;let e=r.exec(s);return e?(0,n.ayx)({a:e.length>4?(0,n.M3Y)(e[l.a]):1,h:Number.parseInt(e[l.h]??"0",10),l:Number.parseInt(e[l.l]??"0",10),s:Number.parseInt(e[l.s]??"0",10)}):void 0}}}}]);
|
package/302.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[302],{3302(e,n,a){async function t(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(async e=>{let{HexColorManager:n}=await a.e(337).then(a.bind(a,5337));e.pluginManager.addColorManager("hex",new n)})}a.r(n),a.d(n,{loadHexColorPlugin:()=>t})}}]);
|
package/316.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[316],{316(e,n,t){async function i(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(async e=>{let[{loadHexColorPlugin:n},{loadHslColorPlugin:i},{loadRgbColorPlugin:a},{loadMovePlugin:s},{loadCircleShape:c},{loadFillColorUpdater:h},{loadOpacityUpdater:b},{loadOutModesUpdater:r},{loadSizeUpdater:d}]=await Promise.all([t.e(302).then(t.bind(t,3302)),t.e(830).then(t.bind(t,5830)),t.e(278).then(t.bind(t,7278)),t.e(126).then(t.bind(t,126)),t.e(530).then(t.bind(t,530)),t.e(922).then(t.bind(t,8922)),t.e(646).then(t.bind(t,646)),t.e(406).then(t.bind(t,4406)),t.e(182).then(t.bind(t,2182))]);await Promise.all([n(e),i(e),a(e),s(e),c(e),h(e),b(e),r(e),d(e)])})}t.r(n),t.d(n,{loadBasic:()=>i})}}]);
|
package/337.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[337],{5337(r,e,t){var a,s;t.d(e,{HexColorManager:()=>p}),(s=a||(a={}))[s.r=1]="r",s[s.g=2]="g",s[s.b=3]="b",s[s.a=4]="a";let n=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,i=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i;class p{accepts(r){return r.startsWith("#")}handleColor(r){return this._parseString(r.value)}handleRangeColor(r){return this._parseString(r.value)}parseString(r){return this._parseString(r)}_parseString(r){if("string"!=typeof r||!this.accepts(r))return;let e=r.replace(n,(r,e,t,a,s)=>e+e+t+t+a+a+(void 0===s?"":s+s)),t=i.exec(e);return t?{a:t[a.a]?Number.parseInt(t[a.a],16)/255:1,b:Number.parseInt(t[a.b]??"0",16),g:Number.parseInt(t[a.g]??"0",16),r:Number.parseInt(t[a.r]??"0",16)}:void 0}}}}]);
|
package/382.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[382],{2382(t,i,o){o.d(i,{OpacityUpdater:()=>e});var a=o(3360);class e{container;constructor(t){this.container=t}init(t){let i=t.options.opacity;t.opacity=(0,a.XsS)(i,1);let o=i.animation;o.enable&&(t.opacity.velocity=(0,a.VGA)(o.speed)/a.a56*this.container.retina.reduceFactor,o.sync||(t.opacity.velocity*=(0,a.G0i)()))}isEnabled(t){return!t.destroyed&&!t.spawning&&!!t.opacity&&t.opacity.enable&&((t.opacity.maxLoops??0)<=0||(t.opacity.maxLoops??0)>0&&(t.opacity.loops??0)<(t.opacity.maxLoops??0))}reset(t){t.opacity&&(t.opacity.time=0,t.opacity.loops=0)}update(t,i){this.isEnabled(t)&&t.opacity&&(0,a.UC0)(t,t.opacity,!0,t.options.opacity.animation.destroy,i)}}}}]);
|
package/406.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[406],{4406(e,t,n){async function a(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("outModes",async e=>{let{OutOfCanvasUpdater:t}=await n.e(508).then(n.bind(n,1508));return new t(e)})})}n.r(t),n.d(t,{loadOutModesUpdater:()=>a})}}]);
|
package/430.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[430],{3430(t,e,i){i.d(e,{MotionPlugin:()=>o});var s=i(3360);class a{factor;value;constructor(){this.factor=4,this.value=!0}load(t){(0,s.kZJ)(t)||(void 0!==t.factor&&(this.factor=t.factor),void 0!==t.value&&(this.value=t.value))}}class n{disable;reduce;constructor(){this.disable=!0,this.reduce=new a}load(t){(0,s.kZJ)(t)||(void 0!==t.disable&&(this.disable=t.disable),this.reduce.load(t.reduce))}}class o{id="motion";async getPlugin(t){let{MotionPluginInstance:e}=await i.e(740).then(i.bind(i,740));return new e(t)}loadOptions(t,e,i){if(!this.needsPlugin())return;let s=e.motion;s?.load||(e.motion=s=new n),s.load(i?.motion)}needsPlugin(){return!0}}}}]);
|
package/452.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[452],{7853(t,a,r){r.d(a,{a:()=>e});class e{drawVector;maxDragDistance;maxParticles;minParticles;particleFactor;spread;vectorColor;velocityFactor;constructor(){this.spread=30,this.velocityFactor=.5,this.particleFactor=.2,this.maxDragDistance=200,this.minParticles=5,this.maxParticles=200,this.drawVector=!0,this.vectorColor="#ffffff80"}load(t){t&&(void 0!==t.spread&&(this.spread=t.spread),void 0!==t.velocityFactor&&(this.velocityFactor=t.velocityFactor),void 0!==t.particleFactor&&(this.particleFactor=t.particleFactor),void 0!==t.minParticles&&(this.minParticles=t.minParticles),void 0!==t.maxParticles&&(this.maxParticles=t.maxParticles),void 0!==t.drawVector&&(this.drawVector=t.drawVector),void 0!==t.vectorColor&&(this.vectorColor=t.vectorColor))}}},6452(t,a,r){r.r(a),r.d(a,{Cannon:()=>e.a,loadExternalCannonInteraction:()=>i});var e=r(7853);async function i(t){t.checkVersion("4.0.0-beta.1"),await t.pluginManager.register(async t=>{let{ensureInteractivityPluginLoaded:a}=await r.e(731).then(r.bind(r,8731));a(t),t.pluginManager.addInteractor?.("externalCannon",async t=>{let{Cannoner:a}=await r.e(812).then(r.bind(r,5812));return new a(t)})})}}}]);
|
package/470.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[470],{2470(e,n,t){async function a(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("roll",async()=>{let{RollUpdater:n}=await t.e(878).then(t.bind(t,8878));return new n(e.pluginManager)})})}t.r(n),t.d(n,{loadRollUpdater:()=>a})}}]);
|
package/508.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[508],{1508(t,i,e){e.d(i,{OutOfCanvasUpdater:()=>c});var o=e(3360);class s{container;modes;_particleBouncePlugins;constructor(t){this.container=t,this.modes=[o.Yzx.bounce,o.Yzx.split],this._particleBouncePlugins=t.plugins.filter(t=>void 0!==t.particleBounce)}update(t,i,e,s){if(!this.modes.includes(s))return;let n=this.container,a=!1;for(let o of this._particleBouncePlugins)if(a=o.particleBounce?.(t,e,i)??!1)break;if(a)return;let r=t.getPosition(),d=t.offset,c=t.getRadius(),l=(0,o.AEc)(r,c),p=n.canvas.size;!function(t){if(t.outMode!==o.Yzx.bounce&&t.outMode!==o.Yzx.split||t.direction!==o.v5k.left&&t.direction!==o.v5k.right)return;t.bounds.right<0&&t.direction===o.v5k.left?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&t.direction===o.v5k.right&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);let i=t.particle.velocity.x,e=!1;if(t.direction===o.v5k.right&&t.bounds.right>=t.canvasSize.width&&i>0||t.direction===o.v5k.left&&t.bounds.left<=0&&i<0){let i=(0,o.VGA)(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-i,e=!0}if(!e)return;let s=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width&&t.direction===o.v5k.right?t.particle.position.x=t.canvasSize.width-s:t.bounds.left<=0&&t.direction===o.v5k.left&&(t.particle.position.x=s),t.outMode===o.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:i,bounds:l,canvasSize:p,offset:d,size:c}),function(t){if(t.outMode!==o.Yzx.bounce&&t.outMode!==o.Yzx.split||t.direction!==o.v5k.bottom&&t.direction!==o.v5k.top)return;t.bounds.bottom<0&&t.direction===o.v5k.top?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&t.direction===o.v5k.bottom&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);let i=t.particle.velocity.y,e=!1;if(t.direction===o.v5k.bottom&&t.bounds.bottom>=t.canvasSize.height&&i>0||t.direction===o.v5k.top&&t.bounds.top<=0&&i<0){let i=(0,o.VGA)(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-i,e=!0}if(!e)return;let s=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height&&t.direction===o.v5k.bottom?t.particle.position.y=t.canvasSize.height-s:t.bounds.top<=0&&t.direction===o.v5k.top&&(t.particle.position.y=s),t.outMode===o.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:i,bounds:l,canvasSize:p,offset:d,size:c})}}class n{container;modes;constructor(t){this.container=t,this.modes=[o.Yzx.destroy]}update(t,i,e,s){if(!this.modes.includes(s))return;let n=this.container;switch(t.outType){case o.x_I.normal:case o.x_I.outside:if((0,o.Tj8)(t.position,n.canvas.size,o.boI,t.getRadius(),i))return;break;case o.x_I.inside:{let{dx:i,dy:e}=(0,o.vrU)(t.position,t.moveCenter),{x:s,y:n}=t.velocity;if(s<0&&i>t.moveCenter.radius||n<0&&e>t.moveCenter.radius||s>=0&&i<-t.moveCenter.radius||n>=0&&e<-t.moveCenter.radius)return}}t.destroy(!0)}}class a{container;modes;constructor(t){this.container=t,this.modes=[o.Yzx.none]}update(t,i,e,s){if(!this.modes.includes(s)||((t.options.move.distance.horizontal&&(i===o.v5k.left||i===o.v5k.right))??(t.options.move.distance.vertical&&(i===o.v5k.top||i===o.v5k.bottom))))return;let n=t.options.move.gravity,a=this.container,r=a.canvas.size,d=t.getRadius();if(n.enable){let e=t.position;(!n.inverse&&e.y>r.height+d&&i===o.v5k.bottom||n.inverse&&e.y<-d&&i===o.v5k.top)&&t.destroy()}else{if(t.velocity.y>0&&t.position.y<=r.height+d||t.velocity.y<0&&t.position.y>=-d||t.velocity.x>0&&t.position.x<=r.width+d||t.velocity.x<0&&t.position.x>=-d)return;(0,o.Tj8)(t.position,a.canvas.size,o.boI,d,i)||t.destroy()}}}let r=o.Miz.origin;class d{container;modes;constructor(t){this.container=t,this.modes=[o.Yzx.out]}update(t,i,e,s){if(!this.modes.includes(s))return;let n=this.container;if(t.outType===o.x_I.inside){let{x:i,y:e}=t.velocity;r.setTo(o.boI),r.length=t.moveCenter.radius,r.angle=t.velocity.angle+Math.PI,r.addTo(t.moveCenter);let{dx:s,dy:a}=(0,o.vrU)(t.position,r);if(i<=0&&s>=0||e<=0&&a>=0||i>=0&&s<=0||e>=0&&a<=0)return;t.position.x=Math.floor((0,o.vEz)({min:0,max:n.canvas.size.width})),t.position.y=Math.floor((0,o.vEz)({min:0,max:n.canvas.size.height}));let{dx:d,dy:c}=(0,o.vrU)(t.position,t.moveCenter);t.direction=Math.atan2(-c,-d),t.velocity.angle=t.direction}else{if((0,o.Tj8)(t.position,n.canvas.size,o.boI,t.getRadius(),i))return;switch(t.outType){case o.x_I.outside:{t.position.x=Math.floor((0,o.vEz)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor((0,o.vEz)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;let{dx:i,dy:e}=(0,o.vrU)(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(e,i),t.velocity.angle=t.direction);break}case o.x_I.normal:{let e=t.options.move.warp,s=n.canvas.size,a={bottom:s.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:s.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},r=t.getRadius(),d=(0,o.AEc)(t.position,r);i===o.v5k.right&&d.left>s.width+t.offset.x?(t.position.x=a.left,t.initialPosition.x=t.position.x,e||(t.position.y=(0,o.G0i)()*s.height,t.initialPosition.y=t.position.y)):i===o.v5k.left&&d.right<-t.offset.x&&(t.position.x=a.right,t.initialPosition.x=t.position.x,e||(t.position.y=(0,o.G0i)()*s.height,t.initialPosition.y=t.position.y)),i===o.v5k.bottom&&d.top>s.height+t.offset.y?(e||(t.position.x=(0,o.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=a.top,t.initialPosition.y=t.position.y):i===o.v5k.top&&d.bottom<-t.offset.y&&(e||(t.position.x=(0,o.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=a.bottom,t.initialPosition.y=t.position.y)}}}}}class c{updaters;container;constructor(t){this.container=t,this.updaters=new Map}init(t){this._addUpdaterIfMissing(t,o.Yzx.bounce,t=>new s(t)),this._addUpdaterIfMissing(t,o.Yzx.out,t=>new d(t)),this._addUpdaterIfMissing(t,o.Yzx.destroy,t=>new n(t)),this._addUpdaterIfMissing(t,o.Yzx.none,t=>new a(t))}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,i){let e=t.options.move.outModes;this._updateOutMode(t,i,e.bottom??e.default,o.v5k.bottom),this._updateOutMode(t,i,e.left??e.default,o.v5k.left),this._updateOutMode(t,i,e.right??e.default,o.v5k.right),this._updateOutMode(t,i,e.top??e.default,o.v5k.top)}_addUpdaterIfMissing=(t,i,e)=>{let o=t.options.move.outModes;this.updaters.has(i)||o.default!==i&&o.bottom!==i&&o.left!==i&&o.right!==i&&o.top!==i||this.updaters.set(i,e(this.container))};_updateOutMode=(t,i,e,o)=>{for(let s of this.updaters.values())s.update(t,o,i,e)}}}}]);
|
package/530.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[530],{530(e,n,t){async function a(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["circle"],async()=>{let{CircleDrawer:e}=await t.e(204).then(t.bind(t,4204));return new e})})}t.r(n),t.d(n,{loadCircleShape:()=>a})}}]);
|
package/558.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[558],{2558(t,e,a){async function n(t){t.checkVersion("4.0.0-beta.1"),await t.pluginManager.register(t=>{t.pluginManager.addParticleUpdater("rotate",async t=>{let{RotateUpdater:e}=await a.e(754).then(a.bind(a,9754));return new e(t)})})}a.r(e),a.d(e,{loadRotateUpdater:()=>n})}}]);
|
package/596.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[596],{4596(e,i,s){s.d(i,{SizeUpdater:()=>n});var t=s(3360);class n{_container;constructor(e){this._container=e}init(e){let i=this._container,s=e.options.size.animation;s.enable&&(e.size.velocity=e.retina.sizeAnimationSpeed/t.a56*i.retina.reduceFactor,s.sync||(e.size.velocity*=(0,t.G0i)()))}isEnabled(e){return!e.destroyed&&!e.spawning&&e.size.enable&&((e.size.maxLoops??0)<=0||(e.size.maxLoops??0)>0&&(e.size.loops??0)<(e.size.maxLoops??0))}reset(e){e.size.time=0,e.size.loops=0}update(e,i){this.isEnabled(e)&&(0,t.UC0)(e,e.size,!0,e.options.size.animation.destroy,i)}}}}]);
|
package/6.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[6],{8006(e,a,n){async function t(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addShape(["edge","square"],async()=>{let{SquareDrawer:e}=await n.e(676).then(n.bind(n,9676));return new e})})}n.r(a),n.d(a,{loadSquareShape:()=>t})}}]);
|
package/637.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[637],{1637(e,n,t){t.d(n,{WobbleUpdater:()=>o});var a=t(3360);class s{angle;move;constructor(){this.angle=50,this.move=10}load(e){(0,a.kZJ)(e)||(void 0!==e.angle&&(this.angle=(0,a.DT4)(e.angle)),void 0!==e.move&&(this.move=(0,a.DT4)(e.move)))}}class i{distance;enable;speed;constructor(){this.distance=5,this.enable=!1,this.speed=new s}load(e){if(!(0,a.kZJ)(e)&&(void 0!==e.distance&&(this.distance=(0,a.DT4)(e.distance)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed))if((0,a.EtT)(e.speed))this.speed.load({angle:e.speed});else{let n=e.speed;"min"in n?this.speed.load({angle:n}):this.speed.load(e.speed)}}}class o{_container;constructor(e){this._container=e}init(e){let n=e.options.wobble;n?.enable?e.wobble={angle:(0,a.G0i)()*a.R1e,angleSpeed:(0,a.VGA)(n.speed.angle)/360,moveSpeed:(0,a.VGA)(n.speed.move)/10}:e.wobble={angle:0,angleSpeed:0,moveSpeed:0},e.retina.wobbleDistance=(0,a.VGA)(n?.distance??0)*this._container.retina.pixelRatio}isEnabled(e){return!e.destroyed&&!e.spawning&&!!e.options.wobble?.enable}loadOptions(e,...n){for(let t of(e.wobble??=new i,n))e.wobble.load(t?.wobble)}update(e,n){this.isEnabled(e)&&function(e,n,t){let{wobble:s}=n.options,{wobble:i}=n;if(!s?.enable||!i)return;let o=e.retina.reduceFactor,l=i.angleSpeed*t.factor*o,d=i.moveSpeed*t.factor*o*(n.retina.wobbleDistance??0)/(a.XuV/60),c=a.R1e,{position:b}=n;i.angle+=l,i.angle>c&&(i.angle-=c),b.x+=d*Math.cos(i.angle),b.y+=d*Math.abs(Math.sin(i.angle))}(this._container,e,n)}}}}]);
|
package/646.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[646],{646(t,e,a){async function n(t){t.checkVersion("4.0.0-beta.1"),await t.pluginManager.register(t=>{t.pluginManager.addParticleUpdater("opacity",async t=>{let{OpacityUpdater:e}=await a.e(382).then(a.bind(a,2382));return new e(t)})})}a.r(e),a.d(e,{loadOpacityUpdater:()=>n})}}]);
|
package/676.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[676],{9676(t,e,n){n.d(e,{SquareDrawer:()=>r});var s=n(3360);class r{draw(t){!function(t){let{context:e,radius:n}=t,r=n*Math.SQRT1_2,a=r*s.gdl;e.rect(-r,-r,a,a)}(t)}getSidesCount(){return 4}}}}]);
|
package/694.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[694],{6694(t,e,n){async function a(t){t.checkVersion("4.0.0-beta.1"),await t.pluginManager.register(t=>{t.pluginManager.addParticleUpdater("tilt",async t=>{let{TiltUpdater:e}=await n.e(254).then(n.bind(n,9254));return new e(t)})})}n.r(e),n.d(e,{loadTiltUpdater:()=>a})}}]);
|
package/730.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[730],{5730(n,e,t){t.d(e,{MovePlugin:()=>i});class i{id="move";_pluginManager;constructor(n){this._pluginManager=n}async getPlugin(n){let{MovePluginInstance:e}=await t.e(844).then(t.bind(t,6844));return new e(this._pluginManager,n)}loadOptions(){}needsPlugin(){return!0}}}}]);
|
package/731.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[731],{8160(e,t,n){var r,a;n.d(t,{Q:()=>r}),(a=r||(r={})).circle="circle",a.rectangle="rectangle"},2607(e,t,n){var r,a;n.d(t,{h:()=>r}),(a=r||(r={})).canvas="canvas",a.parent="parent",a.window="window"},6416(e,t,n){var r,a;n.d(t,{e:()=>r}),(a=r||(r={})).external="external",a.particles="particles"},8660(e,t,n){n.d(t,{Bp:()=>l,DG:()=>d,G3:()=>u,Rb:()=>c,Z0:()=>o,ms:()=>a,s7:()=>s,vo:()=>i,xO:()=>r});let r="click",a="pointerdown",i="pointerup",o="pointerleave",c="pointermove",s="touchstart",l="touchend",d="touchmove",u="touchcancel"},7291(e,t,n){n.d(t,{G:()=>i});var r=n(3360),a=n(8160);class i{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.Q.circle}load(e){(0,r.kZJ)(e)||(void 0!==e.selectors&&(this.selectors=e.selectors),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.type&&(this.type=e.type))}}},9219(e,t,n){n.d(t,{d:()=>a});var r=n(3360);class a{_container;_pluginManager;constructor(e,t){this._pluginManager=e,this._container=t}load(e){if((0,r.kZJ)(e)||!this._container)return;let t=this._pluginManager.interactors?.get(this._container);if(t)for(let n of t)n.loadModeOptions&&n.loadModeOptions(this,e)}}},8731(e,t,n){n.r(t),n.d(t,{DivEvent:()=>h.G,DivType:()=>s.Q,ExternalInteractorBase:()=>i,InteractivityDetect:()=>l.h,InteractorType:()=>a.e,Modes:()=>g.d,ParticlesInteractorBase:()=>o,clickEvent:()=>c.xO,divMode:()=>p,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>M,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>w,mouseDownEvent:()=>c.ms,mouseLeaveEvent:()=>c.Z0,mouseMoveEvent:()=>c.Rb,mouseUpEvent:()=>c.vo,singleDivModeExecute:()=>v,touchCancelEvent:()=>c.G3,touchEndEvent:()=>c.Bp,touchMoveEvent:()=>c.DG,touchStartEvent:()=>c.s7});var r=n(3360),a=n(6416);class i{type=a.e.external;container;constructor(e){this.container=e}}class o{type=a.e.particles;container;constructor(e){this.container=e}}var c=n(8660),s=n(8160),l=n(2607);function d(e,t){return!!(0,r.w3Z)(t,t=>t.enable&&(0,r.hnD)(e,t.mode))}function u(e,t,n){(0,r.wJ2)(t,t=>{let a=t.mode;t.enable&&(0,r.hnD)(e,a)&&v(t,n)})}function v(e,t){let n=e.selectors;(0,r.wJ2)(n,n=>{t(n,e)})}function p(e,t){if(t&&e)return(0,r.w3Z)(e,e=>{var n;let a;return n=e.selectors,a=(0,r.wJ2)(n,e=>t.matches(e)),(0,r.cyL)(a)?a.some(e=>e):a})}var h=n(7291),g=n(9219);async function w(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(async e=>{let t=e.pluginManager,{InteractivityPlugin:a}=await n.e(834).then(n.bind(n,5834));t.addPlugin(new a(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,n)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,n)},t.getInteractors=async(e,n=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,r.HQK)(e,t.interactors,t.initializers.interactors,n)),t.setOnClickHandler=t=>{let{items:n}=e;if(!n.length)throw Error("Click handlers can only be set after calling tsParticles.load()");n.forEach(e=>{e.addClickHandler?.(t)})}})}function M(e){if(!e.pluginManager.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/740.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[740],{740(e,t,n){n.d(t,{MotionPluginInstance:()=>r});var a=n(3360);class r{_container;constructor(e){this._container=e}async init(){let e=this._container,t=e.actualOptions.motion;if(!(t&&(t.disable||t.reduce.value))){e.retina.reduceFactor=1;return}let n=(0,a.lVH)("(prefers-reduced-motion: reduce)");if(!n){e.retina.reduceFactor=1;return}this._handleMotionChange(n);let r=()=>{(async()=>{this._handleMotionChange(n);try{await e.refresh()}catch{}})()};n.addEventListener("change",r),await Promise.resolve()}_handleMotionChange=e=>{let t=this._container,n=t.actualOptions.motion;n&&(e.matches?n.disable?t.retina.reduceFactor=0:t.retina.reduceFactor=n.reduce.value?1/n.reduce.factor:1:t.retina.reduceFactor=1)}}}}]);
|
package/754.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[754],{9754(t,e,a){a.d(e,{RotateUpdater:()=>s});var i=a(3360);class o{decay;enable;speed;sync;constructor(){this.enable=!1,this.speed=0,this.decay=0,this.sync=!1}load(t){(0,i.kZJ)(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.speed&&(this.speed=(0,i.DT4)(t.speed)),void 0!==t.decay&&(this.decay=(0,i.DT4)(t.decay)),void 0!==t.sync&&(this.sync=t.sync))}}class n extends i.PVU{animation;direction;path;constructor(){super(),this.animation=new o,this.direction=i.pTR.clockwise,this.path=!1,this.value=0}load(t){(0,i.kZJ)(t)||(super.load(t),void 0!==t.direction&&(this.direction=t.direction),this.animation.load(t.animation),void 0!==t.path&&(this.path=t.path))}}class s{container;constructor(t){this.container=t}init(t){let e=t.options.rotate;if(!e)return;t.rotate={enable:e.animation.enable,value:(0,i.puj)((0,i.VGA)(e.value)),min:0,max:i.R1e},t.pathRotation=e.path;let a=e.direction;switch(a===i.pTR.random&&(a=Math.floor((0,i.G0i)()*i.gdl)>0?i.pTR.counterClockwise:i.pTR.clockwise),a){case i.pTR.counterClockwise:case"counterClockwise":t.rotate.status=i.H_P.decreasing;break;case i.pTR.clockwise:t.rotate.status=i.H_P.increasing}let o=e.animation;o.enable&&(t.rotate.decay=i.D_O-(0,i.VGA)(o.decay),t.rotate.velocity=(0,i.VGA)(o.speed)/360*this.container.retina.reduceFactor,o.sync||(t.rotate.velocity*=(0,i.G0i)())),t.rotation=t.rotate.value}isEnabled(t){let e=t.options.rotate;return!!e&&!t.destroyed&&!t.spawning&&(!!e.value||e.animation.enable||e.path)}loadOptions(t,...e){for(let a of(t.rotate??=new n,e))t.rotate.load(a?.rotate)}update(t,e){!this.isEnabled(t)||(t.isRotating=!!t.rotate,t.rotate&&((0,i.UC0)(t,t.rotate,!1,i.VKE.none,e),t.rotation=t.rotate.value))}}}}]);
|
package/812.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[731,812],{5812(t,e,i){i.d(e,{Cannoner:()=>d});var a,n,r=i(8731),o=i(3360),s=i(7853);(a=n||(n={}))[a.idle=0]="idle",a[a.aiming=1]="aiming",a[a.fired=2]="fired";let c="cannon",l=o.D_O/20;class d extends r.ExternalInteractorBase{maxDistance=0;_data;_gesture={origin:o.Miz.origin,current:o.Miz.origin,active:!1};_lastDownPosition=void 0;_state=n.idle;constructor(t){super(t)}clear(t,e){}init(){let t=this.container.actualOptions.interactivity?.modes.cannon??new s.a;this._data={spread:(0,o.puj)(t.spread),maxDragDistance:t.maxDragDistance,velocityFactor:t.velocityFactor,particleFactor:t.particleFactor,minParticles:t.minParticles,maxParticles:t.maxParticles,drawVector:t.drawVector,vectorColor:t.vectorColor}}interact(t,e){let i=t.mouse,a=i.position,r=i.clicking,o=i.downPosition;r&&o&&o!==this._lastDownPosition&&this._state===n.idle&&(this._lastDownPosition=o,this._gesture={origin:{x:o.x,y:o.y},current:{x:o.x,y:o.y},active:!0},this._state=n.aiming),this._state===n.aiming&&a&&(this._gesture.current={x:a.x,y:a.y},this._drawVector()),r||this._state!==n.aiming||(this._gesture.active=!1,this._fire(),this._state=n.idle)}isEnabled(t){let{container:e}=this,i=e.actualOptions.interactivity?.events;if(!i?.onClick.enable)return!1;let a=i.onClick.mode;return!!(Array.isArray(a)?a.includes(c):a===c)&&(this._state!==n.idle||t.mouse.clicking)}loadModeOptions(t,...e){for(let i of(t.cannon??=new s.a,e))t.cannon.load(i?.cannon)}reset(t,e){}_drawVector(){this.container.canvas.render.draw(t=>{let e=this._data;if(!e)return;let{origin:i,current:a}=this._gesture,n=this.container.retina.pixelRatio,r=(0,o.YfF)(i,a),s=e.maxDragDistance>o.dvp?Math.min(r,e.maxDragDistance*n):n,c=r>0?s/r:0,d=i.x+(a.x-i.x)*c,h=i.y+(a.y-i.y)*c;t.save(),t.strokeStyle=e.vectorColor,t.lineWidth=o.gdl*n,t.beginPath(),t.moveTo(i.x,i.y),t.lineTo(d,h),t.stroke();let u=Math.max(4,s*l)*n;t.beginPath(),t.arc(i.x,i.y,u,0,o.R1e),t.strokeStyle=e.vectorColor,t.lineWidth=o.gdl*n,t.stroke(),t.restore()})}_fire(){var t,e,i;let a=this._data;if(!a)return;let{origin:n,current:r}=this._gesture,s=this.container.retina.pixelRatio,c=(0,o.YfF)(n,r),l=a.maxDragDistance>o.dvp?Math.min(c,a.maxDragDistance*s):c;if(l<2)return;let d=o.D_O/s,h=(t=r.x,e=r.y,i=n.x,Math.atan2(n.y-e,i-t)),u=l*d*a.velocityFactor,v=Math.min(a.maxParticles,Math.max(a.minParticles,Math.round(l*a.particleFactor))),p=180/Math.PI;for(let t=0;t<v;t++){let t=h+(0,o.e4g)(-a.spread,a.spread),e=(0,o.e4g)(.25*u,u);this.container.particles.addParticle(n,{move:{enable:!0,speed:e,direction:t*p}})}}}},8160(t,e,i){var a,n;i.d(e,{Q:()=>a}),(n=a||(a={})).circle="circle",n.rectangle="rectangle"},2607(t,e,i){var a,n;i.d(e,{h:()=>a}),(n=a||(a={})).canvas="canvas",n.parent="parent",n.window="window"},6416(t,e,i){var a,n;i.d(e,{e:()=>a}),(n=a||(a={})).external="external",n.particles="particles"},8660(t,e,i){i.d(e,{Bp:()=>l,DG:()=>d,G3:()=>h,Rb:()=>s,Z0:()=>o,ms:()=>n,s7:()=>c,vo:()=>r,xO:()=>a});let a="click",n="pointerdown",r="pointerup",o="pointerleave",s="pointermove",c="touchstart",l="touchend",d="touchmove",h="touchcancel"},7291(t,e,i){i.d(e,{G:()=>r});var a=i(3360),n=i(8160);class r{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=n.Q.circle}load(t){(0,a.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},9219(t,e,i){i.d(e,{d:()=>n});var a=i(3360);class n{_container;_pluginManager;constructor(t,e){this._pluginManager=t,this._container=e}load(t){if((0,a.kZJ)(t)||!this._container)return;let e=this._pluginManager.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},8731(t,e,i){i.r(e),i.d(e,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>r,InteractivityDetect:()=>l.h,InteractorType:()=>n.e,Modes:()=>g.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>_,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>s.ms,mouseLeaveEvent:()=>s.Z0,mouseMoveEvent:()=>s.Rb,mouseUpEvent:()=>s.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>s.G3,touchEndEvent:()=>s.Bp,touchMoveEvent:()=>s.DG,touchStartEvent:()=>s.s7});var a=i(3360),n=i(6416);class r{type=n.e.external;container;constructor(t){this.container=t}}class o{type=n.e.particles;container;constructor(t){this.container=t}}var s=i(8660),c=i(8160),l=i(2607);function d(t,e){return!!(0,a.w3Z)(e,e=>e.enable&&(0,a.hnD)(t,e.mode))}function h(t,e,i){(0,a.wJ2)(e,e=>{let n=e.mode;e.enable&&(0,a.hnD)(t,n)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,a.wJ2)(i,i=>{e(i,t)})}function v(t,e){if(e&&t)return(0,a.w3Z)(t,t=>{var i;let n;return i=t.selectors,n=(0,a.wJ2)(i,t=>e.matches(t)),(0,a.cyL)(n)?n.some(t=>t):n})}var p=i(7291),g=i(9219);async function m(t){t.checkVersion("4.0.0-beta.1"),await t.pluginManager.register(async t=>{let e=t.pluginManager,{InteractivityPlugin:n}=await i.e(834).then(i.bind(i,5834));e.addPlugin(new n(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,i)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,i)},e.getInteractors=async(t,i=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,a.HQK)(t,e.interactors,e.initializers.interactors,i)),e.setOnClickHandler=e=>{let{items:i}=t;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(t=>{t.addClickHandler?.(e)})}})}function _(t){if(!t.pluginManager.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/830.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[830],{5830(n,e,a){async function t(n){n.checkVersion("4.0.0-beta.1"),await n.pluginManager.register(async n=>{let{HslColorManager:e}=await a.e(3).then(a.bind(a,6003));n.pluginManager.addColorManager("hsl",new e)})}a.r(e),a.d(e,{loadHslColorPlugin:()=>t})}}]);
|
package/834.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[834],{5834(t,e,i){i.d(e,{InteractivityPlugin:()=>s});var n=i(3360),o=i(1575);class s{id="interactivity";_pluginManager;constructor(t){this._pluginManager=t}async getPlugin(t){let{InteractivityPluginInstance:e}=await i.e(270).then(i.bind(i,4270));return new e(this._pluginManager,t)}loadOptions(t,e,i){if(!this.needsPlugin())return;let n=e.interactivity;n?.load||(e.interactivity=n=new o.k(this._pluginManager,t)),n.load(i?.interactivity);let s=this._pluginManager.interactors?.get(t);if(s)for(let t of s)t.loadOptions&&t.loadOptions(e,i)}loadParticlesOptions(t,e,i){i?.interactivity&&(e.interactivity=(0,n.zwS)({},i.interactivity));let o=this._pluginManager.interactors?.get(t);if(o)for(let t of o)t.loadParticlesOptions?.(e,i)}needsPlugin(){return!0}}},1575(t,e,i){i.d(e,{k:()=>c});var n=i(3360);class o{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(t){(0,n.kZJ)(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}var s=i(7291);class a{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(t){(0,n.kZJ)(t)||(void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode))}}class l{onClick;onDiv;onHover;constructor(){this.onClick=new o,this.onDiv=new s.G,this.onHover=new a}load(t){if((0,n.kZJ)(t))return;this.onClick.load(t.onClick);let e=t.onDiv;void 0!==e&&(this.onDiv=(0,n.wJ2)(e,t=>{let e=new s.G;return e.load(t),e})),this.onHover.load(t.onHover)}}var r=i(2607),d=i(9219);class c{detectsOn;events;modes;constructor(t,e){this.detectsOn=r.h.window,this.events=new l,this.modes=new d.d(t,e)}load(t){if((0,n.kZJ)(t))return;let e=t.detectsOn;void 0!==e&&(this.detectsOn=e),this.events.load(t.events),this.modes.load(t.modes)}}}}]);
|
package/844.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[844],{6844(e,t,i){i.d(t,{MovePluginInstance:()=>n});var a=i(3360);class n{availablePathGenerators;pathGenerators;_container;_pluginManager;constructor(e,t){this._pluginManager=e,this._container=t,this.availablePathGenerators=new Map,this.pathGenerators=new Map}destroy(){this.availablePathGenerators=new Map,this.pathGenerators=new Map}isEnabled(e){return!e.destroyed&&e.options.move.enable}particleCreated(e){let t=e.options.move,i=t.gravity,n=t.path;if(e.moveDecay=a.WH8-(0,a.VGA)(t.decay),e.pathDelay=(0,a.VGA)(n.delay.value)*a.XuV,n.generator){let t=this.pathGenerators.get(n.generator);!t&&(t=this.availablePathGenerators.get(n.generator))&&(this.pathGenerators.set(n.generator,t),t.init()),e.pathGenerator=t}e.gravity={enable:i.enable,acceleration:(0,a.VGA)(i.acceleration),inverse:i.inverse},function(e,t){let i=t.options.move.spin;if(!i.enable)return;let n=i.position??{x:50,y:50},s={x:.01*n.x*e.canvas.size.width,y:.01*n.y*e.canvas.size.height},r=t.getPosition(),o=(0,a.YfF)(r,s),l=(0,a.VGA)(i.acceleration);t.retina.spinAcceleration=l*e.retina.pixelRatio,t.spin={center:s,direction:t.velocity.x>=0?a.pTR.clockwise:a.pTR.counterClockwise,angle:(0,a.G0i)()*a.R1e,radius:o,acceleration:t.retina.spinAcceleration}}(this._container,e)}particleDestroyed(e){let t=e.pathGenerator;t?.reset(e)}particleUpdate(e,t){let i=e.options,n=i.move;if(!n.enable)return;let s=this._container,r=s.retina.pixelRatio,o=e.slow.inRange?e.slow.factor:1,l=s.retina.reduceFactor,c=e.retina.moveSpeed,p=e.retina.moveDrift,h=(0,a.W9e)(i.size.value)*r,y=c*(n.size?e.getRadius()/h:1)*o*(t.factor||1)*a.MXx,v=e.retina.maxSpeed;n.spin.enable?function(e,t,i,n){if(!t.spin)return;let s=t.spin.direction===a.pTR.clockwise,r={x:s?Math.cos:Math.sin,y:s?Math.sin:Math.cos};t.position.x=t.spin.center.x+t.spin.radius*r.x(t.spin.angle)*n,t.position.y=t.spin.center.y+t.spin.radius*r.y(t.spin.angle)*n,t.spin.radius+=t.spin.acceleration*n;let o=Math.max(e.canvas.size.width,e.canvas.size.height),l=o*a.MXx;t.spin.radius>l?(t.spin.radius=l,t.spin.acceleration*=-1):t.spin.radius<0&&(t.spin.radius=0,t.spin.acceleration*=-1),t.spin.angle+=.01*i*(1-t.spin.radius/o)}(s,e,y,l):function(e,t,i,n,s,r,o){!function(e,t){let i=e.options.move.path;if(!i.enable)return;let n=e.pathDelay??0;if(e.lastPathTime<=n){e.lastPathTime+=t.value;return}let s=e.pathGenerator?.generate(e,t);s&&e.velocity.addTo(s),i.clamp&&(e.velocity.x=(0,a.qE8)(e.velocity.x,-1,1),e.velocity.y=(0,a.qE8)(e.velocity.y,-1,1)),e.lastPathTime-=n}(e,o);let l=e.gravity,c=l?.enable&&l.inverse?-1:1;s&&i&&(e.velocity.x+=s*o.factor/(60*i)),l?.enable&&i&&(e.velocity.y+=c*(l.acceleration*o.factor)/(60*i));let p=e.moveDecay;e.velocity.multTo(p??1);let h=e.velocity.mult(i);l?.enable&&n>0&&(!l.inverse&&h.y>=0&&h.y>=n||l.inverse&&h.y<=0&&h.y<=-n)&&(h.y=c*n,i&&(e.velocity.y=h.y/i));let y=e.options.zIndex,v=(1-e.zIndexFactor)**y.velocityRate;h.multTo(v),h.multTo(r);let{position:u}=e;u.addTo(h),t.vibrate&&(u.x+=Math.sin(u.x*Math.cos(u.y))*r,u.y+=Math.cos(u.y*Math.sin(u.x))*r)}(e,n,y,v,p,l,t),function(e){let t=e.initialPosition,{dx:i,dy:n}=(0,a.vrU)(t,e.position),s=Math.abs(i),r=Math.abs(n),{maxDistance:o}=e.retina,l=o.horizontal,c=o.vertical;if(l||c){if((l&&s>=l||c&&r>=c)&&!e.misplaced)e.misplaced=!!l&&s>l||!!c&&r>c,l&&(e.velocity.x=e.velocity.y*a.MXx-e.velocity.x),c&&(e.velocity.y=e.velocity.x*a.MXx-e.velocity.y);else if((!l||s<l)&&(!c||r<c)&&e.misplaced)e.misplaced=!1;else if(e.misplaced){let i=e.position,n=e.velocity;l&&(i.x<t.x&&n.x<0||i.x>t.x&&n.x>0)&&(n.x*=-(0,a.G0i)()),c&&(i.y<t.y&&n.y<0||i.y>t.y&&n.y>0)&&(n.y*=-(0,a.G0i)())}}}(e)}preInit(){return this._init()}redrawInit(){return this._init()}update(){for(let e of this.pathGenerators.values())e.update()}async _init(){let e=await this._pluginManager.getPathGenerators?.(this._container,!0);if(e)for(let t of(this.availablePathGenerators=e,this.pathGenerators=new Map,this.pathGenerators.values()))t.init()}}}}]);
|
package/85.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[85],{1085(i,e,l){l.d(e,{FillColorUpdater:()=>t});var n=l(3360);class t{_container;_pluginManager;constructor(i,e){this._container=e,this._pluginManager=i}init(i){let e=this._container,l=i.options,t=(0,n.TA3)(l.fill,i.id,l.reduceDuplicates);if(!t)return;i.fillEnabled=t.enable,i.fillOpacity=(0,n.VGA)(t.opacity),i.fillAnimation=t.color.animation;let a=(0,n.R5R)(this._pluginManager,t.color);a&&(i.fillColor=(0,n.pzy)(a,i.fillAnimation,e.retina.reduceFactor))}isEnabled(i){let e=i.fillAnimation,{fillColor:l}=i;return!i.destroyed&&!i.spawning&&!!e&&(l?.h.value!==void 0&&l.h.enable||l?.s.value!==void 0&&l.s.enable||l?.l.value!==void 0&&l.l.enable)}update(i,e){this.isEnabled(i)&&(0,n.JvX)(i.fillColor,e)}}}}]);
|
package/878.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[878],{8878(e,l,a){a.d(l,{RollUpdater:()=>s});var n,t,o=a(3360);(n=t||(t={})).both="both",n.horizontal="horizontal",n.vertical="vertical";class i{enable;value;constructor(){this.enable=!1,this.value=0}load(e){(0,o.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.value&&(this.value=(0,o.DT4)(e.value)))}}class r{backColor;darken;enable;enlighten;mode;speed;constructor(){this.darken=new i,this.enable=!1,this.enlighten=new i,this.mode=t.vertical,this.speed=25}load(e){(0,o.kZJ)(e)||(void 0!==e.backColor&&(this.backColor=o.Oit.create(this.backColor,e.backColor)),this.darken.load(e.darken),void 0!==e.enable&&(this.enable=e.enable),this.enlighten.load(e.enlighten),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.speed&&(this.speed=(0,o.DT4)(e.speed)))}}class s{_pluginManager;constructor(e){this._pluginManager=e}getTransformValues(e){let l=e.roll?.enable&&e.roll,a=l&&l.horizontal,n=l&&l.vertical;return{a:a?Math.cos(l.angle):void 0,d:n?Math.sin(l.angle):void 0}}init(e){!function(e,l){let a=l.options.roll;if(!a?.enable){l.roll={enable:!1,horizontal:!1,vertical:!1,angle:0,speed:0};return}if(l.roll={enable:a.enable,horizontal:a.mode===t.horizontal||a.mode===t.both,vertical:a.mode===t.vertical||a.mode===t.both,angle:(0,o.G0i)()*o.R1e,speed:(0,o.VGA)(a.speed)/360},a.backColor)l.backColor=(0,o.R5R)(e,a.backColor);else if(a.darken.enable&&a.enlighten.enable){let e=(0,o.G0i)()>=o.MXx?o.HKZ.darken:o.HKZ.enlighten;l.roll.alter={type:e,value:(0,o.VGA)(e===o.HKZ.darken?a.darken.value:a.enlighten.value)}}else a.darken.enable?l.roll.alter={type:o.HKZ.darken,value:(0,o.VGA)(a.darken.value)}:a.enlighten.enable&&(l.roll.alter={type:o.HKZ.enlighten,value:(0,o.VGA)(a.enlighten.value)})}(this._pluginManager,e)}isEnabled(e){let l=e.options.roll;return!e.destroyed&&!e.spawning&&!!l?.enable}loadOptions(e,...l){for(let a of(e.roll??=new r,l))e.roll.load(a?.roll)}update(e,l){this.isEnabled(e)&&function(e,l){let a=e.options.roll,n=e.roll;if(!n||!a?.enable)return;let t=n.speed*l.factor,i=o.R1e;n.angle+=t,n.angle>i&&(n.angle-=i)}(e,l)}}}}]);
|
package/922.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[922],{8922(e,n,t){async function a(e){e.checkVersion("4.0.0-beta.1"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("color",async n=>{let{FillColorUpdater:a}=await t.e(85).then(t.bind(t,1085));return new a(e.pluginManager,n)})})}t.r(n),t.d(n,{loadFillColorUpdater:()=>a})}}]);
|
package/930.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[930],{4930(t,i,e){e.d(i,{Container:()=>O});var s=e(1451),a=e(6027),r=e(4477),n=e(5482),o=e(9297);class l{_canvasClearPlugins;_canvasManager;_canvasPaintPlugins;_clearDrawPlugins;_colorPlugins;_container;_context;_contextSettings;_drawParticlePlugins;_drawParticlesCleanupPlugins;_drawParticlesSetupPlugins;_drawPlugins;_drawSettingsCleanupPlugins;_drawSettingsSetupPlugins;_pluginManager;_postDrawUpdaters;_preDrawUpdaters;_reusableColorStyles={};_reusablePluginColors=[void 0,void 0];_reusableTransform={};constructor(t,i,e){this._pluginManager=t,this._container=i,this._canvasManager=e,this._context=null,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[]}get settings(){return this._contextSettings}canvasClear(){this._container.actualOptions.clear&&this.draw(t=>{(0,o.IU)(t,this._canvasManager.size)})}clear(){let t=!1;for(let i of this._canvasClearPlugins)if(t=i.canvasClear?.()??!1)break;t||this.canvasClear()}destroy(){this.stop(),this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[]}draw(t){let i=this._context;if(i)return t(i)}drawParticle(t,i){if(t.spawning||t.destroyed)return;let e=t.getRadius();if(e<=a.w2)return;let s=t.getFillColor(),r=t.getStrokeColor(),[l,h]=this._getPluginParticleColors(t);if(l??=s,h??=r,!l&&!h)return;let c=this._container,d=t.options.zIndex,p=a.RV-t.zIndexFactor,{fillOpacity:u,opacity:_,strokeOpacity:g}=t.getOpacity(),f=this._reusableTransform,P=this._reusableColorStyles,m=l?(0,n.LC)(l,c.hdr,u*_):void 0,y=h?(0,n.LC)(h,c.hdr,g*_):m;f.a=f.b=f.c=f.d=void 0,P.fill=m,P.stroke=y,this.draw(s=>{for(let e of this._drawParticlesSetupPlugins)e.drawParticleSetup?.(s,t,i);for(let a of(this._applyPreDrawUpdaters(s,t,e,_,P,f),(0,o.p0)({container:c,context:s,particle:t,delta:i,colorStyles:P,radius:e*p**d.sizeRate,opacity:_,transform:f}),this._applyPostDrawUpdaters(t),this._drawParticlesCleanupPlugins))a.drawParticleCleanup?.(s,t,i)})}drawParticlePlugins(t,i){this.draw(e=>{for(let s of this._drawParticlePlugins)(0,o.Wb)(e,s,t,i)})}drawParticles(t){let{particles:i}=this._container;this.clear(),i.update(t),this.draw(e=>{for(let i of this._drawSettingsSetupPlugins)i.drawSettingsSetup?.(e,t);for(let i of this._drawPlugins)i.draw?.(e,t);for(let s of(i.drawParticles(t),this._clearDrawPlugins))s.clearDraw?.(e,t);for(let i of this._drawSettingsCleanupPlugins)i.drawSettingsCleanup?.(e,t)})}init(){this.initUpdaters(),this.initPlugins(),this.paint()}initPlugins(){for(let t of(this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesSetupPlugins=[],this._drawParticlesCleanupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this._container.plugins))(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t),t.canvasClear&&this._canvasClearPlugins.push(t),t.canvasPaint&&this._canvasPaintPlugins.push(t),t.drawParticle&&this._drawParticlePlugins.push(t),t.drawParticleSetup&&this._drawParticlesSetupPlugins.push(t),t.drawParticleCleanup&&this._drawParticlesCleanupPlugins.push(t),t.draw&&this._drawPlugins.push(t),t.drawSettingsSetup&&this._drawSettingsSetupPlugins.push(t),t.drawSettingsCleanup&&this._drawSettingsCleanupPlugins.push(t),t.clearDraw&&this._clearDrawPlugins.push(t)}initUpdaters(){for(let t of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._container.particleUpdaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}paint(){let t=!1;for(let i of this._canvasPaintPlugins)if(t=i.canvasPaint?.()??!1)break;t||this.paintBase()}paintBase(t){this.draw(i=>{(0,o.Sn)(i,this._canvasManager.size,t)})}paintImage(t,i){this.draw(e=>{(0,o.Md)(e,this._canvasManager.size,t,i)})}setContext(t){this._context=t,this._context&&(this._context.globalCompositeOperation=a.yj)}setContextSettings(t){this._contextSettings=t}stop(){this.draw(t=>{(0,o.IU)(t,this._canvasManager.size)})}_applyPostDrawUpdaters=t=>{for(let i of this._postDrawUpdaters)i.afterDraw?.(t)};_applyPreDrawUpdaters=(t,i,e,s,r,n)=>{for(let o of this._preDrawUpdaters){if(o.getColorStyles){let{fill:a,stroke:n}=o.getColorStyles(i,t,e,s);a&&(r.fill=a),n&&(r.stroke=n)}if(o.getTransformValues){let t=o.getTransformValues(i);for(let i in t)!function(t,i,e){let s=i[e];void 0!==s&&(t[e]=(t[e]??a.zs)*s)}(n,t,i)}o.beforeDraw?.(i)}};_getPluginParticleColors=t=>{let i,e;for(let s of this._colorPlugins)if(!i&&s.particleFillColor&&(i=(0,n.R5)(this._pluginManager,s.particleFillColor(t))),!e&&s.particleStrokeColor&&(e=(0,n.R5)(this._pluginManager,s.particleStrokeColor(t))),i&&e)break;return this._reusablePluginColors[0]=i,this._reusablePluginColors[1]=e,this._reusablePluginColors}}function h(t,i,e=!1){if(!i)return;let s=t.style,a=new Set;for(let t=0;t<s.length;t++){let i=s.item(t);i&&a.add(i)}for(let t=0;t<i.length;t++){let e=i.item(t);e&&a.add(e)}for(let t of a){let a=i.getPropertyValue(t);a?s.setProperty(t,a,e?"important":""):s.removeProperty(t)}}class c{element;render;size;zoom=a.Pf;_container;_generated;_mutationObserver;_originalStyle;_pluginManager;_pointerEvents;_resizePlugins;_standardSize;_zoomCenter;constructor(t,i){this._pluginManager=t,this._container=i,this.render=new l(t,i,this),this._standardSize={height:0,width:0};const e=i.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*e,width:s.width*e},this._generated=!1,this._resizePlugins=[],this._pointerEvents="none"}get _fullScreen(){return this._container.actualOptions.fullScreen.enable}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this.render.destroy(),this._resizePlugins=[]}getZoomCenter(){let t=this._container.retina.pixelRatio,{width:i,height:e}=this.size;return this._zoomCenter?this._zoomCenter:{x:i*a.MX/t,y:e*a.MX/t}}init(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=(0,r.tG)(t=>{for(let i of t)"attributes"===i.type&&"style"===i.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})}),this.initPlugins(),this.render.init()}initBackground(){let{_container:t}=this,i=t.actualOptions.background,e=this.element;if(!e)return;let s=e.style,a=(0,n.BN)(this._pluginManager,i.color);a?s.backgroundColor=(0,n.xx)(a,t.hdr,i.opacity):s.backgroundColor="",s.backgroundImage=i.image||"",s.backgroundPosition=i.position||"",s.backgroundRepeat=i.repeat||"",s.backgroundSize=i.size||""}initPlugins(){for(let t of(this._resizePlugins=[],this._container.plugins))t.resize&&this._resizePlugins.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove();let i=this._container;this._generated=a.eb in t.dataset?"true"===t.dataset[a.eb]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=(0,r.td)(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let s=this._container.retina.pixelRatio,n=this.size;t.height=n.height=e.height*s,t.width=n.width=e.width*s;let o=(0,r.lV)("(color-gamut: p3)");this.render.setContextSettings({alpha:!0,colorSpace:o?.matches&&i.hdr?"display-p3":"srgb",desynchronized:!0,willReadFrequently:!1}),this.render.setContext(this.element.getContext("2d",this.render.settings)),this._safeMutationObserver(t=>{t.disconnect()}),i.retina.init(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})})}resize(){if(!this.element)return!1;let t=this._container,i=t.canvas._standardSize,e={width:this.element.offsetWidth,height:this.element.offsetHeight},s=t.retina.pixelRatio,a={width:e.width*s,height:e.height*s};if(e.height===i.height&&e.width===i.width&&a.height===this.element.height&&a.width===this.element.width)return!1;let r={...i};i.height=e.height,i.width=e.width;let n=this.size;return this.element.width=n.width=a.width,this.element.height=n.height=a.height,this._container.started&&t.particles.setResizeFactor({width:i.width/r.width,height:i.height/r.height}),!0}setPointerEvents(t){this.element&&(this._pointerEvents=t,this._repairStyle())}setZoom(t,i){this.zoom=t,this._zoomCenter=i}stop(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=void 0,this.render.stop()}async windowResize(){if(!this.element||!this.resize())return;let t=this._container,i=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),i&&await t.refresh()}_applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()};_initStyle=()=>{let t=this.element,i=this._container.actualOptions;if(t)for(let e in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),i.style){if(!e||!(e in i.style))continue;let s=i.style[e];s&&t.style.setProperty(e,s,"important")}};_repairStyle=()=>{let t=this.element;if(!t)return;this._safeMutationObserver(t=>{t.disconnect()}),this._initStyle(),this.initBackground();let i=this._pointerEvents;t.style.pointerEvents=i,t.setAttribute("pointer-events",i),this._safeMutationObserver(i=>{t instanceof Node&&i.observe(t,{attributes:!0})})};_resetOriginalStyle=()=>{let t=this.element,i=this._originalStyle;t&&i&&h(t,i,!0)};_safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)};_setFullScreenStyle=()=>{let t=this.element;t&&h(t,(0,r.hJ)(this._container.actualOptions.fullScreen.zIndex),!0)}}class d{container;_handlers;_resizeObserver;_resizeTimeout;constructor(t){this.container=t,this._handlers={visibilityChange:()=>{this._handleVisibilityChange()},resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}_handleVisibilityChange=()=>{let t=this.container;t.actualOptions.pauseOnBlur&&((0,r.T5)().hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))};_handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let t=async()=>{let t=this.container.canvas;await t.windowResize()};this._resizeTimeout=setTimeout(()=>void t(),this.container.actualOptions.resize.delay*a.Xu)};_manageListeners=t=>{let i=this._handlers;this._manageResize(t),(0,r.Kp)(document,a.nK,i.visibilityChange,t,!1)};_manageResize=t=>{let i=this._handlers,e=this.container;if(!e.actualOptions.resize.enable)return;if("u"<typeof ResizeObserver)return void(0,r.Kp)(globalThis,a.NF,i.resize,t);let s=e.canvas.element;this._resizeObserver&&!t?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&s&&(this._resizeObserver=new ResizeObserver(t=>{t.find(t=>t.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))}}var p=e(4085),u=e(4757),_=e(6192),g=e(5186),f=e(4840),P=e(4435),m=e(9827),y=e(9725);function w(t){if(!(0,r.hn)(t.outMode,t.checkModes))return;let i=t.radius*a.gd;t.coord>t.maxCoord-i?t.setCb(-t.radius):t.coord<i&&t.setCb(t.radius)}class v{backColor;bubble;destroyed;direction;effect;effectClose;effectData;fillColor;fillEnabled;fillOpacity;group;id;ignoresResizeRatio;initialPosition;initialVelocity;isRotating;lastPathTime;misplaced;moveCenter;offset;opacity;options;outType;pathRotation;position;randomIndexData;retina;roll;rotation;shape;shapeClose;shapeData;sides;size;slow;spawning;strokeColor;strokeOpacity;strokeWidth;unbreakable;velocity;zIndexFactor;_cachedOpacityData={fillOpacity:a.hv,opacity:a.hv,strokeOpacity:a.hv};_cachedPosition=g.p.origin;_cachedRotateData={sin:0,cos:0};_cachedTransform={a:1,b:0,c:0,d:1};_container;_pluginManager;constructor(t,i){this._pluginManager=t,this._container=i}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let i=this._container,e=this.shape?i.shapeDrawers.get(this.shape):void 0;for(let s of(e?.particleDestroy?.(this),i.particleDestroyedPlugins))s.particleDestroyed?.(this,t);for(let e of i.particleUpdaters)e.particleDestroyed?.(this,t);this._container.dispatchEvent(p.B.particleDestroyed,{particle:this})}draw(t){let i=this._container.canvas.render;i.drawParticlePlugins(this,t),i.drawParticle(this,t)}getAngle(){return this.rotation+(this.pathRotation?this.velocity.angle:a.tA)}getFillColor(){return this._getRollColor(this.bubble.color??(0,n.O_)(this.fillColor))}getMass(){return this.getRadius()**a.dm*Math.PI*a.MX}getOpacity(){let t=this.options.zIndex,i=a.RV-this.zIndexFactor,e=i**t.opacityRate,r=this.bubble.opacity??(0,s.VG)(this.opacity?.value??a.hv),n=this.fillOpacity??a.hv,o=this.strokeOpacity??a.hv;return this._cachedOpacityData.fillOpacity=r*n*e,this._cachedOpacityData.opacity=r*e,this._cachedOpacityData.strokeOpacity=r*o*e,this._cachedOpacityData}getPosition(){return this._cachedPosition.x=this.position.x+this.offset.x,this._cachedPosition.y=this.position.y+this.offset.y,this._cachedPosition.z=this.position.z,this._cachedPosition}getRadius(){return this.bubble.radius??this.size.value}getRotateData(){let t=this.getAngle();return this._cachedRotateData.sin=Math.sin(t),this._cachedRotateData.cos=Math.cos(t),this._cachedRotateData}getStrokeColor(){return this._getRollColor(this.bubble.color??(0,n.O_)(this.strokeColor))}getTransformData(t){let i=this.getRotateData(),e=this.isRotating;return this._cachedTransform.a=i.cos*(t.a??a.Ug.a),this._cachedTransform.b=e?i.sin*(t.b??a.D_):t.b??a.Ug.b,this._cachedTransform.c=e?-i.sin*(t.c??a.D_):t.c??a.Ug.c,this._cachedTransform.d=i.cos*(t.d??a.Ug.d),this._cachedTransform}init(t,i,e,n){var o,l,h,c;let d,p,u,_,g=this._container;this.id=t,this.group=n,this.effectClose=!0,this.shapeClose=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{},maxSpeed:0,moveDrift:0,moveSpeed:0,sizeAnimationSpeed:0},this.outType=m.x.normal,this.ignoresResizeRatio=!0;let f=g.retina.pixelRatio,P=g.actualOptions,w=(0,y.y)(this._pluginManager,g,P.particles),v=w.reduceDuplicates,z=w.effect.type,b=w.shape.type;this.effect=(0,r.TA)(z,this.id,v),this.shape=(0,r.TA)(b,this.id,v);let S=w.effect,C=w.shape;if(e){if(e.effect?.type){let t=e.effect.type,i=(0,r.TA)(t,this.id,v);i&&(this.effect=i,S.load(e.effect))}if(e.shape?.type){let t=e.shape.type,i=(0,r.TA)(t,this.id,v);i&&(this.shape=i,C.load(e.shape))}}if(this.effect===a.mR){let t=[...this._container.effectDrawers.keys()];this.effect=t[Math.floor((0,s.G0)()*t.length)]}if(this.shape===a.mR){let t=[...this._container.shapeDrawers.keys()];this.shape=t[Math.floor((0,s.G0)()*t.length)]}this.effectData=this.effect?(o=this.effect,l=this.id,u=S.options[o],(0,r.zw)({close:S.close},(0,r.TA)(u,l,v))):void 0,this.shapeData=this.shape?(h=this.shape,c=this.id,_=C.options[h],(0,r.zw)({close:C.close},(0,r.TA)(_,c,v))):void 0,w.load(e);let x=this.effectData;x&&w.load(x.particles);let D=this.shapeData;D&&w.load(D.particles),this.effectClose=x?.close??w.effect.close,this.shapeClose=D?.close??w.shape.close,this.options=w,g.retina.initParticle(this),this.size=(0,r.Xs)(this.options.size,f),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(i),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),g.particles.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/g.zLayers,this.sides=24,this.effect&&(d=g.effectDrawers.get(this.effect)),d?.loadEffect&&d.loadEffect(this),this.shape&&(p=g.shapeDrawers.get(this.shape)),p?.loadShape&&p.loadShape(this);let M=p?.getSidesCount;for(let t of(M&&(this.sides=M(this)),this.spawning=!1,g.particleUpdaters))t.init(this);for(let t of(d?.particleInit?.(g,this),p?.particleInit?.(g,this),g.particleCreatedPlugins))t.particleCreated?.(this)}isInsideCanvas(){let t=this.getRadius(),i=this._container.canvas.size,e=this.position;return e.x>=-t&&e.y>=-t&&e.y<=i.height+t&&e.x<=i.width+t}isShowingBack(){if(!this.roll)return!1;let t=this.roll.angle;if(this.roll.horizontal&&this.roll.vertical){let i=t%a.R1,e=i<a.tA?i+a.R1:i;return e>=Math.PI*a.MX&&e<Math.PI*a.Nu*a.MX}if(this.roll.horizontal){let i=(t+Math.PI*a.MX)%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}if(this.roll.vertical){let i=t%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}return!1}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let t of this._container.particleUpdaters)t.reset?.(this)}_calcPosition=(t,i)=>{let e=a.rq,r=t?g.p.create(t.x,t.y,i):void 0,n=this._container,o=n.particlePositionPlugins,l=this.options.move.outModes,h=this.getRadius(),c=n.canvas.size,{signal:d}=new AbortController;for(;!d.aborted;){for(let t of o){let e=t.particlePosition?.(r,this);if(e)return g.p.create(e.x,e.y,i)}let t=(0,s.Nx)({size:c,position:r}),d=g.p.create(t.x,t.y,i);this._fixHorizontal(d,h,l.left??l.default),this._fixHorizontal(d,h,l.right??l.default),this._fixVertical(d,h,l.top??l.default),this._fixVertical(d,h,l.bottom??l.default);let p=!0;for(let t of n.particles.checkParticlePositionPlugins)if(!(p=t.checkParticlePosition?.(this,d,e)??!0))break;if(p)return d;e+=a.Eo,r=void 0}return r};_calculateVelocity=()=>{let t=(0,s.$m)(this.direction).copy(),i=this.options.move;if(i.direction===f.F.inside||i.direction===f.F.outside)return t;let e=(0,s.pu)((0,s.VG)(i.angle.value)),r=(0,s.pu)((0,s.VG)(i.angle.offset)),n={left:r-e*a.MX,right:r+e*a.MX};return i.straight||(t.angle+=(0,s.vE)((0,s.DT)(n.left,n.right))),i.random&&"number"==typeof i.speed&&(t.length*=(0,s.G0)()),t};_fixHorizontal=(t,i,e)=>{w({outMode:e,checkModes:[P.Y.bounce],coord:t.x,maxCoord:this._container.canvas.size.width,setCb:i=>t.x+=i,radius:i})};_fixVertical=(t,i,e)=>{w({outMode:e,checkModes:[P.Y.bounce],coord:t.y,maxCoord:this._container.canvas.size.height,setCb:i=>t.y+=i,radius:i})};_getRollColor=t=>t&&this.roll&&(this.backColor||this.roll.alter)&&this.isShowingBack()?this.backColor?this.backColor:this.roll.alter?(0,n.yx)(t,this.roll.alter.type,this.roll.alter.value):t:t;_initPosition=t=>{let i=this._container,e=(0,s.VG)(this.options.zIndex.value),n=this._calcPosition(t,(0,s.qE)(e,a.X_,i.zLayers));if(!n)throw Error("a valid position cannot be found for particle");this.position=n,this.initialPosition=this.position.copy();let o=i.canvas.size;switch(this.moveCenter={...(0,r.E9)(this.options.move.center,o),radius:this.options.move.center.radius,mode:this.options.move.center.mode},this.direction=(0,s.JY)(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case f.F.inside:this.outType=m.x.inside;break;case f.F.outside:this.outType=m.x.outside}this.offset=g.M.origin}}var z=e(2130);class b{_cellSize;_cells=new Map;_circlePool=[];_circlePoolIdx;_pendingCellSize;_rectanglePool=[];_rectanglePoolIdx;constructor(t){this._cellSize=t,this._circlePoolIdx=0,this._rectanglePoolIdx=0}clear(){this._cells.clear();let t=this._pendingCellSize;t&&(this._cellSize=t),this._pendingCellSize=void 0}insert(t){let{x:i,y:e}=t.getPosition(),s=this._cellKeyFromCoords(i,e);this._cells.has(s)||this._cells.set(s,[]),this._cells.get(s)?.push(t)}query(t,i,e=[]){let s=this._getRangeBounds(t);if(!s)return e;let a=Math.floor(s.minX/this._cellSize),r=Math.floor(s.maxX/this._cellSize),n=Math.floor(s.minY/this._cellSize),o=Math.floor(s.maxY/this._cellSize);for(let s=a;s<=r;s++)for(let a=n;a<=o;a++){let r=`${s}_${a}`,n=this._cells.get(r);if(n)for(let s of n)(!i||i(s))&&t.contains(s.getPosition())&&e.push(s)}return e}queryCircle(t,i,e,s=[]){let a=this._acquireCircle(t.x,t.y,i),r=this.query(a,e,s);return this._releaseShapes(),r}queryRectangle(t,i,e,s=[]){let a=this._acquireRectangle(t.x,t.y,i.width,i.height),r=this.query(a,e,s);return this._releaseShapes(),r}setCellSize(t){this._pendingCellSize=t}_acquireCircle(t,i,e){return(this._circlePool[this._circlePoolIdx++]??=new z.jl(t,i,e)).reset(t,i,e)}_acquireRectangle(t,i,e,s){return(this._rectanglePool[this._rectanglePoolIdx++]??=new z.M_(t,i,e,s)).reset(t,i,e,s)}_cellKeyFromCoords(t,i){let e=Math.floor(t/this._cellSize),s=Math.floor(i/this._cellSize);return`${e}_${s}`}_getRangeBounds(t){if(t instanceof z.jl){let i=t.radius,{x:e,y:s}=t.position;return{minX:e-i,maxX:e+i,minY:s-i,maxY:s+i}}if(t instanceof z.M_){let{x:i,y:e}=t.position,{width:s,height:a}=t.size;return{minX:i,maxX:i+s,minY:e,maxY:e+a}}return null}_releaseShapes(){this._circlePoolIdx=0,this._rectanglePoolIdx=0}}var S=e(9281);class C{checkParticlePositionPlugins;grid;_array;_container;_groupLimits;_limit;_maxZIndex;_minZIndex;_needsSort;_nextId;_particleResetPlugins;_particleUpdatePlugins;_pluginManager;_pool;_postParticleUpdatePlugins;_postUpdatePlugins;_resizeFactor;_updatePlugins;_zArray;constructor(t,i){this._pluginManager=t,this._container=i,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._minZIndex=0,this._maxZIndex=0,this.grid=new b(a.iX),this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}get count(){return this._array.length}addParticle(t,i,e,s){let r=this._container.actualOptions.particles.number.limit.mode,n=void 0===e?this._limit:this._groupLimits.get(e)??this._limit,o=this.count;if(n>a.ou)switch(r){case _.d.delete:{let t=o+a.nq-n;t>a.wM&&this.removeQuantity(t);break}case _.d.wait:if(o>=n)return}try{let a=this._pool.pop()??new v(this._pluginManager,this._container);a.init(this._nextId,t,i,e);let r=!0;if(s&&(r=s(a)),!r)return void this._pool.push(a);return this._array.push(a),this._zArray.push(a),this._nextId++,this._container.dispatchEvent(p.B.particleAdded,{particle:a}),a}catch(t){(0,S.t)().warning(`error adding particle: ${t}`)}}clear(){this._array=[],this._zArray=[]}destroy(){this._array=[],this._pool.length=0,this._zArray=[],this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}drawParticles(t){for(let i of this._zArray)i.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}async init(){let t=this._container,i=t.actualOptions;for(let i of(this._minZIndex=0,this._maxZIndex=0,this._needsSort=!1,this.checkParticlePositionPlugins=[],this._updatePlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._particleResetPlugins=[],this._postParticleUpdatePlugins=[],this.grid=new b(a.iX*t.retina.pixelRatio),t.plugins))i.redrawInit&&await i.redrawInit(),i.checkParticlePosition&&this.checkParticlePositionPlugins.push(i),i.update&&this._updatePlugins.push(i),i.particleUpdate&&this._particleUpdatePlugins.push(i),i.postUpdate&&this._postUpdatePlugins.push(i),i.particleReset&&this._particleResetPlugins.push(i),i.postParticleUpdate&&this._postParticleUpdatePlugins.push(i);for(let i of(await this._container.initDrawersAndUpdaters(),this._container.effectDrawers.values()))await i.init?.(t);for(let i of this._container.shapeDrawers.values())await i.init?.(t);let e=!1;for(let i of t.plugins)if(e=i.particlesInitialization?.()??e)break;if(!e){let t=i.particles,e=t.groups;for(let i in e){let s=e[i];if(s)for(let e=this.count,a=0;a<s.number.value&&e<t.number.value;e++,a++)this.addParticle(void 0,s,i)}for(let i=this.count;i<t.number.value;i++)this.addParticle()}}push(t,i,e,s){for(let a=0;a<t;a++)this.addParticle(i,e,s)}async redraw(){this.clear(),await this.init(),this._container.canvas.render.drawParticles({value:0,factor:0})}remove(t,i,e){this.removeAt(this._array.indexOf(t),void 0,i,e)}removeAt(t,i=a.xd,e,s){if(t<a.z9||t>this.count)return;let r=0;for(let a=t;r<i&&a<this.count;a++)this._removeParticle(a,e,s)&&(a--,r++)}removeQuantity(t,i){this.removeAt(a.z9,t,i)}setDensity(){let t=this._container.actualOptions,i=t.particles.groups,e=0;for(let t of this._container.plugins)t.particlesDensityCount&&(e+=t.particlesDensityCount());for(let t in i){let s=i[t];if(!s)continue;let a=(0,y.y)(this._pluginManager,this._container,s);this._applyDensity(a,e,t)}this._applyDensity(t.particles,e)}setLastZIndex(t){this._needsSort||=t>=this._maxZIndex||t>this._minZIndex&&t<this._maxZIndex}setResizeFactor(t){this._resizeFactor=t}update(t){let i=new Set;for(let i of(this.grid.clear(),this._updatePlugins))i.update?.(t);let e=this._resizeFactor;for(let s of this._array){for(let t of(e&&!s.ignoresResizeRatio&&(s.position.x*=e.width,s.position.y*=e.height,s.initialPosition.x*=e.width,s.initialPosition.y*=e.height),s.ignoresResizeRatio=!1,this._particleResetPlugins))t.particleReset?.(s);for(let i of this._particleUpdatePlugins){if(s.destroyed)break;i.particleUpdate?.(s,t)}if(s.destroyed){i.add(s);continue}this.grid.insert(s)}for(let i of this._postUpdatePlugins)i.postUpdate?.(t);for(let e of this._array){if(e.destroyed){i.add(e);continue}for(let i of this._container.particleUpdaters)i.update(e,t);if(e.destroyed||e.spawning)e.destroyed&&i.add(e);else for(let i of this._postParticleUpdatePlugins)i.postParticleUpdate?.(e,t)}if(i.size)for(let t of i)this.remove(t);if(delete this._resizeFactor,this._needsSort){let t=this._zArray;t.sort((t,i)=>i.position.z-t.position.z||t.id-i.id);let i=t[a.z9],e=t[t.length-a.K3];if(!i||!e)return;this._maxZIndex=i.position.z,this._minZIndex=e.position.z,this._needsSort=!1}}_addToPool=(...t)=>{this._pool.push(...t)};_applyDensity=(t,i,e,s)=>{let r=t.number;if(!r.density.enable)return void(void 0===e?this._limit=r.limit.value:(s?.number.limit.value??r.limit.value)&&this._groupLimits.set(e,s?.number.limit.value??r.limit.value));let n=this._initDensityFactor(r.density),o=r.value,l=r.limit.value>a.ou?r.limit.value:o,h=Math.min(o,l)*n+i,c=Math.min(this.count,this.filter(t=>t.group===e).length);void 0===e?this._limit=r.limit.value*n:this._groupLimits.set(e,r.limit.value*n),c<h?this.push(Math.abs(h-c),void 0,t,e):c>h&&this.removeQuantity(c-h,e)};_initDensityFactor=t=>{let i=this._container;if(!i.canvas.element||!t.enable)return a.lA;let e=i.canvas.element,s=i.retina.pixelRatio;return e.width*e.height/(t.height*t.width*s**a.dm)};_removeParticle=(t,i,e)=>{let s=this._array[t];if(!s||s.group!==i)return!1;let r=this._zArray.indexOf(s);return this._array.splice(t,a.LD),this._zArray.splice(r,a.LD),s.destroy(e),this._container.dispatchEvent(p.B.particleRemoved,{particle:s}),this._addToPool(s),!0}}class x{container;pixelRatio;reduceFactor;constructor(t){this.container=t,this.pixelRatio=a.$x,this.reduceFactor=a.Zp}init(){let t=this.container,i=t.actualOptions;this.pixelRatio=i.detectRetina?devicePixelRatio:a.$x,this.reduceFactor=a.Zp;let e=this.pixelRatio,s=t.canvas;if(s.element){let t=s.element;s.size.width=t.offsetWidth*e,s.size.height=t.offsetHeight*e}}initParticle(t){let i=t.options,e=this.pixelRatio,a=i.move,r=a.distance,n=t.retina;n.maxSpeed=(0,s.VG)(a.gravity.maxSpeed)*e,n.moveDrift=(0,s.VG)(a.drift)*e,n.moveSpeed=(0,s.VG)(a.speed)*e,n.sizeAnimationSpeed=(0,s.VG)(i.size.animation.speed)*e;let o=n.maxDistance;o.horizontal=void 0===r.horizontal?void 0:r.horizontal*e,o.vertical=void 0===r.vertical?void 0:r.vertical*e}}function D(t){return!t.destroyed}function M(t,i,...e){let s=new u.J(t,i);return(0,y.Z)(s,...e),s}class O{actualOptions;canvas;destroyed;effectDrawers;fpsLimit;hdr;id;pageHidden;particleCreatedPlugins;particleDestroyedPlugins;particlePositionPlugins;particleUpdaters;particles;plugins;retina;shapeDrawers;started;zLayers;_delay;_delayTimeout;_delta={value:0,factor:0};_dispatchCallback;_drawAnimationFrame;_duration;_eventListeners;_firstStart;_initialSourceOptions;_lastFrameTime;_lifeTime;_onDestroy;_options;_paused;_pluginManager;_smooth;_sourceOptions;constructor(t){const{dispatchCallback:i,pluginManager:e,id:s,onDestroy:a,sourceOptions:r}=t;this._pluginManager=e,this._dispatchCallback=i,this._onDestroy=a,this.id=Symbol(s),this.fpsLimit=120,this.hdr=!1,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._sourceOptions=r,this._initialSourceOptions=r,this.effectDrawers=new Map,this.shapeDrawers=new Map,this.particleUpdaters=[],this.retina=new x(this),this.canvas=new c(this._pluginManager,this),this.particles=new C(this._pluginManager,this),this.plugins=[],this.particleDestroyedPlugins=[],this.particleCreatedPlugins=[],this.particlePositionPlugins=[],this._options=M(this._pluginManager,this),this.actualOptions=M(this._pluginManager,this),this._eventListeners=new d(this),this.dispatchEvent(p.B.containerBuilt)}get animationStatus(){return!this._paused&&!this.pageHidden&&D(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addLifeTime(t){this._lifeTime+=t}alive(){return!this._duration||this._lifeTime<=this._duration}destroy(t=!0){if(D(this)){for(let[,t]of(this.stop(),this.particles.destroy(),this.canvas.destroy(),this.effectDrawers))t.destroy?.(this);for(let[,t]of this.shapeDrawers)t.destroy?.(this);for(let t of this.plugins)t.destroy?.();this.effectDrawers=new Map,this.shapeDrawers=new Map,this.particleUpdaters=[],this.plugins.length=0,this._pluginManager.clearPlugins(this),this.destroyed=!0,this._onDestroy(t),this.dispatchEvent(p.B.containerDestroyed)}}dispatchEvent(t,i){this._dispatchCallback(t,{container:this,data:i})}draw(t){if(!D(this))return;let i=t;this._drawAnimationFrame=(0,s.i0)(t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)})}async export(t,i={}){for(let e of this.plugins){if(!e.export)continue;let s=await e.export(t,i);if(s.supported)return s.blob}(0,S.t)().error(`Export plugin with type ${t} not found`)}async init(){if(!D(this))return;let t=new Map;for(let i of this._pluginManager.plugins){let e=await i.getPlugin(this);e.preInit&&await e.preInit(),t.set(i,e)}for(let[i,e]of(await this.initDrawersAndUpdaters(),this._options=M(this._pluginManager,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=M(this._pluginManager,this,this._options),this.plugins.length=0,this.particleDestroyedPlugins.length=0,this.particleCreatedPlugins.length=0,this.particlePositionPlugins.length=0,t))i.needsPlugin(this.actualOptions)&&(this.plugins.push(e),e.particleCreated&&this.particleCreatedPlugins.push(e),e.particleDestroyed&&this.particleDestroyedPlugins.push(e),e.particlePosition&&this.particlePositionPlugins.push(e));this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{delay:i,duration:e,fpsLimit:r,hdr:n,smooth:o,zLayers:l}=this.actualOptions;for(let t of(this.hdr=n,this.zLayers=l,this._duration=(0,s.VG)(e)*a.Xu,this._delay=(0,s.VG)(i)*a.Xu,this._lifeTime=0,this.fpsLimit=r>a.DN?r:a.i8,this._smooth=o,this.plugins))await t.init?.();for(let t of(await this.particles.init(),this.dispatchEvent(p.B.containerInit),this.particles.setDensity(),this.plugins))t.particlesSetup?.();this.dispatchEvent(p.B.particlesSetup)}async initDrawersAndUpdaters(){let t=this._pluginManager;this.effectDrawers=await t.getEffectDrawers(this,!0),this.shapeDrawers=await t.getShapeDrawers(this,!0),this.particleUpdaters=await t.getUpdaters(this,!0)}pause(){if(D(this)&&(void 0!==this._drawAnimationFrame&&((0,s.px)(this._drawAnimationFrame),delete this._drawAnimationFrame),!this._paused)){for(let t of this.plugins)t.pause?.();this.pageHidden||(this._paused=!0),this.dispatchEvent(p.B.containerPaused)}}play(t){if(!D(this))return;let i=this._paused||t;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),i)for(let t of this.plugins)t.play&&t.play();this.dispatchEvent(p.B.containerPlay),this.draw(i??!1)}async refresh(){if(D(this))return this.stop(),this.start()}async reset(t){if(D(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=M(this._pluginManager,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=M(this._pluginManager,this,this._options),this.refresh()}async start(){D(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(t=>{let i=async()=>{for(let t of(this._eventListeners.addListeners(),this.plugins))await t.start?.();this.dispatchEvent(p.B.containerStarted),this.play(),t()};this._delayTimeout=setTimeout(()=>void i(),this._delay)}))}stop(){if(D(this)&&this.started){for(let t of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.plugins))t.stop?.();this.particleCreatedPlugins.length=0,this.particleDestroyedPlugins.length=0,this.particlePositionPlugins.length=0,this._sourceOptions=this._options,this.dispatchEvent(p.B.containerStopped)}}updateActualOptions(){let t=!1;for(let i of this.plugins)i.updateActualOptions&&(t=i.updateActualOptions()||t);return t}_nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+a.Xu/this.fpsLimit||(this._lastFrameTime??=t,!function(t,i,e=a.z$,s=!1){t.value=i,t.factor=s?a.z$/e:a.z$*i/a.Xu}(this._delta,t-this._lastFrameTime,this.fpsLimit,this._smooth),this.addLifeTime(this._delta.value),this._lastFrameTime=t,this._delta.value>a.Xu))return void this.draw(!1);if(this.canvas.render.drawParticles(this._delta),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){(0,S.t)().error("error in animation loop",t)}}}}}]);
|
package/952.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[952],{2952(n,e,t){async function a(n){n.checkVersion("4.0.0-beta.1"),await n.pluginManager.register(async n=>{let{MotionPlugin:e}=await t.e(430).then(t.bind(t,3430));n.pluginManager.addPlugin(new e)})}t.r(e),t.d(e,{loadMotionPlugin:()=>a})}}]);
|
package/991.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_preset_confetti_cannon=this.webpackChunk_tsparticles_preset_confetti_cannon||[]).push([[991],{8991(e,t,i){i.d(t,{LifeUpdater:()=>l});var n=i(3360);class a extends n.PVU{sync;constructor(){super(),this.sync=!1}load(e){(0,n.kZJ)(e)||(super.load(e),void 0!==e.sync&&(this.sync=e.sync))}}class o extends n.PVU{sync;constructor(){super(),this.sync=!1}load(e){(0,n.kZJ)(e)||(super.load(e),void 0!==e.sync&&(this.sync=e.sync))}}class s{count;delay;duration;constructor(){this.count=0,this.delay=new a,this.duration=new o}load(e){(0,n.kZJ)(e)||(void 0!==e.count&&(this.count=e.count),this.delay.load(e.delay),this.duration.load(e.duration))}}class l{container;constructor(e){this.container=e}init(e){let t=this.container,i=e.options.life;i&&(e.life={delay:t.retina.reduceFactor?(0,n.VGA)(i.delay.value)*(i.delay.sync?1:(0,n.G0i)())/t.retina.reduceFactor*n.XuV:0,delayTime:0,duration:t.retina.reduceFactor?(0,n.VGA)(i.duration.value)*(i.duration.sync?1:(0,n.G0i)())/t.retina.reduceFactor*n.XuV:0,time:0,count:i.count},e.life.duration<=0&&(e.life.duration=-1),e.life.count<=0&&(e.life.count=-1),e.spawning=e.life.delay>0)}isEnabled(e){return!e.destroyed}loadOptions(e,...t){for(let i of(e.life??=new s,t))e.life.load(i?.life)}update(e,t){this.isEnabled(e)&&e.life&&function(e,t,i){if(!e.life)return;let a=e.life,o=!1;if(e.spawning){if(a.delayTime+=t.value,!(a.delayTime>=e.life.delay))return;o=!0,e.spawning=!1,a.delayTime=0,a.time=0}if(-1===a.duration||(o?a.time=0:a.time+=t.value,a.time<a.duration))return;if(a.time=0,e.life.count>0&&e.life.count--,0===e.life.count)return e.destroy();let s=(0,n.DT4)(0,i.width),l=(0,n.DT4)(0,i.width);e.position.x=(0,n.vEz)(s),e.position.y=(0,n.vEz)(l),e.spawning=!0,a.delayTime=0,a.time=0,e.reset();let r=e.options.life;r&&(a.delay=(0,n.VGA)(r.delay.value)*n.XuV,a.duration=(0,n.VGA)(r.duration.value)*n.XuV)}(e,t,this.container.canvas.size)}}}}]);
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 Matteo Bruni
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
[](https://particles.js.org)
|
|
2
|
+
|
|
3
|
+
# tsParticles Confetti Cannon Preset
|
|
4
|
+
|
|
5
|
+
[](https://www.jsdelivr.com/package/npm/@tsparticles/preset-confetti-cannon) [](https://www.npmjs.com/package/@tsparticles/preset-confetti-cannon) [](https://www.npmjs.com/package/@tsparticles/preset-confetti-cannon) [](https://github.com/sponsors/matteobruni)
|
|
6
|
+
|
|
7
|
+
[tsParticles](https://github.com/tsparticles/tsparticles) preset for confetti launched from a draggable cannon, using
|
|
8
|
+
the [confetti palette](https://github.com/tsparticles/presets/tree/main/palettes/confetti#readme).
|
|
9
|
+
|
|
10
|
+
[](https://discord.gg/hACwv45Hme) [](https://t.me/tsparticles)
|
|
11
|
+
|
|
12
|
+
[](https://www.producthunt.com/posts/tsparticles?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-tsparticles") <a href="https://www.buymeacoffee.com/matteobruni"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a beer&emoji=🍺&slug=matteobruni&button_colour=5F7FFF&font_colour=ffffff&font_family=Arial&outline_colour=000000&coffee_colour=FFDD00"></a>
|
|
13
|
+
|
|
14
|
+
## Sample
|
|
15
|
+
|
|
16
|
+
[](https://particles.js.org/samples/presets/confettiCannon)
|
|
17
|
+
|
|
18
|
+
## How to use it
|
|
19
|
+
|
|
20
|
+
### CDN / Vanilla JS / jQuery
|
|
21
|
+
|
|
22
|
+
```html
|
|
23
|
+
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/preset-confetti-cannon@4/tsparticles.preset.confettiCannon.bundle.min.js"></script>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Usage
|
|
27
|
+
|
|
28
|
+
Once the scripts are loaded you can set up `tsParticles` like this:
|
|
29
|
+
|
|
30
|
+
```javascript
|
|
31
|
+
(async engine => {
|
|
32
|
+
await loadConfettiCannonPreset(engine);
|
|
33
|
+
|
|
34
|
+
await engine.load({
|
|
35
|
+
options: {
|
|
36
|
+
preset: "confettiCannon", // or "confetti-cannon"
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
})(tsParticles);
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Customization
|
|
43
|
+
|
|
44
|
+
```javascript
|
|
45
|
+
tsParticles.load({
|
|
46
|
+
id: "tsparticles",
|
|
47
|
+
options: {
|
|
48
|
+
particles: {
|
|
49
|
+
color: {
|
|
50
|
+
value: ["#0000ff", "#00ff00"],
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
preset: "confettiCannon", // or "confetti-cannon"
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Like in the sample above, the white and red colors will be replaced by blue and lime.
|
|
59
|
+
|
|
60
|
+
### Frameworks with a tsParticles component library
|
|
61
|
+
|
|
62
|
+
Checkout the documentation in the component library repository and call the `loadConfettiCannonPreset` function instead
|
|
63
|
+
of `loadFull`, `loadSlim` or similar functions.
|
|
64
|
+
|
|
65
|
+
The options shown above are valid for all the component libraries.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
```mermaid
|
|
70
|
+
flowchart TD
|
|
71
|
+
subgraph b [Bundles]
|
|
72
|
+
bb[tsParticles Basic]
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
subgraph pl [Plugins]
|
|
76
|
+
ple[Emitters]
|
|
77
|
+
pli[Interactivity]
|
|
78
|
+
plm[Motion]
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
bb --> pl
|
|
82
|
+
|
|
83
|
+
subgraph s [Shapes]
|
|
84
|
+
ssq[Square]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
bb --> s
|
|
88
|
+
|
|
89
|
+
subgraph u [Updaters]
|
|
90
|
+
ul[Life]
|
|
91
|
+
urol[Roll]
|
|
92
|
+
urot[Rotate]
|
|
93
|
+
uti[Tilt]
|
|
94
|
+
uw[Wobble]
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
bb --> u
|
|
98
|
+
|
|
99
|
+
subgraph pr [Presets]
|
|
100
|
+
prcc[Confetti Cannon]
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
bb & ple & pli & plm & ssq & ul & urol & urot & uti & uw --> prcc
|
|
104
|
+
```
|
package/browser/index.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const presetNames = ["confettiCannon", "confett-cannon"];
|
|
2
|
+
export async function loadConfettiCannonPreset(engine) {
|
|
3
|
+
await engine.pluginManager.register(async (e) => {
|
|
4
|
+
const [{ loadBasic }, { loadExternalCannonInteraction }, { loadInteractivityPlugin }, { loadMotionPlugin }, { loadRotateUpdater }, { loadSquareShape }, { loadTiltUpdater }, { loadWobbleUpdater }, { loadLifeUpdater }, { loadRollUpdater }, { loadConfettiPalette }, { options },] = await Promise.all([
|
|
5
|
+
import("@tsparticles/basic"),
|
|
6
|
+
import("@tsparticles/interaction-external-cannon"),
|
|
7
|
+
import("@tsparticles/plugin-interactivity"),
|
|
8
|
+
import("@tsparticles/plugin-motion"),
|
|
9
|
+
import("@tsparticles/updater-rotate"),
|
|
10
|
+
import("@tsparticles/shape-square"),
|
|
11
|
+
import("@tsparticles/updater-tilt"),
|
|
12
|
+
import("@tsparticles/updater-wobble"),
|
|
13
|
+
import("@tsparticles/updater-life"),
|
|
14
|
+
import("@tsparticles/updater-roll"),
|
|
15
|
+
import("@tsparticles/palette-confetti"),
|
|
16
|
+
import("./options.js"),
|
|
17
|
+
]);
|
|
18
|
+
await Promise.all([
|
|
19
|
+
loadBasic(e),
|
|
20
|
+
loadConfettiPalette(e),
|
|
21
|
+
(async () => {
|
|
22
|
+
await loadInteractivityPlugin(e);
|
|
23
|
+
await loadExternalCannonInteraction(e);
|
|
24
|
+
})(),
|
|
25
|
+
loadSquareShape(e),
|
|
26
|
+
loadMotionPlugin(e),
|
|
27
|
+
loadWobbleUpdater(e),
|
|
28
|
+
loadRollUpdater(e),
|
|
29
|
+
loadRotateUpdater(e),
|
|
30
|
+
loadTiltUpdater(e),
|
|
31
|
+
loadLifeUpdater(e),
|
|
32
|
+
]);
|
|
33
|
+
presetNames.forEach(name => {
|
|
34
|
+
e.pluginManager.addPreset(name, options, false);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|