@tsparticles/slim 4.0.0-alpha.22 → 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.
- package/102.min.js +1 -1
- package/1416.min.js +1 -1
- package/1504.min.js +1 -1
- package/1801.min.js +1 -1
- package/195.min.js +1 -1
- package/2106.min.js +1 -1
- package/2129.min.js +1 -1
- package/2559.min.js +1 -1
- package/2740.min.js +1 -1
- package/2753.min.js +1 -1
- package/2833.min.js +1 -1
- package/2895.min.js +1 -1
- package/3111.min.js +1 -0
- package/3139.min.js +1 -1
- package/3576.min.js +1 -1
- package/3607.min.js +1 -1
- package/3611.min.js +1 -0
- package/3746.min.js +1 -1
- package/3775.min.js +1 -1
- package/3891.min.js +1 -1
- package/3923.min.js +1 -1
- package/4060.min.js +1 -1
- package/411.min.js +1 -1
- package/4377.min.js +1 -1
- package/4512.min.js +1 -1
- package/4894.min.js +1 -1
- package/5022.min.js +1 -1
- package/5143.min.js +1 -1
- package/5291.min.js +1 -1
- package/5584.min.js +1 -1
- package/578.min.js +1 -1
- package/6084.min.js +1 -1
- package/611.min.js +1 -1
- package/6300.min.js +1 -1
- package/6330.min.js +1 -1
- package/6497.min.js +1 -1
- package/6566.min.js +1 -1
- package/665.min.js +1 -1
- package/6900.min.js +1 -1
- package/699.min.js +1 -1
- package/7239.min.js +1 -1
- package/7346.min.js +1 -1
- package/7468.min.js +1 -1
- package/7884.min.js +1 -1
- package/8166.min.js +1 -1
- package/8196.min.js +1 -1
- package/8509.min.js +1 -1
- package/8580.min.js +1 -1
- package/8968.min.js +1 -1
- package/9169.min.js +1 -1
- package/9212.min.js +1 -1
- package/929.min.js +1 -1
- package/9322.min.js +1 -1
- package/969.min.js +1 -1
- package/basic_dist_browser_index_js.js +2 -2
- package/browser/index.js +1 -1
- package/cjs/index.js +1 -1
- package/engine_dist_browser_Core_Container_js.js +2 -2
- package/esm/index.js +1 -1
- package/interactions_external_attract_dist_browser_Attractor_js.js +3 -13
- package/interactions_external_attract_dist_browser_index_js.js +2 -2
- package/interactions_external_bounce_dist_browser_Bouncer_js.js +3 -13
- package/interactions_external_bounce_dist_browser_index_js.js +2 -2
- package/interactions_external_bubble_dist_browser_Bubbler_js.js +3 -13
- package/interactions_external_bubble_dist_browser_index_js.js +2 -2
- package/interactions_external_connect_dist_browser_Connector_js.js +3 -13
- package/interactions_external_connect_dist_browser_index_js.js +2 -2
- package/interactions_external_grab_dist_browser_Grabber_js.js +3 -13
- package/interactions_external_grab_dist_browser_index_js.js +2 -2
- package/interactions_external_parallax_dist_browser_Parallaxer_js.js +3 -13
- package/interactions_external_parallax_dist_browser_index_js.js +2 -2
- package/interactions_external_pause_dist_browser_Pauser_js.js +3 -13
- package/interactions_external_pause_dist_browser_index_js.js +2 -2
- package/interactions_external_push_dist_browser_Pusher_js.js +3 -13
- package/interactions_external_push_dist_browser_index_js.js +2 -2
- package/interactions_external_remove_dist_browser_Remover_js.js +3 -13
- package/interactions_external_remove_dist_browser_index_js.js +2 -2
- package/interactions_external_repulse_dist_browser_Repulser_js.js +3 -13
- package/interactions_external_repulse_dist_browser_index_js.js +2 -2
- package/interactions_external_slow_dist_browser_Slower_js.js +3 -13
- package/interactions_external_slow_dist_browser_index_js.js +2 -2
- package/interactions_particles_attract_dist_browser_Attractor_js.js +3 -13
- package/interactions_particles_attract_dist_browser_index_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_Collider_js.js +3 -13
- package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
- package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
- package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
- package/interactions_particles_links_dist_browser_LinkInstance_js.js +1 -1
- package/interactions_particles_links_dist_browser_Linker_js.js +3 -13
- package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
- package/interactions_particles_links_dist_browser_index_js.js +2 -2
- package/move_base_dist_browser_BaseMover_js.js +1 -1
- package/move_base_dist_browser_index_js.js +2 -2
- package/package.json +28 -28
- package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
- package/plugins_colors_hex_dist_browser_index_js.js +2 -2
- package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
- package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
- package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
- package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
- package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_quad_dist_browser_index_js.js +2 -2
- package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +3 -3
- package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
- package/plugins_interactivity_dist_browser_index_js.js +3 -13
- package/report.html +1 -1
- package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
- package/shapes_circle_dist_browser_index_js.js +2 -2
- package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
- package/shapes_emoji_dist_browser_index_js.js +2 -2
- package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
- package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
- package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +30 -0
- package/shapes_image_dist_browser_ImagePreloader_js.js +2 -2
- package/shapes_image_dist_browser_index_js.js +2 -2
- package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
- package/shapes_line_dist_browser_index_js.js +2 -2
- package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
- package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
- package/shapes_polygon_dist_browser_index_js.js +2 -2
- package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
- package/shapes_square_dist_browser_index_js.js +2 -2
- package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
- package/shapes_star_dist_browser_index_js.js +2 -2
- package/tsparticles.slim.bundle.js +8 -8
- package/tsparticles.slim.bundle.min.js +2 -2
- package/tsparticles.slim.js +2 -2
- package/tsparticles.slim.min.js +1 -1
- package/umd/index.js +1 -1
- package/updaters_color_dist_browser_ColorUpdater_js.js +1 -1
- package/updaters_color_dist_browser_index_js.js +2 -2
- package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
- package/updaters_life_dist_browser_index_js.js +2 -2
- package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
- package/updaters_opacity_dist_browser_index_js.js +2 -2
- package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
- package/updaters_outModes_dist_browser_index_js.js +2 -2
- package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
- package/updaters_rotate_dist_browser_index_js.js +2 -2
- package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
- package/updaters_size_dist_browser_index_js.js +2 -2
- package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
- package/updaters_strokeColor_dist_browser_index_js.js +2 -2
- package/6847.min.js +0 -1
package/6900.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[6900],{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 y(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 w{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,y=g.actualOptions,w=(0,m.y)(this._engine,g,y.particles),v=w.reduceDuplicates,b=w.effect.type,z=w.shape.type;this.effect=(0,n.TA)(b,this.id,v),this.shape=(0,n.TA)(z,this.id,v);let S=w.effect,C=w.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,w.load(e);let D=this.effectData;D&&w.load(D.particles);let x=this.shapeData;x&&w.load(x.particles),this.effectFill=D?.fill??w.effect.fill,this.effectClose=D?.close??w.effect.close,this.shapeFill=x?.fill??w.shape.fill,this.shapeClose=x?.close??w.shape.close,this.options=w;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)=>{y({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)=>{y({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 w(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_slim=this.webpackChunk_tsparticles_slim||[]).push([[6900],{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 y(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 w{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,y=g.actualOptions,w=(0,m.y)(this._engine,g,y.particles),v=w.reduceDuplicates,b=w.effect.type,z=w.shape.type;this.effect=(0,n.TA)(b,this.id,v),this.shape=(0,n.TA)(z,this.id,v);let S=w.effect,C=w.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,w.load(e);let D=this.effectData;D&&w.load(D.particles);let x=this.shapeData;x&&w.load(x.particles),this.effectFill=D?.fill??w.effect.fill,this.effectClose=D?.close??w.effect.close,this.shapeFill=x?.fill??w.shape.fill,this.shapeClose=x?.close??w.shape.close,this.options=w;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)=>{y({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)=>{y({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 w(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/699.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[699],{2629(t,s,a){a.d(s,{$:()=>e});var i=a(5954);class e{default;groups;particles;quantity;constructor(){this.default=!0,this.groups=[],this.quantity=4}load(t){if((0,i.kZJ)(t))return;void 0!==t.default&&(this.default=t.default),void 0!==t.groups&&(this.groups=t.groups.map(t=>t)),this.groups.length||(this.default=!0);let s=t.quantity;void 0!==s&&(this.quantity=(0,i.DT4)(s)),this.particles=(0,i.wJ2)(t.particles,t=>(0,i.zwS)({},t))}}},699(t,s,a){a.r(s),a.d(s,{Push:()=>i.$,loadExternalPushInteraction:()=>e});var i=a(2629);async function e(t){t.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[699],{2629(t,s,a){a.d(s,{$:()=>e});var i=a(5954);class e{default;groups;particles;quantity;constructor(){this.default=!0,this.groups=[],this.quantity=4}load(t){if((0,i.kZJ)(t))return;void 0!==t.default&&(this.default=t.default),void 0!==t.groups&&(this.groups=t.groups.map(t=>t)),this.groups.length||(this.default=!0);let s=t.quantity;void 0!==s&&(this.quantity=(0,i.DT4)(s)),this.particles=(0,i.wJ2)(t.particles,t=>(0,i.zwS)({},t))}}},699(t,s,a){a.r(s),a.d(s,{Push:()=>i.$,loadExternalPushInteraction:()=>e});var i=a(2629);async function e(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{ensureInteractivityPluginLoaded:s}=await a.e(3611).then(a.bind(a,3611));s(t),t.addInteractor?.("externalPush",async t=>{let{Pusher:s}=await a.e(1504).then(a.bind(a,1504));return new s(t)})})}}}]);
|
package/7239.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7239],{7239(e,t,a){async function n(e){e.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7239],{7239(e,t,a){async function n(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{ensureInteractivityPluginLoaded:t}=await a.e(3611).then(a.bind(a,3611));t(e),e.addInteractor?.("externalPause",async e=>{let{Pauser:t}=await a.e(195).then(a.bind(a,195));return new t(e)})})}a.r(t),a.d(t,{loadExternalPauseInteraction:()=>n})}}]);
|
package/7346.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[3611,7346],{7346(e,t,n){n.d(t,{Grabber:()=>s});var i=n(5954),r=n(3611),a=n(6665),o=n(1772);class s extends r.ExternalInteractorBase{_engine;constructor(e,t){super(e),this._engine=t}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.grab;t&&(e.retina.grabModeDistance=t.distance*e.retina.pixelRatio)}interact(e){let t=this.container,n=t.actualOptions.interactivity;if(!n?.modes.grab||!n.events.onHover.enable||e.status!==r.mouseMoveEvent)return;let a=e.mouse.position;if(!a)return;let s=t.retina.grabModeDistance;if(s&&!(s<0))for(let r of t.particles.quadTree.queryCircle(a,s,t=>this.isEnabled(e,t))){let e=r.getPosition(),c=(0,i.YfF)(e,a);if(c>s)continue;let l=n.modes.grab.links,d=l.opacity,u=d-c*d/s;if(u<=0)continue;let v=l.color??r.options.links?.color;if(!t.particles.grabLineColor&&v){let e=n.modes.grab.links;t.particles.grabLineColor=(0,i.PGG)(this._engine,v,e.blink,e.consent)}let h=(0,i._hh)(r,void 0,t.particles.grabLineColor);h&&function(e,t,n,r,a){e.canvas.draw(s=>{let c=t.getPosition();!function(e,t,n,r,a,s,c=!1){(0,o.V6)(e,n,r),e.strokeStyle=(0,i.xxz)(a,c,s),e.lineWidth=t,e.stroke()}(s,t.retina.linksWidth??0,c,a,n,r,e.hdr)})}(t,r,h,u,a)}}isEnabled(e,t){let n=this.container,r=e.mouse,a=(t?.interactivity??n.actualOptions.interactivity)?.events;return!!a?.onHover.enable&&!!r.position&&(0,i.hnD)("grab",a.onHover.mode)}loadModeOptions(e,...t){for(let n of(e.grab??=new a.f,t))e.grab.load(n?.grab)}reset(){}}},6373(e,t,n){var i,r;n.d(t,{Q:()=>i}),(r=i||(i={})).circle="circle",r.rectangle="rectangle"},3322(e,t,n){var i,r;n.d(t,{h:()=>i}),(r=i||(i={})).canvas="canvas",r.parent="parent",r.window="window"},2763(e,t,n){var i,r;n.d(t,{e:()=>i}),(r=i||(i={})).external="external",r.particles="particles"},1455(e,t,n){n.d(t,{Bp:()=>d,DG:()=>u,G3:()=>v,Rb:()=>c,Z0:()=>o,ms:()=>r,s7:()=>l,sf:()=>s,vo:()=>a,xO:()=>i});let i="click",r="pointerdown",a="pointerup",o="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",u="touchmove",v="touchcancel"},6594(e,t,n){n.d(t,{G:()=>a});var i=n(5954),r=n(6373);class a{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=r.Q.circle}load(e){(0,i.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:()=>r});var i=n(5954);class r{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,i.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:()=>r.e,Modes:()=>b.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>h,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>g,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>f,mouseDownEvent:()=>s.ms,mouseLeaveEvent:()=>s.Z0,mouseMoveEvent:()=>s.Rb,mouseOutEvent:()=>s.sf,mouseUpEvent:()=>s.vo,singleDivModeExecute:()=>v,touchCancelEvent:()=>s.G3,touchEndEvent:()=>s.Bp,touchMoveEvent:()=>s.DG,touchStartEvent:()=>s.s7});var i=n(5954),r=n(2763);class a{type=r.e.external;container;constructor(e){this.container=e}}class o{type=r.e.particles;container;constructor(e){this.container=e}}var s=n(1455),c=n(6373),l=n(3322);function d(e,t){return!!(0,i.w3Z)(t,t=>t.enable&&(0,i.hnD)(e,t.mode))}function u(e,t,n){(0,i.wJ2)(t,t=>{let r=t.mode;t.enable&&(0,i.hnD)(e,r)&&v(t,n)})}function v(e,t){let n=e.selectors;(0,i.wJ2)(n,n=>{t(n,e)})}function h(e,t){if(t&&e)return(0,i.w3Z)(e,e=>{var n;let r;return n=e.selectors,r=(0,i.wJ2)(n,e=>t.matches(e)),(0,i.cyL)(r)?r.some(e=>e):r})}var p=n(6594),b=n(9766);async function f(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(3939).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,i.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 g(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}},1772(e,t,n){n.d(t,{V6:()=>r,Al:()=>a});var i=n(5954);function r(e,t,n){e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(n.x,n.y),e.closePath()}async function a(e,t){try{await (0,i.T5G)().fonts.load(`${t??"400"} 36px '${e??"Verdana"}'`)}catch{}}}}]);
|
package/7468.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7468],{7468(e,i,
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7468],{7468(e,i,t){t.d(i,{ImagePreloaderPlugin:()=>l});var s=t(5954);class r{gif;height;name;replaceColor;src;width;constructor(){this.src="",this.gif=!1}load(e){(0,s.kZJ)(e)||(void 0!==e.gif&&(this.gif=e.gif),void 0!==e.height&&(this.height=e.height),void 0!==e.name&&(this.name=e.name),void 0!==e.replaceColor&&(this.replaceColor=e.replaceColor),void 0!==e.src&&(this.src=e.src),void 0!==e.width&&(this.width=e.width))}}class l{id="image-preloader";_engine;constructor(e){this._engine=e}async getPlugin(e){let{ImagePreloaderInstance:i}=await t.e(3111).then(t.bind(t,3111));return new i(this._engine,e)}loadOptions(e,i,t){if(!t?.preload)return;i.preload??=[];let s=i.preload;for(let e of t.preload){let i=s.find(i=>i.name===e.name||i.src===e.src);if(i)i.load(e);else{let i=new r;i.load(e),s.push(i)}}}needsPlugin(){return!0}}}}]);
|
package/7884.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7884],{7884(e,i,n){async function t(e){e.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7884],{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:b},{loadOpacityUpdater:c},{loadOutModesUpdater:d},{loadSizeUpdater:l}]=await Promise.all([n.e(8196).then(n.bind(n,8196)),n.e(6566).then(n.bind(n,6566)),n.e(9322).then(n.bind(n,9322)),n.e(578).then(n.bind(n,578)),n.e(2106).then(n.bind(n,2106)),n.e(411).then(n.bind(n,411)),n.e(8509).then(n.bind(n,8509)),n.e(8166).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),b(e),c(e),d(e),l(e)])})}n.r(i),n.d(i,{loadBasic:()=>t})}}]);
|
package/8166.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8166],{8166(t,e,a){async function s(t){t.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8166],{8166(t,e,a){async function s(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("outModes",async t=>{let{OutOfCanvasUpdater:e}=await a.e(1311).then(a.bind(a,1311));return new e(t)})})}a.r(e),a.d(e,{loadOutModesUpdater:()=>s})}}]);
|
package/8196.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8196],{8196(a,e,s){async function i(a){a.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8196],{8196(a,e,s){async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(async a=>{let{HexColorManager:e}=await s.e(4287).then(s.bind(s,4287));a.addColorManager("hex",new e)})}s.r(e),s.d(e,{loadHexColorPlugin:()=>i})}}]);
|
package/8509.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8509],{8509(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8509],{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/8580.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[3611,8580],{8580(e,t,n){n.d(t,{Attractor:()=>a});var i=n(5954),r=n(3611);class a extends r.ParticlesInteractorBase{constructor(e){super(e)}clear(){}init(){}interact(e){let t=this.container;e.attractDistance??=(0,i.VGA)(e.options.move.attract.distance)*t.retina.pixelRatio;let n=e.attractDistance,r=e.getPosition();for(let a of t.particles.quadTree.queryCircle(r,n)){if(e===a||!a.options.move.attract.enable||a.destroyed||a.spawning)continue;let t=a.getPosition(),{dx:n,dy:o}=(0,i.vrU)(r,t),s=e.options.move.attract.rotate,c=n/(1e3*s.x),l=o/(1e3*s.y),d=a.size.value/e.size.value,v=1/d;e.velocity.x-=c*d,e.velocity.y-=l*d,a.velocity.x+=c*v,a.velocity.y+=l*v}}isEnabled(e){return e.options.move.attract.enable}reset(){}}},6373(e,t,n){var i,r;n.d(t,{Q:()=>i}),(r=i||(i={})).circle="circle",r.rectangle="rectangle"},3322(e,t,n){var i,r;n.d(t,{h:()=>i}),(r=i||(i={})).canvas="canvas",r.parent="parent",r.window="window"},2763(e,t,n){var i,r;n.d(t,{e:()=>i}),(r=i||(i={})).external="external",r.particles="particles"},1455(e,t,n){n.d(t,{Bp:()=>d,DG:()=>v,G3:()=>u,Rb:()=>c,Z0:()=>o,ms:()=>r,s7:()=>l,sf:()=>s,vo:()=>a,xO:()=>i});let i="click",r="pointerdown",a="pointerup",o="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",v="touchmove",u="touchcancel"},6594(e,t,n){n.d(t,{G:()=>a});var i=n(5954),r=n(6373);class a{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=r.Q.circle}load(e){(0,i.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:()=>r});var i=n(5954);class r{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,i.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:()=>h.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>r.e,Modes:()=>y.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>p,divModeExecute:()=>v,ensureInteractivityPluginLoaded:()=>w,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>s.ms,mouseLeaveEvent:()=>s.Z0,mouseMoveEvent:()=>s.Rb,mouseOutEvent:()=>s.sf,mouseUpEvent:()=>s.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>s.G3,touchEndEvent:()=>s.Bp,touchMoveEvent:()=>s.DG,touchStartEvent:()=>s.s7});var i=n(5954),r=n(2763);class a{type=r.e.external;container;constructor(e){this.container=e}}class o{type=r.e.particles;container;constructor(e){this.container=e}}var s=n(1455),c=n(6373),l=n(3322);function d(e,t){return!!(0,i.w3Z)(t,t=>t.enable&&(0,i.hnD)(e,t.mode))}function v(e,t,n){(0,i.wJ2)(t,t=>{let r=t.mode;t.enable&&(0,i.hnD)(e,r)&&u(t,n)})}function u(e,t){let n=e.selectors;(0,i.wJ2)(n,n=>{t(n,e)})}function p(e,t){if(t&&e)return(0,i.w3Z)(e,e=>{var n;let r;return n=e.selectors,r=(0,i.wJ2)(n,e=>t.matches(e)),(0,i.cyL)(r)?r.some(e=>e):r})}var h=n(6594),y=n(9766);async function m(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(3939).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,i.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 w(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/8968.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[3611,8968],{8968(e,t,o){o.d(t,{Collider:()=>h});var i,s,n=o(5954),a=o(3611);(i=s||(s={})).absorb="absorb",i.bounce="bounce",i.destroy="destroy";class r{speed;constructor(){this.speed=2}load(e){(0,n.kZJ)(e)||void 0!==e.speed&&(this.speed=e.speed)}}class l{enable;retries;constructor(){this.enable=!0,this.retries=0}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.retries&&(this.retries=e.retries))}}class c{absorb;bounce;enable;maxSpeed;mode;overlap;constructor(){this.absorb=new r,this.bounce=new n.wvn,this.enable=!1,this.maxSpeed=50,this.mode=s.bounce,this.overlap=new l}load(e){(0,n.kZJ)(e)||(this.absorb.load(e.absorb),this.bounce.load(e.bounce),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.maxSpeed&&(this.maxSpeed=(0,n.DT4)(e.maxSpeed)),void 0!==e.mode&&(this.mode=e.mode),this.overlap.load(e.overlap))}}function d(e,t,o,i,s,a){if(!e.options.collisions||!o.options.collisions)return;let r=(0,n.qE8)(e.options.collisions.absorb.speed*s.factor/10,0,i);e.size.value+=r*n.MXx,o.size.value-=r,i<=a&&(o.size.value=0,o.destroy())}let u=e=>{e.options.collisions&&(e.collisionMaxSpeed??=(0,n.VGA)(e.options.collisions.maxSpeed),e.velocity.length>e.collisionMaxSpeed&&(e.velocity.length=e.collisionMaxSpeed))};function p(e,t){(0,n.pEn)((0,n.Tgl)(e),(0,n.Tgl)(t)),u(e),u(t)}class h extends a.ParticlesInteractorBase{constructor(e){super(e)}clear(){}init(){}interact(e,t,o){if(e.destroyed||e.spawning)return;let i=this.container,a=e.getPosition(),r=e.getRadius();for(let t of i.particles.quadTree.queryCircle(a,r*n.gdl)){if(e===t||!e.options.collisions||!t.options.collisions||!t.options.collisions.enable||e.options.collisions.mode!==t.options.collisions.mode||t.destroyed||t.spawning)continue;let l=t.getPosition(),c=t.getRadius();if(!(Math.abs(Math.round(a.z)-Math.round(l.z))>r+c))(0,n.YfF)(a,l)>r+c||function(e,t,o,i){if(e.options.collisions&&t.options.collisions)switch(e.options.collisions.mode){case s.absorb:let n,a;n=e.getRadius(),a=t.getRadius(),!n&&a?e.destroy():n&&!a?t.destroy():n&&a&&(n>=a?d(e,n,t,a,o,i):d(t,a,e,n,o,i));break;case s.bounce:p(e,t);break;case s.destroy:let r,l;e.unbreakable||t.unbreakable||p(e,t),r=e.getRadius(),l=t.getRadius(),!r&&l?e.destroy():r&&!l?t.destroy():r&&l&&(e.getRadius()>=t.getRadius()?t:e).destroy()}}(e,t,o,i.retina.pixelRatio)}}isEnabled(e){return!!e.options.collisions?.enable}loadParticlesOptions(e,...t){for(let o of(e.collisions??=new c,t))e.collisions.load(o?.collisions)}reset(){}}},6373(e,t,o){var i,s;o.d(t,{Q:()=>i}),(s=i||(i={})).circle="circle",s.rectangle="rectangle"},3322(e,t,o){var i,s;o.d(t,{h:()=>i}),(s=i||(i={})).canvas="canvas",s.parent="parent",s.window="window"},2763(e,t,o){var i,s;o.d(t,{e:()=>i}),(s=i||(i={})).external="external",s.particles="particles"},1455(e,t,o){o.d(t,{Bp:()=>d,DG:()=>u,G3:()=>p,Rb:()=>l,Z0:()=>a,ms:()=>s,s7:()=>c,sf:()=>r,vo:()=>n,xO:()=>i});let i="click",s="pointerdown",n="pointerup",a="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",u="touchmove",p="touchcancel"},6594(e,t,o){o.d(t,{G:()=>n});var i=o(5954),s=o(6373);class n{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=s.Q.circle}load(e){(0,i.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,o){o.d(t,{d:()=>s});var i=o(5954);class s{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,i.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let o of t)o.loadModeOptions&&o.loadModeOptions(this,e)}}},3611(e,t,o){o.r(t),o.d(t,{DivEvent:()=>v.G,DivType:()=>l.Q,ExternalInteractorBase:()=>n,InteractivityDetect:()=>c.h,InteractorType:()=>s.e,Modes:()=>b.d,ParticlesInteractorBase:()=>a,clickEvent:()=>r.xO,divMode:()=>h,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>g,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>p,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var i=o(5954),s=o(2763);class n{type=s.e.external;container;constructor(e){this.container=e}}class a{type=s.e.particles;container;constructor(e){this.container=e}}var r=o(1455),l=o(6373),c=o(3322);function d(e,t){return!!(0,i.w3Z)(t,t=>t.enable&&(0,i.hnD)(e,t.mode))}function u(e,t,o){(0,i.wJ2)(t,t=>{let s=t.mode;t.enable&&(0,i.hnD)(e,s)&&p(t,o)})}function p(e,t){let o=e.selectors;(0,i.wJ2)(o,o=>{t(o,e)})}function h(e,t){if(t&&e)return(0,i.w3Z)(e,e=>{var o;let s;return o=e.selectors,s=(0,i.wJ2)(o,e=>t.matches(e)),(0,i.cyL)(s)?s.some(e=>e):s})}var v=o(6594),b=o(9766);async function m(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{InteractivityPlugin:t}=await o.e(3939).then(o.bind(o,3939));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,o)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,o)},e.getInteractors=async(t,o=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,i.HQK)(t,e.interactors,e.initializers.interactors,o)),e.setOnClickHandler=t=>{let{items:o}=e;if(!o.length)throw Error("Click handlers can only be set after calling tsParticles.load()");o.forEach(e=>{e.addClickHandler?.(t)})}})}function g(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/9169.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[3611,9169],{9169(t,e,n){n.d(e,{Connector:()=>s});var i=n(3611),o=n(5954),a=n(1295),r=n(1772);class s extends i.ExternalInteractorBase{constructor(t){super(t)}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity?.modes.connect;e&&(t.retina.connectModeDistance=e.distance*t.retina.pixelRatio,t.retina.connectModeRadius=e.radius*t.retina.pixelRatio)}interact(t){let e=this.container,n=e.actualOptions;if(n.interactivity?.events.onHover.enable&&"pointermove"===t.status){let n=t.mouse.position,{connectModeDistance:i,connectModeRadius:a}=e.retina;if(!i||i<0||!a||a<0||!n)return;let s=Math.abs(a),c=e.particles.quadTree.queryCircle(n,s,e=>this.isEnabled(t,e));c.forEach((t,n)=>{let a=t.getPosition();for(let s of c.slice(n+1)){let n=s.getPosition(),c=Math.abs(i),l=Math.abs(a.x-n.x),d=Math.abs(a.y-n.y);l<c&&d<c&&function(t,e,n){t.canvas.draw(i=>{var a;let s=function(t,e,n,i){let a=t.actualOptions,r=a.interactivity?.modes.connect;if(r)return function(t,e,n,i){let a=Math.floor(n.getRadius()/e.getRadius()),r=e.getFillColor(),s=n.getFillColor();if(!r||!s)return;let{container:c}=e,l=e.getPosition(),d=n.getPosition(),u=(0,o.EYT)(r,s,e.getRadius(),n.getRadius()),h=t.createLinearGradient(l.x,l.y,d.x,d.y);return h.addColorStop(0,(0,o.LCf)(r,c.hdr,i)),h.addColorStop((0,o.qE8)(a,0,1),(0,o.xxz)(u,c.hdr,i)),h.addColorStop(1,(0,o.LCf)(s,c.hdr,i)),h}(e,n,i,r.links.opacity)}(t,i,e,n);if(!s)return;let c=e.getPosition(),l=n.getPosition();a=e.retina.linksWidth??0,(0,r.V6)(i,c,l),i.lineWidth=a,i.strokeStyle=s,i.stroke()})}(e,t,s)}})}}isEnabled(t,e){let n=this.container,i=t.mouse,a=(e?.interactivity??n.actualOptions.interactivity)?.events;return!!(a?.onHover.enable&&i.position)&&(0,o.hnD)("connect",a.onHover.mode)}loadModeOptions(t,...e){for(let n of(t.connect??=new a.d,e))t.connect.load(n?.connect)}reset(){}}},6373(t,e,n){var i,o;n.d(e,{Q:()=>i}),(o=i||(i={})).circle="circle",o.rectangle="rectangle"},3322(t,e,n){var i,o;n.d(e,{h:()=>i}),(o=i||(i={})).canvas="canvas",o.parent="parent",o.window="window"},2763(t,e,n){var i,o;n.d(e,{e:()=>i}),(o=i||(i={})).external="external",o.particles="particles"},1455(t,e,n){n.d(e,{Bp:()=>d,DG:()=>u,G3:()=>h,Rb:()=>c,Z0:()=>r,ms:()=>o,s7:()=>l,sf:()=>s,vo:()=>a,xO:()=>i});let i="click",o="pointerdown",a="pointerup",r="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",u="touchmove",h="touchcancel"},6594(t,e,n){n.d(e,{G:()=>a});var i=n(5954),o=n(6373);class a{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=o.Q.circle}load(t){(0,i.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,n){n.d(e,{d:()=>o});var i=n(5954);class o{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,i.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let n of e)n.loadModeOptions&&n.loadModeOptions(this,t)}}},3611(t,e,n){n.r(e),n.d(e,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>o.e,Modes:()=>f.d,ParticlesInteractorBase:()=>r,clickEvent:()=>s.xO,divMode:()=>v,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>g,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,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 i=n(5954),o=n(2763);class a{type=o.e.external;container;constructor(t){this.container=t}}class r{type=o.e.particles;container;constructor(t){this.container=t}}var s=n(1455),c=n(6373),l=n(3322);function d(t,e){return!!(0,i.w3Z)(e,e=>e.enable&&(0,i.hnD)(t,e.mode))}function u(t,e,n){(0,i.wJ2)(e,e=>{let o=e.mode;e.enable&&(0,i.hnD)(t,o)&&h(e,n)})}function h(t,e){let n=t.selectors;(0,i.wJ2)(n,n=>{e(n,t)})}function v(t,e){if(e&&t)return(0,i.w3Z)(t,t=>{var n;let o;return n=t.selectors,o=(0,i.wJ2)(n,t=>e.matches(t)),(0,i.cyL)(o)?o.some(t=>t):o})}var p=n(6594),f=n(9766);async function y(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{InteractivityPlugin:e}=await n.e(3939).then(n.bind(n,3939));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,n)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,n)},t.getInteractors=async(e,n=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,i.HQK)(e,t.interactors,t.initializers.interactors,n)),t.setOnClickHandler=e=>{let{items:n}=t;if(!n.length)throw Error("Click handlers can only be set after calling tsParticles.load()");n.forEach(t=>{t.addClickHandler?.(e)})}})}function g(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}},1772(t,e,n){n.d(e,{V6:()=>o,Al:()=>a});var i=n(5954);function o(t,e,n){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(n.x,n.y),t.closePath()}async function a(t,e){try{await (0,i.T5G)().fonts.load(`${e??"400"} 36px '${t??"Verdana"}'`)}catch{}}}}]);
|
package/9212.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[3611,9212],{9212(e,t,n){n.d(t,{Slower:()=>a});var i=n(3611),o=n(5954),r=n(7973);class a extends i.ExternalInteractorBase{constructor(e){super(e)}clear(e,t,n){(!e.slow.inRange||n)&&(e.slow.factor=1)}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.slow;t&&(e.retina.slowModeRadius=t.radius*e.retina.pixelRatio)}interact(){}isEnabled(e,t){let n=this.container,i=e.mouse,r=(t?.interactivity??n.actualOptions.interactivity)?.events;return!!r?.onHover.enable&&!!i.position&&(0,o.hnD)("slow",r.onHover.mode)}loadModeOptions(e,...t){for(let n of(e.slow??=new r.w,t))e.slow.load(n?.slow)}reset(e,t){t.slow.inRange=!1;let n=this.container,i=n.actualOptions,r=e.mouse.position,a=n.retina.slowModeRadius,s=i.interactivity?.modes.slow;if(!s||!a||a<0||!r)return;let c=t.getPosition(),l=(0,o.YfF)(r,c),d=s.factor,{slow:u}=t;l>a||(u.inRange=!0,u.factor=l/a/d)}}},6373(e,t,n){var i,o;n.d(t,{Q:()=>i}),(o=i||(i={})).circle="circle",o.rectangle="rectangle"},3322(e,t,n){var i,o;n.d(t,{h:()=>i}),(o=i||(i={})).canvas="canvas",o.parent="parent",o.window="window"},2763(e,t,n){var i,o;n.d(t,{e:()=>i}),(o=i||(i={})).external="external",o.particles="particles"},1455(e,t,n){n.d(t,{Bp:()=>d,DG:()=>u,G3:()=>v,Rb:()=>c,Z0:()=>a,ms:()=>o,s7:()=>l,sf:()=>s,vo:()=>r,xO:()=>i});let i="click",o="pointerdown",r="pointerup",a="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",u="touchmove",v="touchcancel"},6594(e,t,n){n.d(t,{G:()=>r});var i=n(5954),o=n(6373);class r{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=o.Q.circle}load(e){(0,i.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:()=>o});var i=n(5954);class o{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,i.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:()=>r,InteractivityDetect:()=>l.h,InteractorType:()=>o.e,Modes:()=>w.d,ParticlesInteractorBase:()=>a,clickEvent:()=>s.xO,divMode:()=>h,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>f,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>s.ms,mouseLeaveEvent:()=>s.Z0,mouseMoveEvent:()=>s.Rb,mouseOutEvent:()=>s.sf,mouseUpEvent:()=>s.vo,singleDivModeExecute:()=>v,touchCancelEvent:()=>s.G3,touchEndEvent:()=>s.Bp,touchMoveEvent:()=>s.DG,touchStartEvent:()=>s.s7});var i=n(5954),o=n(2763);class r{type=o.e.external;container;constructor(e){this.container=e}}class a{type=o.e.particles;container;constructor(e){this.container=e}}var s=n(1455),c=n(6373),l=n(3322);function d(e,t){return!!(0,i.w3Z)(t,t=>t.enable&&(0,i.hnD)(e,t.mode))}function u(e,t,n){(0,i.wJ2)(t,t=>{let o=t.mode;t.enable&&(0,i.hnD)(e,o)&&v(t,n)})}function v(e,t){let n=e.selectors;(0,i.wJ2)(n,n=>{t(n,e)})}function h(e,t){if(t&&e)return(0,i.w3Z)(e,e=>{var n;let o;return n=e.selectors,o=(0,i.wJ2)(n,e=>t.matches(e)),(0,i.cyL)(o)?o.some(e=>e):o})}var p=n(6594),w=n(9766);async function m(e){e.checkVersion("4.0.0-alpha.23"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(3939).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,i.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 f(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/929.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[929],{929(e,t,a){async function i(e){e.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).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(9591).then(a.bind(a,9591));return new e})})}a.r(t),a.d(t,{loadSizeUpdater:()=>i})}}]);
|
package/9322.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9322],{9322(a,s,e){async function i(a){a.checkVersion("4.0.0-alpha.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9322],{9322(a,s,e){async function i(a){a.checkVersion("4.0.0-alpha.23"),await a.register(async a=>{let{RgbColorManager:s}=await e.e(8635).then(e.bind(e,8635));a.addColorManager("rgb",new s)})}e.r(s),e.d(s,{loadRgbColorPlugin:()=>i})}}]);
|
package/969.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[969,5333],{5333(e,t,a){a.d(t,{zS:()=>w,loadGifImage:()=>x});var i,o,n,r,l=a(636),s=a(5954);let h=[0,4,2,1],g=[8,8,4,2];class d{data;pos;constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){let t=this.data.slice(this.pos,this.pos+e);return this.pos+=t.length,t.reduce((e,t)=>e+String.fromCharCode(t),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",t=0;do{t=this.data[this.pos++];for(let a=t;--a>=0;e+=String.fromCharCode(this.data[this.pos++]));}while(0!==t)return e}readSubBlocksBin(){let e=this.data[this.pos],t=0;for(let a=0;0!==e;a+=e+1,e=this.data[this.pos+a])t+=e;let a=new Uint8Array(t);e=this.data[this.pos++];for(let t=0;0!==e;e=this.data[this.pos++])for(let i=e;--i>=0;a[t++]=this.data[this.pos++]);return a}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}function f(e,t){let a=[];for(let i=0;i<t;i++)a.push({r:e.data[e.pos],g:e.data[e.pos+1],b:e.data[e.pos+2]}),e.pos+=3;return a}function c(e,t,a){let i=t>>>3,o=7&t;return(e[i]+(e[i+1]<<8)+(e[i+2]<<16)&(1<<a)-1<<o)>>>o}async function p(e,t,a,i,o,n,r){let l=t.frames[i(!0)];l.left=e.nextTwoBytes(),l.top=e.nextTwoBytes(),l.width=e.nextTwoBytes(),l.height=e.nextTwoBytes();let s=e.nextByte(),d=(128&s)==128;l.sortFlag=(32&s)==32,l.reserved=(24&s)>>>3,d&&(l.localColorTable=f(e,1<<(7&s)+1));let p=e=>{let{r:i,g:n,b:r}=(d?l.localColorTable:t.globalColorTable)[e];return e!==o(null)?{r:i,g:n,b:r,a:255}:{r:i,g:n,b:r,a:a?Math.trunc((i+n+r)/3):0}},m=(()=>{try{return new ImageData(l.width,l.height,n)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==m)throw EvalError("GIF frame size is to large");let u=e.nextByte(),w=e.readSubBlocksBin(),x=1<<u;if((64&s)==64){for(let a=0,o=u+1,n=0,s=[[0]],d=0;d<4;d++){if(h[d]<l.height){let e=0,t=0,i=!1;for(;!i;){let r=a;if(a=c(w,n,o),n+=o+1,a===x){o=u+1,s.length=x+2;for(let e=0;e<s.length;e++)s[e]=e<x?[e]:[]}else{for(let i of(a>=s.length?s.push(s[r].concat(s[r][0])):r!==x&&s.push(s[r].concat(s[a][0])),s[a])){let{r:a,g:o,b:n,a:r}=p(i);m.data.set([a,o,n,r],h[d]*l.width+g[d]*t+e%(4*l.width)),e+=4}s.length===1<<o&&o<12&&o++}e===4*l.width*(t+1)&&(t++,h[d]+g[d]*t>=l.height&&(i=!0))}}r?.(e.pos/(e.data.length-1),i(!1)+1,m,{x:l.left,y:l.top},{width:t.width,height:t.height})}l.image=m,l.bitmap=await createImageBitmap(m)}else{let a=0,o=u+1,n=0,s=-4,h=[[0]];for(;;){let e=a;if(a=c(w,n,o),n+=o,a===x){o=u+1,h.length=x+2;for(let e=0;e<h.length;e++)h[e]=e<x?[e]:[]}else{if(a===x+1)break;for(let t of(a>=h.length?h.push(h[e].concat(h[e][0])):e!==x&&h.push(h[e].concat(h[a][0])),h[a])){let{r:e,g:a,b:i,a:o}=p(t);s+=4,m.data.set([e,a,i,o],s)}h.length>=1<<o&&o<12&&o++}}l.image=m,l.bitmap=await createImageBitmap(m),r?.((e.pos+1)/e.data.length,i(!1)+1,l.image,{x:l.left,y:l.top},{width:t.width,height:t.height})}}async function m(e,t,a,i,o,n,l){switch(e.nextByte()){case r.EndOfFile:return!0;case r.Image:await p(e,t,a,i,o,n,l);break;case r.Extension:switch(e.nextByte()){case r.GraphicsControlExtension:{let a=t.frames[i(!1)];e.pos++;let n=e.nextByte();a.GCreserved=(224&n)>>>5,a.disposalMethod=(28&n)>>>2,a.userInputDelayFlag=(2&n)==2,a.delayTime=10*e.nextTwoBytes();let r=e.nextByte();(1&n)==1&&o(r),e.pos++;break}case r.ApplicationExtension:{e.pos++;let a={identifier:e.getString(8),authenticationCode:e.getString(3),data:e.readSubBlocksBin()};t.applicationExtensions.push(a);break}case r.CommentExtension:t.comments.push([i(!1),e.readSubBlocks()]);break;case r.PlainTextExtension:if(0===t.globalColorTable.length)throw EvalError("plain text extension without global color table");e.pos++,t.frames[i(!1)].plainTextData={left:e.nextTwoBytes(),top:e.nextTwoBytes(),width:e.nextTwoBytes(),height:e.nextTwoBytes(),charSize:{width:e.nextTwoBytes(),height:e.nextTwoBytes()},foregroundColor:e.nextByte(),backgroundColor:e.nextByte(),text:e.readSubBlocks()};break;default:e.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function u(e,t,a,i){i??=!1;let o=await fetch(e);if(!o.ok&&404===o.status)throw EvalError("file not found");let r=await o.arrayBuffer(),l={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,t),comments:[],applicationExtensions:[]},s=new d(new Uint8ClampedArray(r));if("GIF89a"!==s.getString(6))throw Error("not a supported GIF file");l.width=s.nextTwoBytes(),l.height=s.nextTwoBytes();let h=s.nextByte(),g=(128&h)==128;l.colorRes=(112&h)>>>4,l.sortFlag=(8&h)==8;let c=s.nextByte();l.pixelAspectRatio=s.nextByte(),0!==l.pixelAspectRatio&&(l.pixelAspectRatio=(l.pixelAspectRatio+15)/64),g&&(l.globalColorTable=f(s,1<<(7&h)+1));let p=(()=>{try{return new ImageData(l.width,l.height,t)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==p)throw Error("GIF frame size is to large");let{r:u,g:w,b:x}=l.globalColorTable[c];p.data.set(g?[u,w,x,255]:[0,0,0,0]);for(let e=4;e<p.data.length;e*=2)p.data.copyWithin(e,0,e);l.backgroundImage=p;let b=-1,y=!0,I=-1,C=e=>(e&&(y=!0),b),B=e=>(null!=e&&(I=e),I);try{do y&&(l.frames.push({left:0,top:0,width:0,height:0,disposalMethod:n.Replace,image:new ImageData(1,1,t),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),b++,I=-1,y=!1);while(!await m(s,l,i,C,B,t,a))for(let e of(l.frames.length--,l.frames)){if(e.userInputDelayFlag&&0===e.delayTime){l.totalTime=1/0;break}l.totalTime+=e.delayTime}return l}catch(e){if(e instanceof EvalError)throw Error(`error while parsing frame ${b.toString()} "${e.message}"`);throw e}}function w(e,t){let{context:a,radius:i,particle:o,delta:r}=e,l=o.image;if(!l?.gifData||!l.gif)return;let h=new OffscreenCanvas(l.gifData.width,l.gifData.height),g=h.getContext("2d",t);if(!g)throw Error("could not create offscreen canvas context");g.imageSmoothingQuality="low",g.imageSmoothingEnabled=!1,g.clearRect(s.boI.x,s.boI.y,h.width,h.height),o.gifLoopCount??=l.gifLoopCount??0;let d=o.gifFrame??0,f={x:-l.gifData.width*s.MXx,y:-l.gifData.height*s.MXx},c=l.gifData.frames[d];if(o.gifTime??=0,c.bitmap){switch(a.scale(i/l.gifData.width,i/l.gifData.height),c.disposalMethod){case n.UndefinedA:case n.UndefinedB:case n.UndefinedC:case n.UndefinedD:case n.Replace:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height);break;case n.Combine:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y);break;case n.RestoreBackground:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),l.gifData.globalColorTable.length?g.putImageData(l.gifData.backgroundImage,f.x,f.y):g.putImageData(l.gifData.frames[0].image,f.x+c.left,f.y+c.top);break;case n.RestorePrevious:{let e=g.getImageData(s.boI.x,s.boI.y,h.width,h.height);g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),g.putImageData(e,s.boI.x,s.boI.y)}}if(o.gifTime+=r.value,o.gifTime>c.delayTime){if(o.gifTime-=c.delayTime,++d>=l.gifData.frames.length){if(--o.gifLoopCount<=0)return;d=0,g.clearRect(s.boI.x,s.boI.y,h.width,h.height)}o.gifFrame=d}a.scale(l.gifData.width/i,l.gifData.height/i)}}async function x(e,t){if("gif"!==e.type)return void await (0,l.loadImage)(e);e.loading=!0;try{e.gifData=await u(e.source,t),e.gifLoopCount=function(e){for(let t of e.applicationExtensions)if(t.identifier+t.authenticationCode==="NETSCAPE2.0")return t.data[1]+(t.data[2]<<8);return NaN}(e.gifData),e.gifLoopCount||(e.gifLoopCount=1/0)}catch{e.error=!0}e.loading=!1}(i=n||(n={}))[i.Replace=0]="Replace",i[i.Combine=1]="Combine",i[i.RestoreBackground=2]="RestoreBackground",i[i.RestorePrevious=3]="RestorePrevious",i[i.UndefinedA=4]="UndefinedA",i[i.UndefinedB=5]="UndefinedB",i[i.UndefinedC=6]="UndefinedC",i[i.UndefinedD=7]="UndefinedD",(o=r||(r={}))[o.Extension=33]="Extension",o[o.ApplicationExtension=255]="ApplicationExtension",o[o.GraphicsControlExtension=249]="GraphicsControlExtension",o[o.PlainTextExtension=1]="PlainTextExtension",o[o.CommentExtension=254]="CommentExtension",o[o.Image=44]="Image",o[o.EndOfFile=59]="EndOfFile"},969(e,t,a){a.d(t,{ImageDrawer:()=>r});var i=a(5954),o=a(636),n=a(5333);class r{_engine;constructor(e){this._engine=e}addImage(e){this._engine.images??=[],this._engine.images.push(e)}draw(e){let{context:t,radius:a,particle:o,opacity:r}=e,l=o.image,s=l?.element;if(l){if(t.globalAlpha=r,l.gif&&l.gifData)(0,n.zS)(e,o.container.canvas.settings);else if(s){let e=l.ratio,o={x:-a,y:-a},n=a*i.gdl;t.drawImage(s,o.x,o.y,n,n/e)}t.globalAlpha=i.aZx}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(!t.preload||!this._engine.loadImage)return;let a=[];for(let e of t.preload)a.push(this._engine.loadImage(e));await Promise.all(a)}loadShape(e){if(!e.shape||!o.z.includes(e.shape))return;let t=e.shapeData;!t||(this._engine.images??=[],this._engine.images.find(e=>e.name===t.name||e.source===t.src)||this.loadImageShape(t).then(()=>{this.loadShape(e)}))}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;this._engine.images??=[];let a=this._engine.images,n=t.shapeData;if(!n)return;let r=t.getFillColor(),l=a.find(e=>e.name===n.name||e.source===n.src);if(!l)return;let s=n.replaceColor;l.loading?setTimeout(()=>{this.particleInit(e,t)}):(async()=>{let a;(a=l.svgData&&r?await (0,o.d)(l,n,r,t,e.hdr):{color:r,data:l,element:l.element,gif:l.gif,gifData:l.gifData,gifLoopCount:l.gifLoopCount,loaded:!0,ratio:n.width&&n.height?n.width/n.height:l.ratio??i.$xb,replaceColor:s,source:n.src}).ratio||(a.ratio=1);let h=n.fill??t.shapeFill,g=n.close??t.shapeClose;t.image=a,t.shapeFill=h,t.shapeClose=g})()}loadImageShape=async e=>{if(!this._engine.loadImage)throw Error("Image shape not initialized");await this._engine.loadImage({gif:e.gif,name:e.name,replaceColor:e.replaceColor,src:e.src})}}}}]);
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[969,5333],{5333(e,t,a){a.d(t,{zS:()=>w,loadGifImage:()=>x});var i,o,n,r,l=a(636),s=a(5954);let h=[0,4,2,1],g=[8,8,4,2];class d{data;pos;constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){let t=this.data.slice(this.pos,this.pos+e);return this.pos+=t.length,t.reduce((e,t)=>e+String.fromCharCode(t),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",t=0;do{t=this.data[this.pos++];for(let a=t;--a>=0;e+=String.fromCharCode(this.data[this.pos++]));}while(0!==t)return e}readSubBlocksBin(){let e=this.data[this.pos],t=0;for(let a=0;0!==e;a+=e+1,e=this.data[this.pos+a])t+=e;let a=new Uint8Array(t);e=this.data[this.pos++];for(let t=0;0!==e;e=this.data[this.pos++])for(let i=e;--i>=0;a[t++]=this.data[this.pos++]);return a}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}function f(e,t){let a=[];for(let i=0;i<t;i++)a.push({r:e.data[e.pos],g:e.data[e.pos+1],b:e.data[e.pos+2]}),e.pos+=3;return a}function c(e,t,a){let i=t>>>3,o=7&t;return(e[i]+(e[i+1]<<8)+(e[i+2]<<16)&(1<<a)-1<<o)>>>o}async function p(e,t,a,i,o,n,r){let l=t.frames[i(!0)];l.left=e.nextTwoBytes(),l.top=e.nextTwoBytes(),l.width=e.nextTwoBytes(),l.height=e.nextTwoBytes();let s=e.nextByte(),d=(128&s)==128;l.sortFlag=(32&s)==32,l.reserved=(24&s)>>>3,d&&(l.localColorTable=f(e,1<<(7&s)+1));let p=e=>{let{r:i,g:n,b:r}=(d?l.localColorTable:t.globalColorTable)[e];return e!==o(null)?{r:i,g:n,b:r,a:255}:{r:i,g:n,b:r,a:a?Math.trunc((i+n+r)/3):0}},m=(()=>{try{return new ImageData(l.width,l.height,n)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==m)throw EvalError("GIF frame size is to large");let u=e.nextByte(),w=e.readSubBlocksBin(),x=1<<u;if((64&s)==64){for(let a=0,o=u+1,n=0,s=[[0]],d=0;d<4;d++){if(h[d]<l.height){let e=0,t=0,i=!1;for(;!i;){let r=a;if(a=c(w,n,o),n+=o+1,a===x){o=u+1,s.length=x+2;for(let e=0;e<s.length;e++)s[e]=e<x?[e]:[]}else{for(let i of(a>=s.length?s.push(s[r].concat(s[r][0])):r!==x&&s.push(s[r].concat(s[a][0])),s[a])){let{r:a,g:o,b:n,a:r}=p(i);m.data.set([a,o,n,r],h[d]*l.width+g[d]*t+e%(4*l.width)),e+=4}s.length===1<<o&&o<12&&o++}e===4*l.width*(t+1)&&(t++,h[d]+g[d]*t>=l.height&&(i=!0))}}r?.(e.pos/(e.data.length-1),i(!1)+1,m,{x:l.left,y:l.top},{width:t.width,height:t.height})}l.image=m,l.bitmap=await createImageBitmap(m)}else{let a=0,o=u+1,n=0,s=-4,h=[[0]];for(;;){let e=a;if(a=c(w,n,o),n+=o,a===x){o=u+1,h.length=x+2;for(let e=0;e<h.length;e++)h[e]=e<x?[e]:[]}else{if(a===x+1)break;for(let t of(a>=h.length?h.push(h[e].concat(h[e][0])):e!==x&&h.push(h[e].concat(h[a][0])),h[a])){let{r:e,g:a,b:i,a:o}=p(t);s+=4,m.data.set([e,a,i,o],s)}h.length>=1<<o&&o<12&&o++}}l.image=m,l.bitmap=await createImageBitmap(m),r?.((e.pos+1)/e.data.length,i(!1)+1,l.image,{x:l.left,y:l.top},{width:t.width,height:t.height})}}async function m(e,t,a,i,o,n,l){switch(e.nextByte()){case r.EndOfFile:return!0;case r.Image:await p(e,t,a,i,o,n,l);break;case r.Extension:switch(e.nextByte()){case r.GraphicsControlExtension:{let a=t.frames[i(!1)];e.pos++;let n=e.nextByte();a.GCreserved=(224&n)>>>5,a.disposalMethod=(28&n)>>>2,a.userInputDelayFlag=(2&n)==2,a.delayTime=10*e.nextTwoBytes();let r=e.nextByte();(1&n)==1&&o(r),e.pos++;break}case r.ApplicationExtension:{e.pos++;let a={identifier:e.getString(8),authenticationCode:e.getString(3),data:e.readSubBlocksBin()};t.applicationExtensions.push(a);break}case r.CommentExtension:t.comments.push([i(!1),e.readSubBlocks()]);break;case r.PlainTextExtension:if(0===t.globalColorTable.length)throw EvalError("plain text extension without global color table");e.pos++,t.frames[i(!1)].plainTextData={left:e.nextTwoBytes(),top:e.nextTwoBytes(),width:e.nextTwoBytes(),height:e.nextTwoBytes(),charSize:{width:e.nextTwoBytes(),height:e.nextTwoBytes()},foregroundColor:e.nextByte(),backgroundColor:e.nextByte(),text:e.readSubBlocks()};break;default:e.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function u(e,t,a,i){i??=!1;let o=await fetch(e);if(!o.ok&&404===o.status)throw EvalError("file not found");let r=await o.arrayBuffer(),l={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,t),comments:[],applicationExtensions:[]},s=new d(new Uint8ClampedArray(r));if("GIF89a"!==s.getString(6))throw Error("not a supported GIF file");l.width=s.nextTwoBytes(),l.height=s.nextTwoBytes();let h=s.nextByte(),g=(128&h)==128;l.colorRes=(112&h)>>>4,l.sortFlag=(8&h)==8;let c=s.nextByte();l.pixelAspectRatio=s.nextByte(),0!==l.pixelAspectRatio&&(l.pixelAspectRatio=(l.pixelAspectRatio+15)/64),g&&(l.globalColorTable=f(s,1<<(7&h)+1));let p=(()=>{try{return new ImageData(l.width,l.height,t)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==p)throw Error("GIF frame size is to large");let{r:u,g:w,b:x}=l.globalColorTable[c];p.data.set(g?[u,w,x,255]:[0,0,0,0]);for(let e=4;e<p.data.length;e*=2)p.data.copyWithin(e,0,e);l.backgroundImage=p;let b=-1,y=!0,I=-1,C=e=>(e&&(y=!0),b),B=e=>(null!=e&&(I=e),I);try{do y&&(l.frames.push({left:0,top:0,width:0,height:0,disposalMethod:n.Replace,image:new ImageData(1,1,t),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),b++,I=-1,y=!1);while(!await m(s,l,i,C,B,t,a))for(let e of(l.frames.length--,l.frames)){if(e.userInputDelayFlag&&0===e.delayTime){l.totalTime=1/0;break}l.totalTime+=e.delayTime}return l}catch(e){if(e instanceof EvalError)throw Error(`error while parsing frame ${b.toString()} "${e.message}"`);throw e}}function w(e,t){let{context:a,radius:i,particle:o,delta:r}=e,l=o.image;if(!l?.gifData||!l.gif)return;let h=new OffscreenCanvas(l.gifData.width,l.gifData.height),g=h.getContext("2d",t);if(!g)throw Error("could not create offscreen canvas context");g.imageSmoothingQuality="low",g.imageSmoothingEnabled=!1,g.clearRect(s.boI.x,s.boI.y,h.width,h.height),o.gifLoopCount??=l.gifLoopCount??0;let d=o.gifFrame??0,f={x:-l.gifData.width*s.MXx,y:-l.gifData.height*s.MXx},c=l.gifData.frames[d];if(o.gifTime??=0,c.bitmap){switch(a.scale(i/l.gifData.width,i/l.gifData.height),c.disposalMethod){case n.UndefinedA:case n.UndefinedB:case n.UndefinedC:case n.UndefinedD:case n.Replace:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height);break;case n.Combine:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y);break;case n.RestoreBackground:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),l.gifData.globalColorTable.length?g.putImageData(l.gifData.backgroundImage,f.x,f.y):g.putImageData(l.gifData.frames[0].image,f.x+c.left,f.y+c.top);break;case n.RestorePrevious:{let e=g.getImageData(s.boI.x,s.boI.y,h.width,h.height);g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),g.putImageData(e,s.boI.x,s.boI.y)}}if(o.gifTime+=r.value,o.gifTime>c.delayTime){if(o.gifTime-=c.delayTime,++d>=l.gifData.frames.length){if(--o.gifLoopCount<=0)return;d=0,g.clearRect(s.boI.x,s.boI.y,h.width,h.height)}o.gifFrame=d}a.scale(l.gifData.width/i,l.gifData.height/i)}}async function x(e,t){if("gif"!==e.type)return void await (0,l.loadImage)(e);e.loading=!0;try{e.gifData=await u(e.source,t),e.gifLoopCount=function(e){for(let t of e.applicationExtensions)if(t.identifier+t.authenticationCode==="NETSCAPE2.0")return t.data[1]+(t.data[2]<<8);return NaN}(e.gifData),e.gifLoopCount||(e.gifLoopCount=1/0)}catch{e.error=!0}e.loading=!1}(i=n||(n={}))[i.Replace=0]="Replace",i[i.Combine=1]="Combine",i[i.RestoreBackground=2]="RestoreBackground",i[i.RestorePrevious=3]="RestorePrevious",i[i.UndefinedA=4]="UndefinedA",i[i.UndefinedB=5]="UndefinedB",i[i.UndefinedC=6]="UndefinedC",i[i.UndefinedD=7]="UndefinedD",(o=r||(r={}))[o.Extension=33]="Extension",o[o.ApplicationExtension=255]="ApplicationExtension",o[o.GraphicsControlExtension=249]="GraphicsControlExtension",o[o.PlainTextExtension=1]="PlainTextExtension",o[o.CommentExtension=254]="CommentExtension",o[o.Image=44]="Image",o[o.EndOfFile=59]="EndOfFile"},969(e,t,a){a.d(t,{ImageDrawer:()=>r});var i=a(5954),o=a(636),n=a(5333);class r{_engine;constructor(e){this._engine=e}draw(e){let{context:t,radius:a,particle:o,opacity:r}=e,l=o.image,s=l?.element;if(l){if(t.globalAlpha=r,l.gif&&l.gifData)(0,n.zS)(e,o.container.canvas.settings);else if(s){let e=l.ratio,o={x:-a,y:-a},n=a*i.gdl;t.drawImage(s,o.x,o.y,n,n/e)}t.globalAlpha=i.aZx}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(!t.preload||!this._engine.loadImage)return;let a=[];for(let i of t.preload)a.push(this._engine.loadImage(e,i));await Promise.all(a)}loadShape(e){let{container:t}=e;if(!e.shape||!o.z.includes(e.shape))return;let a=e.shapeData;if(!a)return;let i=this._engine.getImages?.(t);i?.find(e=>e.name===a.name||e.source===a.src)||this.loadImageShape(t,a).then(()=>{this.loadShape(e)})}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;let a=this._engine.getImages?.(e),n=t.shapeData;if(!n)return;let r=t.getFillColor(),l=a?.find(e=>e.name===n.name||e.source===n.src);if(!l)return;let s=n.replaceColor;l.loading?setTimeout(()=>{this.particleInit(e,t)}):(async()=>{let a;(a=l.svgData&&r?await (0,o.d)(l,n,r,t,e.hdr):{color:r,data:l,element:l.element,gif:l.gif,gifData:l.gifData,gifLoopCount:l.gifLoopCount,loaded:!0,ratio:n.width&&n.height?n.width/n.height:l.ratio??i.$xb,replaceColor:s,source:n.src}).ratio||(a.ratio=1);let h=n.fill??t.shapeFill,g=n.close??t.shapeClose;t.image=a,t.shapeFill=h,t.shapeClose=g})()}loadImageShape=async(e,t)=>{if(!this._engine.loadImage)throw Error("Image shape not initialized");await this._engine.loadImage(e,{gif:t.gif,name:t.name,replaceColor:t.replaceColor,src:t.src})}}}}]);
|
|
@@ -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.
|
|
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.
|
|
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/slim/../basic/dist/browser/index.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ }
|
|
29
29
|
|
package/browser/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadSlim(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.23");
|
|
3
3
|
await engine.register(async (e) => {
|
|
4
4
|
const [{ loadExternalParallaxInteraction }, { loadExternalAttractInteraction }, { loadExternalBounceInteraction }, { loadExternalBubbleInteraction }, { loadExternalConnectInteraction }, { loadExternalGrabInteraction }, { loadExternalPauseInteraction }, { loadExternalPushInteraction }, { loadExternalRemoveInteraction }, { loadExternalRepulseInteraction }, { loadExternalSlowInteraction }, { loadParticlesAttractInteraction }, { loadParticlesCollisionsInteraction }, { loadParticlesLinksInteraction }, { loadEasingQuadPlugin }, { loadEmojiShape }, { loadImageShape }, { loadLineShape }, { loadPolygonShape }, { loadSquareShape }, { loadStarShape }, { loadLifeUpdater }, { loadRotateUpdater }, { loadStrokeColorUpdater }, { loadBasic }, { loadInteractivityPlugin },] = await Promise.all([
|
|
5
5
|
import("@tsparticles/interaction-external-parallax"),
|
package/cjs/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export async function loadSlim(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.23");
|
|
3
3
|
await engine.register(async (e) => {
|
|
4
4
|
const [{ loadExternalParallaxInteraction }, { loadExternalAttractInteraction }, { loadExternalBounceInteraction }, { loadExternalBubbleInteraction }, { loadExternalConnectInteraction }, { loadExternalGrabInteraction }, { loadExternalPauseInteraction }, { loadExternalPushInteraction }, { loadExternalRemoveInteraction }, { loadExternalRepulseInteraction }, { loadExternalSlowInteraction }, { loadParticlesAttractInteraction }, { loadParticlesCollisionsInteraction }, { loadParticlesLinksInteraction }, { loadEasingQuadPlugin }, { loadEmojiShape }, { loadImageShape }, { loadLineShape }, { loadPolygonShape }, { loadSquareShape }, { loadStarShape }, { loadLifeUpdater }, { loadRotateUpdater }, { loadStrokeColorUpdater }, { loadBasic }, { loadInteractivityPlugin },] = await Promise.all([
|
|
5
5
|
import("@tsparticles/interaction-external-parallax"),
|