@tsparticles/slim 4.0.0-alpha.24 → 4.0.0-alpha.26
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/1032.min.js +1 -0
- package/1036.min.js +1 -0
- package/{6084.min.js → 1040.min.js} +1 -1
- package/1119.min.js +1 -0
- package/1278.min.js +1 -0
- package/{2833.min.js → 1357.min.js} +1 -1
- package/1423.min.js +1 -0
- package/1587.min.js +1 -0
- package/{9007.min.js → 1727.min.js} +1 -1
- package/1730.min.js +1 -0
- package/{3405.min.js → 2017.min.js} +1 -1
- package/{8174.min.js → 2057.min.js} +1 -1
- package/2174.min.js +1 -0
- package/{8635.min.js → 2183.min.js} +1 -1
- package/{8514.min.js → 2683.min.js} +1 -1
- package/296.min.js +1 -0
- package/3021.min.js +1 -0
- package/3056.min.js +1 -0
- package/3287.min.js +1 -0
- package/3336.min.js +1 -0
- package/3344.min.js +1 -0
- package/3362.min.js +1 -0
- package/3533.min.js +1 -0
- package/{3111.min.js → 3539.min.js} +1 -1
- package/{5333.min.js → 3574.min.js} +1 -1
- package/3947.min.js +1 -0
- package/4054.min.js +1 -0
- package/4121.min.js +1 -0
- package/4359.min.js +1 -0
- package/{363.min.js → 439.min.js} +1 -1
- package/4443.min.js +1 -0
- package/{2753.min.js → 4677.min.js} +1 -1
- package/47.min.js +1 -0
- package/{2355.min.js → 4756.min.js} +1 -1
- package/4927.min.js +1 -0
- package/{5679.min.js → 4935.min.js} +1 -1
- package/{3939.min.js → 5055.min.js} +1 -1
- package/5111.min.js +1 -0
- package/{9591.min.js → 5123.min.js} +1 -1
- package/5218.min.js +1 -0
- package/5556.min.js +1 -0
- package/61.min.js +1 -0
- package/{7468.min.js → 6137.min.js} +1 -1
- package/6344.min.js +1 -0
- package/{6495.min.js → 6347.min.js} +1 -1
- package/6447.min.js +1 -0
- package/6466.min.js +1 -0
- package/6484.min.js +1 -0
- package/651.min.js +1 -0
- package/{9907.min.js → 6719.min.js} +1 -1
- package/6763.min.js +1 -0
- package/{4287.min.js → 6907.min.js} +1 -1
- package/6960.min.js +1 -0
- package/7217.min.js +1 -0
- package/7245.min.js +1 -0
- package/7458.min.js +1 -0
- package/{1995.min.js → 7631.min.js} +1 -1
- package/7662.min.js +1 -0
- package/7665.min.js +1 -0
- package/7812.min.js +1 -0
- package/7962.min.js +1 -0
- package/8084.min.js +1 -0
- package/811.min.js +1 -0
- package/{4227.min.js → 8255.min.js} +1 -1
- package/8258.min.js +1 -0
- package/8323.min.js +1 -0
- package/8379.min.js +1 -0
- package/8586.min.js +1 -0
- package/8879.min.js +1 -0
- package/8917.min.js +1 -0
- package/9066.min.js +1 -0
- package/9163.min.js +1 -0
- package/9187.min.js +1 -0
- package/{3611.min.js → 9204.min.js} +1 -1
- package/9337.min.js +1 -0
- package/9395.min.js +1 -0
- package/9661.min.js +1 -0
- package/9763.min.js +1 -0
- package/9862.min.js +1 -0
- package/995.min.js +1 -0
- 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 +8 -8
- package/esm/index.js +1 -1
- package/interactions_external_attract_dist_browser_Attractor_js.js +4 -4
- package/interactions_external_attract_dist_browser_index_js.js +2 -2
- package/interactions_external_bounce_dist_browser_Bouncer_js.js +4 -4
- package/interactions_external_bounce_dist_browser_index_js.js +2 -2
- package/interactions_external_bubble_dist_browser_Bubbler_js.js +3 -3
- package/interactions_external_bubble_dist_browser_index_js.js +2 -2
- package/interactions_external_connect_dist_browser_Connector_js.js +3 -3
- package/interactions_external_connect_dist_browser_index_js.js +2 -2
- package/interactions_external_grab_dist_browser_Grabber_js.js +3 -3
- package/interactions_external_grab_dist_browser_index_js.js +2 -2
- package/interactions_external_parallax_dist_browser_Parallaxer_js.js +3 -3
- package/interactions_external_parallax_dist_browser_index_js.js +2 -2
- package/interactions_external_pause_dist_browser_Pauser_js.js +3 -3
- package/interactions_external_pause_dist_browser_index_js.js +2 -2
- package/interactions_external_push_dist_browser_Pusher_js.js +3 -3
- package/interactions_external_push_dist_browser_index_js.js +2 -2
- package/interactions_external_remove_dist_browser_Remover_js.js +3 -3
- package/interactions_external_remove_dist_browser_index_js.js +2 -2
- package/interactions_external_repulse_dist_browser_Repulser_js.js +3 -3
- package/interactions_external_repulse_dist_browser_index_js.js +2 -2
- package/interactions_external_slow_dist_browser_Slower_js.js +3 -3
- package/interactions_external_slow_dist_browser_index_js.js +2 -2
- package/interactions_particles_attract_dist_browser_Attractor_js.js +13 -3
- package/interactions_particles_attract_dist_browser_index_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_Collider_js.js +5 -5
- 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 +3 -3
- package/interactions_particles_links_dist_browser_Linker_js.js +3 -3
- package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
- package/interactions_particles_links_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 +2 -2
- package/plugins_move_dist_browser_MovePluginInstance_js.js +40 -0
- package/{move_base_dist_browser_index_js.js → plugins_move_dist_browser_MovePlugin_js.js} +7 -7
- package/plugins_move_dist_browser_index_js.js +30 -0
- 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 +1 -1
- package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
- package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
- 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 +2 -2
- package/shapes_polygon_dist_browser_index_js.js +2 -2
- package/shapes_square_dist_browser_SquareDrawer_js.js +2 -2
- 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 +13 -33
- 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 +4 -4
- 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/102.min.js +0 -1
- package/1311.min.js +0 -1
- package/1416.min.js +0 -1
- package/1504.min.js +0 -1
- package/1801.min.js +0 -1
- package/195.min.js +0 -1
- package/2106.min.js +0 -1
- package/2129.min.js +0 -1
- package/2559.min.js +0 -1
- package/2740.min.js +0 -1
- package/2823.min.js +0 -1
- package/2895.min.js +0 -1
- package/3139.min.js +0 -1
- package/3166.min.js +0 -1
- package/3415.min.js +0 -1
- package/3566.min.js +0 -1
- package/3576.min.js +0 -1
- package/3607.min.js +0 -1
- package/3746.min.js +0 -1
- package/3775.min.js +0 -1
- package/3891.min.js +0 -1
- package/3923.min.js +0 -1
- package/4060.min.js +0 -1
- package/411.min.js +0 -1
- package/4377.min.js +0 -1
- package/4512.min.js +0 -1
- package/4894.min.js +0 -1
- package/5022.min.js +0 -1
- package/5143.min.js +0 -1
- package/5291.min.js +0 -1
- package/5523.min.js +0 -1
- package/5584.min.js +0 -1
- package/578.min.js +0 -1
- package/5861.min.js +0 -1
- package/611.min.js +0 -1
- package/6300.min.js +0 -1
- package/6330.min.js +0 -1
- package/6486.min.js +0 -1
- package/6497.min.js +0 -1
- package/6566.min.js +0 -1
- package/665.min.js +0 -1
- package/6900.min.js +0 -1
- package/699.min.js +0 -1
- package/7239.min.js +0 -1
- package/7346.min.js +0 -1
- package/7884.min.js +0 -1
- package/8166.min.js +0 -1
- package/8196.min.js +0 -1
- package/8509.min.js +0 -1
- package/8580.min.js +0 -1
- package/8968.min.js +0 -1
- package/9169.min.js +0 -1
- package/9212.min.js +0 -1
- package/9242.min.js +0 -1
- package/929.min.js +0 -1
- package/9322.min.js +0 -1
- package/969.min.js +0 -1
- package/move_base_dist_browser_BaseMover_js.js +0 -40
|
@@ -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([[7631],{7631(t,e,n){n.d(e,{PolygonDrawer:()=>s});var a=n(7082);class s extends a.L{getSidesData(t,e){let{sides:n}=t;return{count:{denominator:1,numerator:n},length:2.66*e/(n/3)}}}},7082(t,e,n){n.d(e,{L:()=>r});var a=n(2005);let s=new Map;class r{draw(t){let{particle:e,radius:n}=t;!function(t,e){let{context:n,radius:r}=t,l=function(t){let e=s.get(t);if(e)return e;let n=a.R1e/t,r=(-Math.PI+(t%a.gdl?0:n))*a.MXx,l=[];for(let e=0;e<t;e++){let t=r+e*n;l[e]={x:Math.cos(t),y:Math.sin(t)}}return s.set(t,l),l}(e.count.numerator/e.count.denominator);n.beginPath();for(let t=0;t<l.length;t++){let e=l[t];if(!e)continue;let a=e.x*r,s=e.y*r;t?n.lineTo(a,s):n.moveTo(a,s)}n.closePath()}(t,this.getSidesData(e,n))}getSidesCount(t){let e=t.shapeData;return Math.round((0,a.VGA)(e?.sides??5))}}}}]);
|
package/7662.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7662],{7662(e,t,i){i.d(t,{MovePluginInstance:()=>n});var a=i(2005);class n{availablePathGenerators;pathGenerators;_container;_engine;constructor(e,t){this._engine=e,this._container=t,this.availablePathGenerators=new Map,this.pathGenerators=new Map}destroy(){this.availablePathGenerators=new Map,this.pathGenerators=new Map}isEnabled(e){return!e.destroyed&&e.options.move.enable}particleCreated(e){let t=e.options,i=t.move.gravity,n=t.move.path;if(e.moveDecay=a.WH8-(0,a.VGA)(t.move.decay),e.pathDelay=(0,a.VGA)(n.delay.value)*a.XuV,n.generator){let t=this.pathGenerators.get(n.generator);!t&&(t=this.availablePathGenerators.get(n.generator))&&(this.pathGenerators.set(n.generator,t),t.init()),e.pathGenerator=t}e.gravity={enable:i.enable,acceleration:(0,a.VGA)(i.acceleration),inverse:i.inverse},function(e){let t=e.container,i=e.options.move.spin;if(!i.enable)return;let n=i.position??{x:50,y:50},r={x:.01*n.x*t.canvas.size.width,y:.01*n.y*t.canvas.size.height},s=e.getPosition(),o=(0,a.YfF)(s,r),l=(0,a.VGA)(i.acceleration);e.retina.spinAcceleration=l*t.retina.pixelRatio,e.spin={center:r,direction:e.velocity.x>=0?a.pTR.clockwise:a.pTR.counterClockwise,angle:(0,a.G0i)()*a.R1e,radius:o,acceleration:e.retina.spinAcceleration}}(e)}particleDestroyed(e){let t=e.pathGenerator;t?.reset(e)}particleUpdate(e,t){let i=e.options,n=i.move;if(!n.enable)return;let r=e.container,s=r.retina.pixelRatio;e.retina.moveSpeed??=(0,a.VGA)(n.speed)*s,e.retina.moveDrift??=(0,a.VGA)(e.options.move.drift)*s;let o=e.slow.inRange?e.slow.factor:1,l=r.retina.reduceFactor,c=e.retina.moveSpeed,p=e.retina.moveDrift,h=(0,a.W9e)(i.size.value)*s,y=c*(n.size?e.getRadius()/h:1)*o*(t.factor||1)/2,v=e.retina.maxSpeed??r.retina.maxSpeed;n.spin.enable?function(e,t,i){let n=e.container;if(!e.spin)return;let r=e.spin.direction===a.pTR.clockwise,s={x:r?Math.cos:Math.sin,y:r?Math.sin:Math.cos};e.position.x=e.spin.center.x+e.spin.radius*s.x(e.spin.angle)*i,e.position.y=e.spin.center.y+e.spin.radius*s.y(e.spin.angle)*i,e.spin.radius+=e.spin.acceleration*i;let o=Math.max(n.canvas.size.width,n.canvas.size.height),l=o*a.MXx;e.spin.radius>l?(e.spin.radius=l,e.spin.acceleration*=-1):e.spin.radius<0&&(e.spin.radius=0,e.spin.acceleration*=-1),e.spin.angle+=.01*t*(1-e.spin.radius/o)}(e,y,l):function(e,t,i,n,r,s,o){!function(e,t){let i=e.options.move.path;if(!i.enable)return;let n=e.pathDelay??0;if(e.lastPathTime<=n){e.lastPathTime+=t.value;return}let r=e.pathGenerator?.generate(e,t);r&&e.velocity.addTo(r),i.clamp&&(e.velocity.x=(0,a.qE8)(e.velocity.x,-1,1),e.velocity.y=(0,a.qE8)(e.velocity.y,-1,1)),e.lastPathTime-=n}(e,o);let l=e.gravity,c=l?.enable&&l.inverse?-1:1;r&&i&&(e.velocity.x+=r*o.factor/(60*i)),l?.enable&&i&&(e.velocity.y+=c*(l.acceleration*o.factor)/(60*i));let p=e.moveDecay;e.velocity.multTo(p??1);let h=e.velocity.mult(i);l?.enable&&n>0&&(!l.inverse&&h.y>=0&&h.y>=n||l.inverse&&h.y<=0&&h.y<=-n)&&(h.y=c*n,i&&(e.velocity.y=h.y/i));let y=e.options.zIndex,v=(1-e.zIndexFactor)**y.velocityRate;h.multTo(v),h.multTo(s);let{position:d}=e;d.addTo(h),t.vibrate&&(d.x+=Math.sin(d.x*Math.cos(d.y))*s,d.y+=Math.cos(d.y*Math.sin(d.x))*s)}(e,n,y,v,p,l,t),function(e){let t=e.initialPosition,{dx:i,dy:n}=(0,a.vrU)(t,e.position),r=Math.abs(i),s=Math.abs(n),{maxDistance:o}=e.retina,l=o.horizontal,c=o.vertical;if(l||c){if((l&&r>=l||c&&s>=c)&&!e.misplaced)e.misplaced=!!l&&r>l||!!c&&s>c,l&&(e.velocity.x=e.velocity.y*a.MXx-e.velocity.x),c&&(e.velocity.y=e.velocity.x*a.MXx-e.velocity.y);else if((!l||r<l)&&(!c||s<c)&&e.misplaced)e.misplaced=!1;else if(e.misplaced){let i=e.position,n=e.velocity;l&&(i.x<t.x&&n.x<0||i.x>t.x&&n.x>0)&&(n.x*=-(0,a.G0i)()),c&&(i.y<t.y&&n.y<0||i.y>t.y&&n.y>0)&&(n.y*=-(0,a.G0i)())}}}(e)}preInit(){return this._init()}redrawInit(){return this._init()}update(){for(let e of this.pathGenerators.values())e.update()}async _init(){let e=await this._engine.getPathGenerators?.(this._container,!0);if(e)for(let t of(this.availablePathGenerators=e,this.pathGenerators=new Map,this.pathGenerators.values()))t.init()}}}}]);
|
package/7665.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7665,9204],{7665(t,e,n){n.d(e,{Connector:()=>s});var i=n(9204),a=n(2005),o=n(9227),r=n(9116);class s extends i.ExternalInteractorBase{_maxDistance;constructor(t){super(t),this._maxDistance=0}get maxDistance(){return this._maxDistance}clear(){}init(){let t=this.container,e=t.actualOptions.interactivity?.modes.connect;e&&(this._maxDistance=e.distance,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:o}=e.retina;if(!i||i<0||!o||o<0||!n)return;let s=Math.abs(o),c=e.particles.grid.queryCircle(n,s,e=>this.isEnabled(t,e));c.forEach((t,n)=>{let o=t.getPosition();for(let s of c.slice(n+1)){let n=s.getPosition(),c=Math.abs(i),l=Math.abs(o.x-n.x),d=Math.abs(o.y-n.y);l<c&&d<c&&function(t,e,n){t.canvas.draw(i=>{var o;let s=function(t,e,n,i){let o=t.actualOptions,r=o.interactivity?.modes.connect;if(r)return function(t,e,n,i){let o=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,a.EYT)(r,s,e.getRadius(),n.getRadius()),h=t.createLinearGradient(l.x,l.y,d.x,d.y);return h.addColorStop(0,(0,a.LCf)(r,c.hdr,i)),h.addColorStop((0,a.qE8)(o,0,1),(0,a.xxz)(u,c.hdr,i)),h.addColorStop(1,(0,a.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();o=e.retina.linksWidth??0,(0,r.V6)(i,c,l),i.lineWidth=o,i.strokeStyle=s,i.stroke()})}(e,t,s)}})}}isEnabled(t,e){let n=this.container,i=t.mouse,o=(e?.interactivity??n.actualOptions.interactivity)?.events;return!!(o?.onHover.enable&&i.position)&&(0,a.hnD)("connect",o.onHover.mode)}loadModeOptions(t,...e){for(let n of(t.connect??=new o.d,e))t.connect.load(n?.connect)}reset(){}}},6201(t,e,n){var i,a;n.d(e,{Q:()=>i}),(a=i||(i={})).circle="circle",a.rectangle="rectangle"},4070(t,e,n){var i,a;n.d(e,{h:()=>i}),(a=i||(i={})).canvas="canvas",a.parent="parent",a.window="window"},6815(t,e,n){var i,a;n.d(e,{e:()=>i}),(a=i||(i={})).external="external",a.particles="particles"},2043(t,e,n){n.d(e,{Bp:()=>d,DG:()=>u,G3:()=>h,Rb:()=>c,Z0:()=>r,ms:()=>a,s7:()=>l,sf:()=>s,vo:()=>o,xO:()=>i});let i="click",a="pointerdown",o="pointerup",r="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",u="touchmove",h="touchcancel"},1238(t,e,n){n.d(e,{G:()=>o});var i=n(2005),a=n(6201);class o{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.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))}}},5626(t,e,n){n.d(e,{d:()=>a});var i=n(2005);class a{_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)}}},9204(t,e,n){n.r(e),n.d(e,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>o,InteractivityDetect:()=>l.h,InteractorType:()=>a.e,Modes:()=>f.d,ParticlesInteractorBase:()=>r,clickEvent:()=>s.xO,divMode:()=>v,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>m,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(2005),a=n(6815);class o{type=a.e.external;container;constructor(t){this.container=t}}class r{type=a.e.particles;container;constructor(t){this.container=t}}var s=n(2043),c=n(6201),l=n(4070);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 a=e.mode;e.enable&&(0,i.hnD)(t,a)&&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 a;return n=t.selectors,a=(0,i.wJ2)(n,t=>e.matches(t)),(0,i.cyL)(a)?a.some(t=>t):a})}var p=n(1238),f=n(5626);async function y(t){t.checkVersion("4.0.0-alpha.26"),await t.register(async t=>{let{InteractivityPlugin:e}=await n.e(5055).then(n.bind(n,5055));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 m(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}},9116(t,e,n){n.d(e,{V6:()=>a,Al:()=>o});var i=n(2005);function a(t,e,n){t.beginPath(),t.moveTo(e.x,e.y),t.lineTo(n.x,n.y),t.closePath()}async function o(t,e){try{await (0,i.T5G)().fonts.load(`${e??"400"} 36px '${t??"Verdana"}'`)}catch{}}}}]);
|
package/7812.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7812],{861(a,e,t){t.d(e,{j:()=>s,u:()=>i});var l=t(2005);let i=["emoji"];function s(a,e){let{context:t,opacity:i}=a,s=t.globalAlpha,h=e.width,n=h*l.MXx;t.globalAlpha=i,t.drawImage(e,-n,-n,h,h),t.globalAlpha=s}},7812(a,e,t){t.r(e),t.d(e,{loadEmojiShape:()=>i});var l=t(861);async function i(a){a.checkVersion("4.0.0-alpha.26"),await a.register(a=>{a.addShape(l.u,async()=>{let{EmojiDrawer:a}=await t.e(4443).then(t.bind(t,4443));return new a})})}}}]);
|
package/7962.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[7962],{7962(n,i,s){s.r(i),s.d(i,{LinksPlugin:()=>e});class e{id="links";_engine;constructor(n){this._engine=n}async getPlugin(n){let{LinkInstance:i}=await s.e(3533).then(s.bind(s,3533));return new i(n,this._engine)}loadOptions(){}needsPlugin(){return!0}}}}]);
|
package/8084.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8084,9204],{8084(e,t,n){n.d(t,{Pusher:()=>o});var i=n(9204),r=n(2005),a=n(4641);let s="push";class o extends i.ExternalInteractorBase{handleClickMode;maxDistance=0;constructor(e){super(e),this.handleClickMode=(e,t)=>{if(e!==s)return;let n=this.container,i=n.actualOptions,a=i.interactivity?.modes.push;if(!a)return;let o=(0,r.VGA)(a.quantity);if(o<=0)return;let c=(0,r.Vh1)([void 0,...a.groups]),l=void 0!==c?n.actualOptions.particles.groups[c]:void 0,d=(0,r.TA3)(a.particles),u=(0,r.zwS)(l,d);n.particles.push(o,t.mouse.position,u,c)}}clear(){}init(){}interact(){}isEnabled(e,t){let n=this.container.actualOptions,i=e.mouse,a=(t?.interactivity??n.interactivity)?.events;return!!a&&i.clicking&&i.inside&&!!i.position&&(0,r.hnD)(s,a.onClick.mode)}loadModeOptions(e,...t){for(let n of(e.push??=new a.$,t))e.push.load(n?.push)}reset(){}}},6201(e,t,n){var i,r;n.d(t,{Q:()=>i}),(r=i||(i={})).circle="circle",r.rectangle="rectangle"},4070(e,t,n){var i,r;n.d(t,{h:()=>i}),(r=i||(i={})).canvas="canvas",r.parent="parent",r.window="window"},6815(e,t,n){var i,r;n.d(t,{e:()=>i}),(r=i||(i={})).external="external",r.particles="particles"},2043(e,t,n){n.d(t,{Bp:()=>d,DG:()=>u,G3:()=>h,Rb:()=>c,Z0:()=>s,ms:()=>r,s7:()=>l,sf:()=>o,vo:()=>a,xO:()=>i});let i="click",r="pointerdown",a="pointerup",s="pointerleave",o="pointerout",c="pointermove",l="touchstart",d="touchend",u="touchmove",h="touchcancel"},1238(e,t,n){n.d(t,{G:()=>a});var i=n(2005),r=n(6201);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))}}},5626(e,t,n){n.d(t,{d:()=>r});var i=n(2005);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)}}},9204(e,t,n){n.r(t),n.d(t,{DivEvent:()=>v.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>r.e,Modes:()=>m.d,ParticlesInteractorBase:()=>s,clickEvent:()=>o.xO,divMode:()=>p,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>f,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>w,mouseDownEvent:()=>o.ms,mouseLeaveEvent:()=>o.Z0,mouseMoveEvent:()=>o.Rb,mouseOutEvent:()=>o.sf,mouseUpEvent:()=>o.vo,singleDivModeExecute:()=>h,touchCancelEvent:()=>o.G3,touchEndEvent:()=>o.Bp,touchMoveEvent:()=>o.DG,touchStartEvent:()=>o.s7});var i=n(2005),r=n(6815);class a{type=r.e.external;container;constructor(e){this.container=e}}class s{type=r.e.particles;container;constructor(e){this.container=e}}var o=n(2043),c=n(6201),l=n(4070);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)&&h(t,n)})}function h(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 v=n(1238),m=n(5626);async function w(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(5055).then(n.bind(n,5055));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/811.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[811],{7693(t,a,e){e.d(a,{b:()=>s});var n=e(2005);class s{distance;constructor(){this.distance=200}load(t){(0,n.kZJ)(t)||void 0!==t.distance&&(this.distance=t.distance)}}},811(t,a,e){e.r(a),e.d(a,{Bounce:()=>n.b,loadExternalBounceInteraction:()=>s});var n=e(7693);async function s(t){t.checkVersion("4.0.0-alpha.26"),await t.register(async t=>{let{ensureInteractivityPluginLoaded:a}=await e.e(9204).then(e.bind(e,9204));a(t),t.addInteractor?.("externalBounce",async t=>{let{Bouncer:a}=await e.e(9163).then(e.bind(e,9163));return new a(t)})})}}}]);
|
|
@@ -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([[8255],{8255(s,e,a){a.d(e,{HslColorManager:()=>n});var t,l,h=a(2005);(t=l||(l={}))[t.h=1]="h",t[t.s=2]="s",t[t.l=3]="l",t[t.a=5]="a";let r=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class n{accepts(s){return s.startsWith("hsl")}handleColor(s){let e=s.value.hsl??s.value;if(Object.hasOwn(e,"h")&&Object.hasOwn(e,"s")&&Object.hasOwn(e,"l"))return(0,h.YLU)(e)}handleRangeColor(s){let e=s.value.hsl??s.value;if(Object.hasOwn(e,"h")&&Object.hasOwn(e,"s")&&Object.hasOwn(e,"l"))return(0,h.YLU)({h:(0,h.VGA)(e.h),l:(0,h.VGA)(e.l),s:(0,h.VGA)(e.s)})}parseString(s){if(!this.accepts(s))return;let e=r.exec(s);return e?(0,h.ayx)({a:e.length>4?(0,h.M3Y)(e[l.a]):1,h:Number.parseInt(e[l.h]??"0",10),l:Number.parseInt(e[l.l]??"0",10),s:Number.parseInt(e[l.s]??"0",10)}):void 0}}}}]);
|
package/8258.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8258,9204],{8258(e,t,i){i.d(t,{Linker:()=>a});var n=i(2005);class s extends n.jlt{canvasSize;constructor(e,t,i,n){super(e,t,i),this.canvasSize=n}contains(e){if(super.contains(e))return!0;let{width:t,height:i}=this.canvasSize,{x:n,y:s}=e;return super.contains({x:n-t,y:s})||super.contains({x:n+t,y:s})||super.contains({x:n,y:s-i})||super.contains({x:n,y:s+i})||super.contains({x:n-t,y:s-i})||super.contains({x:n+t,y:s+i})||super.contains({x:n-t,y:s+i})||super.contains({x:n+t,y:s-i})}intersects(e){if(super.intersects(e))return!0;let{width:t,height:i}=this.canvasSize,s=e.position;for(let r of[{x:-t,y:0},{x:t,y:0},{x:0,y:-i},{x:0,y:i},{x:-t,y:-i},{x:t,y:i},{x:-t,y:i},{x:t,y:-i}]){let t,i={x:s.x+r.x,y:s.y+r.y};if(t=e instanceof n.jlt?new n.jlt(i.x,i.y,e.radius):new n.M_G(i.x,i.y,e.size.width,e.size.height),super.intersects(t))return!0}return!1}}var r=i(7283),o=i(9204);class a extends o.ParticlesInteractorBase{_engine;_maxDistance;constructor(e,t){super(e),this._engine=t,this._maxDistance=0}get maxDistance(){return this._maxDistance}clear(){}init(){this.container.particles.linksColor=void 0,this.container.particles.linksColors=new Map}interact(e){if(!e.options.links)return;e.links=[],e.linksDistance&&e.linksDistance>this._maxDistance&&(this._maxDistance=e.linksDistance);let t=e.getPosition(),i=this.container,r=i.canvas.size;if(t.x<n.boI.x||t.y<n.boI.y||t.x>r.width||t.y>r.height)return;let o=e.options.links,a=o.opacity,c=e.retina.linksDistance??0,l=o.warp,d=l?new s(t.x,t.y,c,r):new n.jlt(t.x,t.y,c);for(let s of i.particles.grid.query(d)){let i=s.options.links;if(e===s||!i?.enable||o.id!==i.id||s.spawning||s.destroyed||!s.links||e.links.some(e=>e.destination===s)||s.links.some(t=>t.destination===e))continue;let d=s.getPosition();if(d.x<n.boI.x||d.y<n.boI.y||d.x>r.width||d.y>r.height)continue;let h=(0,n.vrU)(t,d).distance,p=l&&i.warp?function(e,t,i){let{dx:s,dy:r}=(0,n.vrU)(e,t),o={x:Math.abs(s),y:Math.abs(r)},a={x:Math.min(o.x,i.width-o.x),y:Math.min(o.y,i.height-o.y)};return Math.hypot(a.x,a.y)}(t,d,r):h,u=Math.min(h,p);if(u>c)continue;let v=(1-u/c)*a;this._setColor(e),e.links.push({destination:s,opacity:v,color:this._getLinkColor(e,s),isWarped:p<h})}}isEnabled(e){return!!e.options.links?.enable}loadParticlesOptions(e,...t){for(let i of(e.links??=new r.q,t))e.links.load(i?.links)}reset(){}_getLinkColor(e,t){let i=this.container,s=e.options.links;if(!s)return;let r=void 0!==s.id?i.particles.linksColors.get(s.id):i.particles.linksColor;return(0,n._hh)(e,t,r)}_setColor(e){if(!e.options.links)return;let t=this.container,i=e.options.links,s=void 0===i.id?t.particles.linksColor:t.particles.linksColors.get(i.id);s||(s=(0,n.PGG)(this._engine,i.color,i.blink,i.consent),void 0===i.id?t.particles.linksColor=s:t.particles.linksColors.set(i.id,s))}}},6201(e,t,i){var n,s;i.d(t,{Q:()=>n}),(s=n||(n={})).circle="circle",s.rectangle="rectangle"},4070(e,t,i){var n,s;i.d(t,{h:()=>n}),(s=n||(n={})).canvas="canvas",s.parent="parent",s.window="window"},6815(e,t,i){var n,s;i.d(t,{e:()=>n}),(s=n||(n={})).external="external",s.particles="particles"},2043(e,t,i){i.d(t,{Bp:()=>d,DG:()=>h,G3:()=>p,Rb:()=>c,Z0:()=>o,ms:()=>s,s7:()=>l,sf:()=>a,vo:()=>r,xO:()=>n});let n="click",s="pointerdown",r="pointerup",o="pointerleave",a="pointerout",c="pointermove",l="touchstart",d="touchend",h="touchmove",p="touchcancel"},1238(e,t,i){i.d(t,{G:()=>r});var n=i(2005),s=i(6201);class r{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=s.Q.circle}load(e){(0,n.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))}}},5626(e,t,i){i.d(t,{d:()=>s});var n=i(2005);class s{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,n.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let i of t)i.loadModeOptions&&i.loadModeOptions(this,e)}}},9204(e,t,i){i.r(t),i.d(t,{DivEvent:()=>v.G,DivType:()=>c.Q,ExternalInteractorBase:()=>r,InteractivityDetect:()=>l.h,InteractorType:()=>s.e,Modes:()=>y.d,ParticlesInteractorBase:()=>o,clickEvent:()=>a.xO,divMode:()=>u,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>k,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>x,mouseDownEvent:()=>a.ms,mouseLeaveEvent:()=>a.Z0,mouseMoveEvent:()=>a.Rb,mouseOutEvent:()=>a.sf,mouseUpEvent:()=>a.vo,singleDivModeExecute:()=>p,touchCancelEvent:()=>a.G3,touchEndEvent:()=>a.Bp,touchMoveEvent:()=>a.DG,touchStartEvent:()=>a.s7});var n=i(2005),s=i(6815);class r{type=s.e.external;container;constructor(e){this.container=e}}class o{type=s.e.particles;container;constructor(e){this.container=e}}var a=i(2043),c=i(6201),l=i(4070);function d(e,t){return!!(0,n.w3Z)(t,t=>t.enable&&(0,n.hnD)(e,t.mode))}function h(e,t,i){(0,n.wJ2)(t,t=>{let s=t.mode;t.enable&&(0,n.hnD)(e,s)&&p(t,i)})}function p(e,t){let i=e.selectors;(0,n.wJ2)(i,i=>{t(i,e)})}function u(e,t){if(t&&e)return(0,n.w3Z)(e,e=>{var i;let s;return i=e.selectors,s=(0,n.wJ2)(i,e=>t.matches(e)),(0,n.cyL)(s)?s.some(e=>e):s})}var v=i(1238),y=i(5626);async function x(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await i.e(5055).then(i.bind(i,5055));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,i)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,i)},e.getInteractors=async(t,i=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,n.HQK)(t,e.interactors,e.initializers.interactors,i)),e.setOnClickHandler=t=>{let{items:i}=e;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(e=>{e.addClickHandler?.(t)})}})}function k(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/8323.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8323],{8323(t,i,e){e.d(i,{OutOfCanvasUpdater:()=>c});var o=e(2005);class s{container;modes;_particleBouncePlugins;constructor(t){this.container=t,this.modes=[o.Yzx.bounce,o.Yzx.split],this._particleBouncePlugins=t.plugins.filter(t=>void 0!==t.particleBounce)}update(t,i,e,s){if(!this.modes.includes(s))return;let n=this.container,a=!1;for(let o of this._particleBouncePlugins)if(a=o.particleBounce?.(t,e,i)??!1)break;if(a)return;let r=t.getPosition(),d=t.offset,c=t.getRadius(),l=(0,o.AEc)(r,c),p=n.canvas.size;!function(t){if(t.outMode!==o.Yzx.bounce&&t.outMode!==o.Yzx.split||t.direction!==o.v5k.left&&t.direction!==o.v5k.right)return;t.bounds.right<0&&t.direction===o.v5k.left?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&t.direction===o.v5k.right&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);let i=t.particle.velocity.x,e=!1;if(t.direction===o.v5k.right&&t.bounds.right>=t.canvasSize.width&&i>0||t.direction===o.v5k.left&&t.bounds.left<=0&&i<0){let i=(0,o.VGA)(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-i,e=!0}if(!e)return;let s=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width&&t.direction===o.v5k.right?t.particle.position.x=t.canvasSize.width-s:t.bounds.left<=0&&t.direction===o.v5k.left&&(t.particle.position.x=s),t.outMode===o.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:i,bounds:l,canvasSize:p,offset:d,size:c}),function(t){if(t.outMode!==o.Yzx.bounce&&t.outMode!==o.Yzx.split||t.direction!==o.v5k.bottom&&t.direction!==o.v5k.top)return;t.bounds.bottom<0&&t.direction===o.v5k.top?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&t.direction===o.v5k.bottom&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);let i=t.particle.velocity.y,e=!1;if(t.direction===o.v5k.bottom&&t.bounds.bottom>=t.canvasSize.height&&i>0||t.direction===o.v5k.top&&t.bounds.top<=0&&i<0){let i=(0,o.VGA)(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-i,e=!0}if(!e)return;let s=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height&&t.direction===o.v5k.bottom?t.particle.position.y=t.canvasSize.height-s:t.bounds.top<=0&&t.direction===o.v5k.top&&(t.particle.position.y=s),t.outMode===o.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:i,bounds:l,canvasSize:p,offset:d,size:c})}}class n{container;modes;constructor(t){this.container=t,this.modes=[o.Yzx.destroy]}update(t,i,e,s){if(!this.modes.includes(s))return;let n=this.container;switch(t.outType){case o.x_I.normal:case o.x_I.outside:if((0,o.Tj8)(t.position,n.canvas.size,o.boI,t.getRadius(),i))return;break;case o.x_I.inside:{let{dx:i,dy:e}=(0,o.vrU)(t.position,t.moveCenter),{x:s,y:n}=t.velocity;if(s<0&&i>t.moveCenter.radius||n<0&&e>t.moveCenter.radius||s>=0&&i<-t.moveCenter.radius||n>=0&&e<-t.moveCenter.radius)return}}n.particles.remove(t,t.group,!0)}}class a{container;modes;constructor(t){this.container=t,this.modes=[o.Yzx.none]}update(t,i,e,s){if(!this.modes.includes(s)||((t.options.move.distance.horizontal&&(i===o.v5k.left||i===o.v5k.right))??(t.options.move.distance.vertical&&(i===o.v5k.top||i===o.v5k.bottom))))return;let n=t.options.move.gravity,a=this.container,r=a.canvas.size,d=t.getRadius();if(n.enable){let e=t.position;(!n.inverse&&e.y>r.height+d&&i===o.v5k.bottom||n.inverse&&e.y<-d&&i===o.v5k.top)&&a.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=r.height+d||t.velocity.y<0&&t.position.y>=-d||t.velocity.x>0&&t.position.x<=r.width+d||t.velocity.x<0&&t.position.x>=-d)return;(0,o.Tj8)(t.position,a.canvas.size,o.boI,d,i)||a.particles.remove(t)}}}let r=o.Miz.origin;class d{container;modes;constructor(t){this.container=t,this.modes=[o.Yzx.out]}update(t,i,e,s){if(!this.modes.includes(s))return;let n=this.container;if(t.outType===o.x_I.inside){let{x:i,y:e}=t.velocity;r.setTo(o.boI),r.length=t.moveCenter.radius,r.angle=t.velocity.angle+Math.PI,r.addTo(t.moveCenter);let{dx:s,dy:a}=(0,o.vrU)(t.position,r);if(i<=0&&s>=0||e<=0&&a>=0||i>=0&&s<=0||e>=0&&a<=0)return;t.position.x=Math.floor((0,o.vEz)({min:0,max:n.canvas.size.width})),t.position.y=Math.floor((0,o.vEz)({min:0,max:n.canvas.size.height}));let{dx:d,dy:c}=(0,o.vrU)(t.position,t.moveCenter);t.direction=Math.atan2(-c,-d),t.velocity.angle=t.direction}else{if((0,o.Tj8)(t.position,n.canvas.size,o.boI,t.getRadius(),i))return;switch(t.outType){case o.x_I.outside:{t.position.x=Math.floor((0,o.vEz)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor((0,o.vEz)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;let{dx:i,dy:e}=(0,o.vrU)(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(e,i),t.velocity.angle=t.direction);break}case o.x_I.normal:{let e=t.options.move.warp,s=n.canvas.size,a={bottom:s.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:s.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},r=t.getRadius(),d=(0,o.AEc)(t.position,r);i===o.v5k.right&&d.left>s.width+t.offset.x?(t.position.x=a.left,t.initialPosition.x=t.position.x,e||(t.position.y=(0,o.G0i)()*s.height,t.initialPosition.y=t.position.y)):i===o.v5k.left&&d.right<-t.offset.x&&(t.position.x=a.right,t.initialPosition.x=t.position.x,e||(t.position.y=(0,o.G0i)()*s.height,t.initialPosition.y=t.position.y)),i===o.v5k.bottom&&d.top>s.height+t.offset.y?(e||(t.position.x=(0,o.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=a.top,t.initialPosition.y=t.position.y):i===o.v5k.top&&d.bottom<-t.offset.y&&(e||(t.position.x=(0,o.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=a.bottom,t.initialPosition.y=t.position.y)}}}}}class c{updaters;container;constructor(t){this.container=t,this.updaters=new Map}init(t){this._addUpdaterIfMissing(t,o.Yzx.bounce,t=>new s(t)),this._addUpdaterIfMissing(t,o.Yzx.out,t=>new d(t)),this._addUpdaterIfMissing(t,o.Yzx.destroy,t=>new n(t)),this._addUpdaterIfMissing(t,o.Yzx.none,t=>new a(t))}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,i){let e=t.options.move.outModes;this._updateOutMode(t,i,e.bottom??e.default,o.v5k.bottom),this._updateOutMode(t,i,e.left??e.default,o.v5k.left),this._updateOutMode(t,i,e.right??e.default,o.v5k.right),this._updateOutMode(t,i,e.top??e.default,o.v5k.top)}_addUpdaterIfMissing=(t,i,e)=>{let o=t.options.move.outModes;this.updaters.has(i)||o.default!==i&&o.bottom!==i&&o.left!==i&&o.right!==i&&o.top!==i||this.updaters.set(i,e(this.container))};_updateOutMode=(t,i,e,o)=>{for(let s of this.updaters.values())s.update(t,o,i,e)}}}}]);
|
package/8379.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8379],{8379(e,t,a){async function n(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{ensureInteractivityPluginLoaded:t}=await a.e(9204).then(a.bind(a,9204));t(e),e.addInteractor?.("externalPause",async e=>{let{Pauser:t}=await a.e(5111).then(a.bind(a,5111));return new t(e)})})}a.r(t),a.d(t,{loadExternalPauseInteraction:()=>n})}}]);
|
package/8586.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8586],{8586(s,a,e){async function i(s){s.checkVersion("4.0.0-alpha.26"),await s.register(async s=>{let{HslColorManager:a}=await e.e(8255).then(e.bind(e,8255));s.addColorManager("hsl",new a)})}e.r(a),e.d(a,{loadHslColorPlugin:()=>i})}}]);
|
package/8879.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8879,9204],{8879(e,t,i){i.d(t,{Repulser:()=>c});var n=i(2005),s=i(9204),r=i(3663);let o="repulse";class c extends s.ExternalInteractorBase{handleClickMode;_clickVec;_engine;_maxDistance;_normVec;constructor(e,t){super(t),this._engine=e,this._maxDistance=0,this._normVec=n.Miz.origin,this._clickVec=n.Miz.origin,t.repulse??={particles:[]},this.handleClickMode=(e,i)=>{let s=this.container.actualOptions,r=s.interactivity?.modes.repulse;if(!r||e!==o)return;t.repulse??={particles:[]};let c=t.repulse;for(let e of(c.clicking=!0,c.count=0,t.repulse.particles))this.isEnabled(i,e)&&e.velocity.setTo(e.initialVelocity);c.particles=[],c.finish=!1,setTimeout(()=>{t.destroyed||(c.clicking=!1)},r.duration*n.XuV)}}get maxDistance(){return this._maxDistance}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.repulse;t&&(this._maxDistance=t.distance,e.retina.repulseModeDistance=t.distance*e.retina.pixelRatio)}interact(e){let t=this.container.actualOptions,i=e.status===s.mouseMoveEvent,r=t.interactivity?.events;if(!r)return;let c=r.onHover,a=c.enable,l=c.mode,u=r.onClick,d=u.enable,p=u.mode,h=r.onDiv;i&&a&&(0,n.hnD)(o,l)?this._hoverRepulse(e):d&&(0,n.hnD)(o,p)?this._clickRepulse(e):(0,s.divModeExecute)(o,h,(t,i)=>{this._singleSelectorRepulse(e,t,i)})}isEnabled(e,t){let i=this.container.actualOptions,r=e.mouse,c=(t?.interactivity??i.interactivity)?.events;if(!c)return!1;let a=c.onDiv,l=c.onHover,u=c.onClick,d=(0,s.isDivModeEnabled)(o,a);if(!(d||l.enable&&r.position||u.enable&&r.clickPosition))return!1;let p=l.mode,h=u.mode;return(0,n.hnD)(o,p)||(0,n.hnD)(o,h)||d}loadModeOptions(e,...t){for(let i of(e.repulse??=new r.Z,t))e.repulse.load(i?.repulse)}reset(){}_clickRepulse=e=>{let t=this.container,i=t.actualOptions.interactivity?.modes.repulse;if(!i)return;let s=t.repulse??{particles:[]};if(s.finish||(s.count??=0,s.count++,s.count===t.particles.count&&(s.finish=!0)),s.clicking){let r=t.retina.repulseModeDistance;if(!r||r<0)return;let o=Math.pow(r/6,3),c=e.mouse.clickPosition;if(void 0===c)return;let a=new n.jlt(c.x,c.y,o);for(let r of t.particles.grid.query(a,t=>this.isEnabled(e,t))){let{dx:e,dy:t,distance:a}=(0,n.vrU)(c,r.position),l=a**2,u=-o*i.speed/l;l<=o&&(s.particles.push(r),this._clickVec.x=e,this._clickVec.y=t,this._clickVec.length=u,r.velocity.setTo(this._clickVec))}}else if(!1===s.clicking){for(let e of s.particles)e.velocity.setTo(e.initialVelocity);s.particles=[]}};_hoverRepulse=e=>{let t=this.container,i=e.mouse.position,s=t.retina.repulseModeDistance;s&&!(s<0)&&i&&this._processRepulse(e,i,s,new n.jlt(i.x,i.y,s))};_processRepulse=(e,t,i,s,r)=>{let o=this.container,c=o.particles.grid.query(s,t=>this.isEnabled(e,t)),a=o.actualOptions.interactivity?.modes.repulse;if(!a)return;let{easing:l,speed:u,factor:d,maxSpeed:p}=a,h=this._engine.getEasing(l),v=(r?.speed??u)*d;for(let e of c){let{dx:s,dy:r,distance:o}=(0,n.vrU)(e.position,t),c=(0,n.qE8)(h(1-o/i)*v,0,p);this._normVec.x=o?s/o*c:v,this._normVec.y=o?r/o*c:v,e.position.addTo(this._normVec)}};_singleSelectorRepulse=(e,t,i)=>{let r=this.container,o=r.actualOptions.interactivity?.modes.repulse;if(!o)return;let c=(0,n.T5G)().querySelectorAll(t);c.length&&c.forEach(t=>{let c=r.retina.pixelRatio,a={x:(t.offsetLeft+t.offsetWidth*n.MXx)*c,y:(t.offsetTop+t.offsetHeight*n.MXx)*c},l=t.offsetWidth*n.MXx*c,u=i.type===s.DivType.circle?new n.jlt(a.x,a.y,l):new n.M_G(t.offsetLeft*c,t.offsetTop*c,t.offsetWidth*c,t.offsetHeight*c),d=o.divs,p=(0,s.divMode)(d,t);this._processRepulse(e,a,l,u,p)})}}},6201(e,t,i){var n,s;i.d(t,{Q:()=>n}),(s=n||(n={})).circle="circle",s.rectangle="rectangle"},4070(e,t,i){var n,s;i.d(t,{h:()=>n}),(s=n||(n={})).canvas="canvas",s.parent="parent",s.window="window"},6815(e,t,i){var n,s;i.d(t,{e:()=>n}),(s=n||(n={})).external="external",s.particles="particles"},2043(e,t,i){i.d(t,{Bp:()=>u,DG:()=>d,G3:()=>p,Rb:()=>a,Z0:()=>o,ms:()=>s,s7:()=>l,sf:()=>c,vo:()=>r,xO:()=>n});let n="click",s="pointerdown",r="pointerup",o="pointerleave",c="pointerout",a="pointermove",l="touchstart",u="touchend",d="touchmove",p="touchcancel"},1238(e,t,i){i.d(t,{G:()=>r});var n=i(2005),s=i(6201);class r{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=s.Q.circle}load(e){(0,n.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))}}},5626(e,t,i){i.d(t,{d:()=>s});var n=i(2005);class s{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,n.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let i of t)i.loadModeOptions&&i.loadModeOptions(this,e)}}},9204(e,t,i){i.r(t),i.d(t,{DivEvent:()=>v.G,DivType:()=>a.Q,ExternalInteractorBase:()=>r,InteractivityDetect:()=>l.h,InteractorType:()=>s.e,Modes:()=>f.d,ParticlesInteractorBase:()=>o,clickEvent:()=>c.xO,divMode:()=>h,divModeExecute:()=>d,ensureInteractivityPluginLoaded:()=>y,isDivModeEnabled:()=>u,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>c.ms,mouseLeaveEvent:()=>c.Z0,mouseMoveEvent:()=>c.Rb,mouseOutEvent:()=>c.sf,mouseUpEvent:()=>c.vo,singleDivModeExecute:()=>p,touchCancelEvent:()=>c.G3,touchEndEvent:()=>c.Bp,touchMoveEvent:()=>c.DG,touchStartEvent:()=>c.s7});var n=i(2005),s=i(6815);class r{type=s.e.external;container;constructor(e){this.container=e}}class o{type=s.e.particles;container;constructor(e){this.container=e}}var c=i(2043),a=i(6201),l=i(4070);function u(e,t){return!!(0,n.w3Z)(t,t=>t.enable&&(0,n.hnD)(e,t.mode))}function d(e,t,i){(0,n.wJ2)(t,t=>{let s=t.mode;t.enable&&(0,n.hnD)(e,s)&&p(t,i)})}function p(e,t){let i=e.selectors;(0,n.wJ2)(i,i=>{t(i,e)})}function h(e,t){if(t&&e)return(0,n.w3Z)(e,e=>{var i;let s;return i=e.selectors,s=(0,n.wJ2)(i,e=>t.matches(e)),(0,n.cyL)(s)?s.some(e=>e):s})}var v=i(1238),f=i(5626);async function m(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await i.e(5055).then(i.bind(i,5055));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,i)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,i)},e.getInteractors=async(t,i=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,n.HQK)(t,e.interactors,e.initializers.interactors,i)),e.setOnClickHandler=t=>{let{items:i}=e;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(e=>{e.addClickHandler?.(t)})}})}function y(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/8917.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[8917,9204],{8917(e,t,i){i.d(t,{Collider:()=>p});var o,s,n=i(2005),a=i(9204);(o=s||(s={})).absorb="absorb",o.bounce="bounce",o.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,i,o,s,a){if(!e.options.collisions||!i.options.collisions)return;let r=e.options.collisions.absorb.speed,l=(0,n.qE8)(r*s.factor,0,o);e.size.value=Math.sqrt(t*t+l*l),i.size.value-=l,i.size.value<=a&&(i.size.value=0,i.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 h(e,t){let i=e.getMass(),o=t.getMass(),s=e.velocity.length,a=t.velocity.length,r=i*s*s+o*a*a;(0,n.pEn)((0,n.Tgl)(e),(0,n.Tgl)(t));let l=e.velocity.length,c=t.velocity.length,d=i*l*l+o*c*c;if(d>1e-6*r){let i=Math.sqrt(r/d);Math.abs(i-1)>1e-4&&(e.velocity.length=l*i,t.velocity.length=c*i)}u(e),u(t)}class p extends a.ParticlesInteractorBase{maxDistance;constructor(e){super(e),this.maxDistance=0}clear(){}init(){}interact(e,t,i){if(e.destroyed||e.spawning)return;let o=this.container,a=e.getPosition(),r=e.getRadius();for(let t of o.particles.grid.queryCircle(a,r*n.gdl)){if(e===t||e.id>=t.id||!e.options.collisions?.enable||!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,i,o){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,i,o):d(t,a,e,n,i,o));break;case s.bounce:h(e,t);break;case s.destroy:let r,l;e.unbreakable||t.unbreakable||h(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,i,o.retina.pixelRatio)}}isEnabled(e){return!!e.options.collisions?.enable}loadParticlesOptions(e,...t){for(let i of(e.collisions??=new c,t))e.collisions.load(i?.collisions)}reset(){}}},6201(e,t,i){var o,s;i.d(t,{Q:()=>o}),(s=o||(o={})).circle="circle",s.rectangle="rectangle"},4070(e,t,i){var o,s;i.d(t,{h:()=>o}),(s=o||(o={})).canvas="canvas",s.parent="parent",s.window="window"},6815(e,t,i){var o,s;i.d(t,{e:()=>o}),(s=o||(o={})).external="external",s.particles="particles"},2043(e,t,i){i.d(t,{Bp:()=>d,DG:()=>u,G3:()=>h,Rb:()=>l,Z0:()=>a,ms:()=>s,s7:()=>c,sf:()=>r,vo:()=>n,xO:()=>o});let o="click",s="pointerdown",n="pointerup",a="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",u="touchmove",h="touchcancel"},1238(e,t,i){i.d(t,{G:()=>n});var o=i(2005),s=i(6201);class n{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=s.Q.circle}load(e){(0,o.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))}}},5626(e,t,i){i.d(t,{d:()=>s});var o=i(2005);class s{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,o.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let i of t)i.loadModeOptions&&i.loadModeOptions(this,e)}}},9204(e,t,i){i.r(t),i.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:()=>p,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>y,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>g,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>h,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(2005),s=i(6815);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=i(2043),l=i(6201),c=i(4070);function d(e,t){return!!(0,o.w3Z)(t,t=>t.enable&&(0,o.hnD)(e,t.mode))}function u(e,t,i){(0,o.wJ2)(t,t=>{let s=t.mode;t.enable&&(0,o.hnD)(e,s)&&h(t,i)})}function h(e,t){let i=e.selectors;(0,o.wJ2)(i,i=>{t(i,e)})}function p(e,t){if(t&&e)return(0,o.w3Z)(e,e=>{var i;let s;return i=e.selectors,s=(0,o.wJ2)(i,e=>t.matches(e)),(0,o.cyL)(s)?s.some(e=>e):s})}var v=i(1238),b=i(5626);async function g(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await i.e(5055).then(i.bind(i,5055));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,i)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,i)},e.getInteractors=async(t,i=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,o.HQK)(t,e.interactors,e.initializers.interactors,i)),e.setOnClickHandler=t=>{let{items:i}=e;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(e=>{e.addClickHandler?.(t)})}})}function y(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/9066.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9066],{545(t,a,s){s.d(a,{k:()=>r});var e=s(2005);class r{force;smooth;constructor(){this.force=2,this.smooth=10}load(t){(0,e.kZJ)(t)||(void 0!==t.force&&(this.force=t.force),void 0!==t.smooth&&(this.smooth=t.smooth))}}},9066(t,a,s){s.r(a),s.d(a,{Parallax:()=>e.k,loadExternalParallaxInteraction:()=>r});var e=s(545);async function r(t){t.checkVersion("4.0.0-alpha.26"),await t.register(async t=>{let{ensureInteractivityPluginLoaded:a}=await s.e(9204).then(s.bind(s,9204));a(t),t.addInteractor?.("externalParallax",async t=>{let{Parallaxer:a}=await s.e(6344).then(s.bind(s,6344));return new a(t)})})}}}]);
|
package/9163.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9163,9204],{9163(e,t,i){i.d(t,{Bouncer:()=>d});var n=i(9204),o=i(2005);let a=Math.PI*o.MXx;function r(e,t,i,n,r){for(let c of e.particles.grid.query(n,r))n instanceof o.jlt?(0,o.pEn)((0,o.Tgl)(c),{position:t,radius:i,mass:i**2*a,velocity:o.Miz.origin,factor:o.Miz.origin}):n instanceof o.M_G&&function(e,t){let i=e.getPosition(),n=e.getRadius(),a=(0,o.AEc)(i,n),r=e.options.bounce,c=s({pSide:{min:a.left,max:a.right},pOtherSide:{min:a.top,max:a.bottom},rectSide:{min:t.left,max:t.right},rectOtherSide:{min:t.top,max:t.bottom},velocity:e.velocity.x,factor:(0,o.VGA)(r.horizontal.value)});c.bounced&&(void 0!==c.velocity&&(e.velocity.x=c.velocity),void 0!==c.position&&(e.position.x=c.position));let l=s({pSide:{min:a.top,max:a.bottom},pOtherSide:{min:a.left,max:a.right},rectSide:{min:t.top,max:t.bottom},rectOtherSide:{min:t.left,max:t.right},velocity:e.velocity.y,factor:(0,o.VGA)(r.vertical.value)});l.bounced&&(void 0!==l.velocity&&(e.velocity.y=l.velocity),void 0!==l.position&&(e.position.y=l.position))}(c,(0,o.AEc)(t,i))}function s(e){let t={bounced:!1},{pSide:i,pOtherSide:n,rectSide:a,rectOtherSide:r,velocity:s,factor:c}=e;return n.min<r.min||n.min>r.max||n.max<r.min||n.max>r.max||(i.max>=a.min&&i.max<=(a.max+a.min)*o.MXx&&s>0||i.min<=a.max&&i.min>(a.max+a.min)*o.MXx&&s<0)&&(t.velocity=-(s*c),t.bounced=!0),t}var c=i(7693);let l="bounce";class d extends n.ExternalInteractorBase{_maxDistance;constructor(e){super(e),this._maxDistance=0}get maxDistance(){return this._maxDistance}clear(){}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.bounce;t&&(this._maxDistance=t.distance,e.retina.bounceModeDistance=t.distance*e.retina.pixelRatio)}interact(e){var t,i,a,s;let c=this.container.actualOptions,d=c.interactivity?.events,v=e.status===n.mouseMoveEvent;if(!d)return;let u=d.onHover.enable,h=d.onHover.mode,m=d.onDiv;if(v&&u&&(0,o.hnD)(l,h)){let n,a,s;t=this.container,i=t=>this.isEnabled(e,t),n=t.retina.pixelRatio,a=e.mouse.position,(s=t.retina.bounceModeDistance)&&!(s<0)&&a&&r(t,a,s,new o.jlt(a.x,a.y,s+10*n),i)}else a=this.container,s=t=>this.isEnabled(e,t),(0,n.divModeExecute)(l,m,(e,t)=>{let i;(i=(0,o.T5G)().querySelectorAll(e)).length&&i.forEach(e=>{let i=a.retina.pixelRatio,c={x:(e.offsetLeft+e.offsetWidth*o.MXx)*i,y:(e.offsetTop+e.offsetHeight*o.MXx)*i},l=e.offsetWidth*o.MXx*i,d=10*i,v=t.type===n.DivType.circle?new o.jlt(c.x,c.y,l+d):new o.M_G(e.offsetLeft*i-d,e.offsetTop*i-d,e.offsetWidth*i+d*o.gdl,e.offsetHeight*i+d*o.gdl);((e,t,i)=>{r(a,e,t,i,s)})(c,l,v)})})}isEnabled(e,t){let i=this.container.actualOptions,a=e.mouse,r=(t?.interactivity??i.interactivity)?.events;if(!r)return!1;let s=r.onDiv;return!!a.position&&r.onHover.enable&&(0,o.hnD)(l,r.onHover.mode)||(0,n.isDivModeEnabled)(l,s)}loadModeOptions(e,...t){for(let i of(e.bounce??=new c.b,t))e.bounce.load(i?.bounce)}reset(){}}},6201(e,t,i){var n,o;i.d(t,{Q:()=>n}),(o=n||(n={})).circle="circle",o.rectangle="rectangle"},4070(e,t,i){var n,o;i.d(t,{h:()=>n}),(o=n||(n={})).canvas="canvas",o.parent="parent",o.window="window"},6815(e,t,i){var n,o;i.d(t,{e:()=>n}),(o=n||(n={})).external="external",o.particles="particles"},2043(e,t,i){i.d(t,{Bp:()=>d,DG:()=>v,G3:()=>u,Rb:()=>c,Z0:()=>r,ms:()=>o,s7:()=>l,sf:()=>s,vo:()=>a,xO:()=>n});let n="click",o="pointerdown",a="pointerup",r="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",v="touchmove",u="touchcancel"},1238(e,t,i){i.d(t,{G:()=>a});var n=i(2005),o=i(6201);class a{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=o.Q.circle}load(e){(0,n.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))}}},5626(e,t,i){i.d(t,{d:()=>o});var n=i(2005);class o{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,n.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let i of t)i.loadModeOptions&&i.loadModeOptions(this,e)}}},9204(e,t,i){i.r(t),i.d(t,{DivEvent:()=>m.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>o.e,Modes:()=>p.d,ParticlesInteractorBase:()=>r,clickEvent:()=>s.xO,divMode:()=>h,divModeExecute:()=>v,ensureInteractivityPluginLoaded:()=>x,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>f,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 n=i(2005),o=i(6815);class a{type=o.e.external;container;constructor(e){this.container=e}}class r{type=o.e.particles;container;constructor(e){this.container=e}}var s=i(2043),c=i(6201),l=i(4070);function d(e,t){return!!(0,n.w3Z)(t,t=>t.enable&&(0,n.hnD)(e,t.mode))}function v(e,t,i){(0,n.wJ2)(t,t=>{let o=t.mode;t.enable&&(0,n.hnD)(e,o)&&u(t,i)})}function u(e,t){let i=e.selectors;(0,n.wJ2)(i,i=>{t(i,e)})}function h(e,t){if(t&&e)return(0,n.w3Z)(e,e=>{var i;let o;return i=e.selectors,o=(0,n.wJ2)(i,e=>t.matches(e)),(0,n.cyL)(o)?o.some(e=>e):o})}var m=i(1238),p=i(5626);async function f(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await i.e(5055).then(i.bind(i,5055));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,i)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,i)},e.getInteractors=async(t,i=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,n.HQK)(t,e.interactors,e.initializers.interactors,i)),e.setOnClickHandler=t=>{let{items:i}=e;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(e=>{e.addClickHandler?.(t)})}})}function x(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/9187.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9187,9204],{9187(e,t,i){i.d(t,{Bubbler:()=>c});var o,n,l=i(2005),a=i(9204),r=i(3033);function s(e,t,i,o){return t>=i?(0,l.qE8)(e+(t-i)*o,e,t):t<i?(0,l.qE8)(e-(i-t)*o,t,e):void 0}(o=n||(n={})).color="color",o.opacity="opacity",o.size="size";let b="bubble";class c extends a.ExternalInteractorBase{handleClickMode;_engine;_maxDistance;constructor(e,t){super(t),this._engine=e,this._maxDistance=0,t.bubble??={},this.handleClickMode=e=>{e===b&&(t.bubble??={},t.bubble.clicking=!0)}}get maxDistance(){return this._maxDistance}clear(e,t,i){(!e.bubble.inRange||i)&&(delete e.bubble.div,delete e.bubble.opacity,delete e.bubble.radius,delete e.bubble.color)}init(){let e=this.container,t=e.actualOptions.interactivity?.modes.bubble;t&&(this._maxDistance=t.distance,e.retina.bubbleModeDistance=t.distance*e.retina.pixelRatio,void 0!==t.size&&(e.retina.bubbleModeSize=t.size*e.retina.pixelRatio))}interact(e,t){let i=this.container.actualOptions,o=i.interactivity?.events;if(!o)return;let n=o.onHover,r=o.onClick,s=n.enable,c=n.mode,u=r.enable,d=r.mode,v=o.onDiv;s&&(0,l.hnD)(b,c)?this._hoverBubble(e):u&&(0,l.hnD)(b,d)?this._clickBubble(e):(0,a.divModeExecute)(b,v,(i,o)=>{this._singleSelectorHover(e,t,i,o)})}isEnabled(e,t){let i=this.container.actualOptions,o=e.mouse,n=(t?.interactivity??i.interactivity)?.events;if(!n)return!1;let{onClick:r,onDiv:s,onHover:c}=n,u=(0,a.isDivModeEnabled)(b,s);return!!(u||c.enable&&o.position||r.enable&&o.clickPosition)&&((0,l.hnD)(b,c.mode)||(0,l.hnD)(b,r.mode)||u)}loadModeOptions(e,...t){for(let i of(e.bubble??=new r.Z,t))e.bubble.load(i?.bubble)}reset(e,t){t.bubble.inRange=!1}_clickBubble=e=>{let t=this.container,i=t.actualOptions,o=e.mouse.clickPosition,a=i.interactivity?.modes.bubble;if(!a||!o)return;t.bubble??={};let r=t.retina.bubbleModeDistance;if(!r||r<0)return;let s=t.particles.grid.queryCircle(o,r,t=>this.isEnabled(e,t)),{bubble:b}=t;for(let i of s){if(!b.clicking)continue;i.bubble.inRange=!b.durationEnd;let s=i.getPosition(),c=(0,l.YfF)(s,o),u=(performance.now()-(e.mouse.clickTime??0))/l.XuV;u>a.duration&&(b.durationEnd=!0),u>a.duration*l.gdl&&(b.clicking=!1,b.durationEnd=!1);let d={bubbleObj:{optValue:t.retina.bubbleModeSize,value:i.bubble.radius},particlesObj:{optValue:(0,l.W9e)(i.options.size.value)*t.retina.pixelRatio,value:i.size.value},type:n.size};this._process(i,c,u,d);let v={bubbleObj:{optValue:a.opacity,value:i.bubble.opacity},particlesObj:{optValue:(0,l.W9e)(i.options.opacity.value),value:i.opacity?.value??1},type:n.opacity};this._process(i,c,u,v),!b.durationEnd&&c<=r?this._hoverBubbleColor(i,c):delete i.bubble.color}};_hoverBubble=e=>{let t=this.container,i=e.mouse.position,o=t.retina.bubbleModeDistance;if(o&&!(o<0)&&i)for(let n of t.particles.grid.queryCircle(i,o,t=>this.isEnabled(e,t))){n.bubble.inRange=!0;let t=n.getPosition(),r=(0,l.YfF)(t,i),s=1-r/o;r<=o?s>=0&&e.status===a.mouseMoveEvent&&(this._hoverBubbleSize(n,s),this._hoverBubbleOpacity(n,s),this._hoverBubbleColor(n,s)):this.reset(e,n),e.status===a.mouseLeaveEvent&&this.reset(e,n)}};_hoverBubbleColor=(e,t,i)=>{let o=this.container.actualOptions,n=i??o.interactivity?.modes.bubble;if(n){if(!e.bubble.finalColor){let t=n.color;if(!t)return;let i=(0,l.TA3)(t);e.bubble.finalColor=(0,l.R5R)(this._engine,i)}if(e.bubble.finalColor)if(n.mix){e.bubble.color=void 0;let i=e.getFillColor();e.bubble.color=i?(0,l.K6u)((0,l.EYT)(i,e.bubble.finalColor,1-t,t)):e.bubble.finalColor}else e.bubble.color=e.bubble.finalColor}};_hoverBubbleOpacity=(e,t,i)=>{let o=this.container.actualOptions,n=i?.opacity??o.interactivity?.modes.bubble?.opacity;if(!n)return;let a=e.options.opacity.value,r=s(e.opacity?.value??1,n,(0,l.W9e)(a),t);void 0!==r&&(e.bubble.opacity=r)};_hoverBubbleSize=(e,t,i)=>{let o=this.container,n=i?.size?i.size*o.retina.pixelRatio:o.retina.bubbleModeSize;if(void 0===n)return;let a=(0,l.W9e)(e.options.size.value)*o.retina.pixelRatio,r=s(e.size.value,n,a,t);void 0!==r&&(e.bubble.radius=r)};_process=(e,t,i,o)=>{let l=this.container,a=o.bubbleObj.optValue,r=l.actualOptions,s=r.interactivity?.modes.bubble;if(!s||void 0===a)return;let b=s.duration,c=l.retina.bubbleModeDistance,u=o.particlesObj.optValue,d=o.bubbleObj.value,v=o.particlesObj.value??0,p=o.type;if(c&&!(c<0)&&a!==u)if(l.bubble??={},l.bubble.durationEnd)d&&(p===n.size&&delete e.bubble.radius,p===n.opacity&&delete e.bubble.opacity);else if(t<=c){if((d??v)!==a){let t=v-i*(v-a)/b;p===n.size&&(e.bubble.radius=t),p===n.opacity&&(e.bubble.opacity=t)}}else p===n.size&&delete e.bubble.radius,p===n.opacity&&delete e.bubble.opacity};_singleSelectorHover=(e,t,i,o)=>{let n=this.container,r=(0,l.T5G)().querySelectorAll(i),s=n.actualOptions.interactivity?.modes.bubble;s&&r.length&&r.forEach(i=>{let r=n.retina.pixelRatio,b={x:(i.offsetLeft+i.offsetWidth*l.MXx)*r,y:(i.offsetTop+i.offsetHeight*l.MXx)*r},c=i.offsetWidth*l.MXx*r,u=o.type===a.DivType.circle?new l.jlt(b.x,b.y,c):new l.M_G(i.offsetLeft*r,i.offsetTop*r,i.offsetWidth*r,i.offsetHeight*r);for(let o of n.particles.grid.query(u,t=>this.isEnabled(e,t))){if(!u.contains(o.getPosition()))continue;o.bubble.inRange=!0;let e=s.divs,n=(0,a.divMode)(e,i);o.bubble.div&&o.bubble.div===i||(this.clear(o,t,!0),o.bubble.div=i),this._hoverBubbleSize(o,1,n),this._hoverBubbleOpacity(o,1,n),this._hoverBubbleColor(o,1,n)}})}}},6201(e,t,i){var o,n;i.d(t,{Q:()=>o}),(n=o||(o={})).circle="circle",n.rectangle="rectangle"},4070(e,t,i){var o,n;i.d(t,{h:()=>o}),(n=o||(o={})).canvas="canvas",n.parent="parent",n.window="window"},6815(e,t,i){var o,n;i.d(t,{e:()=>o}),(n=o||(o={})).external="external",n.particles="particles"},2043(e,t,i){i.d(t,{Bp:()=>c,DG:()=>u,G3:()=>d,Rb:()=>s,Z0:()=>a,ms:()=>n,s7:()=>b,sf:()=>r,vo:()=>l,xO:()=>o});let o="click",n="pointerdown",l="pointerup",a="pointerleave",r="pointerout",s="pointermove",b="touchstart",c="touchend",u="touchmove",d="touchcancel"},1238(e,t,i){i.d(t,{G:()=>l});var o=i(2005),n=i(6201);class l{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=n.Q.circle}load(e){(0,o.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))}}},5626(e,t,i){i.d(t,{d:()=>n});var o=i(2005);class n{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,o.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let i of t)i.loadModeOptions&&i.loadModeOptions(this,e)}}},9204(e,t,i){i.r(t),i.d(t,{DivEvent:()=>p.G,DivType:()=>s.Q,ExternalInteractorBase:()=>l,InteractivityDetect:()=>b.h,InteractorType:()=>n.e,Modes:()=>h.d,ParticlesInteractorBase:()=>a,clickEvent:()=>r.xO,divMode:()=>v,divModeExecute:()=>u,ensureInteractivityPluginLoaded:()=>y,isDivModeEnabled:()=>c,loadInteractivityPlugin:()=>f,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>d,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(2005),n=i(6815);class l{type=n.e.external;container;constructor(e){this.container=e}}class a{type=n.e.particles;container;constructor(e){this.container=e}}var r=i(2043),s=i(6201),b=i(4070);function c(e,t){return!!(0,o.w3Z)(t,t=>t.enable&&(0,o.hnD)(e,t.mode))}function u(e,t,i){(0,o.wJ2)(t,t=>{let n=t.mode;t.enable&&(0,o.hnD)(e,n)&&d(t,i)})}function d(e,t){let i=e.selectors;(0,o.wJ2)(i,i=>{t(i,e)})}function v(e,t){if(t&&e)return(0,o.w3Z)(e,e=>{var i;let n;return i=e.selectors,n=(0,o.wJ2)(i,e=>t.matches(e)),(0,o.cyL)(n)?n.some(e=>e):n})}var p=i(1238),h=i(5626);async function f(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await i.e(5055).then(i.bind(i,5055));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,i)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,i)},e.getInteractors=async(t,i=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,o.HQK)(t,e.interactors,e.initializers.interactors,i)),e.setOnClickHandler=t=>{let{items:i}=e;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(e=>{e.addClickHandler?.(t)})}})}function y(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
|
@@ -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([[9204],{6201(e,t,n){var i,r;n.d(t,{Q:()=>i}),(r=i||(i={})).circle="circle",r.rectangle="rectangle"},4070(e,t,n){var i,r;n.d(t,{h:()=>i}),(r=i||(i={})).canvas="canvas",r.parent="parent",r.window="window"},6815(e,t,n){var i,r;n.d(t,{e:()=>i}),(r=i||(i={})).external="external",r.particles="particles"},2043(e,t,n){n.d(t,{Bp:()=>d,DG:()=>v,G3:()=>h,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",h="touchcancel"},1238(e,t,n){n.d(t,{G:()=>a});var i=n(2005),r=n(6201);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))}}},5626(e,t,n){n.d(t,{d:()=>r});var i=n(2005);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)}}},9204(e,t,n){n.r(t),n.d(t,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>r.e,Modes:()=>w.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>u,divModeExecute:()=>v,ensureInteractivityPluginLoaded:()=>E,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,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(2005),r=n(6815);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(2043),c=n(6201),l=n(4070);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)&&h(t,n)})}function h(e,t){let n=e.selectors;(0,i.wJ2)(n,n=>{t(n,e)})}function u(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(1238),w=n(5626);async function m(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(5055).then(n.bind(n,5055));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 E(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/9337.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9337],{9337(t,a,e){async function i(t){t.checkVersion("4.0.0-alpha.26"),await t.register(t=>{t.addParticleUpdater("opacity",async t=>{let{OpacityUpdater:a}=await e.e(439).then(e.bind(e,439));return new a(t)})})}e.r(a),e.d(a,{loadOpacityUpdater:()=>i})}}]);
|
package/9395.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9395],{9395(e,a,s){async function t(e){e.checkVersion("4.0.0-alpha.26"),await e.register(e=>{e.addShape(["edge","square"],async()=>{let{SquareDrawer:e}=await s.e(296).then(s.bind(s,296));return new e})})}s.r(a),s.d(a,{loadSquareShape:()=>t})}}]);
|
package/9661.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9204,9661],{9661(e,t,n){n.d(t,{Remover:()=>s});var i=n(9204),r=n(2005),a=n(3445);let o="remove";class s extends i.ExternalInteractorBase{handleClickMode;maxDistance=0;constructor(e){super(e),this.handleClickMode=e=>{let t=this.container,n=t.actualOptions;if(!n.interactivity?.modes.remove||e!==o)return;let i=(0,r.VGA)(n.interactivity.modes.remove.quantity);t.particles.removeQuantity(i)}}clear(){}init(){}interact(){}isEnabled(e,t){let n=this.container.actualOptions,i=e.mouse,a=(t?.interactivity??n.interactivity)?.events;return!!a&&i.clicking&&i.inside&&!!i.position&&(0,r.hnD)(o,a.onClick.mode)}loadModeOptions(e,...t){for(let n of(e.remove??=new a.n,t))e.remove.load(n?.remove)}reset(){}}},6201(e,t,n){var i,r;n.d(t,{Q:()=>i}),(r=i||(i={})).circle="circle",r.rectangle="rectangle"},4070(e,t,n){var i,r;n.d(t,{h:()=>i}),(r=i||(i={})).canvas="canvas",r.parent="parent",r.window="window"},6815(e,t,n){var i,r;n.d(t,{e:()=>i}),(r=i||(i={})).external="external",r.particles="particles"},2043(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"},1238(e,t,n){n.d(t,{G:()=>a});var i=n(2005),r=n(6201);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))}}},5626(e,t,n){n.d(t,{d:()=>r});var i=n(2005);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)}}},9204(e,t,n){n.r(t),n.d(t,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>l.h,InteractorType:()=>r.e,Modes:()=>m.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>h,divModeExecute:()=>v,ensureInteractivityPluginLoaded:()=>y,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>w,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(2005),r=n(6815);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(2043),c=n(6201),l=n(4070);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 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(1238),m=n(5626);async function w(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(5055).then(n.bind(n,5055));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 y(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/9763.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9763],{9763(t,e,a){async function r(t){t.checkVersion("4.0.0-alpha.26"),await t.register(t=>{t.addParticleUpdater("strokeColor",async e=>{let{StrokeColorUpdater:r}=await a.e(6719).then(a.bind(a,6719));return new r(t,e)})})}a.r(e),a.d(e,{loadStrokeColorUpdater:()=>r})}}]);
|
package/9862.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[9862],{9862(e,a,i){async function s(e){e.checkVersion("4.0.0-alpha.26"),await e.register(e=>{e.addShape(["circle"],async()=>{let{CircleDrawer:e}=await i.e(1727).then(i.bind(i,1727));return new e})})}i.r(a),i.d(a,{loadCircleShape:()=>s})}}]);
|
package/995.min.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_slim=this.webpackChunk_tsparticles_slim||[]).push([[995],{3663(e,s,t){t.d(s,{Z:()=>r});var a=t(2005),i=t(6190),d=t(7224);class r extends i._{divs;load(e){super.load(e),(0,a.kZJ)(e)||(this.divs=(0,a.wJ2)(e.divs,e=>{let s=new d.W;return s.load(e),s}))}}},6190(e,s,t){t.d(s,{_:()=>i});var a=t(2005);class i{distance;duration;easing;factor;maxSpeed;speed;constructor(){this.distance=200,this.duration=.4,this.factor=100,this.speed=1,this.maxSpeed=50,this.easing=a.mgy.easeOutQuad}load(e){(0,a.kZJ)(e)||(void 0!==e.distance&&(this.distance=e.distance),void 0!==e.duration&&(this.duration=e.duration),void 0!==e.easing&&(this.easing=e.easing),void 0!==e.factor&&(this.factor=e.factor),void 0!==e.speed&&(this.speed=e.speed),void 0!==e.maxSpeed&&(this.maxSpeed=e.maxSpeed))}}},7224(e,s,t){t.d(s,{W:()=>d});var a=t(2005),i=t(6190);class d extends i._{selectors;constructor(){super(),this.selectors=[]}load(e){super.load(e),(0,a.kZJ)(e)||void 0!==e.selectors&&(this.selectors=e.selectors)}}},995(e,s,t){t.r(s),t.d(s,{Repulse:()=>d.Z,RepulseBase:()=>a._,RepulseDiv:()=>i.W,loadExternalRepulseInteraction:()=>r});var a=t(6190),i=t(7224),d=t(3663);async function r(e){e.checkVersion("4.0.0-alpha.26"),await e.register(async s=>{let{ensureInteractivityPluginLoaded:a}=await t.e(9204).then(t.bind(t,9204));a(s),s.addInteractor?.("externalRepulse",async s=>{let{Repulser:a}=await t.e(8879).then(t.bind(t,8879));return new a(e,s)})})}}}]);
|
|
@@ -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.26
|
|
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.26\");\n await engine.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadMovePlugin }, { 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() */ \"plugins_move_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-move */ \"../../plugins/move/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 loadMovePlugin(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.26");
|
|
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.26");
|
|
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"),
|
|
@@ -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.26
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
43
43
|
\**************************************************/
|
|
44
44
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
45
45
|
|
|
46
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particle: () => (/* binding */ Particle)\n/* harmony export */ });\n/* harmony import */ var _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Types/ParticleOutType.js */ \"../../engine/dist/browser/Enums/Types/ParticleOutType.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\nfunction loadEffectData(effect, effectOptions, id, reduceDuplicates) {\n const effectData = effectOptions.options[effect];\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.deepExtend)({\n close: effectOptions.close,\n fill: effectOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromSingleOrMultiple)(effectData, id, reduceDuplicates));\n}\nfunction loadShapeData(shape, shapeOptions, id, reduceDuplicates) {\n const shapeData = shapeOptions.options[shape];\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.deepExtend)({\n close: shapeOptions.close,\n fill: shapeOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromSingleOrMultiple)(shapeData, id, reduceDuplicates));\n}\nfunction fixOutMode(data) {\n if (!(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.isInArray)(data.outMode, data.checkModes)) {\n return;\n }\n const diameter = data.radius * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.double;\n if (data.coord > data.maxCoord - diameter) {\n data.setCb(-data.radius);\n } else if (data.coord < diameter) {\n data.setCb(data.radius);\n }\n}\nclass Particle {\n container;\n backColor;\n bubble;\n color;\n destroyed;\n direction;\n effect;\n effectClose;\n effectData;\n effectFill;\n group;\n id;\n ignoresResizeRatio;\n initialPosition;\n initialVelocity;\n isRotating;\n lastPathTime;\n misplaced;\n moveCenter;\n moveDecay;\n offset;\n opacity;\n options;\n outType;\n pathDelay;\n pathGenerator;\n pathRotation;\n position;\n randomIndexData;\n retina;\n roll;\n rotation;\n shape;\n shapeClose;\n shapeData;\n shapeFill;\n sides;\n size;\n slow;\n spawning;\n strokeColor;\n strokeOpacity;\n strokeWidth;\n unbreakable;\n velocity;\n zIndexFactor;\n _cachedOpacityData = {\n opacity: _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultOpacity,\n strokeOpacity: _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultOpacity\n };\n _cachedPosition = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.origin;\n _cachedRotateData = {\n sin: 0,\n cos: 0\n };\n _cachedTransform = {\n a: 1,\n b: 0,\n c: 0,\n d: 1\n };\n _engine;\n constructor(engine, container){\n this.container = container;\n this._engine = engine;\n }\n destroy(override) {\n if (this.unbreakable || this.destroyed) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n this.slow.inRange = false;\n const container = this.container, pathGenerator = this.pathGenerator, shapeDrawer = this.shape ? container.particles.shapeDrawers.get(this.shape) : undefined;\n shapeDrawer?.particleDestroy?.(this);\n for (const plugin of container.particleDestroyedPlugins){\n plugin.particleDestroyed?.(this, override);\n }\n for (const updater of container.particles.updaters){\n updater.particleDestroyed?.(this, override);\n }\n pathGenerator?.reset(this);\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.particleDestroyed, {\n container: this.container,\n data: {\n particle: this\n }\n });\n }\n draw(delta) {\n const container = this.container, canvas = container.canvas;\n canvas.drawParticlePlugins(this, delta);\n canvas.drawParticle(this, delta);\n }\n getAngle() {\n return this.rotation + (this.pathRotation ? this.velocity.angle : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultAngle);\n }\n getFillColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.getHslFromAnimation)(this.color));\n }\n getMass() {\n return this.getRadius() ** _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.squareExp * Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.half;\n }\n getOpacity() {\n const zIndexOptions = this.options.zIndex, zIndexFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.zIndexFactorOffset - this.zIndexFactor, zOpacityFactor = zIndexFactor ** zIndexOptions.opacityRate, opacity = this.bubble.opacity ?? (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(this.opacity?.value ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultOpacity), strokeOpacity = this.strokeOpacity ?? opacity;\n this._cachedOpacityData.opacity = opacity * zOpacityFactor;\n this._cachedOpacityData.strokeOpacity = strokeOpacity * zOpacityFactor;\n return this._cachedOpacityData;\n }\n getPosition() {\n this._cachedPosition.x = this.position.x + this.offset.x;\n this._cachedPosition.y = this.position.y + this.offset.y;\n this._cachedPosition.z = this.position.z;\n return this._cachedPosition;\n }\n getRadius() {\n return this.bubble.radius ?? this.size.value;\n }\n getRotateData() {\n const angle = this.getAngle();\n this._cachedRotateData.sin = Math.sin(angle);\n this._cachedRotateData.cos = Math.cos(angle);\n return this._cachedRotateData;\n }\n getStrokeColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.getHslFromAnimation)(this.strokeColor));\n }\n getTransformData(externalTransform) {\n const rotateData = this.getRotateData(), rotating = this.isRotating;\n this._cachedTransform.a = rotateData.cos * (externalTransform.a ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultTransform.a);\n this._cachedTransform.b = rotating ? rotateData.sin * (externalTransform.b ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.identity) : externalTransform.b ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultTransform.b;\n this._cachedTransform.c = rotating ? -rotateData.sin * (externalTransform.c ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.identity) : externalTransform.c ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultTransform.c;\n this._cachedTransform.d = rotateData.cos * (externalTransform.d ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultTransform.d);\n return this._cachedTransform;\n }\n init(id, position, overrideOptions, group) {\n const container = this.container;\n this.id = id;\n this.group = group;\n this.effectClose = true;\n this.effectFill = true;\n this.shapeClose = true;\n this.shapeFill = true;\n this.pathRotation = false;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.isRotating = false;\n this.rotation = 0;\n this.misplaced = false;\n this.retina = {\n maxDistance: {}\n };\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__.ParticleOutType.normal;\n this.ignoresResizeRatio = true;\n const pxRatio = container.retina.pixelRatio, mainOptions = container.actualOptions, particlesOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__.loadParticlesOptions)(this._engine, container, mainOptions.particles), reduceDuplicates = particlesOptions.reduceDuplicates, effectType = particlesOptions.effect.type, shapeType = particlesOptions.shape.type;\n this.effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromSingleOrMultiple)(effectType, this.id, reduceDuplicates);\n this.shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromSingleOrMultiple)(shapeType, this.id, reduceDuplicates);\n const effectOptions = particlesOptions.effect, shapeOptions = particlesOptions.shape;\n if (overrideOptions) {\n if (overrideOptions.effect?.type) {\n const overrideEffectType = overrideOptions.effect.type, effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromSingleOrMultiple)(overrideEffectType, this.id, reduceDuplicates);\n if (effect) {\n this.effect = effect;\n effectOptions.load(overrideOptions.effect);\n }\n }\n if (overrideOptions.shape?.type) {\n const overrideShapeType = overrideOptions.shape.type, shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromSingleOrMultiple)(overrideShapeType, this.id, reduceDuplicates);\n if (shape) {\n this.shape = shape;\n shapeOptions.load(overrideOptions.shape);\n }\n }\n }\n if (this.effect === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.randomColorValue) {\n const availableEffects = [\n ...this.container.particles.effectDrawers.keys()\n ];\n this.effect = availableEffects[Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRandom)() * availableEffects.length)];\n }\n if (this.shape === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.randomColorValue) {\n const availableShapes = [\n ...this.container.particles.shapeDrawers.keys()\n ];\n this.shape = availableShapes[Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRandom)() * availableShapes.length)];\n }\n this.effectData = this.effect ? loadEffectData(this.effect, effectOptions, this.id, reduceDuplicates) : undefined;\n this.shapeData = this.shape ? loadShapeData(this.shape, shapeOptions, this.id, reduceDuplicates) : undefined;\n particlesOptions.load(overrideOptions);\n const effectData = this.effectData;\n if (effectData) {\n particlesOptions.load(effectData.particles);\n }\n const shapeData = this.shapeData;\n if (shapeData) {\n particlesOptions.load(shapeData.particles);\n }\n this.effectFill = effectData?.fill ?? particlesOptions.effect.fill;\n this.effectClose = effectData?.close ?? particlesOptions.effect.close;\n this.shapeFill = shapeData?.fill ?? particlesOptions.shape.fill;\n this.shapeClose = shapeData?.close ?? particlesOptions.shape.close;\n this.options = particlesOptions;\n const pathOptions = this.options.move.path;\n this.pathDelay = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(pathOptions.delay.value) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.millisecondsToSeconds;\n if (pathOptions.generator) {\n let pathGenerator = this.container.particles.pathGenerators.get(pathOptions.generator);\n if (!pathGenerator) {\n pathGenerator = this.container.particles.availablePathGenerators.get(pathOptions.generator);\n if (pathGenerator) {\n this.container.particles.pathGenerators.set(pathOptions.generator, pathGenerator);\n pathGenerator.init();\n }\n }\n this.pathGenerator = pathGenerator;\n }\n container.retina.initParticle(this);\n this.size = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.initParticleNumericAnimationValue)(this.options.size, pxRatio);\n this.bubble = {\n inRange: false\n };\n this.slow = {\n inRange: false,\n factor: 1\n };\n this._initPosition(position);\n this.initialVelocity = this._calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n this.moveDecay = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.decayOffset - (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(this.options.move.decay);\n const particles = container.particles;\n particles.setLastZIndex(this.position.z);\n this.zIndexFactor = this.position.z / container.zLayers;\n this.sides = 24;\n let effectDrawer, shapeDrawer;\n if (this.effect) {\n effectDrawer = container.particles.effectDrawers.get(this.effect);\n }\n if (effectDrawer?.loadEffect) {\n effectDrawer.loadEffect(this);\n }\n if (this.shape) {\n shapeDrawer = container.particles.shapeDrawers.get(this.shape);\n }\n if (shapeDrawer?.loadShape) {\n shapeDrawer.loadShape(this);\n }\n const sideCountFunc = shapeDrawer?.getSidesCount;\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n this.spawning = false;\n for (const updater of particles.updaters){\n updater.init(this);\n }\n for (const mover of particles.movers){\n mover.init(this);\n }\n effectDrawer?.particleInit?.(container, this);\n shapeDrawer?.particleInit?.(container, this);\n for (const plugin of container.particleCreatedPlugins){\n plugin.particleCreated?.(this);\n }\n }\n isInsideCanvas() {\n const radius = this.getRadius(), canvasSize = this.container.canvas.size, position = this.position;\n return position.x >= -radius && position.y >= -radius && position.y <= canvasSize.height + radius && position.x <= canvasSize.width + radius;\n }\n isShowingBack() {\n if (!this.roll) {\n return false;\n }\n const angle = this.roll.angle;\n if (this.roll.horizontal && this.roll.vertical) {\n const normalizedAngle = angle % _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.doublePI, adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultAngle ? normalizedAngle + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.doublePI : normalizedAngle;\n return adjustedAngle >= Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.half && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.triple * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.half;\n }\n if (this.roll.horizontal) {\n const normalizedAngle = (angle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.half) % (Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.double), adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultAngle ? normalizedAngle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.double : normalizedAngle;\n return adjustedAngle >= Math.PI && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.double;\n }\n if (this.roll.vertical) {\n const normalizedAngle = angle % (Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.double), adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultAngle ? normalizedAngle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.double : normalizedAngle;\n return adjustedAngle >= Math.PI && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.double;\n }\n return false;\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n reset() {\n for (const updater of this.container.particles.updaters){\n updater.reset?.(this);\n }\n }\n _calcPosition = (position, zIndex)=>{\n let tryCount = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultRetryCount, posVec = position ? _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(position.x, position.y, zIndex) : undefined;\n const container = this.container, plugins = container.particlePositionPlugins, outModes = this.options.move.outModes, radius = this.getRadius(), canvasSize = container.canvas.size, abortController = new AbortController(), { signal } = abortController;\n while(!signal.aborted){\n for (const plugin of plugins){\n const pluginPos = plugin.particlePosition?.(posVec, this);\n if (pluginPos) {\n return _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const exactPosition = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.calcExactPositionOrRandomFromSize)({\n size: canvasSize,\n position: posVec\n }), pos = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(exactPosition.x, exactPosition.y, zIndex);\n this._fixHorizontal(pos, radius, outModes.left ?? outModes.default);\n this._fixHorizontal(pos, radius, outModes.right ?? outModes.default);\n this._fixVertical(pos, radius, outModes.top ?? outModes.default);\n this._fixVertical(pos, radius, outModes.bottom ?? outModes.default);\n let isValidPosition = true;\n for (const plugin of container.particles.checkParticlePositionPlugins){\n isValidPosition = plugin.checkParticlePosition?.(this, pos, tryCount) ?? true;\n if (!isValidPosition) {\n break;\n }\n }\n if (isValidPosition) {\n return pos;\n }\n tryCount += _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.tryCountIncrement;\n posVec = undefined;\n }\n return posVec;\n };\n _calculateVelocity = ()=>{\n const baseVelocity = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getParticleBaseVelocity)(this.direction), res = baseVelocity.copy(), moveOptions = this.options.move;\n if (moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.inside || moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.outside) {\n return res;\n }\n const rad = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.degToRad)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(moveOptions.angle.value)), radOffset = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.degToRad)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(moveOptions.angle.offset)), range = {\n left: radOffset - rad * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.half,\n right: radOffset + rad * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.half\n };\n if (!moveOptions.straight) {\n res.angle += (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.randomInRangeValue)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRandom)();\n }\n return res;\n };\n _fixHorizontal = (pos, radius, outMode)=>{\n fixOutMode({\n outMode,\n checkModes: [\n _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_7__.OutMode.bounce\n ],\n coord: pos.x,\n maxCoord: this.container.canvas.size.width,\n setCb: (value)=>pos.x += value,\n radius\n });\n };\n _fixVertical = (pos, radius, outMode)=>{\n fixOutMode({\n outMode,\n checkModes: [\n _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_7__.OutMode.bounce\n ],\n coord: pos.y,\n maxCoord: this.container.canvas.size.height,\n setCb: (value)=>pos.y += value,\n radius\n });\n };\n _getRollColor = (color)=>{\n if (!color || !this.roll || !this.backColor && !this.roll.alter) {\n return color;\n }\n if (!this.isShowingBack()) {\n return color;\n }\n if (this.backColor) {\n return this.backColor;\n }\n if (this.roll.alter) {\n return (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.alterHsl)(color, this.roll.alter.type, this.roll.alter.value);\n }\n return color;\n };\n _initPosition = (position)=>{\n const container = this.container, zIndexValue = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(this.options.zIndex.value), initialPosition = this._calcPosition(position, (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.clamp)(zIndexValue, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.minZ, container.zLayers));\n if (!initialPosition) {\n throw new Error(\"a valid position cannot be found for particle\");\n }\n this.position = initialPosition;\n this.initialPosition = this.position.copy();\n const canvasSize = container.canvas.size;\n this.moveCenter = {\n ...(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.getPosition)(this.options.move.center, canvasSize),\n radius: this.options.move.center.radius,\n mode: this.options.move.center.mode\n };\n this.direction = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getParticleDirectionAngle)(this.options.move.direction, this.position, this.moveCenter);\n switch(this.options.move.direction){\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.inside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__.ParticleOutType.inside;\n break;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.outside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__.ParticleOutType.outside;\n break;\n default:\n break;\n }\n this.offset = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../engine/dist/browser/Core/Particle.js?\n}");
|
|
46
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particle: () => (/* binding */ Particle)\n/* harmony export */ });\n/* harmony import */ var _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Types/ParticleOutType.js */ \"../../engine/dist/browser/Enums/Types/ParticleOutType.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\nfunction loadEffectData(effect, effectOptions, id, reduceDuplicates) {\n const effectData = effectOptions.options[effect];\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.deepExtend)({\n close: effectOptions.close,\n fill: effectOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(effectData, id, reduceDuplicates));\n}\nfunction loadShapeData(shape, shapeOptions, id, reduceDuplicates) {\n const shapeData = shapeOptions.options[shape];\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.deepExtend)({\n close: shapeOptions.close,\n fill: shapeOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(shapeData, id, reduceDuplicates));\n}\nfunction fixOutMode(data) {\n if (!(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.isInArray)(data.outMode, data.checkModes)) {\n return;\n }\n const diameter = data.radius * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.double;\n if (data.coord > data.maxCoord - diameter) {\n data.setCb(-data.radius);\n } else if (data.coord < diameter) {\n data.setCb(data.radius);\n }\n}\nclass Particle {\n container;\n backColor;\n bubble;\n color;\n destroyed;\n direction;\n effect;\n effectClose;\n effectData;\n effectFill;\n group;\n id;\n ignoresResizeRatio;\n initialPosition;\n initialVelocity;\n isRotating;\n lastPathTime;\n misplaced;\n moveCenter;\n offset;\n opacity;\n options;\n outType;\n pathRotation;\n position;\n randomIndexData;\n retina;\n roll;\n rotation;\n shape;\n shapeClose;\n shapeData;\n shapeFill;\n sides;\n size;\n slow;\n spawning;\n strokeColor;\n strokeOpacity;\n strokeWidth;\n unbreakable;\n velocity;\n zIndexFactor;\n _cachedOpacityData = {\n opacity: _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultOpacity,\n strokeOpacity: _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultOpacity\n };\n _cachedPosition = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.origin;\n _cachedRotateData = {\n sin: 0,\n cos: 0\n };\n _cachedTransform = {\n a: 1,\n b: 0,\n c: 0,\n d: 1\n };\n _engine;\n constructor(engine, container){\n this.container = container;\n this._engine = engine;\n }\n destroy(override) {\n if (this.unbreakable || this.destroyed) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n this.slow.inRange = false;\n const container = this.container, shapeDrawer = this.shape ? container.particles.shapeDrawers.get(this.shape) : undefined;\n shapeDrawer?.particleDestroy?.(this);\n for (const plugin of container.particleDestroyedPlugins){\n plugin.particleDestroyed?.(this, override);\n }\n for (const updater of container.particles.updaters){\n updater.particleDestroyed?.(this, override);\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.particleDestroyed, {\n container: this.container,\n data: {\n particle: this\n }\n });\n }\n draw(delta) {\n const container = this.container, canvas = container.canvas;\n canvas.drawParticlePlugins(this, delta);\n canvas.drawParticle(this, delta);\n }\n getAngle() {\n return this.rotation + (this.pathRotation ? this.velocity.angle : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultAngle);\n }\n getFillColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.getHslFromAnimation)(this.color));\n }\n getMass() {\n return this.getRadius() ** _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.squareExp * Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.half;\n }\n getOpacity() {\n const zIndexOptions = this.options.zIndex, zIndexFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.zIndexFactorOffset - this.zIndexFactor, zOpacityFactor = zIndexFactor ** zIndexOptions.opacityRate, opacity = this.bubble.opacity ?? (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(this.opacity?.value ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultOpacity), strokeOpacity = this.strokeOpacity ?? opacity;\n this._cachedOpacityData.opacity = opacity * zOpacityFactor;\n this._cachedOpacityData.strokeOpacity = strokeOpacity * zOpacityFactor;\n return this._cachedOpacityData;\n }\n getPosition() {\n this._cachedPosition.x = this.position.x + this.offset.x;\n this._cachedPosition.y = this.position.y + this.offset.y;\n this._cachedPosition.z = this.position.z;\n return this._cachedPosition;\n }\n getRadius() {\n return this.bubble.radius ?? this.size.value;\n }\n getRotateData() {\n const angle = this.getAngle();\n this._cachedRotateData.sin = Math.sin(angle);\n this._cachedRotateData.cos = Math.cos(angle);\n return this._cachedRotateData;\n }\n getStrokeColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.getHslFromAnimation)(this.strokeColor));\n }\n getTransformData(externalTransform) {\n const rotateData = this.getRotateData(), rotating = this.isRotating;\n this._cachedTransform.a = rotateData.cos * (externalTransform.a ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultTransform.a);\n this._cachedTransform.b = rotating ? rotateData.sin * (externalTransform.b ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.identity) : externalTransform.b ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultTransform.b;\n this._cachedTransform.c = rotating ? -rotateData.sin * (externalTransform.c ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.identity) : externalTransform.c ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultTransform.c;\n this._cachedTransform.d = rotateData.cos * (externalTransform.d ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultTransform.d);\n return this._cachedTransform;\n }\n init(id, position, overrideOptions, group) {\n const container = this.container;\n this.id = id;\n this.group = group;\n this.effectClose = true;\n this.effectFill = true;\n this.shapeClose = true;\n this.shapeFill = true;\n this.pathRotation = false;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.isRotating = false;\n this.rotation = 0;\n this.misplaced = false;\n this.retina = {\n maxDistance: {}\n };\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__.ParticleOutType.normal;\n this.ignoresResizeRatio = true;\n const pxRatio = container.retina.pixelRatio, mainOptions = container.actualOptions, particlesOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__.loadParticlesOptions)(this._engine, container, mainOptions.particles), reduceDuplicates = particlesOptions.reduceDuplicates, effectType = particlesOptions.effect.type, shapeType = particlesOptions.shape.type;\n this.effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(effectType, this.id, reduceDuplicates);\n this.shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(shapeType, this.id, reduceDuplicates);\n const effectOptions = particlesOptions.effect, shapeOptions = particlesOptions.shape;\n if (overrideOptions) {\n if (overrideOptions.effect?.type) {\n const overrideEffectType = overrideOptions.effect.type, effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(overrideEffectType, this.id, reduceDuplicates);\n if (effect) {\n this.effect = effect;\n effectOptions.load(overrideOptions.effect);\n }\n }\n if (overrideOptions.shape?.type) {\n const overrideShapeType = overrideOptions.shape.type, shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(overrideShapeType, this.id, reduceDuplicates);\n if (shape) {\n this.shape = shape;\n shapeOptions.load(overrideOptions.shape);\n }\n }\n }\n if (this.effect === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.randomColorValue) {\n const availableEffects = [\n ...this.container.particles.effectDrawers.keys()\n ];\n this.effect = availableEffects[Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRandom)() * availableEffects.length)];\n }\n if (this.shape === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.randomColorValue) {\n const availableShapes = [\n ...this.container.particles.shapeDrawers.keys()\n ];\n this.shape = availableShapes[Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRandom)() * availableShapes.length)];\n }\n this.effectData = this.effect ? loadEffectData(this.effect, effectOptions, this.id, reduceDuplicates) : undefined;\n this.shapeData = this.shape ? loadShapeData(this.shape, shapeOptions, this.id, reduceDuplicates) : undefined;\n particlesOptions.load(overrideOptions);\n const effectData = this.effectData;\n if (effectData) {\n particlesOptions.load(effectData.particles);\n }\n const shapeData = this.shapeData;\n if (shapeData) {\n particlesOptions.load(shapeData.particles);\n }\n this.effectFill = effectData?.fill ?? particlesOptions.effect.fill;\n this.effectClose = effectData?.close ?? particlesOptions.effect.close;\n this.shapeFill = shapeData?.fill ?? particlesOptions.shape.fill;\n this.shapeClose = shapeData?.close ?? particlesOptions.shape.close;\n this.options = particlesOptions;\n container.retina.initParticle(this);\n this.size = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.initParticleNumericAnimationValue)(this.options.size, pxRatio);\n this.bubble = {\n inRange: false\n };\n this.slow = {\n inRange: false,\n factor: 1\n };\n this._initPosition(position);\n this.initialVelocity = this._calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n const particles = container.particles;\n particles.setLastZIndex(this.position.z);\n this.zIndexFactor = this.position.z / container.zLayers;\n this.sides = 24;\n let effectDrawer, shapeDrawer;\n if (this.effect) {\n effectDrawer = container.particles.effectDrawers.get(this.effect);\n }\n if (effectDrawer?.loadEffect) {\n effectDrawer.loadEffect(this);\n }\n if (this.shape) {\n shapeDrawer = container.particles.shapeDrawers.get(this.shape);\n }\n if (shapeDrawer?.loadShape) {\n shapeDrawer.loadShape(this);\n }\n const sideCountFunc = shapeDrawer?.getSidesCount;\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n this.spawning = false;\n for (const updater of particles.updaters){\n updater.init(this);\n }\n effectDrawer?.particleInit?.(container, this);\n shapeDrawer?.particleInit?.(container, this);\n for (const plugin of container.particleCreatedPlugins){\n plugin.particleCreated?.(this);\n }\n }\n isInsideCanvas() {\n const radius = this.getRadius(), canvasSize = this.container.canvas.size, position = this.position;\n return position.x >= -radius && position.y >= -radius && position.y <= canvasSize.height + radius && position.x <= canvasSize.width + radius;\n }\n isShowingBack() {\n if (!this.roll) {\n return false;\n }\n const angle = this.roll.angle;\n if (this.roll.horizontal && this.roll.vertical) {\n const normalizedAngle = angle % _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.doublePI, adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultAngle ? normalizedAngle + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.doublePI : normalizedAngle;\n return adjustedAngle >= Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.half && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.triple * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.half;\n }\n if (this.roll.horizontal) {\n const normalizedAngle = (angle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.half) % (Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.double), adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultAngle ? normalizedAngle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.double : normalizedAngle;\n return adjustedAngle >= Math.PI && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.double;\n }\n if (this.roll.vertical) {\n const normalizedAngle = angle % (Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.double), adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultAngle ? normalizedAngle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.double : normalizedAngle;\n return adjustedAngle >= Math.PI && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.double;\n }\n return false;\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n reset() {\n for (const updater of this.container.particles.updaters){\n updater.reset?.(this);\n }\n }\n _calcPosition = (position, zIndex)=>{\n let tryCount = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.defaultRetryCount, posVec = position ? _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(position.x, position.y, zIndex) : undefined;\n const container = this.container, plugins = container.particlePositionPlugins, outModes = this.options.move.outModes, radius = this.getRadius(), canvasSize = container.canvas.size, abortController = new AbortController(), { signal } = abortController;\n while(!signal.aborted){\n for (const plugin of plugins){\n const pluginPos = plugin.particlePosition?.(posVec, this);\n if (pluginPos) {\n return _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const exactPosition = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.calcExactPositionOrRandomFromSize)({\n size: canvasSize,\n position: posVec\n }), pos = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(exactPosition.x, exactPosition.y, zIndex);\n this._fixHorizontal(pos, radius, outModes.left ?? outModes.default);\n this._fixHorizontal(pos, radius, outModes.right ?? outModes.default);\n this._fixVertical(pos, radius, outModes.top ?? outModes.default);\n this._fixVertical(pos, radius, outModes.bottom ?? outModes.default);\n let isValidPosition = true;\n for (const plugin of container.particles.checkParticlePositionPlugins){\n isValidPosition = plugin.checkParticlePosition?.(this, pos, tryCount) ?? true;\n if (!isValidPosition) {\n break;\n }\n }\n if (isValidPosition) {\n return pos;\n }\n tryCount += _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.tryCountIncrement;\n posVec = undefined;\n }\n return posVec;\n };\n _calculateVelocity = ()=>{\n const baseVelocity = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getParticleBaseVelocity)(this.direction), res = baseVelocity.copy(), moveOptions = this.options.move;\n if (moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.inside || moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.outside) {\n return res;\n }\n const rad = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.degToRad)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(moveOptions.angle.value)), radOffset = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.degToRad)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(moveOptions.angle.offset)), range = {\n left: radOffset - rad * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.half,\n right: radOffset + rad * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.half\n };\n if (!moveOptions.straight) {\n res.angle += (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.randomInRangeValue)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRandom)();\n }\n return res;\n };\n _fixHorizontal = (pos, radius, outMode)=>{\n fixOutMode({\n outMode,\n checkModes: [\n _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_7__.OutMode.bounce\n ],\n coord: pos.x,\n maxCoord: this.container.canvas.size.width,\n setCb: (value)=>pos.x += value,\n radius\n });\n };\n _fixVertical = (pos, radius, outMode)=>{\n fixOutMode({\n outMode,\n checkModes: [\n _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_7__.OutMode.bounce\n ],\n coord: pos.y,\n maxCoord: this.container.canvas.size.height,\n setCb: (value)=>pos.y += value,\n radius\n });\n };\n _getRollColor = (color)=>{\n if (!color || !this.roll || !this.backColor && !this.roll.alter) {\n return color;\n }\n if (!this.isShowingBack()) {\n return color;\n }\n if (this.backColor) {\n return this.backColor;\n }\n if (this.roll.alter) {\n return (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.alterHsl)(color, this.roll.alter.type, this.roll.alter.value);\n }\n return color;\n };\n _initPosition = (position)=>{\n const container = this.container, zIndexValue = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue)(this.options.zIndex.value), initialPosition = this._calcPosition(position, (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.clamp)(zIndexValue, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_4__.minZ, container.zLayers));\n if (!initialPosition) {\n throw new Error(\"a valid position cannot be found for particle\");\n }\n this.position = initialPosition;\n this.initialPosition = this.position.copy();\n const canvasSize = container.canvas.size;\n this.moveCenter = {\n ...(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.getPosition)(this.options.move.center, canvasSize),\n radius: this.options.move.center.radius,\n mode: this.options.move.center.mode\n };\n this.direction = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getParticleDirectionAngle)(this.options.move.direction, this.position, this.moveCenter);\n switch(this.options.move.direction){\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.inside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__.ParticleOutType.inside;\n break;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection.outside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_8__.ParticleOutType.outside;\n break;\n default:\n break;\n }\n this.offset = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../engine/dist/browser/Core/Particle.js?\n}");
|
|
47
47
|
|
|
48
48
|
/***/ },
|
|
49
49
|
|
|
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
53
53
|
\***************************************************/
|
|
54
54
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
55
55
|
|
|
56
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particles: () => (/* binding */ Particles)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Enums/Modes/LimitMode.js */ \"../../engine/dist/browser/Enums/Modes/LimitMode.js\");\n/* harmony import */ var _Particle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Particle.js */ \"../../engine/dist/browser/Core/Particle.js\");\n/* harmony import */ var _Utils_Point_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils/Point.js */ \"../../engine/dist/browser/Core/Utils/Point.js\");\n/* harmony import */ var _Utils_QuadTree_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Utils/QuadTree.js */ \"../../engine/dist/browser/Core/Utils/QuadTree.js\");\n/* harmony import */ var _Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Utils/Ranges.js */ \"../../engine/dist/browser/Core/Utils/Ranges.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\nconst qTreeRectangle = (canvasSize)=>{\n const { height, width } = canvasSize;\n return new _Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_6__.Rectangle(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.posOffset * width, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.posOffset * height, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.sizeFactor * width, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.sizeFactor * height);\n};\nclass Particles {\n availablePathGenerators;\n checkParticlePositionPlugins;\n effectDrawers;\n movers;\n pathGenerators;\n quadTree;\n shapeDrawers;\n updaters;\n _array;\n _container;\n _engine;\n _groupLimits;\n _limit;\n _maxZIndex;\n _minZIndex;\n _needsSort;\n _nextId;\n _particleResetPlugins;\n _particleUpdatePlugins;\n _pool;\n _postParticleUpdatePlugins;\n _postUpdatePlugins;\n _resizeFactor;\n _updatePlugins;\n _zArray;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n this._nextId = 0;\n this._array = [];\n this._zArray = [];\n this._pool = [];\n this._limit = 0;\n this._groupLimits = new Map();\n this._needsSort = false;\n this._minZIndex = 0;\n this._maxZIndex = 0;\n const canvasSize = container.canvas.size;\n this.quadTree = new _Utils_QuadTree_js__WEBPACK_IMPORTED_MODULE_5__.QuadTree(qTreeRectangle(canvasSize), _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.qTreeCapacity);\n this.effectDrawers = new Map();\n this.movers = [];\n this.availablePathGenerators = new Map();\n this.pathGenerators = new Map();\n this.shapeDrawers = new Map();\n this.updaters = [];\n this.checkParticlePositionPlugins = [];\n this._particleResetPlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._postParticleUpdatePlugins = [];\n this._updatePlugins = [];\n }\n get count() {\n return this._array.length;\n }\n addParticle(position, overrideOptions, group, initializer) {\n const limitMode = this._container.actualOptions.particles.number.limit.mode, limit = group === undefined ? this._limit : this._groupLimits.get(group) ?? this._limit, currentCount = this.count;\n if (limit > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minLimit) {\n switch(limitMode){\n case _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode.delete:\n {\n const countToRemove = currentCount + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.countOffset - limit;\n if (countToRemove > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minCount) {\n this.removeQuantity(countToRemove);\n }\n break;\n }\n case _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode.wait:\n if (currentCount >= limit) {\n return;\n }\n break;\n default:\n break;\n }\n }\n try {\n const particle = this._pool.pop() ?? new _Particle_js__WEBPACK_IMPORTED_MODULE_3__.Particle(this._engine, this._container);\n particle.init(this._nextId, position, overrideOptions, group);\n let canAdd = true;\n if (initializer) {\n canAdd = initializer(particle);\n }\n if (!canAdd) {\n this._pool.push(particle);\n return;\n }\n this._array.push(particle);\n this._zArray.push(particle);\n this._nextId++;\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleAdded, {\n container: this._container,\n data: {\n particle\n }\n });\n return particle;\n } catch (e) {\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_7__.getLogger)().warning(`error adding particle: ${e}`);\n }\n return undefined;\n }\n clear() {\n this._array = [];\n this._zArray = [];\n }\n destroy() {\n const container = this._container;\n for (const [, effectDrawer] of this.effectDrawers){\n effectDrawer.destroy?.(container);\n }\n for (const [, shapeDrawer] of this.shapeDrawers){\n shapeDrawer.destroy?.(container);\n }\n this._array = [];\n this._pool.length = 0;\n this._zArray = [];\n this.effectDrawers = new Map();\n this.movers = [];\n this.availablePathGenerators = new Map();\n this.pathGenerators = new Map();\n this.shapeDrawers = new Map();\n this.updaters = [];\n this.checkParticlePositionPlugins = [];\n this._particleResetPlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._postParticleUpdatePlugins = [];\n this._updatePlugins = [];\n }\n drawParticles(delta) {\n for (const particle of this._zArray){\n particle.draw(delta);\n }\n }\n filter(condition) {\n return this._array.filter(condition);\n }\n find(condition) {\n return this._array.find(condition);\n }\n get(index) {\n return this._array[index];\n }\n async init() {\n const container = this._container, options = container.actualOptions;\n this._minZIndex = 0;\n this._maxZIndex = 0;\n this._needsSort = false;\n this.checkParticlePositionPlugins = [];\n this._updatePlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._particleResetPlugins = [];\n this._postParticleUpdatePlugins = [];\n for (const plugin of container.plugins){\n if (plugin.redrawInit) {\n await plugin.redrawInit();\n }\n if (plugin.checkParticlePosition) {\n this.checkParticlePositionPlugins.push(plugin);\n }\n if (plugin.update) {\n this._updatePlugins.push(plugin);\n }\n if (plugin.particleUpdate) {\n this._particleUpdatePlugins.push(plugin);\n }\n if (plugin.postUpdate) {\n this._postUpdatePlugins.push(plugin);\n }\n if (plugin.particleReset) {\n this._particleResetPlugins.push(plugin);\n }\n if (plugin.postParticleUpdate) {\n this._postParticleUpdatePlugins.push(plugin);\n }\n }\n await this.initPlugins();\n for (const drawer of this.effectDrawers.values()){\n await drawer.init?.(container);\n }\n for (const drawer of this.shapeDrawers.values()){\n await drawer.init?.(container);\n }\n let handled = false;\n for (const plugin of container.plugins){\n handled = plugin.particlesInitialization?.() ?? handled;\n if (handled) {\n break;\n }\n }\n if (!handled) {\n const particlesOptions = options.particles, groups = particlesOptions.groups;\n for(const group in groups){\n const groupOptions = groups[group];\n if (!groupOptions) {\n continue;\n }\n for(let i = this.count, j = 0; j < groupOptions.number.value && i < particlesOptions.number.value; i++, j++){\n this.addParticle(undefined, groupOptions, group);\n }\n }\n for(let i = this.count; i < particlesOptions.number.value; i++){\n this.addParticle();\n }\n }\n }\n async initPlugins() {\n const container = this._container;\n this.effectDrawers = await this._engine.getEffectDrawers(container, true);\n this.movers = await this._engine.getMovers(container, true);\n this.availablePathGenerators = await this._engine.getPathGenerators(container, true);\n this.pathGenerators = new Map();\n this.shapeDrawers = await this._engine.getShapeDrawers(container, true);\n this.updaters = await this._engine.getUpdaters(container, true);\n for (const pathGenerator of this.pathGenerators.values()){\n pathGenerator.init();\n }\n }\n push(nb, position, overrideOptions, group) {\n for(let i = 0; i < nb; i++){\n this.addParticle(position, overrideOptions, group);\n }\n }\n async redraw() {\n this.clear();\n await this.init();\n this._container.canvas.drawParticles({\n value: 0,\n factor: 0\n });\n }\n remove(particle, group, override) {\n this.removeAt(this._array.indexOf(particle), undefined, group, override);\n }\n removeAt(index, quantity = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultRemoveQuantity, group, override) {\n if (index < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex || index > this.count) {\n return;\n }\n let deleted = 0;\n for(let i = index; deleted < quantity && i < this.count; i++){\n if (this._removeParticle(i, group, override)) {\n i--;\n deleted++;\n }\n }\n }\n removeQuantity(quantity, group) {\n this.removeAt(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex, quantity, group);\n }\n setDensity() {\n const options = this._container.actualOptions, groups = options.particles.groups;\n let pluginsCount = 0;\n for (const plugin of this._container.plugins){\n if (plugin.particlesDensityCount) {\n pluginsCount += plugin.particlesDensityCount();\n }\n }\n for(const group in groups){\n const groupData = groups[group];\n if (!groupData) {\n continue;\n }\n const groupDataOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_8__.loadParticlesOptions)(this._engine, this._container, groupData);\n this._applyDensity(groupDataOptions, pluginsCount, group);\n }\n this._applyDensity(options.particles, pluginsCount);\n }\n setLastZIndex(zIndex) {\n this._needsSort ||= zIndex >= this._maxZIndex || zIndex > this._minZIndex && zIndex < this._maxZIndex;\n }\n setResizeFactor(factor) {\n this._resizeFactor = factor;\n }\n update(delta) {\n const container = this._container, particlesToDelete = new Set();\n this.quadTree = new _Utils_QuadTree_js__WEBPACK_IMPORTED_MODULE_5__.QuadTree(qTreeRectangle(container.canvas.size), _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.qTreeCapacity);\n for (const pathGenerator of this.pathGenerators.values()){\n pathGenerator.update();\n }\n for (const plugin of this._updatePlugins){\n plugin.update?.(delta);\n }\n const resizeFactor = this._resizeFactor;\n for (const particle of this._array){\n if (resizeFactor && !particle.ignoresResizeRatio) {\n particle.position.x *= resizeFactor.width;\n particle.position.y *= resizeFactor.height;\n particle.initialPosition.x *= resizeFactor.width;\n particle.initialPosition.y *= resizeFactor.height;\n }\n particle.ignoresResizeRatio = false;\n for (const plugin of this._particleResetPlugins){\n plugin.particleReset?.(particle);\n }\n for (const plugin of this._particleUpdatePlugins){\n if (particle.destroyed) {\n break;\n }\n plugin.particleUpdate?.(particle, delta);\n }\n for (const mover of this.movers){\n if (mover.isEnabled(particle)) {\n mover.move(particle, delta);\n }\n }\n if (particle.destroyed) {\n particlesToDelete.add(particle);\n continue;\n }\n this.quadTree.insert(new _Utils_Point_js__WEBPACK_IMPORTED_MODULE_4__.Point(particle.getPosition(), particle));\n }\n if (particlesToDelete.size) {\n const checkDelete = (p)=>!particlesToDelete.has(p);\n this._array = this.filter(checkDelete);\n this._zArray = this._zArray.filter(checkDelete);\n for (const particle of particlesToDelete){\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n container: this._container,\n data: {\n particle\n }\n });\n }\n this._addToPool(...particlesToDelete);\n }\n for (const plugin of this._postUpdatePlugins){\n plugin.postUpdate?.(delta);\n }\n for (const particle of this._array){\n for (const updater of this.updaters){\n updater.update(particle, delta);\n }\n if (!particle.destroyed && !particle.spawning) {\n for (const plugin of this._postParticleUpdatePlugins){\n plugin.postParticleUpdate?.(particle, delta);\n }\n }\n }\n delete this._resizeFactor;\n if (this._needsSort) {\n const zArray = this._zArray;\n zArray.sort((a, b)=>b.position.z - a.position.z || a.id - b.id);\n const firstItem = zArray[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex], lastItem = zArray[zArray.length - _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.lengthOffset];\n if (!firstItem || !lastItem) {\n return;\n }\n this._maxZIndex = firstItem.position.z;\n this._minZIndex = lastItem.position.z;\n this._needsSort = false;\n }\n }\n _addToPool = (...particles)=>{\n this._pool.push(...particles);\n };\n _applyDensity = (options, pluginsCount, group, groupOptions)=>{\n const numberOptions = options.number;\n if (!numberOptions.density.enable) {\n if (group === undefined) {\n this._limit = numberOptions.limit.value;\n } else if (groupOptions?.number.limit.value ?? numberOptions.limit.value) {\n this._groupLimits.set(group, groupOptions?.number.limit.value ?? numberOptions.limit.value);\n }\n return;\n }\n const densityFactor = this._initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, optParticlesLimit = numberOptions.limit.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minLimit ? numberOptions.limit.value : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + pluginsCount, particlesCount = Math.min(this.count, this.filter((t)=>t.group === group).length);\n if (group === undefined) {\n this._limit = numberOptions.limit.value * densityFactor;\n } else {\n this._groupLimits.set(group, numberOptions.limit.value * densityFactor);\n }\n if (particlesCount < particlesNumber) {\n this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);\n } else if (particlesCount > particlesNumber) {\n this.removeQuantity(particlesCount - particlesNumber, group);\n }\n };\n _initDensityFactor = (densityOptions)=>{\n const container = this._container;\n if (!container.canvas.element || !densityOptions.enable) {\n return _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultDensityFactor;\n }\n const canvas = container.canvas.element, pxRatio = container.retina.pixelRatio;\n return canvas.width * canvas.height / (densityOptions.height * densityOptions.width * pxRatio ** _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.squareExp);\n };\n _removeParticle = (index, group, override)=>{\n const particle = this._array[index];\n if (!particle) {\n return false;\n }\n if (particle.group !== group) {\n return false;\n }\n const zIdx = this._zArray.indexOf(particle);\n this._array.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.deleteCount);\n this._zArray.splice(zIdx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.deleteCount);\n particle.destroy(override);\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n container: this._container,\n data: {\n particle\n }\n });\n this._addToPool(particle);\n return true;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../engine/dist/browser/Core/Particles.js?\n}");
|
|
56
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particles: () => (/* binding */ Particles)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Enums/Modes/LimitMode.js */ \"../../engine/dist/browser/Enums/Modes/LimitMode.js\");\n/* harmony import */ var _Particle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Particle.js */ \"../../engine/dist/browser/Core/Particle.js\");\n/* harmony import */ var _Utils_SpatialHashGrid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils/SpatialHashGrid.js */ \"../../engine/dist/browser/Core/Utils/SpatialHashGrid.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\nclass Particles {\n checkParticlePositionPlugins;\n effectDrawers;\n grid;\n shapeDrawers;\n updaters;\n _array;\n _container;\n _engine;\n _groupLimits;\n _limit;\n _maxZIndex;\n _minZIndex;\n _needsSort;\n _nextId;\n _particleResetPlugins;\n _particleUpdatePlugins;\n _pool;\n _postParticleUpdatePlugins;\n _postUpdatePlugins;\n _resizeFactor;\n _updatePlugins;\n _zArray;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n this._nextId = 0;\n this._array = [];\n this._zArray = [];\n this._pool = [];\n this._limit = 0;\n this._groupLimits = new Map();\n this._needsSort = false;\n this._minZIndex = 0;\n this._maxZIndex = 0;\n this.grid = new _Utils_SpatialHashGrid_js__WEBPACK_IMPORTED_MODULE_4__.SpatialHashGrid(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.spatialHashGridCellSize);\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.updaters = [];\n this.checkParticlePositionPlugins = [];\n this._particleResetPlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._postParticleUpdatePlugins = [];\n this._updatePlugins = [];\n }\n get count() {\n return this._array.length;\n }\n addParticle(position, overrideOptions, group, initializer) {\n const limitMode = this._container.actualOptions.particles.number.limit.mode, limit = group === undefined ? this._limit : this._groupLimits.get(group) ?? this._limit, currentCount = this.count;\n if (limit > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minLimit) {\n switch(limitMode){\n case _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode.delete:\n {\n const countToRemove = currentCount + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.countOffset - limit;\n if (countToRemove > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minCount) {\n this.removeQuantity(countToRemove);\n }\n break;\n }\n case _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode.wait:\n if (currentCount >= limit) {\n return;\n }\n break;\n default:\n break;\n }\n }\n try {\n const particle = this._pool.pop() ?? new _Particle_js__WEBPACK_IMPORTED_MODULE_3__.Particle(this._engine, this._container);\n particle.init(this._nextId, position, overrideOptions, group);\n let canAdd = true;\n if (initializer) {\n canAdd = initializer(particle);\n }\n if (!canAdd) {\n this._pool.push(particle);\n return;\n }\n this._array.push(particle);\n this._zArray.push(particle);\n this._nextId++;\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleAdded, {\n container: this._container,\n data: {\n particle\n }\n });\n return particle;\n } catch (e) {\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_5__.getLogger)().warning(`error adding particle: ${e}`);\n }\n return undefined;\n }\n clear() {\n this._array = [];\n this._zArray = [];\n }\n destroy() {\n const container = this._container;\n for (const [, effectDrawer] of this.effectDrawers){\n effectDrawer.destroy?.(container);\n }\n for (const [, shapeDrawer] of this.shapeDrawers){\n shapeDrawer.destroy?.(container);\n }\n this._array = [];\n this._pool.length = 0;\n this._zArray = [];\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.updaters = [];\n this.checkParticlePositionPlugins = [];\n this._particleResetPlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._postParticleUpdatePlugins = [];\n this._updatePlugins = [];\n }\n drawParticles(delta) {\n for (const particle of this._zArray){\n particle.draw(delta);\n }\n }\n filter(condition) {\n return this._array.filter(condition);\n }\n find(condition) {\n return this._array.find(condition);\n }\n get(index) {\n return this._array[index];\n }\n async init() {\n const container = this._container, options = container.actualOptions;\n this._minZIndex = 0;\n this._maxZIndex = 0;\n this._needsSort = false;\n this.checkParticlePositionPlugins = [];\n this._updatePlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._particleResetPlugins = [];\n this._postParticleUpdatePlugins = [];\n this.grid = new _Utils_SpatialHashGrid_js__WEBPACK_IMPORTED_MODULE_4__.SpatialHashGrid(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.spatialHashGridCellSize * container.retina.pixelRatio);\n for (const plugin of container.plugins){\n if (plugin.redrawInit) {\n await plugin.redrawInit();\n }\n if (plugin.checkParticlePosition) {\n this.checkParticlePositionPlugins.push(plugin);\n }\n if (plugin.update) {\n this._updatePlugins.push(plugin);\n }\n if (plugin.particleUpdate) {\n this._particleUpdatePlugins.push(plugin);\n }\n if (plugin.postUpdate) {\n this._postUpdatePlugins.push(plugin);\n }\n if (plugin.particleReset) {\n this._particleResetPlugins.push(plugin);\n }\n if (plugin.postParticleUpdate) {\n this._postParticleUpdatePlugins.push(plugin);\n }\n }\n await this.initPlugins();\n for (const drawer of this.effectDrawers.values()){\n await drawer.init?.(container);\n }\n for (const drawer of this.shapeDrawers.values()){\n await drawer.init?.(container);\n }\n let handled = false;\n for (const plugin of container.plugins){\n handled = plugin.particlesInitialization?.() ?? handled;\n if (handled) {\n break;\n }\n }\n if (!handled) {\n const particlesOptions = options.particles, groups = particlesOptions.groups;\n for(const group in groups){\n const groupOptions = groups[group];\n if (!groupOptions) {\n continue;\n }\n for(let i = this.count, j = 0; j < groupOptions.number.value && i < particlesOptions.number.value; i++, j++){\n this.addParticle(undefined, groupOptions, group);\n }\n }\n for(let i = this.count; i < particlesOptions.number.value; i++){\n this.addParticle();\n }\n }\n }\n async initPlugins() {\n const container = this._container;\n this.effectDrawers = await this._engine.getEffectDrawers(container, true);\n this.shapeDrawers = await this._engine.getShapeDrawers(container, true);\n this.updaters = await this._engine.getUpdaters(container, true);\n }\n push(nb, position, overrideOptions, group) {\n for(let i = 0; i < nb; i++){\n this.addParticle(position, overrideOptions, group);\n }\n }\n async redraw() {\n this.clear();\n await this.init();\n this._container.canvas.drawParticles({\n value: 0,\n factor: 0\n });\n }\n remove(particle, group, override) {\n this.removeAt(this._array.indexOf(particle), undefined, group, override);\n }\n removeAt(index, quantity = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultRemoveQuantity, group, override) {\n if (index < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex || index > this.count) {\n return;\n }\n let deleted = 0;\n for(let i = index; deleted < quantity && i < this.count; i++){\n if (this._removeParticle(i, group, override)) {\n i--;\n deleted++;\n }\n }\n }\n removeQuantity(quantity, group) {\n this.removeAt(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex, quantity, group);\n }\n setDensity() {\n const options = this._container.actualOptions, groups = options.particles.groups;\n let pluginsCount = 0;\n for (const plugin of this._container.plugins){\n if (plugin.particlesDensityCount) {\n pluginsCount += plugin.particlesDensityCount();\n }\n }\n for(const group in groups){\n const groupData = groups[group];\n if (!groupData) {\n continue;\n }\n const groupDataOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_6__.loadParticlesOptions)(this._engine, this._container, groupData);\n this._applyDensity(groupDataOptions, pluginsCount, group);\n }\n this._applyDensity(options.particles, pluginsCount);\n }\n setLastZIndex(zIndex) {\n this._needsSort ||= zIndex >= this._maxZIndex || zIndex > this._minZIndex && zIndex < this._maxZIndex;\n }\n setResizeFactor(factor) {\n this._resizeFactor = factor;\n }\n update(delta) {\n const particlesToDelete = new Set();\n this.grid.clear();\n for (const plugin of this._updatePlugins){\n plugin.update?.(delta);\n }\n const resizeFactor = this._resizeFactor;\n for (const particle of this._array){\n if (resizeFactor && !particle.ignoresResizeRatio) {\n particle.position.x *= resizeFactor.width;\n particle.position.y *= resizeFactor.height;\n particle.initialPosition.x *= resizeFactor.width;\n particle.initialPosition.y *= resizeFactor.height;\n }\n particle.ignoresResizeRatio = false;\n for (const plugin of this._particleResetPlugins){\n plugin.particleReset?.(particle);\n }\n for (const plugin of this._particleUpdatePlugins){\n if (particle.destroyed) {\n break;\n }\n plugin.particleUpdate?.(particle, delta);\n }\n if (particle.destroyed) {\n particlesToDelete.add(particle);\n continue;\n }\n this.grid.insert(particle);\n }\n if (particlesToDelete.size) {\n const checkDelete = (p)=>!particlesToDelete.has(p);\n this._array = this.filter(checkDelete);\n this._zArray = this._zArray.filter(checkDelete);\n for (const particle of particlesToDelete){\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n container: this._container,\n data: {\n particle\n }\n });\n }\n this._addToPool(...particlesToDelete);\n }\n for (const plugin of this._postUpdatePlugins){\n plugin.postUpdate?.(delta);\n }\n for (const particle of this._array){\n for (const updater of this.updaters){\n updater.update(particle, delta);\n }\n if (!particle.destroyed && !particle.spawning) {\n for (const plugin of this._postParticleUpdatePlugins){\n plugin.postParticleUpdate?.(particle, delta);\n }\n }\n }\n delete this._resizeFactor;\n if (this._needsSort) {\n const zArray = this._zArray;\n zArray.sort((a, b)=>b.position.z - a.position.z || a.id - b.id);\n const firstItem = zArray[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex], lastItem = zArray[zArray.length - _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.lengthOffset];\n if (!firstItem || !lastItem) {\n return;\n }\n this._maxZIndex = firstItem.position.z;\n this._minZIndex = lastItem.position.z;\n this._needsSort = false;\n }\n }\n _addToPool = (...particles)=>{\n this._pool.push(...particles);\n };\n _applyDensity = (options, pluginsCount, group, groupOptions)=>{\n const numberOptions = options.number;\n if (!numberOptions.density.enable) {\n if (group === undefined) {\n this._limit = numberOptions.limit.value;\n } else if (groupOptions?.number.limit.value ?? numberOptions.limit.value) {\n this._groupLimits.set(group, groupOptions?.number.limit.value ?? numberOptions.limit.value);\n }\n return;\n }\n const densityFactor = this._initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, optParticlesLimit = numberOptions.limit.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minLimit ? numberOptions.limit.value : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + pluginsCount, particlesCount = Math.min(this.count, this.filter((t)=>t.group === group).length);\n if (group === undefined) {\n this._limit = numberOptions.limit.value * densityFactor;\n } else {\n this._groupLimits.set(group, numberOptions.limit.value * densityFactor);\n }\n if (particlesCount < particlesNumber) {\n this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);\n } else if (particlesCount > particlesNumber) {\n this.removeQuantity(particlesCount - particlesNumber, group);\n }\n };\n _initDensityFactor = (densityOptions)=>{\n const container = this._container;\n if (!container.canvas.element || !densityOptions.enable) {\n return _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultDensityFactor;\n }\n const canvas = container.canvas.element, pxRatio = container.retina.pixelRatio;\n return canvas.width * canvas.height / (densityOptions.height * densityOptions.width * pxRatio ** _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.squareExp);\n };\n _removeParticle = (index, group, override)=>{\n const particle = this._array[index];\n if (!particle) {\n return false;\n }\n if (particle.group !== group) {\n return false;\n }\n const zIdx = this._zArray.indexOf(particle);\n this._array.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.deleteCount);\n this._zArray.splice(zIdx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.deleteCount);\n particle.destroy(override);\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n container: this._container,\n data: {\n particle\n }\n });\n this._addToPool(particle);\n return true;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../engine/dist/browser/Core/Particles.js?\n}");
|
|
57
57
|
|
|
58
58
|
/***/ },
|
|
59
59
|
|
|
@@ -77,13 +77,13 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
77
77
|
|
|
78
78
|
/***/ },
|
|
79
79
|
|
|
80
|
-
/***/ "../../engine/dist/browser/Core/Utils/
|
|
81
|
-
|
|
82
|
-
!*** ../../engine/dist/browser/Core/Utils/
|
|
83
|
-
|
|
80
|
+
/***/ "../../engine/dist/browser/Core/Utils/SpatialHashGrid.js"
|
|
81
|
+
/*!***************************************************************!*\
|
|
82
|
+
!*** ../../engine/dist/browser/Core/Utils/SpatialHashGrid.js ***!
|
|
83
|
+
\***************************************************************/
|
|
84
84
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
85
85
|
|
|
86
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */
|
|
86
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SpatialHashGrid: () => (/* binding */ SpatialHashGrid)\n/* harmony export */ });\n/* harmony import */ var _Ranges_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Ranges.js */ \"../../engine/dist/browser/Core/Utils/Ranges.js\");\n\nclass SpatialHashGrid {\n _cellSize;\n _cells = new Map();\n _pendingCellSize;\n constructor(cellSize){\n this._cellSize = cellSize;\n }\n clear() {\n this._cells.clear();\n const pendingCellSize = this._pendingCellSize;\n if (pendingCellSize) {\n this._cellSize = pendingCellSize;\n }\n this._pendingCellSize = undefined;\n }\n insert(particle) {\n const { x, y } = particle.getPosition(), key = this._cellKeyFromCoords(x, y);\n if (!this._cells.has(key)) {\n this._cells.set(key, []);\n }\n this._cells.get(key)?.push(particle);\n }\n query(range, check, out = []) {\n const bounds = this._getRangeBounds(range);\n if (!bounds) {\n return out;\n }\n const minCellX = Math.floor(bounds.minX / this._cellSize), maxCellX = Math.floor(bounds.maxX / this._cellSize), minCellY = Math.floor(bounds.minY / this._cellSize), maxCellY = Math.floor(bounds.maxY / this._cellSize);\n for(let cx = minCellX; cx <= maxCellX; cx++){\n for(let cy = minCellY; cy <= maxCellY; cy++){\n const key = `${cx}_${cy}`, cellParticles = this._cells.get(key);\n if (!cellParticles) {\n continue;\n }\n for (const p of cellParticles){\n if (check && !check(p)) {\n continue;\n }\n if (range.contains(p.getPosition())) {\n out.push(p);\n }\n }\n }\n }\n return out;\n }\n queryCircle(position, radius, check, out = []) {\n return this.query(new _Ranges_js__WEBPACK_IMPORTED_MODULE_0__.Circle(position.x, position.y, radius), check, out);\n }\n queryRectangle(position, size, check, out = []) {\n return this.query(new _Ranges_js__WEBPACK_IMPORTED_MODULE_0__.Rectangle(position.x, position.y, size.width, size.height), check, out);\n }\n setCellSize(cellSize) {\n this._pendingCellSize = cellSize;\n }\n _cellKeyFromCoords(x, y) {\n const cellX = Math.floor(x / this._cellSize), cellY = Math.floor(y / this._cellSize);\n return `${cellX}_${cellY}`;\n }\n _getRangeBounds(range) {\n if (range instanceof _Ranges_js__WEBPACK_IMPORTED_MODULE_0__.Circle) {\n const r = range.radius, { x, y } = range.position;\n return {\n minX: x - r,\n maxX: x + r,\n minY: y - r,\n maxY: y + r\n };\n }\n if (range instanceof _Ranges_js__WEBPACK_IMPORTED_MODULE_0__.Rectangle) {\n const { x, y } = range.position, { width, height } = range.size;\n return {\n minX: x,\n maxX: x + width,\n minY: y,\n maxY: y + height\n };\n }\n return null;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../engine/dist/browser/Core/Utils/SpatialHashGrid.js?\n}");
|
|
87
87
|
|
|
88
88
|
/***/ }
|
|
89
89
|
|