@tsparticles/fireworks 4.0.0-alpha.21 → 4.0.0-alpha.23

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.
Files changed (78) hide show
  1. package/106.min.js +1 -1
  2. package/129.min.js +1 -1
  3. package/139.min.js +1 -1
  4. package/28.min.js +1 -1
  5. package/280.min.js +1 -1
  6. package/281.min.js +1 -1
  7. package/322.min.js +1 -1
  8. package/402.min.js +1 -1
  9. package/411.min.js +1 -1
  10. package/509.min.js +1 -1
  11. package/521.min.js +1 -1
  12. package/566.min.js +1 -1
  13. package/576.min.js +1 -1
  14. package/578.min.js +1 -1
  15. package/611.min.js +1 -0
  16. package/612.min.js +1 -1
  17. package/678.min.js +1 -1
  18. package/785.min.js +1 -1
  19. package/795.min.js +1 -1
  20. package/815.min.js +1 -1
  21. package/884.min.js +1 -1
  22. package/900.min.js +1 -1
  23. package/929.min.js +1 -1
  24. package/939.min.js +1 -1
  25. package/basic_dist_browser_index_js.js +2 -2
  26. package/browser/fireworks.js +2 -2
  27. package/cjs/fireworks.js +2 -2
  28. package/effects_trail_dist_browser_TrailDrawer_js.js +2 -2
  29. package/effects_trail_dist_browser_index_js.js +2 -2
  30. package/engine_dist_browser_Core_Container_js.js +2 -2
  31. package/esm/fireworks.js +2 -2
  32. package/move_base_dist_browser_BaseMover_js.js +1 -1
  33. package/move_base_dist_browser_index_js.js +2 -2
  34. package/package.json +10 -10
  35. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  36. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  37. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  38. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  39. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  40. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  41. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +2 -2
  42. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  43. package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
  44. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
  45. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +38 -38
  46. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  47. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  48. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  49. package/plugins_emitters_dist_browser_index_js.js +2 -2
  50. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  51. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +3 -3
  52. package/plugins_interactivity_dist_browser_index_js.js +38 -38
  53. package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +1 -1
  54. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +1 -1
  55. package/plugins_sounds_dist_browser_index_js.js +2 -2
  56. package/report.html +1 -1
  57. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  58. package/shapes_circle_dist_browser_index_js.js +2 -2
  59. package/tsparticles.fireworks.bundle.js +8 -8
  60. package/tsparticles.fireworks.bundle.min.js +2 -2
  61. package/tsparticles.fireworks.js +2 -2
  62. package/tsparticles.fireworks.min.js +1 -1
  63. package/umd/fireworks.js +2 -2
  64. package/updaters_color_dist_browser_ColorUpdater_js.js +1 -1
  65. package/updaters_color_dist_browser_index_js.js +2 -2
  66. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +1 -1
  67. package/updaters_destroy_dist_browser_index_js.js +2 -2
  68. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  69. package/updaters_life_dist_browser_index_js.js +2 -2
  70. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  71. package/updaters_opacity_dist_browser_index_js.js +2 -2
  72. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  73. package/updaters_outModes_dist_browser_index_js.js +2 -2
  74. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  75. package/updaters_rotate_dist_browser_index_js.js +2 -2
  76. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  77. package/updaters_size_dist_browser_index_js.js +2 -2
  78. package/953.min.js +0 -1
package/106.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[106],{2106(e,a,i){async function r(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addShape(["circle"],async()=>{let{CircleDrawer:e}=await i.e(7).then(i.bind(i,9007));return new e})})}i.r(a),i.d(a,{loadCircleShape:()=>r})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[106],{2106(e,a,i){async function r(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addShape(["circle"],async()=>{let{CircleDrawer:e}=await i.e(7).then(i.bind(i,9007));return new e})})}i.r(a),i.d(a,{loadCircleShape:()=>r})}}]);
package/129.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[129],{2129(t,e,i){i.d(e,{InteractivityPluginInstance:()=>h});var n=i(5954),s=i(1455),r=i(359);class a{_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 r=s.interactivity?.events.onClick;if(!r?.mode)return;(0,n.wJ2)(r.mode,t=>{i.handleClickMode(t)})}"touchend"===t.type&&setTimeout(()=>{this._mouseTouchFinish()},n.pHD)};_handleVisibilityChange=()=>{this._mouseTouchFinish()};_manageInteractivityListeners=(t,e)=>{let i=this._handlers,r=this._container,a=this._interactionManager,o=r.actualOptions,c=a.interactivityData.element;if(!c)return;let l=r.canvas;l.setPointerEvents(c===l.element?"initial":"none"),(o.interactivity?.events.onHover.enable||o.interactivity?.events.onClick.enable)&&((0,n.KpY)(c,s.Rb,i.mouseMove,e),(0,n.KpY)(c,s.s7,i.touchStart,e),(0,n.KpY)(c,s.DG,i.touchMove,e),o.interactivity.events.onClick.enable?((0,n.KpY)(c,s.Bp,i.touchEndClick,e),(0,n.KpY)(c,s.vo,i.mouseUp,e),(0,n.KpY)(c,s.ms,i.mouseDown,e)):(0,n.KpY)(c,s.Bp,i.touchEnd,e),(0,n.KpY)(c,t,i.mouseLeave,e),(0,n.KpY)(c,s.G3,i.touchCancel,e))};_manageListeners=t=>{let e=this._handlers,i=this._container,a=this._interactionManager,o=i.actualOptions,c=o.interactivity?.detectsOn,l=i.canvas.element,h=s.Z0;c===r.h.window?(a.interactivityData.element=globalThis,h=s.sf):c===r.h.parent&&l?a.interactivityData.element=l.parentElement??l.parentNode:a.interactivityData.element=l,this._manageInteractivityListeners(h,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 r=!1,a=s.position;if(a&&n.interactivity?.events.onClick.enable){for(let t of this._clickPositionPlugins)if(r=t.clickPositionValid?.(a)??!1)break;r||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,a=this._interactionManager,o=i.actualOptions,c=a.interactivityData,l=i.canvas.element;if(!c.element)return;if(c.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,c.element===globalThis){if(l){let i=l.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(o.interactivity?.detectsOn===r.h.parent){let i=t.target,s=t.currentTarget;if(l){let r=i.getBoundingClientRect(),a=s.getBoundingClientRect(),o=l.getBoundingClientRect();e={x:t.offsetX+n.gdl*r.left-(a.left+o.left),y:t.offsetY+n.gdl*r.top-(a.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(376);class c{container;interactivityData;_clickHandlers;_engine;_eventListeners;_externalInteractors;_interactors;_intersectionObserver;_particleInteractors;constructor(t,e){this.container=e,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[],this._clickHandlers=new Map,this._eventListeners=new a(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 r=i.element;if(!r)return;let a=(i,n,s)=>{if(e.destroyed)return;let r=e.retina.pixelRatio,a={x:n.x*r,y:n.y*r};t(i,e.particles.quadTree.queryCircle(a,s*r))},o=!1,c=!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,n.FSi)}),this._clickHandlers.set(s.s7,()=>{e.destroyed||(o=!0,c=!1)}),this._clickHandlers.set(s.DG,()=>{e.destroyed||(c=!0)}),this._clickHandlers.set(s.Bp,t=>{if(!e.destroyed){if(o&&!c){let i=t.touches[t.touches.length-n.KZx];if(!i)return;let s=e.canvas.element,r=s?s.getBoundingClientRect():void 0;a(t,{x:i.clientX-(r?r.left:n.TLE),y:i.clientY-(r?r.top:n.TLE)},Math.max(i.radiusX,i.radiusY))}o=!1,c=!1}}),this._clickHandlers.set(s.G3,()=>{e.destroyed||(o=!1,c=!1)}),this._clickHandlers))r.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)}async init(){let t=await this._engine.getInteractors?.(this.container,!0);if(t)for(let e of(this._interactors=t,this._externalInteractors=[],this._particleInteractors=[],this._eventListeners.init(),this._interactors)){switch(e.type){case o.e.external:this._externalInteractors.push(e);break;case o.e.particles:this._particleInteractors.push(e)}e.init()}}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)}_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(7406);class h{interactionManager;_container;_engine;constructor(t,e){this._container=e,this._engine=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._engine.interactors?.delete(this._container)}particleCreated(t){let e=new l.k(this._engine,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)}async preInit(){await this.interactionManager.init()}async redrawInit(){await this.interactionManager.init()}start(){return this.interactionManager.addListeners(),this.interactionManager.startObserving(),Promise.resolve()}stop(){this.interactionManager.removeListeners(),this.interactionManager.stopObserving()}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[129],{2129(t,e,i){i.d(e,{InteractivityPluginInstance:()=>h});var n=i(5954),s=i(1455),r=i(3322);class a{_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 r=s.interactivity?.events.onClick;if(!r?.mode)return;(0,n.wJ2)(r.mode,t=>{i.handleClickMode(t)})}"touchend"===t.type&&setTimeout(()=>{this._mouseTouchFinish()},n.pHD)};_handleVisibilityChange=()=>{this._mouseTouchFinish()};_manageInteractivityListeners=(t,e)=>{let i=this._handlers,r=this._container,a=this._interactionManager,o=r.actualOptions,c=a.interactivityData.element;if(!c)return;let l=r.canvas;l.setPointerEvents(c===l.element?"initial":"none"),(!e||o.interactivity?.events.onHover.enable||o.interactivity?.events.onClick.enable)&&((0,n.KpY)(c,s.Rb,i.mouseMove,e),(0,n.KpY)(c,s.s7,i.touchStart,e),(0,n.KpY)(c,s.DG,i.touchMove,e),e?o.interactivity?.events.onClick.enable?((0,n.KpY)(c,s.Bp,i.touchEndClick,e),(0,n.KpY)(c,s.vo,i.mouseUp,e),(0,n.KpY)(c,s.ms,i.mouseDown,e)):(0,n.KpY)(c,s.Bp,i.touchEnd,e):((0,n.KpY)(c,s.Bp,i.touchEndClick,e),(0,n.KpY)(c,s.vo,i.mouseUp,e),(0,n.KpY)(c,s.ms,i.mouseDown,e),(0,n.KpY)(c,s.Bp,i.touchEnd,e)),(0,n.KpY)(c,t,i.mouseLeave,e),(0,n.KpY)(c,s.G3,i.touchCancel,e))};_manageListeners=t=>{let e=this._handlers,i=this._container,a=this._interactionManager,o=i.actualOptions,c=o.interactivity?.detectsOn,l=i.canvas.element,h=s.Z0;c===r.h.window?(a.interactivityData.element=globalThis,h=s.sf):c===r.h.parent&&l?a.interactivityData.element=l.parentElement??l.parentNode:a.interactivityData.element=l,this._manageInteractivityListeners(h,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 r=!1,a=s.position;if(a&&n.interactivity?.events.onClick.enable){for(let t of this._clickPositionPlugins)if(r=t.clickPositionValid?.(a)??!1)break;r||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,a=this._interactionManager,o=i.actualOptions,c=a.interactivityData,l=i.canvas.element;if(!c.element)return;if(c.mouse.inside=!0,t.type.startsWith("pointer"))if(this._canPush=!0,c.element===globalThis){if(l){let i=l.getBoundingClientRect();e={x:t.clientX-i.left,y:t.clientY-i.top}}}else if(o.interactivity?.detectsOn===r.h.parent){let i=t.target,s=t.currentTarget;if(l){let r=i.getBoundingClientRect(),a=s.getBoundingClientRect(),o=l.getBoundingClientRect();e={x:t.offsetX+n.gdl*r.left-(a.left+o.left),y:t.offsetY+n.gdl*r.top-(a.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(2763);class c{container;interactivityData;_clickHandlers;_engine;_eventListeners;_externalInteractors;_interactors;_intersectionObserver;_particleInteractors;constructor(t,e){this.container=e,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[],this._clickHandlers=new Map,this._eventListeners=new a(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 r=i.element;if(!r)return;let a=(i,n,s)=>{if(e.destroyed)return;let r=e.retina.pixelRatio,a={x:n.x*r,y:n.y*r};t(i,e.particles.quadTree.queryCircle(a,s*r))},o=!1,c=!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,n.FSi)}),this._clickHandlers.set(s.s7,()=>{e.destroyed||(o=!0,c=!1)}),this._clickHandlers.set(s.DG,()=>{e.destroyed||(c=!0)}),this._clickHandlers.set(s.Bp,t=>{if(!e.destroyed){if(o&&!c){let i=t.touches[t.touches.length-n.KZx];if(!i)return;let s=e.canvas.element,r=s?s.getBoundingClientRect():void 0;a(t,{x:i.clientX-(r?r.left:n.TLE),y:i.clientY-(r?r.top:n.TLE)},Math.max(i.radiusX,i.radiusY))}o=!1,c=!1}}),this._clickHandlers.set(s.G3,()=>{e.destroyed||(o=!1,c=!1)}),this._clickHandlers))r.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._engine.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)}_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(7406);class h{interactionManager;_container;_engine;constructor(t,e){this._container=e,this._engine=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._engine.interactors?.delete(this._container)}particleCreated(t){let e=new l.k(this._engine,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)}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/139.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[139],{3139(t,e,a){async function r(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("rotate",async t=>{let{RotateUpdater:e}=await a.e(355).then(a.bind(a,2355));return new e(t)})})}a.r(e),a.d(e,{loadRotateUpdater:()=>r})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[139],{3139(t,e,a){async function r(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("rotate",async t=>{let{RotateUpdater:e}=await a.e(355).then(a.bind(a,2355));return new e(t)})})}a.r(e),a.d(e,{loadRotateUpdater:()=>r})}}]);
package/28.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[28],{2028(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addEffect("trail",async()=>{let{TrailDrawer:e}=await a.e(521).then(a.bind(a,2521));return new e})})}a.r(t),a.d(t,{loadTrailEffect:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[28],{2028(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addEffect("trail",async()=>{let{TrailDrawer:e}=await a.e(521).then(a.bind(a,2521));return new e})})}a.r(t),a.d(t,{loadTrailEffect:()=>i})}}]);
package/280.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[280],{5280(e,t,r){async function a(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addParticleUpdater("destroy",async t=>{let{DestroyUpdater:a}=await r.e(681).then(r.bind(r,1681));return new a(e,t)})})}r.r(t),r.d(t,{loadDestroyUpdater:()=>a})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[280],{5280(e,t,r){async function a(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addParticleUpdater("destroy",async t=>{let{DestroyUpdater:a}=await r.e(681).then(r.bind(r,1681));return new a(e,t)})})}r.r(t),r.d(t,{loadDestroyUpdater:()=>a})}}]);
package/281.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[281],{3281(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let{ensureEmittersPluginLoaded:t}=await a.e(795).then(a.bind(a,795));t(e);let{EmittersSquareShapeGenerator:i}=await a.e(402).then(a.bind(a,2402));e.addEmitterShapeGenerator?.("square",new i)})}a.r(t),a.d(t,{loadEmittersShapeSquare:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[281],{3281(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{ensureEmittersPluginLoaded:t}=await a.e(795).then(a.bind(a,795));t(e);let{EmittersSquareShapeGenerator:i}=await a.e(402).then(a.bind(a,2402));e.addEmitterShapeGenerator?.("square",new i)})}a.r(t),a.d(t,{loadEmittersShapeSquare:()=>i})}}]);
package/322.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[322],{9322(a,e,r){async function s(a){a.checkVersion("4.0.0-alpha.21"),await a.register(async a=>{let{RgbColorManager:e}=await r.e(635).then(r.bind(r,8635));a.addColorManager("rgb",new e)})}r.r(e),r.d(e,{loadRgbColorPlugin:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[322],{9322(a,e,r){async function s(a){a.checkVersion("4.0.0-alpha.23"),await a.register(async a=>{let{RgbColorManager:e}=await r.e(635).then(r.bind(r,8635));a.addColorManager("rgb",new e)})}r.r(e),r.d(e,{loadRgbColorPlugin:()=>s})}}]);
package/402.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[402,795],{795(t,e,i){var r;i.r(e),i.d(e,{EmitterClickMode:()=>r,EmitterShapeBase:()=>s,ensureEmittersPluginLoaded:()=>o,loadEmittersPlugin:()=>n});class s{fill;options;position;size;constructor(t,e,i,r){this.position=t,this.size=e,this.fill=i,this.options=r}resize(t,e){this.position=t,this.size=e}}async function n(t){t.checkVersion("4.0.0-alpha.21"),await t.register(async t=>{let[{ensureInteractivityPluginLoaded:e},{ShapeManager:r},{EmittersInstancesManager:s},{EmittersPlugin:n}]=await Promise.all([i.e(953).then(i.bind(i,7953)),i.e(595).then(i.bind(i,6595)),i.e(131).then(i.bind(i,131)),i.e(19).then(i.bind(i,8019))]),o=new s(t);e(t),t.emitterShapeManager??=new r,t.addEmitterShapeGenerator??=(e,i)=>{t.emitterShapeManager?.addShapeGenerator(e,i)},t.addPlugin(new n(o)),t.addInteractor?.("externalEmitters",async t=>{let{EmittersInteractor:e}=await i.e(612).then(i.bind(i,9612));return new e(o,t)})})}function o(t){if(!t.addEmitterShapeGenerator)throw Error("tsParticles Emitters Plugin is not loaded")}(r||(r={})).emitter="emitter"},2402(t,e,i){i.d(e,{EmittersSquareShapeGenerator:()=>p});var r,s,n=i(795),o=i(5954);function a(t,e){return t+e*((0,o.G0i)()-o.MXx)}(r=s||(s={}))[r.TopLeft=0]="TopLeft",r[r.TopRight=1]="TopRight",r[r.BottomRight=2]="BottomRight",r[r.BottomLeft=3]="BottomLeft";class h extends n.EmitterShapeBase{constructor(t,e,i,r){super(t,e,i,r)}async init(){}randomPosition(){let t=this.fill,e=this.position,i=this.size;if(t)return{position:{x:a(e.x,i.width),y:a(e.y,i.height)}};{let t=i.width*o.MXx,r=i.height*o.MXx,n=Math.floor(4*(0,o.G0i)()),a=((0,o.G0i)()-o.MXx)*o.gdl;switch(n){case s.TopLeft:return{position:{x:e.x+a*t,y:e.y-r}};case s.TopRight:return{position:{x:e.x-t,y:e.y+a*r}};case s.BottomRight:return{position:{x:e.x+a*t,y:e.y+r}};case s.BottomLeft:default:return{position:{x:e.x+t,y:e.y+a*r}}}}}}class p{generate(t,e,i,r,s){return new h(e,i,r,s)}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[402,795],{795(t,e,i){var r;i.r(e),i.d(e,{EmitterClickMode:()=>r,EmitterShapeBase:()=>s,ensureEmittersPluginLoaded:()=>o,loadEmittersPlugin:()=>n});class s{fill;options;position;size;constructor(t,e,i,r){this.position=t,this.size=e,this.fill=i,this.options=r}resize(t,e){this.position=t,this.size=e}}async function n(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let[{ensureInteractivityPluginLoaded:e},{ShapeManager:r},{EmittersInstancesManager:s},{EmittersPlugin:n}]=await Promise.all([i.e(611).then(i.bind(i,3611)),i.e(595).then(i.bind(i,6595)),i.e(131).then(i.bind(i,131)),i.e(19).then(i.bind(i,8019))]),o=new s(t);e(t),t.emitterShapeManager??=new r,t.addEmitterShapeGenerator??=(e,i)=>{t.emitterShapeManager?.addShapeGenerator(e,i)},t.addPlugin(new n(o)),t.addInteractor?.("externalEmitters",async t=>{let{EmittersInteractor:e}=await i.e(612).then(i.bind(i,9612));return new e(o,t)})})}function o(t){if(!t.addEmitterShapeGenerator)throw Error("tsParticles Emitters Plugin is not loaded")}(r||(r={})).emitter="emitter"},2402(t,e,i){i.d(e,{EmittersSquareShapeGenerator:()=>p});var r,s,n=i(795),o=i(5954);function a(t,e){return t+e*((0,o.G0i)()-o.MXx)}(r=s||(s={}))[r.TopLeft=0]="TopLeft",r[r.TopRight=1]="TopRight",r[r.BottomRight=2]="BottomRight",r[r.BottomLeft=3]="BottomLeft";class h extends n.EmitterShapeBase{constructor(t,e,i,r){super(t,e,i,r)}async init(){}randomPosition(){let t=this.fill,e=this.position,i=this.size;if(t)return{position:{x:a(e.x,i.width),y:a(e.y,i.height)}};{let t=i.width*o.MXx,r=i.height*o.MXx,n=Math.floor(4*(0,o.G0i)()),a=((0,o.G0i)()-o.MXx)*o.gdl;switch(n){case s.TopLeft:return{position:{x:e.x+a*t,y:e.y-r}};case s.TopRight:return{position:{x:e.x-t,y:e.y+a*r}};case s.BottomRight:return{position:{x:e.x+a*t,y:e.y+r}};case s.BottomLeft:default:return{position:{x:e.x+t,y:e.y+a*r}}}}}}class p{generate(t,e,i,r,s){return new h(e,i,r,s)}}}}]);
package/411.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[411],{411(e,r,t){async function a(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addParticleUpdater("color",async r=>{let{ColorUpdater:a}=await t.e(523).then(t.bind(t,5523));return new a(e,r)})})}t.r(r),t.d(r,{loadColorUpdater:()=>a})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[411],{411(e,r,t){async function a(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addParticleUpdater("color",async r=>{let{ColorUpdater:a}=await t.e(523).then(t.bind(t,5523));return new a(e,r)})})}t.r(r),t.d(r,{loadColorUpdater:()=>a})}}]);
package/509.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[509],{8509(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("opacity",async t=>{let{OpacityUpdater:a}=await e.e(363).then(e.bind(e,363));return new a(t)})})}e.r(a),e.d(a,{loadOpacityUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[509],{8509(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("opacity",async t=>{let{OpacityUpdater:a}=await e.e(363).then(e.bind(e,363));return new a(t)})})}e.r(a),e.d(a,{loadOpacityUpdater:()=>i})}}]);
package/521.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[521],{2521(t,i,a){a.d(i,{TrailDrawer:()=>l});var e=a(5954);let r={a:1,b:0,c:0,d:1};class l{drawAfter(t){let{context:i,radius:a,particle:l,transformData:h}=t,n=a*e.gdl,o=l.container.retina.pixelRatio,s=l.getPosition(),x=l.trail;if(!x||!l.trailLength)return;let d=l.trailLength+a;if(x.push({color:i.fillStyle||i.strokeStyle,position:{x:s.x,y:s.y},transformData:h}),x.length<2)return;for(;x.length>d;)x.shift();let f=Math.min(x.length,d),c={width:l.container.canvas.size.width+n,height:l.container.canvas.size.height+n},g=x[f-1];if(!g)return;let p=g.position;for(let t=f;t>e.dvp;t--){let a=x[t-1];if(!a)continue;let h=a.position,s=l.trailTransform?a.transformData??r:r;i.setTransform(s.a,s.b,s.c,s.d,h.x,h.y),i.beginPath(),i.moveTo(p.x-h.x,p.y-h.y);let d={x:(p.x+c.width)%c.width,y:(p.y+c.height)%c.height};if(Math.abs(p.x-h.x)>c.width*e.MXx||Math.abs(p.y-h.y)>c.height*e.MXx){p=h;continue}i.lineTo(Math.abs(p.x-h.x)>c.width*e.MXx?d.x:e.boI.x,Math.abs(p.y-h.y)>c.height*e.MXx?d.y:e.boI.y);let g=Math.max(t/f*n,o,l.trailMinWidth??-1),y=i.globalAlpha;i.globalAlpha=l.trailFade?t/f:e.aZx,i.lineWidth=l.trailMaxWidth?Math.min(g,l.trailMaxWidth):g,i.strokeStyle=a.color,i.stroke(),i.globalAlpha=y,p=h}i.setTransform(h.a,h.b,h.c,h.d,s.x,s.y)}particleInit(t,i){i.trail=[];let a=i.effectData;i.trailFade=a?.fade??!0,i.trailLength=(0,e.VGA)(a?.length??10)*t.retina.pixelRatio,i.trailMaxWidth=a?.maxWidth?(0,e.VGA)(a.maxWidth)*t.retina.pixelRatio:void 0,i.trailMinWidth=a?.minWidth?(0,e.VGA)(a.minWidth)*t.retina.pixelRatio:void 0,i.trailTransform=a?.transform??!1}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[521],{2521(t,i,a){a.d(i,{TrailDrawer:()=>l});var e=a(5954);let r={a:1,b:0,c:0,d:1};class l{drawAfter(t){let{context:i,drawPosition:a,drawRadius:l,drawScale:h,particle:n,transformData:o}=t,s=l*e.gdl,d=n.container.retina.pixelRatio,x=n.trail;if(!x||!n.trailLength)return;let f=n.trailLength*h+l;if(x.push({color:i.fillStyle||i.strokeStyle,position:{x:a.x,y:a.y},transformData:o}),x.length<2)return;for(;x.length>f;)x.shift();let c=Math.min(x.length,f),g={width:n.container.canvas.size.width*h+s,height:n.container.canvas.size.height*h+s},p=x[c-1];if(!p)return;let M=p.position;for(let t=c;t>e.dvp;t--){let a=x[t-1];if(!a)continue;let l=a.position,o=n.trailTransform?a.transformData??r:r,p=M.x-l.x,b=M.y-l.y;if(Math.sqrt(p*p+b*b)>f*e.gdl){M=l;continue}i.setTransform(o.a,o.b,o.c,o.d,l.x,l.y),i.beginPath(),i.moveTo(p,b);let m={x:(M.x+g.width)%g.width,y:(M.y+g.height)%g.height};if(Math.abs(p)>g.width*e.MXx||Math.abs(b)>g.height*e.MXx){M=l;continue}i.lineTo(Math.abs(p)>g.width*e.MXx?m.x:e.boI.x,Math.abs(b)>g.height*e.MXx?m.y:e.boI.y);let w=Math.max(t/c*s,d,(n.trailMinWidth??-1)*h),y=i.globalAlpha;i.globalAlpha=n.trailFade?t/c:e.aZx,i.lineWidth=n.trailMaxWidth?Math.min(w,n.trailMaxWidth*h):w,i.strokeStyle=a.color,i.stroke(),i.globalAlpha=y,M=l}}particleInit(t,i){i.trail=[];let a=i.effectData;i.trailFade=a?.fade??!0,i.trailLength=(0,e.VGA)(a?.length??10)*t.retina.pixelRatio,i.trailMaxWidth=a?.maxWidth?(0,e.VGA)(a.maxWidth)*t.retina.pixelRatio:void 0,i.trailMinWidth=a?.minWidth?(0,e.VGA)(a.minWidth)*t.retina.pixelRatio:void 0,i.trailTransform=a?.transform??!1}}}}]);
package/566.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[566],{6566(s,a,e){async function i(s){s.checkVersion("4.0.0-alpha.21"),await s.register(async s=>{let{HslColorManager:a}=await e.e(227).then(e.bind(e,4227));s.addColorManager("hsl",new a)})}e.r(a),e.d(a,{loadHslColorPlugin:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[566],{6566(s,a,e){async function i(s){s.checkVersion("4.0.0-alpha.23"),await s.register(async s=>{let{HslColorManager:a}=await e.e(227).then(e.bind(e,4227));s.addColorManager("hsl",new a)})}e.r(a),e.d(a,{loadHslColorPlugin:()=>i})}}]);
package/576.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[576],{3576(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addParticleUpdater("life",async e=>{let{LifeUpdater:t}=await a.e(174).then(a.bind(a,8174));return new t(e)})})}a.r(t),a.d(t,{loadLifeUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[576],{3576(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addParticleUpdater("life",async e=>{let{LifeUpdater:t}=await a.e(174).then(a.bind(a,8174));return new t(e)})})}a.r(t),a.d(t,{loadLifeUpdater:()=>i})}}]);
package/578.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[578],{578(e,s,a){async function r(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addMover("base",async()=>{let{BaseMover:e}=await a.e(242).then(a.bind(a,9242));return new e})})}a.r(s),a.d(s,{loadBaseMover:()=>r})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[578],{578(e,s,a){async function r(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addMover("base",async()=>{let{BaseMover:e}=await a.e(242).then(a.bind(a,9242));return new e})})}a.r(s),a.d(s,{loadBaseMover:()=>r})}}]);
package/611.min.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[611],{6373(e,t,n){var r,i;n.d(t,{Q:()=>r}),(i=r||(r={})).circle="circle",i.rectangle="rectangle"},3322(e,t,n){var r,i;n.d(t,{h:()=>r}),(i=r||(r={})).canvas="canvas",i.parent="parent",i.window="window"},2763(e,t,n){var r,i;n.d(t,{e:()=>r}),(i=r||(r={})).external="external",i.particles="particles"},1455(e,t,n){n.d(t,{Bp:()=>d,DG:()=>v,G3:()=>h,Rb:()=>c,Z0:()=>o,ms:()=>i,s7:()=>l,sf:()=>s,vo:()=>a,xO:()=>r});let r="click",i="pointerdown",a="pointerup",o="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",v="touchmove",h="touchcancel"},6594(e,t,n){n.d(t,{G:()=>a});var r=n(5954),i=n(6373);class a{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=i.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))}}},9766(e,t,n){n.d(t,{d:()=>i});var r=n(5954);class i{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,r.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let n of t)n.loadModeOptions&&n.loadModeOptions(this,e)}}},3611(e,t,n){n.r(t),n.d(t,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>i.e,Modes:()=>w.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>u,divModeExecute:()=>v,ensureInteractivityPluginLoaded:()=>E,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>f,mouseDownEvent:()=>s.ms,mouseLeaveEvent:()=>s.Z0,mouseMoveEvent:()=>s.Rb,mouseOutEvent:()=>s.sf,mouseUpEvent:()=>s.vo,singleDivModeExecute:()=>h,touchCancelEvent:()=>s.G3,touchEndEvent:()=>s.Bp,touchMoveEvent:()=>s.DG,touchStartEvent:()=>s.s7});var r=n(5954),i=n(2763);class a{type=i.e.external;container;constructor(e){this.container=e}}class o{type=i.e.particles;container;constructor(e){this.container=e}}var s=n(1455),c=n(6373),l=n(3322);function d(e,t){return!!(0,r.w3Z)(t,t=>t.enable&&(0,r.hnD)(e,t.mode))}function v(e,t,n){(0,r.wJ2)(t,t=>{let i=t.mode;t.enable&&(0,r.hnD)(e,i)&&h(t,n)})}function h(e,t){let n=e.selectors;(0,r.wJ2)(n,n=>{t(n,e)})}function u(e,t){if(t&&e)return(0,r.w3Z)(e,e=>{var n;let i;return n=e.selectors,i=(0,r.wJ2)(n,e=>t.matches(e)),(0,r.cyL)(i)?i.some(e=>e):i})}var p=n(6594),w=n(9766);async function f(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(939).then(n.bind(n,3939));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,n)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,n)},e.getInteractors=async(t,n=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,r.HQK)(t,e.interactors,e.initializers.interactors,n)),e.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 E(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
package/612.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[612,953],{9612(t,e,i){i.d(e,{EmittersInteractor:()=>l});var o=i(7953),a=i(5954),s=i(6836);let n={count:1,enable:!0},r="emitters";class l extends o.ExternalInteractorBase{handleClickMode;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.handleClickMode=(t,e)=>{let i,o=this.container.actualOptions.interactivity.modes.emitters;if(!o||t!==r)return;if((0,a.cyL)(o.value)){let t=o.value.length;if(t>0&&o.random.enable){i=[];let e=new Set;for(let s=0;s<o.random.count;s++){let n=(0,a.n02)(o.value);if(e.has(n)&&e.size<t){s--;continue}e.add(n);let r=(0,a.Vh1)(o.value,n);r&&i.push(r)}}else i=o.value}else i=o.value;let s=i,n=e.mouse.clickPosition;(0,a.wJ2)(s,async t=>{await this._instancesManager.addEmitter(this.container,t,n)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,o=t.mouse,s=(e?.interactivity??i.interactivity).events;return!!o.clickPosition&&!!s.onClick.enable&&(0,a.hnD)(r,s.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:n,value:[]},e))if(i?.emitters)if((0,a.cyL)(i.emitters))for(let e of i.emitters){let i=new s.v;i.load(e),t.emitters.value.push(i)}else if(Object.hasOwn(i.emitters,"value")){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,a.cyL)(e.value))for(let i of e.value){let e=new s.v;e.load(i),t.emitters.value.push(e)}else{let i=new s.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new s.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},6836(t,e,i){i.d(e,{v:()=>c});var o=i(5954);class a{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class s{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,o.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,o.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)))}}class n{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new n,this.type="square"}load(t){(0,o.kZJ)(t)||(void 0!==t.options&&(this.options=(0,o.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(122);class c{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawnColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new a,this.rate=new s,this.shape=new r,this.startCount=0}load(t){(0,o.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ2)(t.particles,t=>(0,o.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT4)(t.position.y))),void 0!==t.spawnColor&&(this.spawnColor??=new o.A9e,this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},122(t,e,i){i.d(e,{G:()=>a});var o=i(5954);class a{height;mode;width;constructor(){this.mode=o.qiC.percent,this.height=0,this.width=0}load(t){(0,o.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},4312(t,e,i){var o,a;i.d(e,{Q:()=>o}),(a=o||(o={})).circle="circle",a.rectangle="rectangle"},1455(t,e,i){i.d(e,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>l,Z0:()=>n,ms:()=>a,s7:()=>c,sf:()=>r,vo:()=>s,xO:()=>o});let o="click",a="pointerdown",s="pointerup",n="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",h="touchmove",u="touchcancel"},359(t,e,i){var o,a;i.d(e,{h:()=>o}),(a=o||(o={})).canvas="canvas",a.parent="parent",a.window="window"},376(t,e,i){var o,a;i.d(e,{e:()=>o}),(a=o||(o={})).external="external",a.particles="particles"},6594(t,e,i){i.d(e,{G:()=>s});var o=i(5954),a=i(4312);class s{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.Q.circle}load(t){(0,o.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))}}},9766(t,e,i){i.d(e,{d:()=>a});var o=i(5954);class a{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,o.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},7953(t,e,i){i.r(e),i.d(e,{DivEvent:()=>p.G,DivType:()=>a.Q,ExternalInteractorBase:()=>n,InteractivityDetect:()=>l.h,InteractorType:()=>s.e,Modes:()=>m.d,ParticlesInteractorBase:()=>c,clickEvent:()=>r.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>w,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(5954),a=i(4312),s=i(376);class n{type=s.e.external;container;constructor(t){this.container=t}}var r=i(1455),l=i(359);class c{type=s.e.particles;container;constructor(t){this.container=t}}function d(t,e){return!!(0,o.w3Z)(e,e=>e.enable&&(0,o.hnD)(t,e.mode))}function h(t,e,i){(0,o.wJ2)(e,e=>{let a=e.mode;e.enable&&(0,o.hnD)(t,a)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,o.wJ2)(i,i=>{e(i,t)})}function v(t,e){if(e&&t)return(0,o.w3Z)(t,t=>{var i;let a;return i=t.selectors,a=(0,o.wJ2)(i,t=>e.matches(t)),(0,o.cyL)(a)?a.some(t=>t):a})}var p=i(6594),m=i(9766);async function y(t){t.checkVersion("4.0.0-alpha.21"),await t.register(async t=>{let{InteractivityPlugin:e}=await i.e(939).then(i.bind(i,3939));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,o.HQK)(e,t.interactors,t.initializers.interactors,i)),t.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 w(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[611,612],{9612(t,e,i){i.d(e,{EmittersInteractor:()=>l});var o=i(3611),a=i(5954),s=i(6836);let n={count:1,enable:!0},r="emitters";class l extends o.ExternalInteractorBase{handleClickMode;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.handleClickMode=(t,e)=>{let i,o=this.container.actualOptions.interactivity.modes.emitters;if(!o||t!==r)return;if((0,a.cyL)(o.value)){let t=o.value.length;if(t>0&&o.random.enable){i=[];let e=new Set;for(let s=0;s<o.random.count;s++){let n=(0,a.n02)(o.value);if(e.has(n)&&e.size<t){s--;continue}e.add(n);let r=(0,a.Vh1)(o.value,n);r&&i.push(r)}}else i=o.value}else i=o.value;let s=i,n=e.mouse.clickPosition;(0,a.wJ2)(s,async t=>{await this._instancesManager.addEmitter(this.container,t,n)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,o=t.mouse,s=(e?.interactivity??i.interactivity).events;return!!o.clickPosition&&!!s.onClick.enable&&(0,a.hnD)(r,s.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:n,value:[]},e))if(i?.emitters)if((0,a.cyL)(i.emitters))for(let e of i.emitters){let i=new s.v;i.load(e),t.emitters.value.push(i)}else if(Object.hasOwn(i.emitters,"value")){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,a.cyL)(e.value))for(let i of e.value){let e=new s.v;e.load(i),t.emitters.value.push(e)}else{let i=new s.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new s.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},6836(t,e,i){i.d(e,{v:()=>c});var o=i(5954);class a{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class s{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,o.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,o.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)))}}class n{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new n,this.type="square"}load(t){(0,o.kZJ)(t)||(void 0!==t.options&&(this.options=(0,o.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(122);class c{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawnColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new a,this.rate=new s,this.shape=new r,this.startCount=0}load(t){(0,o.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ2)(t.particles,t=>(0,o.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT4)(t.position.y))),void 0!==t.spawnColor&&(this.spawnColor??=new o.A9e,this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},122(t,e,i){i.d(e,{G:()=>a});var o=i(5954);class a{height;mode;width;constructor(){this.mode=o.qiC.percent,this.height=0,this.width=0}load(t){(0,o.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},6373(t,e,i){var o,a;i.d(e,{Q:()=>o}),(a=o||(o={})).circle="circle",a.rectangle="rectangle"},3322(t,e,i){var o,a;i.d(e,{h:()=>o}),(a=o||(o={})).canvas="canvas",a.parent="parent",a.window="window"},2763(t,e,i){var o,a;i.d(e,{e:()=>o}),(a=o||(o={})).external="external",a.particles="particles"},1455(t,e,i){i.d(e,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>l,Z0:()=>n,ms:()=>a,s7:()=>c,sf:()=>r,vo:()=>s,xO:()=>o});let o="click",a="pointerdown",s="pointerup",n="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",h="touchmove",u="touchcancel"},6594(t,e,i){i.d(e,{G:()=>s});var o=i(5954),a=i(6373);class s{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.Q.circle}load(t){(0,o.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))}}},9766(t,e,i){i.d(e,{d:()=>a});var o=i(5954);class a{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,o.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},3611(t,e,i){i.r(e),i.d(e,{DivEvent:()=>p.G,DivType:()=>l.Q,ExternalInteractorBase:()=>s,InteractivityDetect:()=>c.h,InteractorType:()=>a.e,Modes:()=>m.d,ParticlesInteractorBase:()=>n,clickEvent:()=>r.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>w,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(5954),a=i(2763);class s{type=a.e.external;container;constructor(t){this.container=t}}class n{type=a.e.particles;container;constructor(t){this.container=t}}var r=i(1455),l=i(6373),c=i(3322);function d(t,e){return!!(0,o.w3Z)(e,e=>e.enable&&(0,o.hnD)(t,e.mode))}function h(t,e,i){(0,o.wJ2)(e,e=>{let a=e.mode;e.enable&&(0,o.hnD)(t,a)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,o.wJ2)(i,i=>{e(i,t)})}function v(t,e){if(e&&t)return(0,o.w3Z)(t,t=>{var i;let a;return i=t.selectors,a=(0,o.wJ2)(i,t=>e.matches(t)),(0,o.cyL)(a)?a.some(t=>t):a})}var p=i(6594),m=i(9766);async function y(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{InteractivityPlugin:e}=await i.e(939).then(i.bind(i,3939));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,o.HQK)(e,t.interactors,t.initializers.interactors,i)),t.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 w(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
package/678.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[678],{1678(s,e,i){async function a(s){s.checkVersion("4.0.0-alpha.21"),await s.register(async e=>{let{SoundsPlugin:a}=await i.e(166).then(i.bind(i,1166));e.addPlugin(new a(s))})}i.r(e),i.d(e,{loadSoundsPlugin:()=>a})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[678],{1678(s,e,i){async function a(s){s.checkVersion("4.0.0-alpha.23"),await s.register(async e=>{let{SoundsPlugin:a}=await i.e(166).then(i.bind(i,1166));e.addPlugin(new a(s))})}i.r(e),i.d(e,{loadSoundsPlugin:()=>a})}}]);
package/785.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[785],{8166(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addParticleUpdater("outModes",async e=>{let{OutOfCanvasUpdater:t}=await a.e(311).then(a.bind(a,1311));return new t(e)})})}a.r(t),a.d(t,{loadOutModesUpdater:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[785],{8166(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addParticleUpdater("outModes",async e=>{let{OutOfCanvasUpdater:t}=await a.e(311).then(a.bind(a,1311));return new t(e)})})}a.r(t),a.d(t,{loadOutModesUpdater:()=>s})}}]);
package/795.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[795],{795(e,t,i){var r;i.r(t),i.d(t,{EmitterClickMode:()=>r,EmitterShapeBase:()=>n,ensureEmittersPluginLoaded:()=>a,loadEmittersPlugin:()=>s});class n{fill;options;position;size;constructor(e,t,i,r){this.position=e,this.size=t,this.fill=i,this.options=r}resize(e,t){this.position=e,this.size=t}}async function s(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let[{ensureInteractivityPluginLoaded:t},{ShapeManager:r},{EmittersInstancesManager:n},{EmittersPlugin:s}]=await Promise.all([i.e(953).then(i.bind(i,7953)),i.e(595).then(i.bind(i,6595)),i.e(131).then(i.bind(i,131)),i.e(19).then(i.bind(i,8019))]),a=new n(e);t(e),e.emitterShapeManager??=new r,e.addEmitterShapeGenerator??=(t,i)=>{e.emitterShapeManager?.addShapeGenerator(t,i)},e.addPlugin(new s(a)),e.addInteractor?.("externalEmitters",async e=>{let{EmittersInteractor:t}=await i.e(612).then(i.bind(i,9612));return new t(a,e)})})}function a(e){if(!e.addEmitterShapeGenerator)throw Error("tsParticles Emitters Plugin is not loaded")}(r||(r={})).emitter="emitter"}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[795],{795(e,t,i){var r;i.r(t),i.d(t,{EmitterClickMode:()=>r,EmitterShapeBase:()=>n,ensureEmittersPluginLoaded:()=>a,loadEmittersPlugin:()=>s});class n{fill;options;position;size;constructor(e,t,i,r){this.position=e,this.size=t,this.fill=i,this.options=r}resize(e,t){this.position=e,this.size=t}}async function s(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let[{ensureInteractivityPluginLoaded:t},{ShapeManager:r},{EmittersInstancesManager:n},{EmittersPlugin:s}]=await Promise.all([i.e(611).then(i.bind(i,3611)),i.e(595).then(i.bind(i,6595)),i.e(131).then(i.bind(i,131)),i.e(19).then(i.bind(i,8019))]),a=new n(e);t(e),e.emitterShapeManager??=new r,e.addEmitterShapeGenerator??=(t,i)=>{e.emitterShapeManager?.addShapeGenerator(t,i)},e.addPlugin(new s(a)),e.addInteractor?.("externalEmitters",async e=>{let{EmittersInteractor:t}=await i.e(612).then(i.bind(i,9612));return new t(a,e)})})}function a(e){if(!e.addEmitterShapeGenerator)throw Error("tsParticles Emitters Plugin is not loaded")}(r||(r={})).emitter="emitter"}}]);
package/815.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[815],{8196(e,a,s){async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let{HexColorManager:a}=await s.e(287).then(s.bind(s,4287));e.addColorManager("hex",new a)})}s.r(a),s.d(a,{loadHexColorPlugin:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[815],{8196(e,a,s){async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{HexColorManager:a}=await s.e(287).then(s.bind(s,4287));e.addColorManager("hex",new a)})}s.r(a),s.d(a,{loadHexColorPlugin:()=>i})}}]);
package/884.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[884],{7884(e,i,n){async function t(e){e.checkVersion("4.0.0-alpha.21"),await e.register(async e=>{let[{loadHexColorPlugin:i},{loadHslColorPlugin:t},{loadRgbColorPlugin:a},{loadBaseMover:s},{loadCircleShape:h},{loadColorUpdater:r},{loadOpacityUpdater:b},{loadOutModesUpdater:c},{loadSizeUpdater:d}]=await Promise.all([n.e(815).then(n.bind(n,8196)),n.e(566).then(n.bind(n,6566)),n.e(322).then(n.bind(n,9322)),n.e(578).then(n.bind(n,578)),n.e(106).then(n.bind(n,2106)),n.e(411).then(n.bind(n,411)),n.e(509).then(n.bind(n,8509)),n.e(785).then(n.bind(n,8166)),n.e(929).then(n.bind(n,929))]);await Promise.all([i(e),t(e),a(e),s(e),h(e),r(e),b(e),c(e),d(e)])})}n.r(i),n.d(i,{loadBasic:()=>t})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[884],{7884(e,i,n){async function t(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let[{loadHexColorPlugin:i},{loadHslColorPlugin:t},{loadRgbColorPlugin:a},{loadBaseMover:s},{loadCircleShape:h},{loadColorUpdater:r},{loadOpacityUpdater:b},{loadOutModesUpdater:c},{loadSizeUpdater:d}]=await Promise.all([n.e(815).then(n.bind(n,8196)),n.e(566).then(n.bind(n,6566)),n.e(322).then(n.bind(n,9322)),n.e(578).then(n.bind(n,578)),n.e(106).then(n.bind(n,2106)),n.e(411).then(n.bind(n,411)),n.e(509).then(n.bind(n,8509)),n.e(785).then(n.bind(n,8166)),n.e(929).then(n.bind(n,929))]);await Promise.all([i(e),t(e),a(e),s(e),h(e),r(e),b(e),c(e),d(e)])})}n.r(i),n.d(i,{loadBasic:()=>t})}}]);
package/900.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[900],{6900(t,i,e){e.d(i,{Container:()=>M});var s=e(8346),a=e(9692),r=e(3756),n=e(160),h=e(1101);function o(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 l{container;element;size;_canvasClearPlugins;_canvasPaintPlugins;_canvasSettings;_clearDrawPlugins;_colorPlugins;_context;_drawParticlePlugins;_drawParticlesCleanupPlugins;_drawParticlesSetupPlugins;_drawPlugins;_drawSettingsCleanupPlugins;_drawSettingsSetupPlugins;_engine;_generated;_mutationObserver;_originalStyle;_pointerEvents;_postDrawUpdaters;_preDrawUpdaters;_resizePlugins;_reusableColorStyles={};_reusablePluginColors=[void 0,void 0];_reusableTransform={};_standardSize;constructor(t,i){this.container=t,this._engine=i,this._standardSize={height:0,width:0};const e=t.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*e,width:s.width*e},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this._pointerEvents="none"}get settings(){return this._canvasSettings}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}canvasClear(){this.container.actualOptions.clear&&this.draw(t=>{(0,r.IU)(t,this.size)})}clear(){let t=!1;for(let i of this._canvasClearPlugins)if(t=i.canvasClear?.()??!1)break;t||this.canvasClear()}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],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(),n=t.getStrokeColor()??s,[o,l]=this._getPluginParticleColors(t);if(o??=s,l??=n,!o&&!l)return;let c=this.container,d=t.options.zIndex,p=a.RV-t.zIndexFactor,{opacity:u,strokeOpacity:_}=t.getOpacity(),g=this._reusableTransform,f=this._reusableColorStyles,P=o?(0,h.LC)(o,c.hdr,u):void 0,m=l?(0,h.LC)(l,c.hdr,_):P;g.a=g.b=g.c=g.d=void 0,f.fill=P,f.stroke=m,this.draw(s=>{for(let e of this._drawParticlesSetupPlugins)e.drawParticleSetup?.(s,t,i);for(let a of(this._applyPreDrawUpdaters(s,t,e,u,f,g),(0,r.p0)({container:c,context:s,particle:t,delta:i,colorStyles:f,radius:e*p**d.sizeRate,opacity:u,transform:g}),this._applyPostDrawUpdaters(t),this._drawParticlesCleanupPlugins))a.drawParticleCleanup?.(s,t,i)})}drawParticlePlugins(t,i){this.draw(e=>{for(let s of this._drawParticlePlugins)(0,r.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._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=(0,n.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.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let{container:t}=this,i=t.actualOptions.background,e=this.element;if(!e)return;let s=e.style,a=(0,h.BN)(this._engine,i.color);a?s.backgroundColor=(0,h.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._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesSetupPlugins=[],this._drawParticlesCleanupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this.container.plugins))t.resize&&this._resizePlugins.push(t),(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.particles.updaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.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,n.td)(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let s=this.container.retina.pixelRatio,r=this.size;t.height=r.height=e.height*s,t.width=r.width=e.width*s;let h=(0,n.lV)("(color-gamut: p3)");this._canvasSettings={alpha:!0,colorSpace:h?.matches&&i.hdr?"display-p3":"srgb",desynchronized:!0,willReadFrequently:!1},this._context=this.element.getContext("2d",this._canvasSettings),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})})}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,r.Sn)(i,this.size,t)})}paintImage(t,i){this.draw(e=>{(0,r.Md)(e,this.size,t,i)})}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())}stop(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=void 0,this.draw(t=>{(0,r.IU)(t,this.size)})}async windowResize(){if(!this.element||!this.resize())return;let t=this.container,i=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),i&&await t.refresh()}_applyPostDrawUpdaters=t=>{for(let i of this._postDrawUpdaters)i.afterDraw?.(t)};_applyPreDrawUpdaters=(t,i,e,s,r,n)=>{for(let h of this._preDrawUpdaters){if(h.getColorStyles){let{fill:a,stroke:n}=h.getColorStyles(i,t,e,s);a&&(r.fill=a),n&&(r.stroke=n)}if(h.getTransformValues){let t=h.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)}h.beforeDraw?.(i)}};_applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()};_getPluginParticleColors=t=>{let i,e;for(let s of this._colorPlugins)if(!i&&s.particleFillColor&&(i=(0,h.R5)(this._engine,s.particleFillColor(t))),!e&&s.particleStrokeColor&&(e=(0,h.R5)(this._engine,s.particleStrokeColor(t))),i&&e)break;return this._reusablePluginColors[0]=i,this._reusablePluginColors[1]=e,this._reusablePluginColors};_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||!Object.hasOwn(i.style,e))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&&o(t,i,!0)};_safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)};_setFullScreenStyle=()=>{let t=this.element;t&&o(t,(0,n.hJ)(this.container.actualOptions.fullScreen.zIndex),!0)}}class c{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,n.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,n.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,n.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 d=e(4008),p=e(4163),u=e(1817),_=e(9325),g=e(3031),f=e(4734),P=e(7542),m=e(4998);function w(t){if(!(0,n.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 y{container;backColor;bubble;color;destroyed;direction;effect;effectClose;effectData;effectFill;group;id;ignoresResizeRatio;initialPosition;initialVelocity;isRotating;lastPathTime;misplaced;moveCenter;moveDecay;offset;opacity;options;outType;pathDelay;pathGenerator;pathRotation;position;randomIndexData;retina;roll;rotation;shape;shapeClose;shapeData;shapeFill;sides;size;slow;spawning;strokeColor;strokeOpacity;strokeWidth;unbreakable;velocity;zIndexFactor;_cachedOpacityData={opacity:a.hv,strokeOpacity:a.hv};_cachedPosition=_.p.origin;_cachedRotateData={sin:0,cos:0};_cachedTransform={a:1,b:0,c:0,d:1};_engine;constructor(t,i){this.container=i,this._engine=t}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.pathGenerator,s=this.shape?i.particles.shapeDrawers.get(this.shape):void 0;for(let e of(s?.particleDestroy?.(this),i.particleDestroyedPlugins))e.particleDestroyed?.(this,t);for(let e of i.particles.updaters)e.particleDestroyed?.(this,t);e?.reset(this),this._engine.dispatchEvent(d.B.particleDestroyed,{container:this.container,data:{particle:this}})}draw(t){let i=this.container.canvas;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,h.O_)(this.color))}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.strokeOpacity??r;return this._cachedOpacityData.opacity=r*e,this._cachedOpacityData.strokeOpacity=n*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,h.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,r){var h,o,l,c;let d,p,u,_,g=this.container;this.id=t,this.group=r,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!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:{}},this.outType=P.x.normal,this.ignoresResizeRatio=!0;let f=g.retina.pixelRatio,w=g.actualOptions,y=(0,m.y)(this._engine,g,w.particles),v=y.reduceDuplicates,b=y.effect.type,z=y.shape.type;this.effect=(0,n.TA)(b,this.id,v),this.shape=(0,n.TA)(z,this.id,v);let S=y.effect,C=y.shape;if(e){if(e.effect?.type){let t=e.effect.type,i=(0,n.TA)(t,this.id,v);i&&(this.effect=i,S.load(e.effect))}if(e.shape?.type){let t=e.shape.type,i=(0,n.TA)(t,this.id,v);i&&(this.shape=i,C.load(e.shape))}}if(this.effect===a.mR){let t=[...this.container.particles.effectDrawers.keys()];this.effect=t[Math.floor((0,s.G0)()*t.length)]}if(this.shape===a.mR){let t=[...this.container.particles.shapeDrawers.keys()];this.shape=t[Math.floor((0,s.G0)()*t.length)]}this.effectData=this.effect?(h=this.effect,o=this.id,u=S.options[h],(0,n.zw)({close:S.close,fill:S.fill},(0,n.TA)(u,o,v))):void 0,this.shapeData=this.shape?(l=this.shape,c=this.id,_=C.options[l],(0,n.zw)({close:C.close,fill:C.fill},(0,n.TA)(_,c,v))):void 0,y.load(e);let D=this.effectData;D&&y.load(D.particles);let x=this.shapeData;x&&y.load(x.particles),this.effectFill=D?.fill??y.effect.fill,this.effectClose=D?.close??y.effect.close,this.shapeFill=x?.fill??y.shape.fill,this.shapeClose=x?.close??y.shape.close,this.options=y;let R=this.options.move.path;if(this.pathDelay=(0,s.VG)(R.delay.value)*a.Xu,R.generator){let t=this.container.particles.pathGenerators.get(R.generator);!t&&(t=this.container.particles.availablePathGenerators.get(R.generator))&&(this.container.particles.pathGenerators.set(R.generator,t),t.init()),this.pathGenerator=t}g.retina.initParticle(this),this.size=(0,n.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(),this.moveDecay=a.WH-(0,s.VG)(this.options.move.decay);let O=g.particles;O.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/g.zLayers,this.sides=24,this.effect&&(d=g.particles.effectDrawers.get(this.effect)),d?.loadEffect&&d.loadEffect(this),this.shape&&(p=g.particles.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,O.updaters))t.init(this);for(let t of O.movers)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.particles.updaters)t.reset?.(this)}_calcPosition=(t,i)=>{let e=a.rq,r=t?_.p.create(t.x,t.y,i):void 0,n=this.container,h=n.particlePositionPlugins,o=this.options.move.outModes,l=this.getRadius(),c=n.canvas.size,{signal:d}=new AbortController;for(;!d.aborted;){for(let t of h){let e=t.particlePosition?.(r,this);if(e)return _.p.create(e.x,e.y,i)}let t=(0,s.Nx)({size:c,position:r}),d=_.p.create(t.x,t.y,i);this._fixHorizontal(d,l,o.left??o.default),this._fixHorizontal(d,l,o.right??o.default),this._fixVertical(d,l,o.top??o.default),this._fixVertical(d,l,o.bottom??o.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===g.F.inside||i.direction===g.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:[f.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:[f.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,r.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),r=this._calcPosition(t,(0,s.qE)(e,a.X_,i.zLayers));if(!r)throw Error("a valid position cannot be found for particle");this.position=r,this.initialPosition=this.position.copy();let h=i.canvas.size;switch(this.moveCenter={...(0,n.E9)(this.options.move.center,h),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 g.F.inside:this.outType=P.x.inside;break;case g.F.outside:this.outType=P.x.outside}this.offset=_.M.origin}}var v=e(5775),b=e(2981);class z{rectangle;capacity;_divided;_points;_subs;constructor(t,i){this.rectangle=t,this.capacity=i,this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some(i=>i.insert(t))))}query(t,i){let e=[];if(!t.intersects(this.rectangle))return[];for(let a of this._points)!t.contains(a.position)&&(0,s.Yf)(t.position,a.position)>a.particle.getRadius()&&(!i||i(a.particle))||e.push(a.particle);if(this._divided)for(let s of this._subs)e.push(...s.query(t,i));return e}queryCircle(t,i,e){return this.query(new b.jl(t.x,t.y,i),e)}queryRectangle(t,i,e){return this.query(new b.M_(t.x,t.y,i.width,i.height),e)}_subdivide=()=>{let{x:t,y:i}=this.rectangle.position,{width:e,height:s}=this.rectangle.size,{capacity:r}=this;for(let n=0;n<a.Pg;n++){let h=n%a.gd;this._subs.push(new z(new b.M_(t+e*a.MX*h,i+s*a.MX*(Math.round(n*a.MX)-h),e*a.MX,s*a.MX),r))}this._divided=!0}}var S=e(1002);let C=t=>{let{height:i,width:e}=t;return new b.M_(a.un*e,a.un*i,a.Rh*e,a.Rh*i)};class D{availablePathGenerators;checkParticlePositionPlugins;effectDrawers;movers;pathGenerators;quadTree;shapeDrawers;updaters;_array;_container;_engine;_groupLimits;_limit;_maxZIndex;_minZIndex;_needsSort;_nextId;_particleResetPlugins;_particleUpdatePlugins;_pool;_postParticleUpdatePlugins;_postUpdatePlugins;_resizeFactor;_updatePlugins;_zArray;constructor(t,i){this._engine=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;const e=i.canvas.size;this.quadTree=new z(C(e),a.Kw),this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],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,h=this.count;if(n>a.ou)switch(r){case u.d.delete:{let t=h+a.nq-n;t>a.wM&&this.removeQuantity(t);break}case u.d.wait:if(h>=n)return}try{let a=this._pool.pop()??new y(this._engine,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._engine.dispatchEvent(d.B.particleAdded,{container:this._container,data:{particle:a}}),a}catch(t){(0,S.t)().warning(`error adding particle: ${t}`)}}clear(){this._array=[],this._zArray=[]}destroy(){let t=this._container;for(let[,i]of this.effectDrawers)i.destroy?.(t);for(let[,i]of this.shapeDrawers)i.destroy?.(t);this._array=[],this._pool.length=0,this._zArray=[],this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],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=[],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.initPlugins(),this.effectDrawers.values()))await i.init?.(t);for(let i of this.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()}}async initPlugins(){let t=this._container;for(let i of(this.effectDrawers=await this._engine.getEffectDrawers(t,!0),this.movers=await this._engine.getMovers(t,!0),this.availablePathGenerators=await this._engine.getPathGenerators(t,!0),this.pathGenerators=new Map,this.shapeDrawers=await this._engine.getShapeDrawers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),this.pathGenerators.values()))i.init()}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.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,m.y)(this._engine,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=this._container,e=new Set;for(let t of(this.quadTree=new z(C(i.canvas.size),a.Kw),this.pathGenerators.values()))t.update();for(let i of this._updatePlugins)i.update?.(t);let s=this._resizeFactor;for(let i of this._array){for(let t of(s&&!i.ignoresResizeRatio&&(i.position.x*=s.width,i.position.y*=s.height,i.initialPosition.x*=s.width,i.initialPosition.y*=s.height),i.ignoresResizeRatio=!1,this._particleResetPlugins))t.particleReset?.(i);for(let e of this._particleUpdatePlugins){if(i.destroyed)break;e.particleUpdate?.(i,t)}for(let e of this.movers)e.isEnabled(i)&&e.move(i,t);if(i.destroyed){e.add(i);continue}this.quadTree.insert(new v.b(i.getPosition(),i))}if(e.size){let t=t=>!e.has(t);for(let i of(this._array=this.filter(t),this._zArray=this._zArray.filter(t),e))this._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:i}});this._addToPool(...e)}for(let i of this._postUpdatePlugins)i.postUpdate?.(t);for(let i of this._array){for(let e of this.updaters)e.update(i,t);if(!i.destroyed&&!i.spawning)for(let e of this._postParticleUpdatePlugins)e.postParticleUpdate?.(i,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),h=r.value,o=r.limit.value>a.ou?r.limit.value:h,l=Math.min(h,o)*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<l?this.push(Math.abs(l-c),void 0,t,e):c>l&&this.removeQuantity(c-l,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._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0}}class x{container;maxSpeed;pixelRatio;reduceFactor;sizeAnimationSpeed;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,r=t.canvas;if(r.element){let t=r.element;r.size.width=t.offsetWidth*e,r.size.height=t.offsetHeight*e}let n=i.particles,h=n.move;this.maxSpeed=(0,s.VG)(h.gravity.maxSpeed)*e,this.sizeAnimationSpeed=(0,s.VG)(n.size.animation.speed)*e}initParticle(t){let i=t.options,e=this.pixelRatio,a=i.move,r=a.distance,n=t.retina;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 h=n.maxDistance;h.horizontal=void 0!==r.horizontal?r.horizontal*e:void 0,h.vertical=void 0!==r.vertical?r.vertical*e:void 0,n.maxSpeed=(0,s.VG)(a.gravity.maxSpeed)*e}}function R(t){return!t.destroyed}function O(t,i,...e){let s=new p.J(t,i);return(0,m.Z)(s,...e),s}class M{actualOptions;canvas;destroyed;fpsLimit;hdr;id;pageHidden;particleCreatedPlugins;particleDestroyedPlugins;particlePositionPlugins;particles;plugins;retina;started;zLayers;_delay;_delayTimeout;_delta={value:0,factor:0};_drawAnimationFrame;_duration;_engine;_eventListeners;_firstStart;_initialSourceOptions;_lastFrameTime;_lifeTime;_options;_paused;_smooth;_sourceOptions;constructor(t,i,e){this._engine=t,this.id=Symbol(i),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=e,this._initialSourceOptions=e,this.retina=new x(this),this.canvas=new l(this,this._engine),this.particles=new D(this._engine,this),this.plugins=[],this.particleDestroyedPlugins=[],this.particleCreatedPlugins=[],this.particlePositionPlugins=[],this._options=O(this._engine,this),this.actualOptions=O(this._engine,this),this._eventListeners=new c(this),this._engine.dispatchEvent(d.B.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&R(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(R(this)){for(let t of(this.stop(),this.particles.destroy(),this.canvas.destroy(),this.plugins))t.destroy?.();if(this.plugins.length=0,this._engine.clearPlugins(this),this.destroyed=!0,t){let t=this._engine.items,i=t.indexOf(this);i>=a.vF&&t.splice(i,a.JC)}this._engine.dispatchEvent(d.B.containerDestroyed,{container:this})}}draw(t){if(!R(this))return;let i=t,e=t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)};this._drawAnimationFrame=(0,s.i0)(t=>{e(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(!R(this))return;let t=new Map;for(let i of this._engine.plugins){let e=await i.getPlugin(this);e.preInit&&await e.preInit(),t.set(i,e)}for(let[i,e]of(await this.particles.initPlugins(),this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,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:h,zLayers:o}=this.actualOptions;for(let t of(this.hdr=n,this.zLayers=o,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=h,this.plugins))await t.init?.();for(let t of(await this.particles.init(),this._engine.dispatchEvent(d.B.containerInit,{container:this}),this.particles.setDensity(),this.plugins))t.particlesSetup?.();this._engine.dispatchEvent(d.B.particlesSetup,{container:this})}pause(){if(R(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._engine.dispatchEvent(d.B.containerPaused,{container:this})}}play(t){if(!R(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._engine.dispatchEvent(d.B.containerPlay,{container:this}),this.draw(i??!1)}async refresh(){if(R(this))return this.stop(),this.start()}async reset(t){if(R(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,this,this._options),this.refresh()}async start(){R(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._engine.dispatchEvent(d.B.containerStarted,{container:this}),this.play(),t()};this._delayTimeout=setTimeout(()=>void i(),this._delay)}))}stop(){if(R(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._engine.dispatchEvent(d.B.containerStopped,{container:this})}}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.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)}}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[900],{6900(t,i,e){e.d(i,{Container:()=>M});var s=e(8346),a=e(9692),r=e(3756),n=e(160),o=e(1101);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 l{container;element;size;zoom=a.Pf;_canvasClearPlugins;_canvasPaintPlugins;_canvasSettings;_clearDrawPlugins;_colorPlugins;_context;_drawParticlePlugins;_drawParticlesCleanupPlugins;_drawParticlesSetupPlugins;_drawPlugins;_drawSettingsCleanupPlugins;_drawSettingsSetupPlugins;_engine;_generated;_mutationObserver;_originalStyle;_pointerEvents;_postDrawUpdaters;_preDrawUpdaters;_resizePlugins;_reusableColorStyles={};_reusablePluginColors=[void 0,void 0];_reusableTransform={};_standardSize;_zoomCenter;constructor(t,i){this.container=t,this._engine=i,this._standardSize={height:0,width:0};const e=t.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*e,width:s.width*e},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this._pointerEvents="none"}get settings(){return this._canvasSettings}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}canvasClear(){this.container.actualOptions.clear&&this.draw(t=>{(0,r.IU)(t,this.size)})}clear(){let t=!1;for(let i of this._canvasClearPlugins)if(t=i.canvasClear?.()??!1)break;t||this.canvasClear()}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],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(),n=t.getStrokeColor()??s,[h,l]=this._getPluginParticleColors(t);if(h??=s,l??=n,!h&&!l)return;let c=this.container,d=t.options.zIndex,p=a.RV-t.zIndexFactor,{opacity:u,strokeOpacity:_}=t.getOpacity(),g=this._reusableTransform,f=this._reusableColorStyles,P=h?(0,o.LC)(h,c.hdr,u):void 0,m=l?(0,o.LC)(l,c.hdr,_):P;g.a=g.b=g.c=g.d=void 0,f.fill=P,f.stroke=m,this.draw(s=>{for(let e of this._drawParticlesSetupPlugins)e.drawParticleSetup?.(s,t,i);for(let a of(this._applyPreDrawUpdaters(s,t,e,u,f,g),(0,r.p0)({container:c,context:s,particle:t,delta:i,colorStyles:f,radius:e*p**d.sizeRate,opacity:u,transform:g}),this._applyPostDrawUpdaters(t),this._drawParticlesCleanupPlugins))a.drawParticleCleanup?.(s,t,i)})}drawParticlePlugins(t,i){this.draw(e=>{for(let s of this._drawParticlePlugins)(0,r.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)})}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,n.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.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){let{container:t}=this,i=t.actualOptions.background,e=this.element;if(!e)return;let s=e.style,a=(0,o.BN)(this._engine,i.color);a?s.backgroundColor=(0,o.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._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesSetupPlugins=[],this._drawParticlesCleanupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this.container.plugins))t.resize&&this._resizePlugins.push(t),(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.particles.updaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.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,n.td)(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let s=this.container.retina.pixelRatio,r=this.size;t.height=r.height=e.height*s,t.width=r.width=e.width*s;let o=(0,n.lV)("(color-gamut: p3)");this._canvasSettings={alpha:!0,colorSpace:o?.matches&&i.hdr?"display-p3":"srgb",desynchronized:!0,willReadFrequently:!1},this._context=this.element.getContext("2d",this._canvasSettings),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})})}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,r.Sn)(i,this.size,t)})}paintImage(t,i){this.draw(e=>{(0,r.Md)(e,this.size,t,i)})}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.draw(t=>{(0,r.IU)(t,this.size)})}async windowResize(){if(!this.element||!this.resize())return;let t=this.container,i=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),i&&await t.refresh()}_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)}};_applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()};_getPluginParticleColors=t=>{let i,e;for(let s of this._colorPlugins)if(!i&&s.particleFillColor&&(i=(0,o.R5)(this._engine,s.particleFillColor(t))),!e&&s.particleStrokeColor&&(e=(0,o.R5)(this._engine,s.particleStrokeColor(t))),i&&e)break;return this._reusablePluginColors[0]=i,this._reusablePluginColors[1]=e,this._reusablePluginColors};_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||!Object.hasOwn(i.style,e))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,n.hJ)(this.container.actualOptions.fullScreen.zIndex),!0)}}class c{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,n.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,n.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,n.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 d=e(4008),p=e(4163),u=e(1817),_=e(9325),g=e(3031),f=e(4734),P=e(7542),m=e(4998);function w(t){if(!(0,n.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 y{container;backColor;bubble;color;destroyed;direction;effect;effectClose;effectData;effectFill;group;id;ignoresResizeRatio;initialPosition;initialVelocity;isRotating;lastPathTime;misplaced;moveCenter;moveDecay;offset;opacity;options;outType;pathDelay;pathGenerator;pathRotation;position;randomIndexData;retina;roll;rotation;shape;shapeClose;shapeData;shapeFill;sides;size;slow;spawning;strokeColor;strokeOpacity;strokeWidth;unbreakable;velocity;zIndexFactor;_cachedOpacityData={opacity:a.hv,strokeOpacity:a.hv};_cachedPosition=_.p.origin;_cachedRotateData={sin:0,cos:0};_cachedTransform={a:1,b:0,c:0,d:1};_engine;constructor(t,i){this.container=i,this._engine=t}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.pathGenerator,s=this.shape?i.particles.shapeDrawers.get(this.shape):void 0;for(let e of(s?.particleDestroy?.(this),i.particleDestroyedPlugins))e.particleDestroyed?.(this,t);for(let e of i.particles.updaters)e.particleDestroyed?.(this,t);e?.reset(this),this._engine.dispatchEvent(d.B.particleDestroyed,{container:this.container,data:{particle:this}})}draw(t){let i=this.container.canvas;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,o.O_)(this.color))}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.strokeOpacity??r;return this._cachedOpacityData.opacity=r*e,this._cachedOpacityData.strokeOpacity=n*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,o.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,r){var o,h,l,c;let d,p,u,_,g=this.container;this.id=t,this.group=r,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!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:{}},this.outType=P.x.normal,this.ignoresResizeRatio=!0;let f=g.retina.pixelRatio,w=g.actualOptions,y=(0,m.y)(this._engine,g,w.particles),v=y.reduceDuplicates,b=y.effect.type,z=y.shape.type;this.effect=(0,n.TA)(b,this.id,v),this.shape=(0,n.TA)(z,this.id,v);let S=y.effect,C=y.shape;if(e){if(e.effect?.type){let t=e.effect.type,i=(0,n.TA)(t,this.id,v);i&&(this.effect=i,S.load(e.effect))}if(e.shape?.type){let t=e.shape.type,i=(0,n.TA)(t,this.id,v);i&&(this.shape=i,C.load(e.shape))}}if(this.effect===a.mR){let t=[...this.container.particles.effectDrawers.keys()];this.effect=t[Math.floor((0,s.G0)()*t.length)]}if(this.shape===a.mR){let t=[...this.container.particles.shapeDrawers.keys()];this.shape=t[Math.floor((0,s.G0)()*t.length)]}this.effectData=this.effect?(o=this.effect,h=this.id,u=S.options[o],(0,n.zw)({close:S.close,fill:S.fill},(0,n.TA)(u,h,v))):void 0,this.shapeData=this.shape?(l=this.shape,c=this.id,_=C.options[l],(0,n.zw)({close:C.close,fill:C.fill},(0,n.TA)(_,c,v))):void 0,y.load(e);let D=this.effectData;D&&y.load(D.particles);let x=this.shapeData;x&&y.load(x.particles),this.effectFill=D?.fill??y.effect.fill,this.effectClose=D?.close??y.effect.close,this.shapeFill=x?.fill??y.shape.fill,this.shapeClose=x?.close??y.shape.close,this.options=y;let R=this.options.move.path;if(this.pathDelay=(0,s.VG)(R.delay.value)*a.Xu,R.generator){let t=this.container.particles.pathGenerators.get(R.generator);!t&&(t=this.container.particles.availablePathGenerators.get(R.generator))&&(this.container.particles.pathGenerators.set(R.generator,t),t.init()),this.pathGenerator=t}g.retina.initParticle(this),this.size=(0,n.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(),this.moveDecay=a.WH-(0,s.VG)(this.options.move.decay);let O=g.particles;O.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/g.zLayers,this.sides=24,this.effect&&(d=g.particles.effectDrawers.get(this.effect)),d?.loadEffect&&d.loadEffect(this),this.shape&&(p=g.particles.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,O.updaters))t.init(this);for(let t of O.movers)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.particles.updaters)t.reset?.(this)}_calcPosition=(t,i)=>{let e=a.rq,r=t?_.p.create(t.x,t.y,i):void 0,n=this.container,o=n.particlePositionPlugins,h=this.options.move.outModes,l=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 _.p.create(e.x,e.y,i)}let t=(0,s.Nx)({size:c,position:r}),d=_.p.create(t.x,t.y,i);this._fixHorizontal(d,l,h.left??h.default),this._fixHorizontal(d,l,h.right??h.default),this._fixVertical(d,l,h.top??h.default),this._fixVertical(d,l,h.bottom??h.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===g.F.inside||i.direction===g.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:[f.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:[f.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,r.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),r=this._calcPosition(t,(0,s.qE)(e,a.X_,i.zLayers));if(!r)throw Error("a valid position cannot be found for particle");this.position=r,this.initialPosition=this.position.copy();let o=i.canvas.size;switch(this.moveCenter={...(0,n.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 g.F.inside:this.outType=P.x.inside;break;case g.F.outside:this.outType=P.x.outside}this.offset=_.M.origin}}var v=e(5775),b=e(2981);class z{rectangle;capacity;_divided;_points;_subs;constructor(t,i){this.rectangle=t,this.capacity=i,this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some(i=>i.insert(t))))}query(t,i){let e=[];if(!t.intersects(this.rectangle))return[];for(let a of this._points)!t.contains(a.position)&&(0,s.Yf)(t.position,a.position)>a.particle.getRadius()&&(!i||i(a.particle))||e.push(a.particle);if(this._divided)for(let s of this._subs)e.push(...s.query(t,i));return e}queryCircle(t,i,e){return this.query(new b.jl(t.x,t.y,i),e)}queryRectangle(t,i,e){return this.query(new b.M_(t.x,t.y,i.width,i.height),e)}_subdivide=()=>{let{x:t,y:i}=this.rectangle.position,{width:e,height:s}=this.rectangle.size,{capacity:r}=this;for(let n=0;n<a.Pg;n++){let o=n%a.gd;this._subs.push(new z(new b.M_(t+e*a.MX*o,i+s*a.MX*(Math.round(n*a.MX)-o),e*a.MX,s*a.MX),r))}this._divided=!0}}var S=e(1002);let C=t=>{let{height:i,width:e}=t;return new b.M_(a.un*e,a.un*i,a.Rh*e,a.Rh*i)};class D{availablePathGenerators;checkParticlePositionPlugins;effectDrawers;movers;pathGenerators;quadTree;shapeDrawers;updaters;_array;_container;_engine;_groupLimits;_limit;_maxZIndex;_minZIndex;_needsSort;_nextId;_particleResetPlugins;_particleUpdatePlugins;_pool;_postParticleUpdatePlugins;_postUpdatePlugins;_resizeFactor;_updatePlugins;_zArray;constructor(t,i){this._engine=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;const e=i.canvas.size;this.quadTree=new z(C(e),a.Kw),this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],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 u.d.delete:{let t=o+a.nq-n;t>a.wM&&this.removeQuantity(t);break}case u.d.wait:if(o>=n)return}try{let a=this._pool.pop()??new y(this._engine,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._engine.dispatchEvent(d.B.particleAdded,{container:this._container,data:{particle:a}}),a}catch(t){(0,S.t)().warning(`error adding particle: ${t}`)}}clear(){this._array=[],this._zArray=[]}destroy(){let t=this._container;for(let[,i]of this.effectDrawers)i.destroy?.(t);for(let[,i]of this.shapeDrawers)i.destroy?.(t);this._array=[],this._pool.length=0,this._zArray=[],this.effectDrawers=new Map,this.movers=[],this.availablePathGenerators=new Map,this.pathGenerators=new Map,this.shapeDrawers=new Map,this.updaters=[],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=[],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.initPlugins(),this.effectDrawers.values()))await i.init?.(t);for(let i of this.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()}}async initPlugins(){let t=this._container;for(let i of(this.effectDrawers=await this._engine.getEffectDrawers(t,!0),this.movers=await this._engine.getMovers(t,!0),this.availablePathGenerators=await this._engine.getPathGenerators(t,!0),this.pathGenerators=new Map,this.shapeDrawers=await this._engine.getShapeDrawers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),this.pathGenerators.values()))i.init()}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.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,m.y)(this._engine,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=this._container,e=new Set;for(let t of(this.quadTree=new z(C(i.canvas.size),a.Kw),this.pathGenerators.values()))t.update();for(let i of this._updatePlugins)i.update?.(t);let s=this._resizeFactor;for(let i of this._array){for(let t of(s&&!i.ignoresResizeRatio&&(i.position.x*=s.width,i.position.y*=s.height,i.initialPosition.x*=s.width,i.initialPosition.y*=s.height),i.ignoresResizeRatio=!1,this._particleResetPlugins))t.particleReset?.(i);for(let e of this._particleUpdatePlugins){if(i.destroyed)break;e.particleUpdate?.(i,t)}for(let e of this.movers)e.isEnabled(i)&&e.move(i,t);if(i.destroyed){e.add(i);continue}this.quadTree.insert(new v.b(i.getPosition(),i))}if(e.size){let t=t=>!e.has(t);for(let i of(this._array=this.filter(t),this._zArray=this._zArray.filter(t),e))this._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:i}});this._addToPool(...e)}for(let i of this._postUpdatePlugins)i.postUpdate?.(t);for(let i of this._array){for(let e of this.updaters)e.update(i,t);if(!i.destroyed&&!i.spawning)for(let e of this._postParticleUpdatePlugins)e.postParticleUpdate?.(i,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,h=r.limit.value>a.ou?r.limit.value:o,l=Math.min(o,h)*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<l?this.push(Math.abs(l-c),void 0,t,e):c>l&&this.removeQuantity(c-l,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._engine.dispatchEvent(d.B.particleRemoved,{container:this._container,data:{particle:s}}),this._addToPool(s),!0}}class x{container;maxSpeed;pixelRatio;reduceFactor;sizeAnimationSpeed;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,r=t.canvas;if(r.element){let t=r.element;r.size.width=t.offsetWidth*e,r.size.height=t.offsetHeight*e}let n=i.particles,o=n.move;this.maxSpeed=(0,s.VG)(o.gravity.maxSpeed)*e,this.sizeAnimationSpeed=(0,s.VG)(n.size.animation.speed)*e}initParticle(t){let i=t.options,e=this.pixelRatio,a=i.move,r=a.distance,n=t.retina;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?r.horizontal*e:void 0,o.vertical=void 0!==r.vertical?r.vertical*e:void 0,n.maxSpeed=(0,s.VG)(a.gravity.maxSpeed)*e}}function R(t){return!t.destroyed}function O(t,i,...e){let s=new p.J(t,i);return(0,m.Z)(s,...e),s}class M{actualOptions;canvas;destroyed;fpsLimit;hdr;id;pageHidden;particleCreatedPlugins;particleDestroyedPlugins;particlePositionPlugins;particles;plugins;retina;started;zLayers;_delay;_delayTimeout;_delta={value:0,factor:0};_drawAnimationFrame;_duration;_engine;_eventListeners;_firstStart;_initialSourceOptions;_lastFrameTime;_lifeTime;_options;_paused;_smooth;_sourceOptions;constructor(t,i,e){this._engine=t,this.id=Symbol(i),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=e,this._initialSourceOptions=e,this.retina=new x(this),this.canvas=new l(this,this._engine),this.particles=new D(this._engine,this),this.plugins=[],this.particleDestroyedPlugins=[],this.particleCreatedPlugins=[],this.particlePositionPlugins=[],this._options=O(this._engine,this),this.actualOptions=O(this._engine,this),this._eventListeners=new c(this),this._engine.dispatchEvent(d.B.containerBuilt,{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&R(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(R(this)){for(let t of(this.stop(),this.particles.destroy(),this.canvas.destroy(),this.plugins))t.destroy?.();if(this.plugins.length=0,this._engine.clearPlugins(this),this.destroyed=!0,t){let t=this._engine.items,i=t.indexOf(this);i>=a.vF&&t.splice(i,a.JC)}this._engine.dispatchEvent(d.B.containerDestroyed,{container:this})}}draw(t){if(!R(this))return;let i=t,e=t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)};this._drawAnimationFrame=(0,s.i0)(t=>{e(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(!R(this))return;let t=new Map;for(let i of this._engine.plugins){let e=await i.getPlugin(this);e.preInit&&await e.preInit(),t.set(i,e)}for(let[i,e]of(await this.particles.initPlugins(),this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,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:h}=this.actualOptions;for(let t of(this.hdr=n,this.zLayers=h,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._engine.dispatchEvent(d.B.containerInit,{container:this}),this.particles.setDensity(),this.plugins))t.particlesSetup?.();this._engine.dispatchEvent(d.B.particlesSetup,{container:this})}pause(){if(R(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._engine.dispatchEvent(d.B.containerPaused,{container:this})}}play(t){if(!R(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._engine.dispatchEvent(d.B.containerPlay,{container:this}),this.draw(i??!1)}async refresh(){if(R(this))return this.stop(),this.start()}async reset(t){if(R(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=O(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=O(this._engine,this,this._options),this.refresh()}async start(){R(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._engine.dispatchEvent(d.B.containerStarted,{container:this}),this.play(),t()};this._delayTimeout=setTimeout(()=>void i(),this._delay)}))}stop(){if(R(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._engine.dispatchEvent(d.B.containerStopped,{container:this})}}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.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/929.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[929],{929(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.21"),await e.register(e=>{e.addParticleUpdater("size",async()=>{let{SizeUpdater:e}=await a.e(591).then(a.bind(a,9591));return new e})})}a.r(t),a.d(t,{loadSizeUpdater:()=>i})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[929],{929(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.23"),await e.register(e=>{e.addParticleUpdater("size",async()=>{let{SizeUpdater:e}=await a.e(591).then(a.bind(a,9591));return new e})})}a.r(t),a.d(t,{loadSizeUpdater:()=>i})}}]);
package/939.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[939],{3939(e,t,i){i.d(t,{InteractivityPlugin:()=>s});var n=i(5954),o=i(7406);class s{id="interactivity";_engine;constructor(e){this._engine=e}async getPlugin(e){let{InteractivityPluginInstance:t}=await i.e(129).then(i.bind(i,2129));return new t(this._engine,e)}loadOptions(e,t,i){if(!this.needsPlugin())return;let n=t.interactivity;n?.load||(t.interactivity=n=new o.k(this._engine,e)),n.load(i?.interactivity);let s=this._engine.interactors?.get(e);if(s)for(let e of s)e.loadOptions&&e.loadOptions(t,i)}loadParticlesOptions(e,t,i){i?.interactivity&&(t.interactivity=(0,n.zwS)({},i.interactivity));let o=this._engine.interactors?.get(e);if(o)for(let e of o)e.loadParticlesOptions&&e.loadParticlesOptions(t,i)}needsPlugin(){return!0}}},7406(e,t,i){i.d(t,{k:()=>c});var n=i(5954);class o{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}var s=i(6594);class a{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}class l{onClick;onDiv;onHover;constructor(){this.onClick=new o,this.onDiv=new s.G,this.onHover=new a}load(e){if((0,n.kZJ)(e))return;this.onClick.load(e.onClick);let t=e.onDiv;void 0!==t&&(this.onDiv=(0,n.wJ2)(t,e=>{let t=new s.G;return t.load(e),t})),this.onHover.load(e.onHover)}}var r=i(359),d=i(9766);class c{detectsOn;events;modes;constructor(e,t){this.detectsOn=r.h.window,this.events=new l,this.modes=new d.d(e,t)}load(e){if((0,n.kZJ)(e))return;let t=e.detectsOn;void 0!==t&&(this.detectsOn=t),this.events.load(e.events),this.modes.load(e.modes)}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_fireworks=this.webpackChunk_tsparticles_fireworks||[]).push([[939],{3939(e,t,i){i.d(t,{InteractivityPlugin:()=>s});var n=i(5954),o=i(7406);class s{id="interactivity";_engine;constructor(e){this._engine=e}async getPlugin(e){let{InteractivityPluginInstance:t}=await i.e(129).then(i.bind(i,2129));return new t(this._engine,e)}loadOptions(e,t,i){if(!this.needsPlugin())return;let n=t.interactivity;n?.load||(t.interactivity=n=new o.k(this._engine,e)),n.load(i?.interactivity);let s=this._engine.interactors?.get(e);if(s)for(let e of s)e.loadOptions&&e.loadOptions(t,i)}loadParticlesOptions(e,t,i){i?.interactivity&&(t.interactivity=(0,n.zwS)({},i.interactivity));let o=this._engine.interactors?.get(e);if(o)for(let e of o)e.loadParticlesOptions?.(t,i)}needsPlugin(){return!0}}},7406(e,t,i){i.d(t,{k:()=>c});var n=i(5954);class o{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}var s=i(6594);class a{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}class r{onClick;onDiv;onHover;constructor(){this.onClick=new o,this.onDiv=new s.G,this.onHover=new a}load(e){if((0,n.kZJ)(e))return;this.onClick.load(e.onClick);let t=e.onDiv;void 0!==t&&(this.onDiv=(0,n.wJ2)(t,e=>{let t=new s.G;return t.load(e),t})),this.onHover.load(e.onHover)}}var l=i(3322),d=i(9766);class c{detectsOn;events;modes;constructor(e,t){this.detectsOn=l.h.window,this.events=new r,this.modes=new d.d(e,t)}load(e){if((0,n.kZJ)(e))return;let t=e.detectsOn;void 0!==t&&(this.detectsOn=t),this.events.load(e.events),this.modes.load(e.modes)}}}}]);
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \**************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\nasync function loadBasic(engine) {\n engine.checkVersion(\"4.0.0-alpha.21\");\n await engine.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadBaseMover }, { loadCircleShape }, { loadColorUpdater }, { loadOpacityUpdater }, { loadOutModesUpdater }, { loadSizeUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hex-color */ \"../../plugins/colors/hex/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hsl-color */ \"../../plugins/colors/hsl/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-rgb-color */ \"../../plugins/colors/rgb/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"move_base_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_color_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadHexColorPlugin(e),\n loadHslColorPlugin(e),\n loadRgbColorPlugin(e),\n loadBaseMover(e),\n loadCircleShape(e),\n loadColorUpdater(e),\n loadOpacityUpdater(e),\n loadOutModesUpdater(e),\n loadSizeUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../basic/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\nasync function loadBasic(engine) {\n engine.checkVersion(\"4.0.0-alpha.23\");\n await engine.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadBaseMover }, { loadCircleShape }, { loadColorUpdater }, { loadOpacityUpdater }, { loadOutModesUpdater }, { loadSizeUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hex-color */ \"../../plugins/colors/hex/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hsl-color */ \"../../plugins/colors/hsl/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-rgb-color */ \"../../plugins/colors/rgb/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"move_base_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_color_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadHexColorPlugin(e),\n loadHslColorPlugin(e),\n loadRgbColorPlugin(e),\n loadBaseMover(e),\n loadCircleShape(e),\n loadColorUpdater(e),\n loadOpacityUpdater(e),\n loadOutModesUpdater(e),\n loadSizeUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../basic/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -37,7 +37,7 @@ async function initPlugins(engine) {
37
37
  });
38
38
  }
39
39
  initializing = true;
40
- engine.checkVersion("4.0.0-alpha.21");
40
+ engine.checkVersion("4.0.0-alpha.23");
41
41
  await engine.register(async (e) => {
42
42
  const [{ loadBasic }, { loadEmittersPlugin }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadTrailEffect },] = await Promise.all([
43
43
  import("@tsparticles/basic"),
@@ -282,5 +282,5 @@ fireworks.create = async (canvas, options) => {
282
282
  fireworks.init = async () => {
283
283
  await initPlugins(tsParticles);
284
284
  };
285
- fireworks.version = "4.0.0-alpha.21";
285
+ fireworks.version = "4.0.0-alpha.23";
286
286
  globalThis.fireworks = fireworks;
package/cjs/fireworks.js CHANGED
@@ -37,7 +37,7 @@ async function initPlugins(engine) {
37
37
  });
38
38
  }
39
39
  initializing = true;
40
- engine.checkVersion("4.0.0-alpha.21");
40
+ engine.checkVersion("4.0.0-alpha.23");
41
41
  await engine.register(async (e) => {
42
42
  const [{ loadBasic }, { loadEmittersPlugin }, { loadEmittersShapeSquare }, { loadSoundsPlugin }, { loadRotateUpdater }, { loadDestroyUpdater }, { loadLifeUpdater }, { loadTrailEffect },] = await Promise.all([
43
43
  import("@tsparticles/basic"),
@@ -282,5 +282,5 @@ fireworks.create = async (canvas, options) => {
282
282
  fireworks.init = async () => {
283
283
  await initPlugins(tsParticles);
284
284
  };
285
- fireworks.version = "4.0.0-alpha.21";
285
+ fireworks.version = "4.0.0-alpha.23";
286
286
  globalThis.fireworks = fireworks;
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \*******************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TrailDrawer: () => (/* binding */ TrailDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minTrailLength = 2, trailLengthOffset = 1, minWidth = -1, defaultLength = 10;\nconst defaultTransform = {\n a: 1,\n b: 0,\n c: 0,\n d: 1\n};\nclass TrailDrawer {\n drawAfter(data) {\n const { context, radius, particle, transformData } = data, diameter = radius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double, pxRatio = particle.container.retina.pixelRatio, currentPos = particle.getPosition(), trail = particle.trail;\n if (!trail || !particle.trailLength) {\n return;\n }\n const pathLength = particle.trailLength + radius;\n trail.push({\n color: context.fillStyle || context.strokeStyle,\n position: {\n x: currentPos.x,\n y: currentPos.y\n },\n transformData\n });\n if (trail.length < minTrailLength) {\n return;\n }\n while(trail.length > pathLength){\n trail.shift();\n }\n const trailLength = Math.min(trail.length, pathLength), canvasSize = {\n width: particle.container.canvas.size.width + diameter,\n height: particle.container.canvas.size.height + diameter\n }, trailPos = trail[trailLength - trailLengthOffset];\n if (!trailPos) {\n return;\n }\n let lastPos = trailPos.position;\n for(let i = trailLength; i > _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.none; i--){\n const step = trail[i - trailLengthOffset];\n if (!step) {\n continue;\n }\n const position = step.position, stepTransformData = particle.trailTransform ? step.transformData ?? defaultTransform : defaultTransform;\n context.setTransform(stepTransformData.a, stepTransformData.b, stepTransformData.c, stepTransformData.d, position.x, position.y);\n context.beginPath();\n context.moveTo(lastPos.x - position.x, lastPos.y - position.y);\n const warp = {\n x: (lastPos.x + canvasSize.width) % canvasSize.width,\n y: (lastPos.y + canvasSize.height) % canvasSize.height\n };\n if (Math.abs(lastPos.x - position.x) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half || Math.abs(lastPos.y - position.y) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n lastPos = position;\n continue;\n }\n context.lineTo(Math.abs(lastPos.x - position.x) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? warp.x : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, Math.abs(lastPos.y - position.y) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? warp.y : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y);\n const width = Math.max(i / trailLength * diameter, pxRatio, particle.trailMinWidth ?? minWidth), oldAlpha = context.globalAlpha;\n context.globalAlpha = particle.trailFade ? i / trailLength : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha;\n context.lineWidth = particle.trailMaxWidth ? Math.min(width, particle.trailMaxWidth) : width;\n context.strokeStyle = step.color;\n context.stroke();\n context.globalAlpha = oldAlpha;\n lastPos = position;\n }\n context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, currentPos.x, currentPos.y);\n }\n particleInit(container, particle) {\n particle.trail = [];\n const effectData = particle.effectData;\n particle.trailFade = effectData?.fade ?? true;\n particle.trailLength = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData?.length ?? defaultLength) * container.retina.pixelRatio;\n particle.trailMaxWidth = effectData?.maxWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.maxWidth) * container.retina.pixelRatio : undefined;\n particle.trailMinWidth = effectData?.minWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.minWidth) * container.retina.pixelRatio : undefined;\n particle.trailTransform = effectData?.transform ?? false;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/TrailDrawer.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TrailDrawer: () => (/* binding */ TrailDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minTrailLength = 2, trailLengthOffset = 1, minWidth = -1, defaultLength = 10;\nconst defaultTransform = {\n a: 1,\n b: 0,\n c: 0,\n d: 1\n};\nclass TrailDrawer {\n drawAfter(data) {\n const { context, drawPosition, drawRadius, drawScale, particle, transformData } = data, diameter = drawRadius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double, pxRatio = particle.container.retina.pixelRatio, trail = particle.trail;\n if (!trail || !particle.trailLength) {\n return;\n }\n const currentPos = drawPosition, pathLength = particle.trailLength * drawScale + drawRadius;\n trail.push({\n color: context.fillStyle || context.strokeStyle,\n position: {\n x: currentPos.x,\n y: currentPos.y\n },\n transformData\n });\n if (trail.length < minTrailLength) {\n return;\n }\n while(trail.length > pathLength){\n trail.shift();\n }\n const trailLength = Math.min(trail.length, pathLength), canvasSize = {\n width: particle.container.canvas.size.width * drawScale + diameter,\n height: particle.container.canvas.size.height * drawScale + diameter\n }, trailPos = trail[trailLength - trailLengthOffset];\n if (!trailPos) {\n return;\n }\n let lastPos = trailPos.position;\n for(let i = trailLength; i > _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.none; i--){\n const step = trail[i - trailLengthOffset];\n if (!step) {\n continue;\n }\n const position = step.position, stepTransformData = particle.trailTransform ? step.transformData ?? defaultTransform : defaultTransform, dx = lastPos.x - position.x, dy = lastPos.y - position.y, distance = Math.sqrt(dx * dx + dy * dy);\n if (distance > pathLength * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double) {\n lastPos = position;\n continue;\n }\n context.setTransform(stepTransformData.a, stepTransformData.b, stepTransformData.c, stepTransformData.d, position.x, position.y);\n context.beginPath();\n context.moveTo(dx, dy);\n const warp = {\n x: (lastPos.x + canvasSize.width) % canvasSize.width,\n y: (lastPos.y + canvasSize.height) % canvasSize.height\n };\n if (Math.abs(dx) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half || Math.abs(dy) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n lastPos = position;\n continue;\n }\n context.lineTo(Math.abs(dx) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? warp.x : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, Math.abs(dy) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? warp.y : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y);\n const width = Math.max(i / trailLength * diameter, pxRatio, (particle.trailMinWidth ?? minWidth) * drawScale), oldAlpha = context.globalAlpha;\n context.globalAlpha = particle.trailFade ? i / trailLength : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha;\n context.lineWidth = particle.trailMaxWidth ? Math.min(width, particle.trailMaxWidth * drawScale) : width;\n context.strokeStyle = step.color;\n context.stroke();\n context.globalAlpha = oldAlpha;\n lastPos = position;\n }\n }\n particleInit(container, particle) {\n particle.trail = [];\n const effectData = particle.effectData;\n particle.trailFade = effectData?.fade ?? true;\n particle.trailLength = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData?.length ?? defaultLength) * container.retina.pixelRatio;\n particle.trailMaxWidth = effectData?.maxWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.maxWidth) * container.retina.pixelRatio : undefined;\n particle.trailMinWidth = effectData?.minWidth ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(effectData.minWidth) * container.retina.pixelRatio : undefined;\n particle.trailTransform = effectData?.transform ?? false;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/TrailDrawer.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \*************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTrailEffect: () => (/* binding */ loadTrailEffect)\n/* harmony export */ });\nasync function loadTrailEffect(engine) {\n engine.checkVersion(\"4.0.0-alpha.21\");\n await engine.register((e)=>{\n e.addEffect(\"trail\", async ()=>{\n const { TrailDrawer } = await __webpack_require__.e(/*! import() */ \"effects_trail_dist_browser_TrailDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TrailDrawer.js */ \"../../effects/trail/dist/browser/TrailDrawer.js\"));\n return new TrailDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTrailEffect: () => (/* binding */ loadTrailEffect)\n/* harmony export */ });\nasync function loadTrailEffect(engine) {\n engine.checkVersion(\"4.0.0-alpha.23\");\n await engine.register((e)=>{\n e.addEffect(\"trail\", async ()=>{\n const { TrailDrawer } = await __webpack_require__.e(/*! import() */ \"effects_trail_dist_browser_TrailDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TrailDrawer.js */ \"../../effects/trail/dist/browser/TrailDrawer.js\"));\n return new TrailDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/fireworks/../../effects/trail/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29