@tsparticles/pjs 4.0.0-beta.3 → 4.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/1051.min.js +1 -1
- package/1160.min.js +1 -1
- package/1167.min.js +1 -1
- package/143.min.js +1 -1
- package/1510.min.js +1 -1
- package/1767.min.js +1 -1
- package/2004.min.js +1 -1
- package/2177.min.js +1 -1
- package/2253.min.js +1 -1
- package/2425.min.js +1 -1
- package/2454.min.js +1 -1
- package/264.min.js +1 -1
- package/2866.min.js +1 -1
- package/2930.min.js +1 -1
- package/3041.min.js +1 -1
- package/3285.min.js +1 -1
- package/3693.min.js +1 -1
- package/370.min.js +1 -1
- package/3719.min.js +1 -1
- package/3737.min.js +1 -1
- package/4051.min.js +1 -1
- package/4088.min.js +1 -1
- package/410.min.js +1 -1
- package/4129.min.js +1 -1
- package/4159.min.js +1 -1
- package/4191.min.js +1 -1
- package/4301.min.js +1 -1
- package/4316.min.js +1 -1
- package/4567.min.js +1 -1
- package/4880.min.js +1 -1
- package/4991.min.js +1 -1
- package/5174.min.js +1 -1
- package/5264.min.js +1 -1
- package/5325.min.js +1 -1
- package/5347.min.js +1 -1
- package/5447.min.js +1 -1
- package/5602.min.js +1 -1
- package/561.min.js +1 -1
- package/5669.min.js +1 -1
- package/5700.min.js +1 -1
- package/5832.min.js +1 -1
- package/6055.min.js +1 -1
- package/6056.min.js +1 -1
- package/6252.min.js +1 -1
- package/6362.min.js +1 -1
- package/6412.min.js +1 -1
- package/6496.min.js +1 -1
- package/6502.min.js +1 -1
- package/686.min.js +1 -1
- package/7157.min.js +1 -1
- package/7203.min.js +1 -1
- package/7206.min.js +1 -1
- package/7218.min.js +1 -1
- package/7374.min.js +1 -1
- package/7386.min.js +1 -1
- package/746.min.js +1 -1
- package/7788.min.js +1 -1
- package/786.min.js +1 -1
- package/803.min.js +1 -1
- package/8082.min.js +1 -1
- package/8243.min.js +1 -1
- package/8258.min.js +1 -1
- package/8342.min.js +1 -1
- package/8569.min.js +1 -1
- package/8626.min.js +1 -1
- package/8650.min.js +1 -1
- package/8989.min.js +1 -1
- package/9134.min.js +1 -1
- package/9293.min.js +1 -1
- package/9395.min.js +1 -1
- package/951.min.js +1 -1
- package/9630.min.js +1 -1
- package/9643.min.js +1 -1
- package/9748.min.js +1 -1
- package/9950.min.js +1 -1
- package/basic_dist_browser_index_js.js +2 -2
- package/browser/index.js +1 -2
- package/cjs/index.js +1 -2
- package/engine_dist_browser_Core_Container_js.js +3 -33
- package/esm/index.js +1 -2
- package/full_dist_browser_index_js.js +2 -2
- package/interactions_external_attract_dist_browser_Attractor_js.js +4 -24
- package/interactions_external_attract_dist_browser_index_js.js +2 -2
- package/interactions_external_bounce_dist_browser_Bouncer_js.js +4 -24
- package/interactions_external_bounce_dist_browser_index_js.js +2 -2
- package/interactions_external_bubble_dist_browser_Bubbler_js.js +4 -24
- package/interactions_external_bubble_dist_browser_index_js.js +2 -2
- package/interactions_external_connect_dist_browser_Connector_js.js +4 -24
- package/interactions_external_connect_dist_browser_index_js.js +2 -2
- package/interactions_external_drag_dist_browser_Dragger_js.js +4 -24
- package/interactions_external_drag_dist_browser_index_js.js +2 -2
- package/interactions_external_grab_dist_browser_Grabber_js.js +4 -24
- package/interactions_external_grab_dist_browser_index_js.js +2 -2
- package/interactions_external_parallax_dist_browser_Parallaxer_js.js +4 -24
- package/interactions_external_parallax_dist_browser_index_js.js +2 -2
- package/interactions_external_pause_dist_browser_Pauser_js.js +4 -24
- package/interactions_external_pause_dist_browser_index_js.js +2 -2
- package/interactions_external_push_dist_browser_Pusher_js.js +4 -24
- package/interactions_external_push_dist_browser_index_js.js +2 -2
- package/interactions_external_remove_dist_browser_Remover_js.js +4 -24
- package/interactions_external_remove_dist_browser_index_js.js +2 -2
- package/interactions_external_repulse_dist_browser_Repulser_js.js +4 -24
- package/interactions_external_repulse_dist_browser_index_js.js +2 -2
- package/interactions_external_slow_dist_browser_Slower_js.js +4 -24
- package/interactions_external_slow_dist_browser_index_js.js +2 -2
- package/interactions_external_trail_dist_browser_TrailMaker_js.js +4 -24
- package/interactions_external_trail_dist_browser_index_js.js +2 -2
- package/interactions_particles_attract_dist_browser_Attractor_js.js +4 -24
- package/interactions_particles_attract_dist_browser_index_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_Collider_js.js +7 -37
- package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
- package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
- package/interactions_particles_links_dist_browser_LinkInstance_js.js +1 -1
- package/interactions_particles_links_dist_browser_Linker_js.js +4 -24
- package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
- package/interactions_particles_links_dist_browser_index_js.js +2 -2
- package/package.json +4 -4
- package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +1 -1
- package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
- package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +4 -24
- package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
- package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
- package/plugins_absorbers_dist_browser_getAbsorbersInstancesManager_js.js +1 -1
- package/plugins_absorbers_dist_browser_index_js.js +4 -4
- 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_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +3 -3
- package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +3 -3
- package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
- package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
- package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
- package/plugins_emitters_dist_browser_EmittersInteractor_js.js +4 -24
- package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
- package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
- package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
- package/plugins_emitters_dist_browser_addEmittersShapesManager_js.js +1 -1
- package/plugins_emitters_dist_browser_getEmittersInstancesManager_js.js +1 -1
- package/plugins_emitters_dist_browser_index_js.js +3 -3
- package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +2 -2
- package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
- package/plugins_interactivity_dist_browser_index_js.js +4 -24
- package/plugins_move_dist_browser_MovePluginInstance_js.js +1 -1
- package/plugins_move_dist_browser_MovePlugin_js.js +1 -1
- package/plugins_move_dist_browser_index_js.js +2 -2
- package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +2 -2
- package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +2 -2
- package/plugins_responsive_dist_browser_index_js.js +2 -2
- 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 +1 -1
- package/shapes_square_dist_browser_index_js.js +2 -2
- package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
- package/shapes_star_dist_browser_index_js.js +2 -2
- package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
- package/shapes_text_dist_browser_index_js.js +2 -2
- package/slim_dist_browser_index_js.js +2 -2
- package/tsparticles.pjs.bundle.js +3 -3
- package/tsparticles.pjs.bundle.min.js +2 -2
- package/tsparticles.pjs.js +2 -2
- package/tsparticles.pjs.min.js +1 -1
- package/updaters_destroy_dist_browser_DestroyUpdater_js.js +1 -1
- package/updaters_destroy_dist_browser_index_js.js +2 -2
- package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +1 -1
- package/updaters_fillColor_dist_browser_index_js.js +2 -2
- package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
- package/updaters_life_dist_browser_index_js.js +2 -2
- package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
- package/updaters_opacity_dist_browser_index_js.js +2 -2
- package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
- package/updaters_outModes_dist_browser_index_js.js +2 -2
- package/updaters_roll_dist_browser_RollUpdater_js.js +2 -2
- package/updaters_roll_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/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
- package/updaters_tilt_dist_browser_index_js.js +2 -2
- package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +1 -1
- package/updaters_twinkle_dist_browser_index_js.js +2 -2
- package/updaters_wobble_dist_browser_WobbleUpdater_js.js +1 -1
- package/updaters_wobble_dist_browser_index_js.js +2 -2
package/9748.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[2454,9748],{9748(t,e,i){i.d(e,{EmittersInteractor:()=>l});var a=i(2454),o=i(2540),s=i(8923);let n={count:1,enable:!0},r="emitters";class l extends a.ExternalInteractorBase{handleClickMode;maxDistance;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.maxDistance=0,this.handleClickMode=(t,e)=>{let i,a=this.container.actualOptions.interactivity.modes.emitters;if(!a||t!==r)return;if((0,o.cyL)(a.value)){let t=a.value.length;if(t>0&&a.random.enable){i=[];let e=new Set;for(let s=0;s<a.random.count;s++){let n=(0,o.n02)(a.value);if(e.has(n)&&e.size<t){s--;continue}e.add(n);let r=(0,o.Vh1)(a.value,n);r&&i.push(r)}}else i=a.value}else i=a.value;let s=i,n=e.mouse.clickPosition;(0,o.wJ2)(s,async t=>{await this._instancesManager.addEmitter(this.container,t,n)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,a=t.mouse,s=(e?.interactivity??i.interactivity).events;return!!a.clickPosition&&!!s.onClick.enable&&(0,o.hnD)(r,s.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:n,value:[]},e))if(i?.emitters)if((0,o.cyL)(i.emitters))for(let e of i.emitters){let i=new s.v;i.load(e),t.emitters.value.push(i)}else if("value"in i.emitters){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,o.cyL)(e.value))for(let i of e.value){let e=new s.v;e.load(i),t.emitters.value.push(e)}else{let i=new s.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new s.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},8923(t,e,i){i.d(e,{v:()=>d});var a=i(2540);class o{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,a.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,a.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,a.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class s{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,a.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,a.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,a.DT4)(t.delay)))}}class n{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,a.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new n,this.type="square"}load(t){(0,a.kZJ)(t)||(void 0!==t.options&&(this.options=(0,a.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(9085);class c{fill;stroke;load(t){!(0,a.kZJ)(t)&&(t.fill&&(this.fill??=new a.SQl,this.fill.load(t.fill)),t.stroke&&(this.stroke??=new a.tcj,this.stroke.load(t.stroke)))}}class d{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawn;spawnFillColor;spawnStrokeColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new o,this.rate=new s,this.shape=new r,this.spawn=new c,this.startCount=0}load(t){(0,a.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,a.wJ2)(t.particles,t=>(0,a.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),this.spawn.load(t.spawn),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,a.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,a.DT4)(t.position.y))),void 0!==t.spawnFillColor&&(this.spawnFillColor??=new a.A9e,this.spawnFillColor.load(t.spawnFillColor)),void 0!==t.spawnStrokeColor&&(this.spawnStrokeColor??=new a.A9e,this.spawnStrokeColor.load(t.spawnStrokeColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},9085(t,e,i){i.d(e,{G:()=>o});var a=i(2540);class o{height;mode;width;constructor(){this.mode=a.qiC.percent,this.height=0,this.width=0}load(t){(0,a.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},2516(t,e,i){var a,o;i.d(e,{Q:()=>a}),(o=a||(a={})).circle="circle",o.rectangle="rectangle"},2123(t,e,i){var a,o;i.d(e,{h:()=>a}),(o=a||(a={})).canvas="canvas",o.parent="parent",o.window="window"},1044(t,e,i){var a,o;i.d(e,{e:()=>a}),(o=a||(a={})).external="external",o.particles="particles"},3296(t,e,i){i.d(e,{Bp:()=>c,DG:()=>d,G3:()=>h,Rb:()=>r,Z0:()=>n,ms:()=>o,s7:()=>l,vo:()=>s,xO:()=>a});let a="click",o="pointerdown",s="pointerup",n="pointerleave",r="pointermove",l="touchstart",c="touchend",d="touchmove",h="touchcancel"},6607(t,e,i){i.d(e,{G:()=>s});var a=i(2540),o=i(2516);class s{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=o.Q.circle}load(t){(0,a.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},3332(t,e,i){i.d(e,{d:()=>o});var a=i(2540);class o{_container;_pluginManager;constructor(t,e){this._pluginManager=t,this._container=e}load(t){if((0,a.kZJ)(t)||!this._container)return;let e=this._pluginManager.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},2454(t,e,i){i.r(e),i.d(e,{DivEvent:()=>v.G,DivType:()=>l.Q,ExternalInteractorBase:()=>s,InteractivityDetect:()=>c.h,InteractorType:()=>o.e,Modes:()=>w.d,ParticlesInteractorBase:()=>n,clickEvent:()=>r.xO,divMode:()=>p,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>y,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var a=i(2540),o=i(1044);class s{type=o.e.external;container;constructor(t){this.container=t}}class n{type=o.e.particles;container;constructor(t){this.container=t}}var r=i(3296),l=i(2516),c=i(2123);function d(t,e){return!!(0,a.w3Z)(e,e=>e.enable&&(0,a.hnD)(t,e.mode))}function h(t,e,i){(0,a.wJ2)(e,e=>{let o=e.mode;e.enable&&(0,a.hnD)(t,o)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,a.wJ2)(i,i=>{e(i,t)})}function p(t,e){if(e&&t)return(0,a.w3Z)(t,t=>{var i;let o;return i=t.selectors,o=(0,a.wJ2)(i,t=>e.matches(t)),(0,a.cyL)(o)?o.some(t=>t):o})}var v=i(6607),w=i(3332);async function m(t){t.checkVersion("4.0.0-beta.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[2454,9748],{9748(t,e,i){i.d(e,{EmittersInteractor:()=>l});var a=i(2454),o=i(2540),s=i(8923);let n={count:1,enable:!0},r="emitters";class l extends a.ExternalInteractorBase{handleClickMode;maxDistance;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.maxDistance=0,this.handleClickMode=(t,e)=>{let i,a=this.container.actualOptions.interactivity.modes.emitters;if(!a||t!==r)return;if((0,o.cyL)(a.value)){let t=a.value.length;if(t>0&&a.random.enable){i=[];let e=new Set;for(let s=0;s<a.random.count;s++){let n=(0,o.n02)(a.value);if(e.has(n)&&e.size<t){s--;continue}e.add(n);let r=(0,o.Vh1)(a.value,n);r&&i.push(r)}}else i=a.value}else i=a.value;let s=i,n=e.mouse.clickPosition;(0,o.wJ2)(s,async t=>{await this._instancesManager.addEmitter(this.container,t,n)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,a=t.mouse,s=(e?.interactivity??i.interactivity).events;return!!a.clickPosition&&!!s.onClick.enable&&(0,o.hnD)(r,s.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:n,value:[]},e))if(i?.emitters)if((0,o.cyL)(i.emitters))for(let e of i.emitters){let i=new s.v;i.load(e),t.emitters.value.push(i)}else if("value"in i.emitters){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,o.cyL)(e.value))for(let i of e.value){let e=new s.v;e.load(i),t.emitters.value.push(e)}else{let i=new s.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new s.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},8923(t,e,i){i.d(e,{v:()=>d});var a=i(2540);class o{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,a.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,a.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,a.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class s{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,a.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,a.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,a.DT4)(t.delay)))}}class n{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,a.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new n,this.type="square"}load(t){(0,a.kZJ)(t)||(void 0!==t.options&&(this.options=(0,a.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(9085);class c{fill;stroke;load(t){!(0,a.kZJ)(t)&&(t.fill&&(this.fill??=new a.SQl,this.fill.load(t.fill)),t.stroke&&(this.stroke??=new a.tcj,this.stroke.load(t.stroke)))}}class d{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawn;spawnFillColor;spawnStrokeColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new o,this.rate=new s,this.shape=new r,this.spawn=new c,this.startCount=0}load(t){(0,a.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,a.wJ2)(t.particles,t=>(0,a.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),this.spawn.load(t.spawn),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,a.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,a.DT4)(t.position.y))),void 0!==t.spawnFillColor&&(this.spawnFillColor??=new a.A9e,this.spawnFillColor.load(t.spawnFillColor)),void 0!==t.spawnStrokeColor&&(this.spawnStrokeColor??=new a.A9e,this.spawnStrokeColor.load(t.spawnStrokeColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},9085(t,e,i){i.d(e,{G:()=>o});var a=i(2540);class o{height;mode;width;constructor(){this.mode=a.qiC.percent,this.height=0,this.width=0}load(t){(0,a.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},2516(t,e,i){var a,o;i.d(e,{Q:()=>a}),(o=a||(a={})).circle="circle",o.rectangle="rectangle"},2123(t,e,i){var a,o;i.d(e,{h:()=>a}),(o=a||(a={})).canvas="canvas",o.parent="parent",o.window="window"},1044(t,e,i){var a,o;i.d(e,{e:()=>a}),(o=a||(a={})).external="external",o.particles="particles"},3296(t,e,i){i.d(e,{Bp:()=>c,DG:()=>d,G3:()=>h,Rb:()=>r,Z0:()=>n,ms:()=>o,s7:()=>l,vo:()=>s,xO:()=>a});let a="click",o="pointerdown",s="pointerup",n="pointerleave",r="pointermove",l="touchstart",c="touchend",d="touchmove",h="touchcancel"},6607(t,e,i){i.d(e,{G:()=>s});var a=i(2540),o=i(2516);class s{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=o.Q.circle}load(t){(0,a.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},3332(t,e,i){i.d(e,{d:()=>o});var a=i(2540);class o{_container;_pluginManager;constructor(t,e){this._pluginManager=t,this._container=e}load(t){if((0,a.kZJ)(t)||!this._container)return;let e=this._pluginManager.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},2454(t,e,i){i.r(e),i.d(e,{DivEvent:()=>v.G,DivType:()=>l.Q,ExternalInteractorBase:()=>s,InteractivityDetect:()=>c.h,InteractorType:()=>o.e,Modes:()=>w.d,ParticlesInteractorBase:()=>n,clickEvent:()=>r.xO,divMode:()=>p,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>y,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var a=i(2540),o=i(1044);class s{type=o.e.external;container;constructor(t){this.container=t}}class n{type=o.e.particles;container;constructor(t){this.container=t}}var r=i(3296),l=i(2516),c=i(2123);function d(t,e){return!!(0,a.w3Z)(e,e=>e.enable&&(0,a.hnD)(t,e.mode))}function h(t,e,i){(0,a.wJ2)(e,e=>{let o=e.mode;e.enable&&(0,a.hnD)(t,o)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,a.wJ2)(i,i=>{e(i,t)})}function p(t,e){if(e&&t)return(0,a.w3Z)(t,t=>{var i;let o;return i=t.selectors,o=(0,a.wJ2)(i,t=>e.matches(t)),(0,a.cyL)(o)?o.some(t=>t):o})}var v=i(6607),w=i(3332);async function m(t){t.checkVersion("4.0.0-beta.5"),await t.pluginManager.register(async t=>{let e=t.pluginManager,{InteractivityPlugin:o}=await i.e(6598).then(i.bind(i,6598));e.addPlugin(new o(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,i)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,i)},e.getInteractors=async(t,i=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,a.HQK)(t,e.interactors,e.initializers.interactors,i)),e.setOnClickHandler=e=>{let{items:i}=t;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(t=>{t.addClickHandler?.(e)})}})}function y(t){if(!t.pluginManager.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
|
package/9950.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9950],{9950(a,e,t){async function n(a){a.checkVersion("4.0.0-beta.
|
|
1
|
+
"use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9950],{9950(a,e,t){async function n(a){a.checkVersion("4.0.0-beta.5"),await a.pluginManager.register(a=>{a.pluginManager.addParticleUpdater("roll",async()=>{let{RollUpdater:e}=await t.e(5532).then(t.bind(t,5532));return new e(a.pluginManager)})})}t.r(e),t.d(e,{loadRollUpdater:()=>n})}}]);
|
|
@@ -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-beta.
|
|
7
|
+
* v4.0.0-beta.5
|
|
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 */ });\
|
|
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-beta.5\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadMovePlugin }, { loadCircleShape }, { loadFillColorUpdater }, { 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_fillColor_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-fill-color */ \"../../updaters/fillColor/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 loadFillColorUpdater(e),\n loadOpacityUpdater(e),\n loadOutModesUpdater(e),\n loadSizeUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../basic/dist/browser/index.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ }
|
|
29
29
|
|
package/browser/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {} from "@tsparticles/engine";
|
|
2
1
|
import { MBParticles } from "./marcbruederlin/Particles.js";
|
|
3
2
|
import { initParticlesJS } from "./VincentGarreau/particles.js";
|
|
4
3
|
const initPjs = async (engine) => {
|
|
5
|
-
engine.checkVersion("4.0.0-beta.
|
|
4
|
+
engine.checkVersion("4.0.0-beta.5");
|
|
6
5
|
await engine.pluginManager.register(async (e) => {
|
|
7
6
|
const [{ loadFull }, { loadResponsivePlugin },] = await Promise.all([
|
|
8
7
|
import("tsparticles"),
|
package/cjs/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {} from "@tsparticles/engine";
|
|
2
1
|
import { MBParticles } from "./marcbruederlin/Particles.js";
|
|
3
2
|
import { initParticlesJS } from "./VincentGarreau/particles.js";
|
|
4
3
|
const initPjs = async (engine) => {
|
|
5
|
-
engine.checkVersion("4.0.0-beta.
|
|
4
|
+
engine.checkVersion("4.0.0-beta.5");
|
|
6
5
|
await engine.pluginManager.register(async (e) => {
|
|
7
6
|
const [{ loadFull }, { loadResponsivePlugin },] = await Promise.all([
|
|
8
7
|
import("tsparticles"),
|
|
@@ -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-beta.
|
|
7
|
+
* v4.0.0-beta.5
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -33,37 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
33
33
|
\***************************************************/
|
|
34
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
35
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _CanvasManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CanvasManager.js */ \"../../engine/dist/browser/Core/CanvasManager.js\");\n/* harmony import */ var _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/EventListeners.js */ \"../../engine/dist/browser/Core/Utils/EventListeners.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Interfaces_IEffectDrawer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Interfaces/IEffectDrawer.js */ \"../../engine/dist/browser/Core/Interfaces/IEffectDrawer.js\");\n/* harmony import */ var _Interfaces_IParticleUpdater_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Interfaces/IParticleUpdater.js */ \"../../engine/dist/browser/Core/Interfaces/IParticleUpdater.js\");\n/* harmony import */ var _Interfaces_IShapeDrawer_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Interfaces/IShapeDrawer.js */ \"../../engine/dist/browser/Core/Interfaces/IShapeDrawer.js\");\n/* harmony import */ var _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Options/Classes/Options.js */ \"../../engine/dist/browser/Options/Classes/Options.js\");\n/* harmony import */ var _ParticlesManager_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ParticlesManager.js */ \"../../engine/dist/browser/Core/ParticlesManager.js\");\n/* harmony import */ var _Retina_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Retina.js */ \"../../engine/dist/browser/Core/Retina.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction guardCheck(container) {\n return !container.destroyed;\n}\nfunction updateDelta(delta, value, fpsLimit = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps, smooth = false) {\n delta.value = value;\n delta.factor = smooth ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps / fpsLimit : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps * value / _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n}\nfunction loadContainerOptions(pluginManager, container, ...sourceOptionsArr) {\n const options = new _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_8__.Options(pluginManager, container);\n (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_12__.loadOptions)(options, ...sourceOptionsArr);\n return options;\n}\nclass Container {\n actualOptions;\n canvas;\n destroyed;\n effectDrawers;\n fpsLimit;\n hdr;\n id;\n pageHidden;\n particleCreatedPlugins;\n particleDestroyedPlugins;\n particlePositionPlugins;\n particleUpdaters;\n particles;\n plugins;\n retina;\n shapeDrawers;\n started;\n zLayers;\n _delay;\n _delayTimeout;\n _delta = {\n value: 0,\n factor: 0\n };\n _dispatchCallback;\n _drawAnimationFrame;\n _duration;\n _eventListeners;\n _firstStart;\n _initialSourceOptions;\n _lastFrameTime;\n _lifeTime;\n _onDestroy;\n _options;\n _paused;\n _pluginManager;\n _smooth;\n _sourceOptions;\n constructor(params){\n const { dispatchCallback, pluginManager, id, onDestroy, sourceOptions } = params;\n this._pluginManager = pluginManager;\n this._dispatchCallback = dispatchCallback;\n this._onDestroy = onDestroy;\n this.id = Symbol(id);\n this.fpsLimit = 120;\n this.hdr = false;\n this._smooth = false;\n this._delay = 0;\n this._duration = 0;\n this._lifeTime = 0;\n this._firstStart = true;\n this.started = false;\n this.destroyed = false;\n this._paused = true;\n this._lastFrameTime = 0;\n this.zLayers = 100;\n this.pageHidden = false;\n this._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.particleUpdaters = [];\n this.retina = new _Retina_js__WEBPACK_IMPORTED_MODULE_10__.Retina(this);\n this.canvas = new _CanvasManager_js__WEBPACK_IMPORTED_MODULE_2__.CanvasManager(this._pluginManager, this);\n this.particles = new _ParticlesManager_js__WEBPACK_IMPORTED_MODULE_9__.ParticlesManager(this._pluginManager, this);\n this.plugins = [];\n this.particleDestroyedPlugins = [];\n this.particleCreatedPlugins = [];\n this.particlePositionPlugins = [];\n this._options = loadContainerOptions(this._pluginManager, this);\n this.actualOptions = loadContainerOptions(this._pluginManager, this);\n this._eventListeners = new _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_3__.EventListeners(this);\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerBuilt);\n }\n get animationStatus() {\n return !this._paused && !this.pageHidden && guardCheck(this);\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n addLifeTime(value) {\n this._lifeTime += value;\n }\n alive() {\n return !this._duration || this._lifeTime <= this._duration;\n }\n destroy(remove = true) {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n this.particles.destroy();\n this.canvas.destroy();\n for (const [, effectDrawer] of this.effectDrawers){\n effectDrawer.destroy?.(this);\n }\n for (const [, shapeDrawer] of this.shapeDrawers){\n shapeDrawer.destroy?.(this);\n }\n for (const plugin of this.plugins){\n plugin.destroy?.();\n }\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.particleUpdaters = [];\n this.plugins.length = 0;\n this._pluginManager.clearPlugins(this);\n this.destroyed = true;\n this._onDestroy(remove);\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerDestroyed);\n }\n dispatchEvent(type, data) {\n this._dispatchCallback(type, {\n container: this,\n data\n });\n }\n draw(force) {\n if (!guardCheck(this)) {\n return;\n }\n let refreshTime = force;\n this._drawAnimationFrame = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.animate)((timestamp)=>{\n if (refreshTime) {\n this._lastFrameTime = undefined;\n refreshTime = false;\n }\n this._nextFrame(timestamp);\n });\n }\n async export(type, options = {}) {\n for (const plugin of this.plugins){\n if (!plugin.export) {\n continue;\n }\n const res = await plugin.export(type, options);\n if (!res.supported) {\n continue;\n }\n return res.blob;\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_11__.getLogger)().error(`Export plugin with type ${type} not found`);\n return undefined;\n }\n async init() {\n if (!guardCheck(this)) {\n return;\n }\n const allContainerPlugins = new Map();\n for (const plugin of this._pluginManager.plugins){\n const containerPlugin = await plugin.getPlugin(this);\n if (containerPlugin.preInit) {\n await containerPlugin.preInit();\n }\n allContainerPlugins.set(plugin, containerPlugin);\n }\n await this.initDrawersAndUpdaters();\n this._options = loadContainerOptions(this._pluginManager, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._pluginManager, this, this._options);\n this.plugins.length = 0;\n this.particleDestroyedPlugins.length = 0;\n this.particleCreatedPlugins.length = 0;\n this.particlePositionPlugins.length = 0;\n for (const [plugin, containerPlugin] of allContainerPlugins){\n if (plugin.needsPlugin(this.actualOptions)) {\n this.plugins.push(containerPlugin);\n if (containerPlugin.particleCreated) {\n this.particleCreatedPlugins.push(containerPlugin);\n }\n if (containerPlugin.particleDestroyed) {\n this.particleDestroyedPlugins.push(containerPlugin);\n }\n if (containerPlugin.particlePosition) {\n this.particlePositionPlugins.push(containerPlugin);\n }\n }\n }\n this.retina.init();\n this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n const { delay, duration, fpsLimit, hdr, smooth, zLayers } = this.actualOptions;\n this.hdr = hdr;\n this.zLayers = zLayers;\n this._duration = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(duration) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._delay = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(delay) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._lifeTime = 0;\n this.fpsLimit = fpsLimit > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.minFpsLimit ? fpsLimit : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFpsLimit;\n this._smooth = smooth;\n for (const plugin of this.plugins){\n await plugin.init?.();\n }\n await this.particles.init();\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerInit);\n this.particles.setDensity();\n for (const plugin of this.plugins){\n plugin.particlesSetup?.();\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.particlesSetup);\n }\n async initDrawersAndUpdaters() {\n const pluginManager = this._pluginManager;\n this.effectDrawers = await pluginManager.getEffectDrawers(this, true);\n this.shapeDrawers = await pluginManager.getShapeDrawers(this, true);\n this.particleUpdaters = await pluginManager.getUpdaters(this, true);\n }\n pause() {\n if (!guardCheck(this)) {\n return;\n }\n if (this._drawAnimationFrame !== undefined) {\n (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.cancelAnimation)(this._drawAnimationFrame);\n delete this._drawAnimationFrame;\n }\n if (this._paused) {\n return;\n }\n for (const plugin of this.plugins){\n plugin.pause?.();\n }\n if (!this.pageHidden) {\n this._paused = true;\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerPaused);\n }\n play(force) {\n if (!guardCheck(this)) {\n return;\n }\n const needsUpdate = this._paused || force;\n if (this._firstStart && !this.actualOptions.autoPlay) {\n this._firstStart = false;\n return;\n }\n if (this._paused) {\n this._paused = false;\n }\n if (needsUpdate) {\n for (const plugin of this.plugins){\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerPlay);\n this.draw(needsUpdate ?? false);\n }\n async refresh() {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n return this.start();\n }\n async reset(sourceOptions) {\n if (!guardCheck(this)) {\n return;\n }\n this._initialSourceOptions = sourceOptions;\n this._sourceOptions = sourceOptions;\n this._options = loadContainerOptions(this._pluginManager, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._pluginManager, this, this._options);\n return this.refresh();\n }\n async start() {\n if (!guardCheck(this) || this.started) {\n return;\n }\n await this.init();\n this.started = true;\n await new Promise((resolve)=>{\n const start = async ()=>{\n this._eventListeners.addListeners();\n for (const plugin of this.plugins){\n await plugin.start?.();\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerStarted);\n this.play();\n resolve();\n };\n this._delayTimeout = setTimeout(()=>void start(), this._delay);\n });\n }\n stop() {\n if (!guardCheck(this) || !this.started) {\n return;\n }\n if (this._delayTimeout) {\n clearTimeout(this._delayTimeout);\n delete this._delayTimeout;\n }\n this._firstStart = true;\n this.started = false;\n this._eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.stop();\n for (const plugin of this.plugins){\n plugin.stop?.();\n }\n this.particleCreatedPlugins.length = 0;\n this.particleDestroyedPlugins.length = 0;\n this.particlePositionPlugins.length = 0;\n this._sourceOptions = this._options;\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerStopped);\n }\n updateActualOptions() {\n let refresh = false;\n for (const plugin of this.plugins){\n if (plugin.updateActualOptions) {\n refresh = plugin.updateActualOptions() || refresh;\n }\n }\n return refresh;\n }\n _nextFrame = (timestamp)=>{\n try {\n if (!this._smooth && this._lastFrameTime !== undefined && timestamp < this._lastFrameTime + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds / this.fpsLimit) {\n this.draw(false);\n return;\n }\n this._lastFrameTime ??= timestamp;\n updateDelta(this._delta, timestamp - this._lastFrameTime, this.fpsLimit, this._smooth);\n this.addLifeTime(this._delta.value);\n this._lastFrameTime = timestamp;\n if (this._delta.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds) {\n this.draw(false);\n return;\n }\n this.canvas.render.drawParticles(this._delta);\n if (!this.alive()) {\n this.destroy();\n return;\n }\n if (this.animationStatus) {\n this.draw(false);\n }\n } catch (e) {\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_11__.getLogger)().error(\"error in animation loop\", e);\n }\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Container.js?\n}");
|
|
37
|
-
|
|
38
|
-
/***/ },
|
|
39
|
-
|
|
40
|
-
/***/ "../../engine/dist/browser/Core/Interfaces/IEffectDrawer.js"
|
|
41
|
-
/*!******************************************************************!*\
|
|
42
|
-
!*** ../../engine/dist/browser/Core/Interfaces/IEffectDrawer.js ***!
|
|
43
|
-
\******************************************************************/
|
|
44
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
45
|
-
|
|
46
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Interfaces/IEffectDrawer.js?\n}");
|
|
47
|
-
|
|
48
|
-
/***/ },
|
|
49
|
-
|
|
50
|
-
/***/ "../../engine/dist/browser/Core/Interfaces/IParticleUpdater.js"
|
|
51
|
-
/*!*********************************************************************!*\
|
|
52
|
-
!*** ../../engine/dist/browser/Core/Interfaces/IParticleUpdater.js ***!
|
|
53
|
-
\*********************************************************************/
|
|
54
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
55
|
-
|
|
56
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Interfaces/IParticleUpdater.js?\n}");
|
|
57
|
-
|
|
58
|
-
/***/ },
|
|
59
|
-
|
|
60
|
-
/***/ "../../engine/dist/browser/Core/Interfaces/IShapeDrawer.js"
|
|
61
|
-
/*!*****************************************************************!*\
|
|
62
|
-
!*** ../../engine/dist/browser/Core/Interfaces/IShapeDrawer.js ***!
|
|
63
|
-
\*****************************************************************/
|
|
64
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
65
|
-
|
|
66
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Interfaces/IShapeDrawer.js?\n}");
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _CanvasManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CanvasManager.js */ \"../../engine/dist/browser/Core/CanvasManager.js\");\n/* harmony import */ var _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/EventListeners.js */ \"../../engine/dist/browser/Core/Utils/EventListeners.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Options/Classes/Options.js */ \"../../engine/dist/browser/Options/Classes/Options.js\");\n/* harmony import */ var _ParticlesManager_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ParticlesManager.js */ \"../../engine/dist/browser/Core/ParticlesManager.js\");\n/* harmony import */ var _Retina_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Retina.js */ \"../../engine/dist/browser/Core/Retina.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.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 guardCheck(container) {\n return !container.destroyed;\n}\nfunction updateDelta(delta, value, fpsLimit = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps, smooth = false) {\n delta.value = value;\n delta.factor = smooth ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps / fpsLimit : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps * value / _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n}\nfunction loadContainerOptions(pluginManager, container, ...sourceOptionsArr) {\n const options = new _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_5__.Options(pluginManager, container);\n (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__.loadOptions)(options, ...sourceOptionsArr);\n return options;\n}\nclass Container {\n actualOptions;\n canvas;\n destroyed;\n effectDrawers;\n fpsLimit;\n hdr;\n id;\n pageHidden;\n particleCreatedPlugins;\n particleDestroyedPlugins;\n particlePositionPlugins;\n particleUpdaters;\n particles;\n plugins;\n retina;\n shapeDrawers;\n started;\n zLayers;\n _delay;\n _delayTimeout;\n _delta = {\n value: 0,\n factor: 0\n };\n _dispatchCallback;\n _drawAnimationFrame;\n _duration;\n _eventListeners;\n _firstStart;\n _initialSourceOptions;\n _lastFrameTime;\n _lifeTime;\n _onDestroy;\n _options;\n _paused;\n _pluginManager;\n _smooth;\n _sourceOptions;\n constructor(params){\n const { dispatchCallback, pluginManager, id, onDestroy, sourceOptions } = params;\n this._pluginManager = pluginManager;\n this._dispatchCallback = dispatchCallback;\n this._onDestroy = onDestroy;\n this.id = Symbol(id);\n this.fpsLimit = 120;\n this.hdr = false;\n this._smooth = false;\n this._delay = 0;\n this._duration = 0;\n this._lifeTime = 0;\n this._firstStart = true;\n this.started = false;\n this.destroyed = false;\n this._paused = true;\n this._lastFrameTime = 0;\n this.zLayers = 100;\n this.pageHidden = false;\n this._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.particleUpdaters = [];\n this.retina = new _Retina_js__WEBPACK_IMPORTED_MODULE_7__.Retina(this);\n this.canvas = new _CanvasManager_js__WEBPACK_IMPORTED_MODULE_2__.CanvasManager(this._pluginManager, this);\n this.particles = new _ParticlesManager_js__WEBPACK_IMPORTED_MODULE_6__.ParticlesManager(this._pluginManager, this);\n this.plugins = [];\n this.particleDestroyedPlugins = [];\n this.particleCreatedPlugins = [];\n this.particlePositionPlugins = [];\n this._options = loadContainerOptions(this._pluginManager, this);\n this.actualOptions = loadContainerOptions(this._pluginManager, this);\n this._eventListeners = new _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_3__.EventListeners(this);\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerBuilt);\n }\n get animationStatus() {\n return !this._paused && !this.pageHidden && guardCheck(this);\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n addLifeTime(value) {\n this._lifeTime += value;\n }\n alive() {\n return !this._duration || this._lifeTime <= this._duration;\n }\n destroy(remove = true) {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n this.particles.destroy();\n this.canvas.destroy();\n for (const [, effectDrawer] of this.effectDrawers){\n effectDrawer.destroy?.(this);\n }\n for (const [, shapeDrawer] of this.shapeDrawers){\n shapeDrawer.destroy?.(this);\n }\n for (const plugin of this.plugins){\n plugin.destroy?.();\n }\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.particleUpdaters = [];\n this.plugins.length = 0;\n this._pluginManager.clearPlugins(this);\n this.destroyed = true;\n this._onDestroy(remove);\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerDestroyed);\n }\n dispatchEvent(type, data) {\n this._dispatchCallback(type, {\n container: this,\n data\n });\n }\n draw(force) {\n if (!guardCheck(this)) {\n return;\n }\n let refreshTime = force;\n this._drawAnimationFrame = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.animate)((timestamp)=>{\n if (refreshTime) {\n this._lastFrameTime = undefined;\n refreshTime = false;\n }\n this._nextFrame(timestamp);\n });\n }\n async export(type, options = {}) {\n for (const plugin of this.plugins){\n if (!plugin.export) {\n continue;\n }\n const res = await plugin.export(type, options);\n if (!res.supported) {\n continue;\n }\n return res.blob;\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_8__.getLogger)().error(`Export plugin with type ${type} not found`);\n return undefined;\n }\n async init() {\n if (!guardCheck(this)) {\n return;\n }\n const allContainerPlugins = new Map();\n for (const plugin of this._pluginManager.plugins){\n const containerPlugin = await plugin.getPlugin(this);\n if (containerPlugin.preInit) {\n await containerPlugin.preInit();\n }\n allContainerPlugins.set(plugin, containerPlugin);\n }\n await this.initDrawersAndUpdaters();\n this._options = loadContainerOptions(this._pluginManager, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._pluginManager, this, this._options);\n this.plugins.length = 0;\n this.particleDestroyedPlugins.length = 0;\n this.particleCreatedPlugins.length = 0;\n this.particlePositionPlugins.length = 0;\n for (const [plugin, containerPlugin] of allContainerPlugins){\n if (plugin.needsPlugin(this.actualOptions)) {\n this.plugins.push(containerPlugin);\n if (containerPlugin.particleCreated) {\n this.particleCreatedPlugins.push(containerPlugin);\n }\n if (containerPlugin.particleDestroyed) {\n this.particleDestroyedPlugins.push(containerPlugin);\n }\n if (containerPlugin.particlePosition) {\n this.particlePositionPlugins.push(containerPlugin);\n }\n }\n }\n this.retina.init();\n this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n const { delay, duration, fpsLimit, hdr, smooth, zLayers } = this.actualOptions;\n this.hdr = hdr;\n this.zLayers = zLayers;\n this._duration = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(duration) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._delay = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(delay) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._lifeTime = 0;\n this.fpsLimit = fpsLimit > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.minFpsLimit ? fpsLimit : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFpsLimit;\n this._smooth = smooth;\n for (const plugin of this.plugins){\n await plugin.init?.();\n }\n await this.particles.init();\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerInit);\n this.particles.setDensity();\n for (const plugin of this.plugins){\n plugin.particlesSetup?.();\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.particlesSetup);\n }\n async initDrawersAndUpdaters() {\n const pluginManager = this._pluginManager;\n this.effectDrawers = await pluginManager.getEffectDrawers(this, true);\n this.shapeDrawers = await pluginManager.getShapeDrawers(this, true);\n this.particleUpdaters = await pluginManager.getUpdaters(this, true);\n }\n pause() {\n if (!guardCheck(this)) {\n return;\n }\n if (this._drawAnimationFrame !== undefined) {\n (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.cancelAnimation)(this._drawAnimationFrame);\n delete this._drawAnimationFrame;\n }\n if (this._paused) {\n return;\n }\n for (const plugin of this.plugins){\n plugin.pause?.();\n }\n if (!this.pageHidden) {\n this._paused = true;\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerPaused);\n }\n play(force) {\n if (!guardCheck(this)) {\n return;\n }\n const needsUpdate = this._paused || force;\n if (this._firstStart && !this.actualOptions.autoPlay) {\n this._firstStart = false;\n return;\n }\n if (this._paused) {\n this._paused = false;\n }\n if (needsUpdate) {\n for (const plugin of this.plugins){\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerPlay);\n this.draw(needsUpdate ?? false);\n }\n async refresh() {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n return this.start();\n }\n async reset(sourceOptions) {\n if (!guardCheck(this)) {\n return;\n }\n this._initialSourceOptions = sourceOptions;\n this._sourceOptions = sourceOptions;\n this._options = loadContainerOptions(this._pluginManager, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._pluginManager, this, this._options);\n return this.refresh();\n }\n async start() {\n if (!guardCheck(this) || this.started) {\n return;\n }\n await this.init();\n this.started = true;\n await new Promise((resolve)=>{\n const start = async ()=>{\n this._eventListeners.addListeners();\n for (const plugin of this.plugins){\n await plugin.start?.();\n }\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerStarted);\n this.play();\n resolve();\n };\n this._delayTimeout = setTimeout(()=>void start(), this._delay);\n });\n }\n stop() {\n if (!guardCheck(this) || !this.started) {\n return;\n }\n if (this._delayTimeout) {\n clearTimeout(this._delayTimeout);\n delete this._delayTimeout;\n }\n this._firstStart = true;\n this.started = false;\n this._eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.stop();\n for (const plugin of this.plugins){\n plugin.stop?.();\n }\n this.particleCreatedPlugins.length = 0;\n this.particleDestroyedPlugins.length = 0;\n this.particlePositionPlugins.length = 0;\n this._sourceOptions = this._options;\n this.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerStopped);\n }\n updateActualOptions() {\n let refresh = false;\n for (const plugin of this.plugins){\n if (plugin.updateActualOptions) {\n refresh = plugin.updateActualOptions() || refresh;\n }\n }\n return refresh;\n }\n _nextFrame = (timestamp)=>{\n try {\n if (!this._smooth && this._lastFrameTime !== undefined && timestamp < this._lastFrameTime + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds / this.fpsLimit) {\n this.draw(false);\n return;\n }\n this._lastFrameTime ??= timestamp;\n updateDelta(this._delta, timestamp - this._lastFrameTime, this.fpsLimit, this._smooth);\n this.addLifeTime(this._delta.value);\n this._lastFrameTime = timestamp;\n if (this._delta.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds) {\n this.draw(false);\n return;\n }\n this.canvas.render.drawParticles(this._delta);\n if (!this.alive()) {\n this.destroy();\n return;\n }\n if (this.animationStatus) {\n this.draw(false);\n }\n } catch (e) {\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_8__.getLogger)().error(\"error in animation loop\", e);\n }\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Container.js?\n}");
|
|
67
37
|
|
|
68
38
|
/***/ },
|
|
69
39
|
|
|
@@ -83,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
83
53
|
\**********************************************************/
|
|
84
54
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
85
55
|
|
|
86
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesManager: () => (/* binding */ ParticlesManager)\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 _Options_Classes_Particles_ParticlesOptions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Options/Classes/Particles/ParticlesOptions.js */ \"../../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js\");\n/* harmony import */ var _Utils_SpatialHashGrid_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Utils/SpatialHashGrid.js */ \"../../engine/dist/browser/Core/Utils/SpatialHashGrid.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\nclass ParticlesManager {\n checkParticlePositionPlugins;\n grid;\n _array;\n _container;\n _groupLimits;\n _limit;\n _maxZIndex;\n _minZIndex;\n _needsSort;\n _nextId;\n _particleResetPlugins;\n _particleUpdatePlugins;\n _pluginManager;\n _pool;\n _postParticleUpdatePlugins;\n _postUpdatePlugins;\n _resizeFactor;\n _updatePlugins;\n _zArray;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\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_5__.SpatialHashGrid(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.spatialHashGridCellSize);\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._pluginManager, 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._container.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleAdded, {\n particle\n });\n return particle;\n } catch (e) {\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_6__.getLogger)().warning(`error adding particle: ${e}`);\n }\n return undefined;\n }\n clear() {\n this._array = [];\n this._zArray = [];\n }\n destroy() {\n this._array = [];\n this._pool.length = 0;\n this._zArray = [];\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_5__.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._container.initDrawersAndUpdaters();\n for (const drawer of this._container.effectDrawers.values()){\n await drawer.init?.(container);\n }\n for (const drawer of this._container.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 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.render.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_7__.loadParticlesOptions)(this._pluginManager, 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 for (const plugin of this._postUpdatePlugins){\n plugin.postUpdate?.(delta);\n }\n for (const particle of this._array){\n if (particle.destroyed) {\n particlesToDelete.add(particle);\n continue;\n }\n for (const updater of this._container.particleUpdaters){\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 } else if (particle.destroyed) {\n particlesToDelete.add(particle);\n }\n }\n if (particlesToDelete.size) {\n for (const particle of particlesToDelete){\n this.remove(particle);\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._container.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n particle\n });\n this._addToPool(particle);\n return true;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/ParticlesManager.js?\n}");
|
|
56
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesManager: () => (/* binding */ ParticlesManager)\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 ParticlesManager {\n checkParticlePositionPlugins;\n grid;\n _array;\n _container;\n _groupLimits;\n _limit;\n _maxZIndex;\n _minZIndex;\n _needsSort;\n _nextId;\n _particleResetPlugins;\n _particleUpdatePlugins;\n _pluginManager;\n _pool;\n _postParticleUpdatePlugins;\n _postUpdatePlugins;\n _resizeFactor;\n _updatePlugins;\n _zArray;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\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.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._pluginManager, 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._container.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleAdded, {\n particle\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 this._array = [];\n this._pool.length = 0;\n this._zArray = [];\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._container.initDrawersAndUpdaters();\n for (const drawer of this._container.effectDrawers.values()){\n await drawer.init?.(container);\n }\n for (const drawer of this._container.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 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.render.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._pluginManager, 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 for (const plugin of this._postUpdatePlugins){\n plugin.postUpdate?.(delta);\n }\n for (const particle of this._array){\n if (particle.destroyed) {\n particlesToDelete.add(particle);\n continue;\n }\n for (const updater of this._container.particleUpdaters){\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 } else if (particle.destroyed) {\n particlesToDelete.add(particle);\n }\n }\n if (particlesToDelete.size) {\n for (const particle of particlesToDelete){\n this.remove(particle);\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._container.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n particle\n });\n this._addToPool(particle);\n return true;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/ParticlesManager.js?\n}");
|
|
87
57
|
|
|
88
58
|
/***/ },
|
|
89
59
|
|
package/esm/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {} from "@tsparticles/engine";
|
|
2
1
|
import { MBParticles } from "./marcbruederlin/Particles.js";
|
|
3
2
|
import { initParticlesJS } from "./VincentGarreau/particles.js";
|
|
4
3
|
const initPjs = async (engine) => {
|
|
5
|
-
engine.checkVersion("4.0.0-beta.
|
|
4
|
+
engine.checkVersion("4.0.0-beta.5");
|
|
6
5
|
await engine.pluginManager.register(async (e) => {
|
|
7
6
|
const [{ loadFull }, { loadResponsivePlugin },] = await Promise.all([
|
|
8
7
|
import("tsparticles"),
|
|
@@ -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-beta.
|
|
7
|
+
* v4.0.0-beta.5
|
|
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 */ loadFull: () => (/* binding */ loadFull)\n/* harmony export */ });\
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadFull: () => (/* binding */ loadFull)\n/* harmony export */ });\nasync function loadFull(engine) {\n engine.checkVersion(\"4.0.0-beta.5\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadSlim }, { loadExternalDragInteraction }, { loadExternalTrailInteraction }, { loadAbsorbersPlugin }, { loadEmittersPlugin }, { loadEmittersShapeCircle }, { loadEmittersShapeSquare }, { loadTextShape }, { loadDestroyUpdater }, { loadRollUpdater }, { loadTiltUpdater }, { loadTwinkleUpdater }, { loadWobbleUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"slim_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/slim */ \"../slim/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_drag_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-drag */ \"../../interactions/external/drag/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_trail_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-trail */ \"../../interactions/external/trail/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-absorbers */ \"../../plugins/absorbers/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_circle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters-shape-circle */ \"../../plugins/emittersShapes/circle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_square_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters-shape-square */ \"../../plugins/emittersShapes/square/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_text_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-text */ \"../../shapes/text/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_destroy_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-destroy */ \"../../updaters/destroy/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-roll */ \"../../updaters/roll/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_tilt_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-tilt */ \"../../updaters/tilt/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_twinkle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-twinkle */ \"../../updaters/twinkle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_wobble_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-wobble */ \"../../updaters/wobble/dist/browser/index.js\"))\n ]);\n await Promise.all([\n (async ()=>{\n await loadSlim(e);\n await Promise.all([\n loadExternalDragInteraction(e),\n loadExternalTrailInteraction(e),\n loadAbsorbersPlugin(e),\n (async ()=>{\n await loadEmittersPlugin(e);\n await Promise.all([\n loadEmittersShapeCircle(e),\n loadEmittersShapeSquare(e)\n ]);\n })()\n ]);\n })(),\n loadDestroyUpdater(e),\n loadRollUpdater(e),\n loadTiltUpdater(e),\n loadTwinkleUpdater(e),\n loadWobbleUpdater(e),\n loadTextShape(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../full/dist/browser/index.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ }
|
|
29
29
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-beta.
|
|
7
|
+
* v4.0.0-beta.5
|
|
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 */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var
|
|
46
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\nclass ExternalInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.external;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.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 */ ParticlesInteractorBase: () => (/* binding */ ParticlesInteractorBase)\n/* harmony export */ });\n/* harmony import */ var
|
|
56
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesInteractorBase: () => (/* binding */ ParticlesInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\nclass ParticlesInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.particles;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js?\n}");
|
|
57
57
|
|
|
58
58
|
/***/ },
|
|
59
59
|
|
|
@@ -97,16 +97,6 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
97
97
|
|
|
98
98
|
/***/ },
|
|
99
99
|
|
|
100
|
-
/***/ "../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js"
|
|
101
|
-
/*!**************************************************************************!*\
|
|
102
|
-
!*** ../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js ***!
|
|
103
|
-
\**************************************************************************/
|
|
104
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
105
|
-
|
|
106
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js?\n}");
|
|
107
|
-
|
|
108
|
-
/***/ },
|
|
109
|
-
|
|
110
100
|
/***/ "../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js"
|
|
111
101
|
/*!***********************************************************************************!*\
|
|
112
102
|
!*** ../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js ***!
|
|
@@ -133,17 +123,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
133
123
|
\*********************************************************/
|
|
134
124
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
135
125
|
|
|
136
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */
|
|
137
|
-
|
|
138
|
-
/***/ },
|
|
139
|
-
|
|
140
|
-
/***/ "../../plugins/interactivity/dist/browser/types.js"
|
|
141
|
-
/*!*********************************************************!*\
|
|
142
|
-
!*** ../../plugins/interactivity/dist/browser/types.js ***!
|
|
143
|
-
\*********************************************************/
|
|
144
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
145
|
-
|
|
146
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/types.js?\n}");
|
|
126
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseMoveEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseClasses/ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js\");\n/* harmony import */ var _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BaseClasses/ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.5\");\n await engine.pluginManager.register(async (e)=>{\n const interactivityEngine = e, interactivityPluginManager = interactivityEngine.pluginManager, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityPluginManager.addPlugin(new InteractivityPlugin(interactivityPluginManager));\n interactivityPluginManager.initializers.interactors ??= new Map();\n interactivityPluginManager.interactors ??= new Map();\n interactivityPluginManager.addInteractor = (name, interactorInitializer)=>{\n interactivityPluginManager.initializers.interactors ??= new Map();\n interactivityPluginManager.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityPluginManager.getInteractors = async (container, force = false)=>{\n interactivityPluginManager.interactors ??= new Map();\n interactivityPluginManager.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityPluginManager.interactors, interactivityPluginManager.initializers.interactors, force);\n };\n interactivityPluginManager.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.pluginManager.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/index.js?\n}");
|
|
147
127
|
|
|
148
128
|
/***/ },
|
|
149
129
|
|
|
@@ -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-beta.
|
|
7
|
+
* v4.0.0-beta.5
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
33
33
|
\*****************************************************************/
|
|
34
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
35
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Attract: () => (/* reexport safe */
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Attract: () => (/* reexport safe */ _Options_Classes_Attract_js__WEBPACK_IMPORTED_MODULE_0__.Attract),\n/* harmony export */ loadExternalAttractInteraction: () => (/* binding */ loadExternalAttractInteraction)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Attract_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Attract.js */ \"../../interactions/external/attract/dist/browser/Options/Classes/Attract.js\");\nasync function loadExternalAttractInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.5\");\n await engine.pluginManager.register(async (e)=>{\n const { ensureInteractivityPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\"));\n ensureInteractivityPluginLoaded(e);\n e.pluginManager.addInteractor?.(\"externalAttract\", async (container)=>{\n const { Attractor } = await __webpack_require__.e(/*! import() */ \"interactions_external_attract_dist_browser_Attractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Attractor.js */ \"../../interactions/external/attract/dist/browser/Attractor.js\"));\n return new Attractor(e.pluginManager, container);\n });\n });\n}\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../interactions/external/attract/dist/browser/index.js?\n}");
|
|
37
37
|
|
|
38
38
|
/***/ }
|
|
39
39
|
|