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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/102.min.js +1 -1
  2. package/1416.min.js +1 -1
  3. package/1504.min.js +1 -1
  4. package/1801.min.js +1 -1
  5. package/1887.min.js +1 -1
  6. package/195.min.js +1 -1
  7. package/2106.min.js +1 -1
  8. package/2129.min.js +1 -1
  9. package/2268.min.js +1 -1
  10. package/2402.min.js +1 -1
  11. package/2559.min.js +1 -1
  12. package/2740.min.js +1 -1
  13. package/2753.min.js +1 -1
  14. package/2833.min.js +1 -1
  15. package/2895.min.js +1 -1
  16. package/3111.min.js +1 -0
  17. package/3139.min.js +1 -1
  18. package/3277.min.js +1 -1
  19. package/3281.min.js +1 -1
  20. package/3576.min.js +1 -1
  21. package/3607.min.js +1 -1
  22. package/3611.min.js +1 -0
  23. package/3746.min.js +1 -1
  24. package/3775.min.js +1 -1
  25. package/3891.min.js +1 -1
  26. package/3923.min.js +1 -1
  27. package/3939.min.js +1 -1
  28. package/4060.min.js +1 -1
  29. package/411.min.js +1 -1
  30. package/4377.min.js +1 -1
  31. package/4512.min.js +1 -1
  32. package/4853.min.js +1 -1
  33. package/4894.min.js +1 -1
  34. package/5022.min.js +1 -1
  35. package/5143.min.js +1 -1
  36. package/5280.min.js +1 -1
  37. package/5291.min.js +1 -1
  38. package/5584.min.js +1 -1
  39. package/578.min.js +1 -1
  40. package/5861.min.js +1 -1
  41. package/5905.min.js +1 -1
  42. package/6084.min.js +1 -1
  43. package/611.min.js +1 -1
  44. package/6253.min.js +1 -1
  45. package/6300.min.js +1 -1
  46. package/6330.min.js +1 -1
  47. package/6497.min.js +1 -1
  48. package/6566.min.js +1 -1
  49. package/665.min.js +1 -1
  50. package/6900.min.js +1 -1
  51. package/699.min.js +1 -1
  52. package/7152.min.js +1 -1
  53. package/7239.min.js +1 -1
  54. package/7242.min.js +1 -1
  55. package/7325.min.js +1 -1
  56. package/7346.min.js +1 -1
  57. package/7468.min.js +1 -1
  58. package/7627.min.js +1 -1
  59. package/7884.min.js +1 -1
  60. package/795.min.js +1 -1
  61. package/8166.min.js +1 -1
  62. package/8196.min.js +1 -1
  63. package/8509.min.js +1 -1
  64. package/8580.min.js +1 -1
  65. package/8968.min.js +1 -1
  66. package/9099.min.js +1 -1
  67. package/9169.min.js +1 -1
  68. package/9212.min.js +1 -1
  69. package/9260.min.js +1 -1
  70. package/929.min.js +1 -1
  71. package/9322.min.js +1 -1
  72. package/9391.min.js +1 -1
  73. package/9555.min.js +1 -1
  74. package/9612.min.js +1 -1
  75. package/969.min.js +1 -1
  76. package/basic_dist_browser_index_js.js +2 -2
  77. package/browser/index.js +1 -1
  78. package/cjs/index.js +1 -1
  79. package/engine_dist_browser_Core_Container_js.js +2 -2
  80. package/esm/index.js +1 -1
  81. package/full_dist_browser_index_js.js +2 -2
  82. package/interactions_external_attract_dist_browser_Attractor_js.js +38 -38
  83. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  84. package/interactions_external_bounce_dist_browser_Bouncer_js.js +38 -38
  85. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  86. package/interactions_external_bubble_dist_browser_Bubbler_js.js +38 -38
  87. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  88. package/interactions_external_connect_dist_browser_Connector_js.js +38 -38
  89. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  90. package/interactions_external_grab_dist_browser_Grabber_js.js +38 -38
  91. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  92. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +38 -38
  93. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  94. package/interactions_external_pause_dist_browser_Pauser_js.js +38 -38
  95. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  96. package/interactions_external_push_dist_browser_Pusher_js.js +38 -38
  97. package/interactions_external_push_dist_browser_index_js.js +2 -2
  98. package/interactions_external_remove_dist_browser_Remover_js.js +38 -38
  99. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  100. package/interactions_external_repulse_dist_browser_Repulser_js.js +38 -38
  101. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  102. package/interactions_external_slow_dist_browser_Slower_js.js +38 -38
  103. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  104. package/interactions_external_trail_dist_browser_TrailMaker_js.js +38 -38
  105. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  106. package/interactions_particles_attract_dist_browser_Attractor_js.js +38 -38
  107. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  108. package/interactions_particles_collisions_dist_browser_Collider_js.js +38 -38
  109. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  110. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
  111. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  112. package/interactions_particles_links_dist_browser_LinkInstance_js.js +3 -23
  113. package/interactions_particles_links_dist_browser_Linker_js.js +40 -40
  114. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
  115. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  116. package/move_base_dist_browser_BaseMover_js.js +1 -1
  117. package/move_base_dist_browser_index_js.js +2 -2
  118. package/package.json +4 -4
  119. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +1 -1
  120. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
  121. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +38 -38
  122. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  123. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  124. package/plugins_absorbers_dist_browser_index_js.js +2 -2
  125. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  126. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  127. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  128. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  129. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  130. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  131. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  132. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  133. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +2 -2
  134. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  135. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +2 -2
  136. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  137. package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
  138. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
  139. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +38 -38
  140. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  141. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  142. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  143. package/plugins_emitters_dist_browser_index_js.js +2 -2
  144. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  145. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +3 -3
  146. package/plugins_interactivity_dist_browser_index_js.js +38 -38
  147. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +1 -1
  148. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +1 -1
  149. package/plugins_responsive_dist_browser_index_js.js +2 -2
  150. package/report.html +1 -1
  151. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  152. package/shapes_circle_dist_browser_index_js.js +2 -2
  153. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  154. package/shapes_emoji_dist_browser_index_js.js +2 -2
  155. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  156. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  157. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +30 -0
  158. package/shapes_image_dist_browser_ImagePreloader_js.js +2 -2
  159. package/shapes_image_dist_browser_index_js.js +2 -2
  160. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  161. package/shapes_line_dist_browser_index_js.js +2 -2
  162. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  163. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  164. package/shapes_polygon_dist_browser_index_js.js +2 -2
  165. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  166. package/shapes_square_dist_browser_index_js.js +2 -2
  167. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  168. package/shapes_star_dist_browser_index_js.js +2 -2
  169. package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
  170. package/shapes_text_dist_browser_index_js.js +2 -2
  171. package/slim_dist_browser_index_js.js +2 -2
  172. package/tsparticles.pjs.bundle.js +8 -8
  173. package/tsparticles.pjs.bundle.min.js +2 -2
  174. package/tsparticles.pjs.js +2 -2
  175. package/tsparticles.pjs.min.js +1 -1
  176. package/umd/index.js +1 -1
  177. package/updaters_color_dist_browser_ColorUpdater_js.js +1 -1
  178. package/updaters_color_dist_browser_index_js.js +2 -2
  179. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +1 -1
  180. package/updaters_destroy_dist_browser_index_js.js +2 -2
  181. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  182. package/updaters_life_dist_browser_index_js.js +2 -2
  183. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  184. package/updaters_opacity_dist_browser_index_js.js +2 -2
  185. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  186. package/updaters_outModes_dist_browser_index_js.js +2 -2
  187. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  188. package/updaters_roll_dist_browser_index_js.js +2 -2
  189. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  190. package/updaters_rotate_dist_browser_index_js.js +2 -2
  191. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  192. package/updaters_size_dist_browser_index_js.js +2 -2
  193. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
  194. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  195. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  196. package/updaters_tilt_dist_browser_index_js.js +2 -2
  197. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +1 -1
  198. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  199. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +1 -1
  200. package/updaters_wobble_dist_browser_index_js.js +2 -2
  201. package/7953.min.js +0 -1
package/9322.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9322],{9322(a,s,e){async function t(a){a.checkVersion("4.0.0-alpha.21"),await a.register(async a=>{let{RgbColorManager:s}=await e.e(8635).then(e.bind(e,8635));a.addColorManager("rgb",new s)})}e.r(s),e.d(s,{loadRgbColorPlugin:()=>t})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9322],{9322(a,s,e){async function t(a){a.checkVersion("4.0.0-alpha.23"),await a.register(async a=>{let{RgbColorManager:s}=await e.e(8635).then(e.bind(e,8635));a.addColorManager("rgb",new s)})}e.r(s),e.d(s,{loadRgbColorPlugin:()=>t})}}]);
package/9391.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9391],{9391(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("roll",async()=>{let{RollUpdater:a}=await e.e(1642).then(e.bind(e,1642));return new a(t)})})}e.r(a),e.d(a,{loadRollUpdater:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9391],{9391(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("roll",async()=>{let{RollUpdater:a}=await e.e(1642).then(e.bind(e,1642));return new a(t)})})}e.r(a),e.d(a,{loadRollUpdater:()=>s})}}]);
package/9555.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9555],{9555(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.21"),await t.register(t=>{t.addParticleUpdater("tilt",async t=>{let{TiltUpdater:a}=await e.e(2816).then(e.bind(e,2816));return new a(t)})})}e.r(a),e.d(a,{loadTiltUpdater:()=>s})}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[9555],{9555(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.23"),await t.register(t=>{t.addParticleUpdater("tilt",async t=>{let{TiltUpdater:a}=await e.e(2816).then(e.bind(e,2816));return new a(t)})})}e.r(a),e.d(a,{loadTiltUpdater:()=>s})}}]);
package/9612.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[7953,9612],{9612(t,e,i){i.d(e,{EmittersInteractor:()=>l});var o=i(7953),a=i(5954),s=i(6836);let n={count:1,enable:!0},r="emitters";class l extends o.ExternalInteractorBase{handleClickMode;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.handleClickMode=(t,e)=>{let i,o=this.container.actualOptions.interactivity.modes.emitters;if(!o||t!==r)return;if((0,a.cyL)(o.value)){let t=o.value.length;if(t>0&&o.random.enable){i=[];let e=new Set;for(let s=0;s<o.random.count;s++){let n=(0,a.n02)(o.value);if(e.has(n)&&e.size<t){s--;continue}e.add(n);let r=(0,a.Vh1)(o.value,n);r&&i.push(r)}}else i=o.value}else i=o.value;let s=i,n=e.mouse.clickPosition;(0,a.wJ2)(s,async t=>{await this._instancesManager.addEmitter(this.container,t,n)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,o=t.mouse,s=(e?.interactivity??i.interactivity).events;return!!o.clickPosition&&!!s.onClick.enable&&(0,a.hnD)(r,s.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:n,value:[]},e))if(i?.emitters)if((0,a.cyL)(i.emitters))for(let e of i.emitters){let i=new s.v;i.load(e),t.emitters.value.push(i)}else if(Object.hasOwn(i.emitters,"value")){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,a.cyL)(e.value))for(let i of e.value){let e=new s.v;e.load(i),t.emitters.value.push(e)}else{let i=new s.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new s.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},6836(t,e,i){i.d(e,{v:()=>c});var o=i(5954);class a{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class s{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,o.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,o.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)))}}class n{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new n,this.type="square"}load(t){(0,o.kZJ)(t)||(void 0!==t.options&&(this.options=(0,o.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(122);class c{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawnColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new a,this.rate=new s,this.shape=new r,this.startCount=0}load(t){(0,o.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ2)(t.particles,t=>(0,o.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT4)(t.position.y))),void 0!==t.spawnColor&&(this.spawnColor??=new o.A9e,this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},122(t,e,i){i.d(e,{G:()=>a});var o=i(5954);class a{height;mode;width;constructor(){this.mode=o.qiC.percent,this.height=0,this.width=0}load(t){(0,o.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},4312(t,e,i){var o,a;i.d(e,{Q:()=>o}),(a=o||(o={})).circle="circle",a.rectangle="rectangle"},1455(t,e,i){i.d(e,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>l,Z0:()=>n,ms:()=>a,s7:()=>c,sf:()=>r,vo:()=>s,xO:()=>o});let o="click",a="pointerdown",s="pointerup",n="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",h="touchmove",u="touchcancel"},359(t,e,i){var o,a;i.d(e,{h:()=>o}),(a=o||(o={})).canvas="canvas",a.parent="parent",a.window="window"},376(t,e,i){var o,a;i.d(e,{e:()=>o}),(a=o||(o={})).external="external",a.particles="particles"},6594(t,e,i){i.d(e,{G:()=>s});var o=i(5954),a=i(4312);class s{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.Q.circle}load(t){(0,o.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},9766(t,e,i){i.d(e,{d:()=>a});var o=i(5954);class a{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,o.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},7953(t,e,i){i.r(e),i.d(e,{DivEvent:()=>p.G,DivType:()=>a.Q,ExternalInteractorBase:()=>n,InteractivityDetect:()=>l.h,InteractorType:()=>s.e,Modes:()=>m.d,ParticlesInteractorBase:()=>c,clickEvent:()=>r.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>w,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(5954),a=i(4312),s=i(376);class n{type=s.e.external;container;constructor(t){this.container=t}}var r=i(1455),l=i(359);class c{type=s.e.particles;container;constructor(t){this.container=t}}function d(t,e){return!!(0,o.w3Z)(e,e=>e.enable&&(0,o.hnD)(t,e.mode))}function h(t,e,i){(0,o.wJ2)(e,e=>{let a=e.mode;e.enable&&(0,o.hnD)(t,a)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,o.wJ2)(i,i=>{e(i,t)})}function v(t,e){if(e&&t)return(0,o.w3Z)(t,t=>{var i;let a;return i=t.selectors,a=(0,o.wJ2)(i,t=>e.matches(t)),(0,o.cyL)(a)?a.some(t=>t):a})}var p=i(6594),m=i(9766);async function y(t){t.checkVersion("4.0.0-alpha.21"),await t.register(async t=>{let{InteractivityPlugin:e}=await i.e(3939).then(i.bind(i,3939));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,o.HQK)(e,t.interactors,t.initializers.interactors,i)),t.setOnClickHandler=e=>{let{items:i}=t;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(t=>{t.addClickHandler?.(e)})}})}function w(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[3611,9612],{9612(t,e,i){i.d(e,{EmittersInteractor:()=>l});var o=i(3611),a=i(5954),s=i(6836);let n={count:1,enable:!0},r="emitters";class l extends o.ExternalInteractorBase{handleClickMode;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.handleClickMode=(t,e)=>{let i,o=this.container.actualOptions.interactivity.modes.emitters;if(!o||t!==r)return;if((0,a.cyL)(o.value)){let t=o.value.length;if(t>0&&o.random.enable){i=[];let e=new Set;for(let s=0;s<o.random.count;s++){let n=(0,a.n02)(o.value);if(e.has(n)&&e.size<t){s--;continue}e.add(n);let r=(0,a.Vh1)(o.value,n);r&&i.push(r)}}else i=o.value}else i=o.value;let s=i,n=e.mouse.clickPosition;(0,a.wJ2)(s,async t=>{await this._instancesManager.addEmitter(this.container,t,n)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,o=t.mouse,s=(e?.interactivity??i.interactivity).events;return!!o.clickPosition&&!!s.onClick.enable&&(0,a.hnD)(r,s.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:n,value:[]},e))if(i?.emitters)if((0,a.cyL)(i.emitters))for(let e of i.emitters){let i=new s.v;i.load(e),t.emitters.value.push(i)}else if(Object.hasOwn(i.emitters,"value")){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,a.cyL)(e.value))for(let i of e.value){let e=new s.v;e.load(i),t.emitters.value.push(e)}else{let i=new s.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new s.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},6836(t,e,i){i.d(e,{v:()=>c});var o=i(5954);class a{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class s{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,o.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,o.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)))}}class n{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new n,this.type="square"}load(t){(0,o.kZJ)(t)||(void 0!==t.options&&(this.options=(0,o.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(122);class c{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawnColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new a,this.rate=new s,this.shape=new r,this.startCount=0}load(t){(0,o.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ2)(t.particles,t=>(0,o.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT4)(t.position.y))),void 0!==t.spawnColor&&(this.spawnColor??=new o.A9e,this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},122(t,e,i){i.d(e,{G:()=>a});var o=i(5954);class a{height;mode;width;constructor(){this.mode=o.qiC.percent,this.height=0,this.width=0}load(t){(0,o.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},6373(t,e,i){var o,a;i.d(e,{Q:()=>o}),(a=o||(o={})).circle="circle",a.rectangle="rectangle"},3322(t,e,i){var o,a;i.d(e,{h:()=>o}),(a=o||(o={})).canvas="canvas",a.parent="parent",a.window="window"},2763(t,e,i){var o,a;i.d(e,{e:()=>o}),(a=o||(o={})).external="external",a.particles="particles"},1455(t,e,i){i.d(e,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>l,Z0:()=>n,ms:()=>a,s7:()=>c,sf:()=>r,vo:()=>s,xO:()=>o});let o="click",a="pointerdown",s="pointerup",n="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",h="touchmove",u="touchcancel"},6594(t,e,i){i.d(e,{G:()=>s});var o=i(5954),a=i(6373);class s{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=a.Q.circle}load(t){(0,o.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},9766(t,e,i){i.d(e,{d:()=>a});var o=i(5954);class a{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,o.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},3611(t,e,i){i.r(e),i.d(e,{DivEvent:()=>p.G,DivType:()=>l.Q,ExternalInteractorBase:()=>s,InteractivityDetect:()=>c.h,InteractorType:()=>a.e,Modes:()=>m.d,ParticlesInteractorBase:()=>n,clickEvent:()=>r.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>w,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(5954),a=i(2763);class s{type=a.e.external;container;constructor(t){this.container=t}}class n{type=a.e.particles;container;constructor(t){this.container=t}}var r=i(1455),l=i(6373),c=i(3322);function d(t,e){return!!(0,o.w3Z)(e,e=>e.enable&&(0,o.hnD)(t,e.mode))}function h(t,e,i){(0,o.wJ2)(e,e=>{let a=e.mode;e.enable&&(0,o.hnD)(t,a)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,o.wJ2)(i,i=>{e(i,t)})}function v(t,e){if(e&&t)return(0,o.w3Z)(t,t=>{var i;let a;return i=t.selectors,a=(0,o.wJ2)(i,t=>e.matches(t)),(0,o.cyL)(a)?a.some(t=>t):a})}var p=i(6594),m=i(9766);async function y(t){t.checkVersion("4.0.0-alpha.23"),await t.register(async t=>{let{InteractivityPlugin:e}=await i.e(3939).then(i.bind(i,3939));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,o.HQK)(e,t.interactors,t.initializers.interactors,i)),t.setOnClickHandler=e=>{let{items:i}=t;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(t=>{t.addClickHandler?.(e)})}})}function w(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
package/969.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[969,5333],{5333(e,t,a){a.d(t,{zS:()=>w,loadGifImage:()=>x});var i,o,n,r,l=a(636),s=a(5954);let h=[0,4,2,1],g=[8,8,4,2];class d{data;pos;constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){let t=this.data.slice(this.pos,this.pos+e);return this.pos+=t.length,t.reduce((e,t)=>e+String.fromCharCode(t),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",t=0;do{t=this.data[this.pos++];for(let a=t;--a>=0;e+=String.fromCharCode(this.data[this.pos++]));}while(0!==t)return e}readSubBlocksBin(){let e=this.data[this.pos],t=0;for(let a=0;0!==e;a+=e+1,e=this.data[this.pos+a])t+=e;let a=new Uint8Array(t);e=this.data[this.pos++];for(let t=0;0!==e;e=this.data[this.pos++])for(let i=e;--i>=0;a[t++]=this.data[this.pos++]);return a}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}function f(e,t){let a=[];for(let i=0;i<t;i++)a.push({r:e.data[e.pos],g:e.data[e.pos+1],b:e.data[e.pos+2]}),e.pos+=3;return a}function c(e,t,a){let i=t>>>3,o=7&t;return(e[i]+(e[i+1]<<8)+(e[i+2]<<16)&(1<<a)-1<<o)>>>o}async function p(e,t,a,i,o,n,r){let l=t.frames[i(!0)];l.left=e.nextTwoBytes(),l.top=e.nextTwoBytes(),l.width=e.nextTwoBytes(),l.height=e.nextTwoBytes();let s=e.nextByte(),d=(128&s)==128;l.sortFlag=(32&s)==32,l.reserved=(24&s)>>>3,d&&(l.localColorTable=f(e,1<<(7&s)+1));let p=e=>{let{r:i,g:n,b:r}=(d?l.localColorTable:t.globalColorTable)[e];return e!==o(null)?{r:i,g:n,b:r,a:255}:{r:i,g:n,b:r,a:a?Math.trunc((i+n+r)/3):0}},m=(()=>{try{return new ImageData(l.width,l.height,n)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==m)throw EvalError("GIF frame size is to large");let u=e.nextByte(),w=e.readSubBlocksBin(),x=1<<u;if((64&s)==64){for(let a=0,o=u+1,n=0,s=[[0]],d=0;d<4;d++){if(h[d]<l.height){let e=0,t=0,i=!1;for(;!i;){let r=a;if(a=c(w,n,o),n+=o+1,a===x){o=u+1,s.length=x+2;for(let e=0;e<s.length;e++)s[e]=e<x?[e]:[]}else{for(let i of(a>=s.length?s.push(s[r].concat(s[r][0])):r!==x&&s.push(s[r].concat(s[a][0])),s[a])){let{r:a,g:o,b:n,a:r}=p(i);m.data.set([a,o,n,r],h[d]*l.width+g[d]*t+e%(4*l.width)),e+=4}s.length===1<<o&&o<12&&o++}e===4*l.width*(t+1)&&(t++,h[d]+g[d]*t>=l.height&&(i=!0))}}r?.(e.pos/(e.data.length-1),i(!1)+1,m,{x:l.left,y:l.top},{width:t.width,height:t.height})}l.image=m,l.bitmap=await createImageBitmap(m)}else{let a=0,o=u+1,n=0,s=-4,h=[[0]];for(;;){let e=a;if(a=c(w,n,o),n+=o,a===x){o=u+1,h.length=x+2;for(let e=0;e<h.length;e++)h[e]=e<x?[e]:[]}else{if(a===x+1)break;for(let t of(a>=h.length?h.push(h[e].concat(h[e][0])):e!==x&&h.push(h[e].concat(h[a][0])),h[a])){let{r:e,g:a,b:i,a:o}=p(t);s+=4,m.data.set([e,a,i,o],s)}h.length>=1<<o&&o<12&&o++}}l.image=m,l.bitmap=await createImageBitmap(m),r?.((e.pos+1)/e.data.length,i(!1)+1,l.image,{x:l.left,y:l.top},{width:t.width,height:t.height})}}async function m(e,t,a,i,o,n,l){switch(e.nextByte()){case r.EndOfFile:return!0;case r.Image:await p(e,t,a,i,o,n,l);break;case r.Extension:switch(e.nextByte()){case r.GraphicsControlExtension:{let a=t.frames[i(!1)];e.pos++;let n=e.nextByte();a.GCreserved=(224&n)>>>5,a.disposalMethod=(28&n)>>>2,a.userInputDelayFlag=(2&n)==2,a.delayTime=10*e.nextTwoBytes();let r=e.nextByte();(1&n)==1&&o(r),e.pos++;break}case r.ApplicationExtension:{e.pos++;let a={identifier:e.getString(8),authenticationCode:e.getString(3),data:e.readSubBlocksBin()};t.applicationExtensions.push(a);break}case r.CommentExtension:t.comments.push([i(!1),e.readSubBlocks()]);break;case r.PlainTextExtension:if(0===t.globalColorTable.length)throw EvalError("plain text extension without global color table");e.pos++,t.frames[i(!1)].plainTextData={left:e.nextTwoBytes(),top:e.nextTwoBytes(),width:e.nextTwoBytes(),height:e.nextTwoBytes(),charSize:{width:e.nextTwoBytes(),height:e.nextTwoBytes()},foregroundColor:e.nextByte(),backgroundColor:e.nextByte(),text:e.readSubBlocks()};break;default:e.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function u(e,t,a,i){i??=!1;let o=await fetch(e);if(!o.ok&&404===o.status)throw EvalError("file not found");let r=await o.arrayBuffer(),l={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,t),comments:[],applicationExtensions:[]},s=new d(new Uint8ClampedArray(r));if("GIF89a"!==s.getString(6))throw Error("not a supported GIF file");l.width=s.nextTwoBytes(),l.height=s.nextTwoBytes();let h=s.nextByte(),g=(128&h)==128;l.colorRes=(112&h)>>>4,l.sortFlag=(8&h)==8;let c=s.nextByte();l.pixelAspectRatio=s.nextByte(),0!==l.pixelAspectRatio&&(l.pixelAspectRatio=(l.pixelAspectRatio+15)/64),g&&(l.globalColorTable=f(s,1<<(7&h)+1));let p=(()=>{try{return new ImageData(l.width,l.height,t)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==p)throw Error("GIF frame size is to large");let{r:u,g:w,b:x}=l.globalColorTable[c];p.data.set(g?[u,w,x,255]:[0,0,0,0]);for(let e=4;e<p.data.length;e*=2)p.data.copyWithin(e,0,e);l.backgroundImage=p;let b=-1,y=!0,I=-1,C=e=>(e&&(y=!0),b),B=e=>(null!=e&&(I=e),I);try{do y&&(l.frames.push({left:0,top:0,width:0,height:0,disposalMethod:n.Replace,image:new ImageData(1,1,t),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),b++,I=-1,y=!1);while(!await m(s,l,i,C,B,t,a))for(let e of(l.frames.length--,l.frames)){if(e.userInputDelayFlag&&0===e.delayTime){l.totalTime=1/0;break}l.totalTime+=e.delayTime}return l}catch(e){if(e instanceof EvalError)throw Error(`error while parsing frame ${b.toString()} "${e.message}"`);throw e}}function w(e,t){let{context:a,radius:i,particle:o,delta:r}=e,l=o.image;if(!l?.gifData||!l.gif)return;let h=new OffscreenCanvas(l.gifData.width,l.gifData.height),g=h.getContext("2d",t);if(!g)throw Error("could not create offscreen canvas context");g.imageSmoothingQuality="low",g.imageSmoothingEnabled=!1,g.clearRect(s.boI.x,s.boI.y,h.width,h.height),o.gifLoopCount??=l.gifLoopCount??0;let d=o.gifFrame??0,f={x:-l.gifData.width*s.MXx,y:-l.gifData.height*s.MXx},c=l.gifData.frames[d];if(o.gifTime??=0,c.bitmap){switch(a.scale(i/l.gifData.width,i/l.gifData.height),c.disposalMethod){case n.UndefinedA:case n.UndefinedB:case n.UndefinedC:case n.UndefinedD:case n.Replace:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height);break;case n.Combine:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y);break;case n.RestoreBackground:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),l.gifData.globalColorTable.length?g.putImageData(l.gifData.backgroundImage,f.x,f.y):g.putImageData(l.gifData.frames[0].image,f.x+c.left,f.y+c.top);break;case n.RestorePrevious:{let e=g.getImageData(s.boI.x,s.boI.y,h.width,h.height);g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),g.putImageData(e,s.boI.x,s.boI.y)}}if(o.gifTime+=r.value,o.gifTime>c.delayTime){if(o.gifTime-=c.delayTime,++d>=l.gifData.frames.length){if(--o.gifLoopCount<=0)return;d=0,g.clearRect(s.boI.x,s.boI.y,h.width,h.height)}o.gifFrame=d}a.scale(l.gifData.width/i,l.gifData.height/i)}}async function x(e,t){if("gif"!==e.type)return void await (0,l.loadImage)(e);e.loading=!0;try{e.gifData=await u(e.source,t),e.gifLoopCount=function(e){for(let t of e.applicationExtensions)if(t.identifier+t.authenticationCode==="NETSCAPE2.0")return t.data[1]+(t.data[2]<<8);return NaN}(e.gifData),e.gifLoopCount||(e.gifLoopCount=1/0)}catch{e.error=!0}e.loading=!1}(i=n||(n={}))[i.Replace=0]="Replace",i[i.Combine=1]="Combine",i[i.RestoreBackground=2]="RestoreBackground",i[i.RestorePrevious=3]="RestorePrevious",i[i.UndefinedA=4]="UndefinedA",i[i.UndefinedB=5]="UndefinedB",i[i.UndefinedC=6]="UndefinedC",i[i.UndefinedD=7]="UndefinedD",(o=r||(r={}))[o.Extension=33]="Extension",o[o.ApplicationExtension=255]="ApplicationExtension",o[o.GraphicsControlExtension=249]="GraphicsControlExtension",o[o.PlainTextExtension=1]="PlainTextExtension",o[o.CommentExtension=254]="CommentExtension",o[o.Image=44]="Image",o[o.EndOfFile=59]="EndOfFile"},969(e,t,a){a.d(t,{ImageDrawer:()=>r});var i=a(5954),o=a(636),n=a(5333);class r{_engine;constructor(e){this._engine=e}addImage(e){this._engine.images??=[],this._engine.images.push(e)}draw(e){let{context:t,radius:a,particle:o,opacity:r}=e,l=o.image,s=l?.element;if(l){if(t.globalAlpha=r,l.gif&&l.gifData)(0,n.zS)(e,o.container.canvas.settings);else if(s){let e=l.ratio,o={x:-a,y:-a},n=a*i.gdl;t.drawImage(s,o.x,o.y,n,n/e)}t.globalAlpha=i.aZx}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(!t.preload||!this._engine.loadImage)return;let a=[];for(let e of t.preload)a.push(this._engine.loadImage(e));await Promise.all(a)}loadShape(e){if(!e.shape||!o.z.includes(e.shape))return;let t=e.shapeData;!t||(this._engine.images??=[],this._engine.images.find(e=>e.name===t.name||e.source===t.src)||this.loadImageShape(t).then(()=>{this.loadShape(e)}))}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;this._engine.images??=[];let a=this._engine.images,n=t.shapeData;if(!n)return;let r=t.getFillColor(),l=a.find(e=>e.name===n.name||e.source===n.src);if(!l)return;let s=n.replaceColor;l.loading?setTimeout(()=>{this.particleInit(e,t)}):(async()=>{let a;(a=l.svgData&&r?await (0,o.d)(l,n,r,t,e.hdr):{color:r,data:l,element:l.element,gif:l.gif,gifData:l.gifData,gifLoopCount:l.gifLoopCount,loaded:!0,ratio:n.width&&n.height?n.width/n.height:l.ratio??i.$xb,replaceColor:s,source:n.src}).ratio||(a.ratio=1);let h=n.fill??t.shapeFill,g=n.close??t.shapeClose;t.image=a,t.shapeFill=h,t.shapeClose=g})()}loadImageShape=async e=>{if(!this._engine.loadImage)throw Error("Image shape not initialized");await this._engine.loadImage({gif:e.gif,name:e.name,replaceColor:e.replaceColor,src:e.src})}}}}]);
1
+ "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[969,5333],{5333(e,t,a){a.d(t,{zS:()=>w,loadGifImage:()=>x});var i,o,n,r,l=a(636),s=a(5954);let h=[0,4,2,1],g=[8,8,4,2];class d{data;pos;constructor(e){this.pos=0,this.data=new Uint8ClampedArray(e)}getString(e){let t=this.data.slice(this.pos,this.pos+e);return this.pos+=t.length,t.reduce((e,t)=>e+String.fromCharCode(t),"")}nextByte(){return this.data[this.pos++]}nextTwoBytes(){return this.pos+=2,this.data[this.pos-2]+(this.data[this.pos-1]<<8)}readSubBlocks(){let e="",t=0;do{t=this.data[this.pos++];for(let a=t;--a>=0;e+=String.fromCharCode(this.data[this.pos++]));}while(0!==t)return e}readSubBlocksBin(){let e=this.data[this.pos],t=0;for(let a=0;0!==e;a+=e+1,e=this.data[this.pos+a])t+=e;let a=new Uint8Array(t);e=this.data[this.pos++];for(let t=0;0!==e;e=this.data[this.pos++])for(let i=e;--i>=0;a[t++]=this.data[this.pos++]);return a}skipSubBlocks(){for(;0!==this.data[this.pos];this.pos+=this.data[this.pos]+1);this.pos++}}function f(e,t){let a=[];for(let i=0;i<t;i++)a.push({r:e.data[e.pos],g:e.data[e.pos+1],b:e.data[e.pos+2]}),e.pos+=3;return a}function c(e,t,a){let i=t>>>3,o=7&t;return(e[i]+(e[i+1]<<8)+(e[i+2]<<16)&(1<<a)-1<<o)>>>o}async function p(e,t,a,i,o,n,r){let l=t.frames[i(!0)];l.left=e.nextTwoBytes(),l.top=e.nextTwoBytes(),l.width=e.nextTwoBytes(),l.height=e.nextTwoBytes();let s=e.nextByte(),d=(128&s)==128;l.sortFlag=(32&s)==32,l.reserved=(24&s)>>>3,d&&(l.localColorTable=f(e,1<<(7&s)+1));let p=e=>{let{r:i,g:n,b:r}=(d?l.localColorTable:t.globalColorTable)[e];return e!==o(null)?{r:i,g:n,b:r,a:255}:{r:i,g:n,b:r,a:a?Math.trunc((i+n+r)/3):0}},m=(()=>{try{return new ImageData(l.width,l.height,n)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==m)throw EvalError("GIF frame size is to large");let u=e.nextByte(),w=e.readSubBlocksBin(),x=1<<u;if((64&s)==64){for(let a=0,o=u+1,n=0,s=[[0]],d=0;d<4;d++){if(h[d]<l.height){let e=0,t=0,i=!1;for(;!i;){let r=a;if(a=c(w,n,o),n+=o+1,a===x){o=u+1,s.length=x+2;for(let e=0;e<s.length;e++)s[e]=e<x?[e]:[]}else{for(let i of(a>=s.length?s.push(s[r].concat(s[r][0])):r!==x&&s.push(s[r].concat(s[a][0])),s[a])){let{r:a,g:o,b:n,a:r}=p(i);m.data.set([a,o,n,r],h[d]*l.width+g[d]*t+e%(4*l.width)),e+=4}s.length===1<<o&&o<12&&o++}e===4*l.width*(t+1)&&(t++,h[d]+g[d]*t>=l.height&&(i=!0))}}r?.(e.pos/(e.data.length-1),i(!1)+1,m,{x:l.left,y:l.top},{width:t.width,height:t.height})}l.image=m,l.bitmap=await createImageBitmap(m)}else{let a=0,o=u+1,n=0,s=-4,h=[[0]];for(;;){let e=a;if(a=c(w,n,o),n+=o,a===x){o=u+1,h.length=x+2;for(let e=0;e<h.length;e++)h[e]=e<x?[e]:[]}else{if(a===x+1)break;for(let t of(a>=h.length?h.push(h[e].concat(h[e][0])):e!==x&&h.push(h[e].concat(h[a][0])),h[a])){let{r:e,g:a,b:i,a:o}=p(t);s+=4,m.data.set([e,a,i,o],s)}h.length>=1<<o&&o<12&&o++}}l.image=m,l.bitmap=await createImageBitmap(m),r?.((e.pos+1)/e.data.length,i(!1)+1,l.image,{x:l.left,y:l.top},{width:t.width,height:t.height})}}async function m(e,t,a,i,o,n,l){switch(e.nextByte()){case r.EndOfFile:return!0;case r.Image:await p(e,t,a,i,o,n,l);break;case r.Extension:switch(e.nextByte()){case r.GraphicsControlExtension:{let a=t.frames[i(!1)];e.pos++;let n=e.nextByte();a.GCreserved=(224&n)>>>5,a.disposalMethod=(28&n)>>>2,a.userInputDelayFlag=(2&n)==2,a.delayTime=10*e.nextTwoBytes();let r=e.nextByte();(1&n)==1&&o(r),e.pos++;break}case r.ApplicationExtension:{e.pos++;let a={identifier:e.getString(8),authenticationCode:e.getString(3),data:e.readSubBlocksBin()};t.applicationExtensions.push(a);break}case r.CommentExtension:t.comments.push([i(!1),e.readSubBlocks()]);break;case r.PlainTextExtension:if(0===t.globalColorTable.length)throw EvalError("plain text extension without global color table");e.pos++,t.frames[i(!1)].plainTextData={left:e.nextTwoBytes(),top:e.nextTwoBytes(),width:e.nextTwoBytes(),height:e.nextTwoBytes(),charSize:{width:e.nextTwoBytes(),height:e.nextTwoBytes()},foregroundColor:e.nextByte(),backgroundColor:e.nextByte(),text:e.readSubBlocks()};break;default:e.skipSubBlocks()}break;default:throw EvalError("undefined block found")}return!1}async function u(e,t,a,i){i??=!1;let o=await fetch(e);if(!o.ok&&404===o.status)throw EvalError("file not found");let r=await o.arrayBuffer(),l={width:0,height:0,totalTime:0,colorRes:0,pixelAspectRatio:0,frames:[],sortFlag:!1,globalColorTable:[],backgroundImage:new ImageData(1,1,t),comments:[],applicationExtensions:[]},s=new d(new Uint8ClampedArray(r));if("GIF89a"!==s.getString(6))throw Error("not a supported GIF file");l.width=s.nextTwoBytes(),l.height=s.nextTwoBytes();let h=s.nextByte(),g=(128&h)==128;l.colorRes=(112&h)>>>4,l.sortFlag=(8&h)==8;let c=s.nextByte();l.pixelAspectRatio=s.nextByte(),0!==l.pixelAspectRatio&&(l.pixelAspectRatio=(l.pixelAspectRatio+15)/64),g&&(l.globalColorTable=f(s,1<<(7&h)+1));let p=(()=>{try{return new ImageData(l.width,l.height,t)}catch(e){if(e instanceof DOMException&&"IndexSizeError"===e.name)return null;throw e}})();if(null==p)throw Error("GIF frame size is to large");let{r:u,g:w,b:x}=l.globalColorTable[c];p.data.set(g?[u,w,x,255]:[0,0,0,0]);for(let e=4;e<p.data.length;e*=2)p.data.copyWithin(e,0,e);l.backgroundImage=p;let b=-1,y=!0,I=-1,C=e=>(e&&(y=!0),b),B=e=>(null!=e&&(I=e),I);try{do y&&(l.frames.push({left:0,top:0,width:0,height:0,disposalMethod:n.Replace,image:new ImageData(1,1,t),plainTextData:null,userInputDelayFlag:!1,delayTime:0,sortFlag:!1,localColorTable:[],reserved:0,GCreserved:0}),b++,I=-1,y=!1);while(!await m(s,l,i,C,B,t,a))for(let e of(l.frames.length--,l.frames)){if(e.userInputDelayFlag&&0===e.delayTime){l.totalTime=1/0;break}l.totalTime+=e.delayTime}return l}catch(e){if(e instanceof EvalError)throw Error(`error while parsing frame ${b.toString()} "${e.message}"`);throw e}}function w(e,t){let{context:a,radius:i,particle:o,delta:r}=e,l=o.image;if(!l?.gifData||!l.gif)return;let h=new OffscreenCanvas(l.gifData.width,l.gifData.height),g=h.getContext("2d",t);if(!g)throw Error("could not create offscreen canvas context");g.imageSmoothingQuality="low",g.imageSmoothingEnabled=!1,g.clearRect(s.boI.x,s.boI.y,h.width,h.height),o.gifLoopCount??=l.gifLoopCount??0;let d=o.gifFrame??0,f={x:-l.gifData.width*s.MXx,y:-l.gifData.height*s.MXx},c=l.gifData.frames[d];if(o.gifTime??=0,c.bitmap){switch(a.scale(i/l.gifData.width,i/l.gifData.height),c.disposalMethod){case n.UndefinedA:case n.UndefinedB:case n.UndefinedC:case n.UndefinedD:case n.Replace:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height);break;case n.Combine:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y);break;case n.RestoreBackground:g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),l.gifData.globalColorTable.length?g.putImageData(l.gifData.backgroundImage,f.x,f.y):g.putImageData(l.gifData.frames[0].image,f.x+c.left,f.y+c.top);break;case n.RestorePrevious:{let e=g.getImageData(s.boI.x,s.boI.y,h.width,h.height);g.drawImage(c.bitmap,c.left,c.top),a.drawImage(h,f.x,f.y),g.clearRect(s.boI.x,s.boI.y,h.width,h.height),g.putImageData(e,s.boI.x,s.boI.y)}}if(o.gifTime+=r.value,o.gifTime>c.delayTime){if(o.gifTime-=c.delayTime,++d>=l.gifData.frames.length){if(--o.gifLoopCount<=0)return;d=0,g.clearRect(s.boI.x,s.boI.y,h.width,h.height)}o.gifFrame=d}a.scale(l.gifData.width/i,l.gifData.height/i)}}async function x(e,t){if("gif"!==e.type)return void await (0,l.loadImage)(e);e.loading=!0;try{e.gifData=await u(e.source,t),e.gifLoopCount=function(e){for(let t of e.applicationExtensions)if(t.identifier+t.authenticationCode==="NETSCAPE2.0")return t.data[1]+(t.data[2]<<8);return NaN}(e.gifData),e.gifLoopCount||(e.gifLoopCount=1/0)}catch{e.error=!0}e.loading=!1}(i=n||(n={}))[i.Replace=0]="Replace",i[i.Combine=1]="Combine",i[i.RestoreBackground=2]="RestoreBackground",i[i.RestorePrevious=3]="RestorePrevious",i[i.UndefinedA=4]="UndefinedA",i[i.UndefinedB=5]="UndefinedB",i[i.UndefinedC=6]="UndefinedC",i[i.UndefinedD=7]="UndefinedD",(o=r||(r={}))[o.Extension=33]="Extension",o[o.ApplicationExtension=255]="ApplicationExtension",o[o.GraphicsControlExtension=249]="GraphicsControlExtension",o[o.PlainTextExtension=1]="PlainTextExtension",o[o.CommentExtension=254]="CommentExtension",o[o.Image=44]="Image",o[o.EndOfFile=59]="EndOfFile"},969(e,t,a){a.d(t,{ImageDrawer:()=>r});var i=a(5954),o=a(636),n=a(5333);class r{_engine;constructor(e){this._engine=e}draw(e){let{context:t,radius:a,particle:o,opacity:r}=e,l=o.image,s=l?.element;if(l){if(t.globalAlpha=r,l.gif&&l.gifData)(0,n.zS)(e,o.container.canvas.settings);else if(s){let e=l.ratio,o={x:-a,y:-a},n=a*i.gdl;t.drawImage(s,o.x,o.y,n,n/e)}t.globalAlpha=i.aZx}}getSidesCount(){return 12}async init(e){let t=e.actualOptions;if(!t.preload||!this._engine.loadImage)return;let a=[];for(let i of t.preload)a.push(this._engine.loadImage(e,i));await Promise.all(a)}loadShape(e){let{container:t}=e;if(!e.shape||!o.z.includes(e.shape))return;let a=e.shapeData;if(!a)return;let i=this._engine.getImages?.(t);i?.find(e=>e.name===a.name||e.source===a.src)||this.loadImageShape(t,a).then(()=>{this.loadShape(e)})}particleInit(e,t){if("image"!==t.shape&&"images"!==t.shape)return;let a=this._engine.getImages?.(e),n=t.shapeData;if(!n)return;let r=t.getFillColor(),l=a?.find(e=>e.name===n.name||e.source===n.src);if(!l)return;let s=n.replaceColor;l.loading?setTimeout(()=>{this.particleInit(e,t)}):(async()=>{let a;(a=l.svgData&&r?await (0,o.d)(l,n,r,t,e.hdr):{color:r,data:l,element:l.element,gif:l.gif,gifData:l.gifData,gifLoopCount:l.gifLoopCount,loaded:!0,ratio:n.width&&n.height?n.width/n.height:l.ratio??i.$xb,replaceColor:s,source:n.src}).ratio||(a.ratio=1);let h=n.fill??t.shapeFill,g=n.close??t.shapeClose;t.image=a,t.shapeFill=h,t.shapeClose=g})()}loadImageShape=async(e,t)=>{if(!this._engine.loadImage)throw Error("Image shape not initialized");await this._engine.loadImage(e,{gif:t.gif,name:t.name,replaceColor:t.replaceColor,src:t.src})}}}}]);
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \**************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\nasync function loadBasic(engine) {\n engine.checkVersion(\"4.0.0-alpha.21\");\n await engine.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadBaseMover }, { loadCircleShape }, { loadColorUpdater }, { loadOpacityUpdater }, { loadOutModesUpdater }, { loadSizeUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hex-color */ \"../../plugins/colors/hex/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hsl-color */ \"../../plugins/colors/hsl/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-rgb-color */ \"../../plugins/colors/rgb/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"move_base_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_color_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadHexColorPlugin(e),\n loadHslColorPlugin(e),\n loadRgbColorPlugin(e),\n loadBaseMover(e),\n loadCircleShape(e),\n loadColorUpdater(e),\n loadOpacityUpdater(e),\n loadOutModesUpdater(e),\n loadSizeUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../basic/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\nasync function loadBasic(engine) {\n engine.checkVersion(\"4.0.0-alpha.23\");\n await engine.register(async (e)=>{\n const [{ loadHexColorPlugin }, { loadHslColorPlugin }, { loadRgbColorPlugin }, { loadBaseMover }, { loadCircleShape }, { loadColorUpdater }, { loadOpacityUpdater }, { loadOutModesUpdater }, { loadSizeUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hex-color */ \"../../plugins/colors/hex/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-hsl-color */ \"../../plugins/colors/hsl/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-rgb-color */ \"../../plugins/colors/rgb/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"move_base_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_color_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadHexColorPlugin(e),\n loadHslColorPlugin(e),\n loadRgbColorPlugin(e),\n loadBaseMover(e),\n loadCircleShape(e),\n loadColorUpdater(e),\n loadOpacityUpdater(e),\n loadOutModesUpdater(e),\n loadSizeUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../basic/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
package/browser/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { MBParticles } from "./marcbruederlin/Particles.js";
2
2
  import { initParticlesJS } from "./VincentGarreau/particles.js";
3
3
  const initPjs = async (engine) => {
4
- engine.checkVersion("4.0.0-alpha.21");
4
+ engine.checkVersion("4.0.0-alpha.23");
5
5
  await engine.register(async (e) => {
6
6
  const [{ loadFull }, { loadResponsivePlugin },] = await Promise.all([
7
7
  import("tsparticles"),
package/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { MBParticles } from "./marcbruederlin/Particles.js";
2
2
  import { initParticlesJS } from "./VincentGarreau/particles.js";
3
3
  const initPjs = async (engine) => {
4
- engine.checkVersion("4.0.0-alpha.21");
4
+ engine.checkVersion("4.0.0-alpha.23");
5
5
  await engine.register(async (e) => {
6
6
  const [{ loadFull }, { loadResponsivePlugin },] = await Promise.all([
7
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-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Canvas: () => (/* binding */ Canvas)\n/* harmony export */ });\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n\n\n\n\nconst fColorIndex = 0, sColorIndex = 1;\nfunction setTransformValue(factor, newFactor, key) {\n const newValue = newFactor[key];\n if (newValue !== undefined) {\n factor[key] = (factor[key] ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultTransformValue) * newValue;\n }\n}\nfunction setStyle(canvas, style, important = false) {\n if (!style) {\n return;\n }\n const element = canvas, elementStyle = element.style, keys = new Set();\n for(let i = 0; i < elementStyle.length; i++){\n const key = elementStyle.item(i);\n if (!key) {\n continue;\n }\n keys.add(key);\n }\n for(let i = 0; i < style.length; i++){\n const key = style.item(i);\n if (!key) {\n continue;\n }\n keys.add(key);\n }\n for (const key of keys){\n const value = style.getPropertyValue(key);\n if (value) {\n elementStyle.setProperty(key, value, important ? \"important\" : \"\");\n } else {\n elementStyle.removeProperty(key);\n }\n }\n}\nclass Canvas {\n container;\n element;\n size;\n _canvasClearPlugins;\n _canvasPaintPlugins;\n _canvasSettings;\n _clearDrawPlugins;\n _colorPlugins;\n _context;\n _drawParticlePlugins;\n _drawParticlesCleanupPlugins;\n _drawParticlesSetupPlugins;\n _drawPlugins;\n _drawSettingsCleanupPlugins;\n _drawSettingsSetupPlugins;\n _engine;\n _generated;\n _mutationObserver;\n _originalStyle;\n _pointerEvents;\n _postDrawUpdaters;\n _preDrawUpdaters;\n _resizePlugins;\n _reusableColorStyles = {};\n _reusablePluginColors = [\n undefined,\n undefined\n ];\n _reusableTransform = {};\n _standardSize;\n constructor(container, engine){\n this.container = container;\n this._engine = engine;\n this._standardSize = {\n height: 0,\n width: 0\n };\n const pxRatio = container.retina.pixelRatio, stdSize = this._standardSize;\n this.size = {\n height: stdSize.height * pxRatio,\n width: stdSize.width * pxRatio\n };\n this._context = null;\n this._generated = false;\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n this._pointerEvents = \"none\";\n }\n get settings() {\n return this._canvasSettings;\n }\n get _fullScreen() {\n return this.container.actualOptions.fullScreen.enable;\n }\n canvasClear() {\n if (!this.container.actualOptions.clear) {\n return;\n }\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n clear() {\n let pluginHandled = false;\n for (const plugin of this._canvasClearPlugins){\n pluginHandled = plugin.canvasClear?.() ?? false;\n if (pluginHandled) {\n break;\n }\n }\n if (pluginHandled) {\n return;\n }\n this.canvasClear();\n }\n destroy() {\n this.stop();\n if (this._generated) {\n const element = this.element;\n element?.remove();\n this.element = undefined;\n } else {\n this._resetOriginalStyle();\n }\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n }\n draw(cb) {\n const ctx = this._context;\n if (!ctx) {\n return;\n }\n return cb(ctx);\n }\n drawParticle(particle, delta) {\n if (particle.spawning || particle.destroyed) {\n return;\n }\n const radius = particle.getRadius();\n if (radius <= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.minimumSize) {\n return;\n }\n const pfColor = particle.getFillColor(), psColor = particle.getStrokeColor() ?? pfColor;\n let [fColor, sColor] = this._getPluginParticleColors(particle);\n fColor ??= pfColor;\n sColor ??= psColor;\n if (!fColor && !sColor) {\n return;\n }\n const container = this.container, zIndexOptions = particle.options.zIndex, zIndexFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.zIndexFactorOffset - particle.zIndexFactor, { opacity, strokeOpacity } = particle.getOpacity(), transform = this._reusableTransform, colorStyles = this._reusableColorStyles, fill = fColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromHsl)(fColor, container.hdr, opacity) : undefined, stroke = sColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromHsl)(sColor, container.hdr, strokeOpacity) : fill;\n transform.a = transform.b = transform.c = transform.d = undefined;\n colorStyles.fill = fill;\n colorStyles.stroke = stroke;\n this.draw((context)=>{\n for (const plugin of this._drawParticlesSetupPlugins){\n plugin.drawParticleSetup?.(context, particle, delta);\n }\n this._applyPreDrawUpdaters(context, particle, radius, opacity, colorStyles, transform);\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticle)({\n container,\n context,\n particle,\n delta,\n colorStyles,\n radius: radius * zIndexFactor ** zIndexOptions.sizeRate,\n opacity: opacity,\n transform\n });\n this._applyPostDrawUpdaters(particle);\n for (const plugin of this._drawParticlesCleanupPlugins){\n plugin.drawParticleCleanup?.(context, particle, delta);\n }\n });\n }\n drawParticlePlugins(particle, delta) {\n this.draw((ctx)=>{\n for (const plugin of this._drawParticlePlugins){\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticlePlugin)(ctx, plugin, particle, delta);\n }\n });\n }\n drawParticles(delta) {\n const { particles } = this.container;\n this.clear();\n particles.update(delta);\n this.draw((ctx)=>{\n for (const plugin of this._drawSettingsSetupPlugins){\n plugin.drawSettingsSetup?.(ctx, delta);\n }\n for (const plugin of this._drawPlugins){\n plugin.draw?.(ctx, delta);\n }\n particles.drawParticles(delta);\n for (const plugin of this._clearDrawPlugins){\n plugin.clearDraw?.(ctx, delta);\n }\n for (const plugin of this._drawSettingsCleanupPlugins){\n plugin.drawSettingsCleanup?.(ctx, delta);\n }\n });\n }\n init() {\n this._safeMutationObserver((obs)=>{\n obs.disconnect();\n });\n this._mutationObserver = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeMutationObserver)((records)=>{\n for (const record of records){\n if (record.type === \"attributes\" && record.attributeName === \"style\") {\n this._repairStyle();\n }\n }\n });\n this.resize();\n this._initStyle();\n this.initBackground();\n this._safeMutationObserver((obs)=>{\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n this.initUpdaters();\n this.initPlugins();\n this.paint();\n }\n initBackground() {\n const { container } = this, options = container.actualOptions, background = options.background, element = this.element;\n if (!element) {\n return;\n }\n const elementStyle = element.style, color = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToRgb)(this._engine, background.color);\n if (color) {\n elementStyle.backgroundColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromRgb)(color, container.hdr, background.opacity);\n } else {\n elementStyle.backgroundColor = \"\";\n }\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n initPlugins() {\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n for (const plugin of this.container.plugins){\n if (plugin.resize) {\n this._resizePlugins.push(plugin);\n }\n if (plugin.particleFillColor ?? plugin.particleStrokeColor) {\n this._colorPlugins.push(plugin);\n }\n if (plugin.canvasClear) {\n this._canvasClearPlugins.push(plugin);\n }\n if (plugin.canvasPaint) {\n this._canvasPaintPlugins.push(plugin);\n }\n if (plugin.drawParticle) {\n this._drawParticlePlugins.push(plugin);\n }\n if (plugin.drawParticleSetup) {\n this._drawParticlesSetupPlugins.push(plugin);\n }\n if (plugin.drawParticleCleanup) {\n this._drawParticlesCleanupPlugins.push(plugin);\n }\n if (plugin.draw) {\n this._drawPlugins.push(plugin);\n }\n if (plugin.drawSettingsSetup) {\n this._drawSettingsSetupPlugins.push(plugin);\n }\n if (plugin.drawSettingsCleanup) {\n this._drawSettingsCleanupPlugins.push(plugin);\n }\n if (plugin.clearDraw) {\n this._clearDrawPlugins.push(plugin);\n }\n }\n }\n initUpdaters() {\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n for (const updater of this.container.particles.updaters){\n if (updater.afterDraw) {\n this._postDrawUpdaters.push(updater);\n }\n if (updater.getColorStyles ?? updater.getTransformValues ?? updater.beforeDraw) {\n this._preDrawUpdaters.push(updater);\n }\n }\n }\n loadCanvas(canvas) {\n if (this._generated && this.element) {\n this.element.remove();\n }\n const container = this.container;\n this._generated = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute in canvas.dataset ? canvas.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute] === \"true\" : this._generated;\n this.element = canvas;\n this.element.ariaHidden = \"true\";\n this._originalStyle = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.cloneStyle)(this.element.style);\n const standardSize = this._standardSize;\n standardSize.height = canvas.offsetHeight;\n standardSize.width = canvas.offsetWidth;\n const pxRatio = this.container.retina.pixelRatio, retinaSize = this.size;\n canvas.height = retinaSize.height = standardSize.height * pxRatio;\n canvas.width = retinaSize.width = standardSize.width * pxRatio;\n const canSupportHdrQuery = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeMatchMedia)(\"(color-gamut: p3)\");\n this._canvasSettings = {\n alpha: true,\n colorSpace: canSupportHdrQuery?.matches && container.hdr ? \"display-p3\" : \"srgb\",\n desynchronized: true,\n willReadFrequently: false\n };\n this._context = this.element.getContext(\"2d\", this._canvasSettings);\n this._safeMutationObserver((obs)=>{\n obs.disconnect();\n });\n container.retina.init();\n this.initBackground();\n this._safeMutationObserver((obs)=>{\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n }\n paint() {\n let handled = false;\n for (const plugin of this._canvasPaintPlugins){\n handled = plugin.canvasPaint?.() ?? false;\n if (handled) {\n break;\n }\n }\n if (handled) {\n return;\n }\n this.paintBase();\n }\n paintBase(baseColor) {\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintBase)(ctx, this.size, baseColor);\n });\n }\n paintImage(image, opacity) {\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintImage)(ctx, this.size, image, opacity);\n });\n }\n resize() {\n if (!this.element) {\n return false;\n }\n const container = this.container, currentSize = container.canvas._standardSize, newSize = {\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }, pxRatio = container.retina.pixelRatio, retinaSize = {\n width: newSize.width * pxRatio,\n height: newSize.height * pxRatio\n };\n if (newSize.height === currentSize.height && newSize.width === currentSize.width && retinaSize.height === this.element.height && retinaSize.width === this.element.width) {\n return false;\n }\n const oldSize = {\n ...currentSize\n };\n currentSize.height = newSize.height;\n currentSize.width = newSize.width;\n const canvasSize = this.size;\n this.element.width = canvasSize.width = retinaSize.width;\n this.element.height = canvasSize.height = retinaSize.height;\n if (this.container.started) {\n container.particles.setResizeFactor({\n width: currentSize.width / oldSize.width,\n height: currentSize.height / oldSize.height\n });\n }\n return true;\n }\n setPointerEvents(type) {\n const element = this.element;\n if (!element) {\n return;\n }\n this._pointerEvents = type;\n this._repairStyle();\n }\n stop() {\n this._safeMutationObserver((obs)=>{\n obs.disconnect();\n });\n this._mutationObserver = undefined;\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n async windowResize() {\n if (!this.element || !this.resize()) {\n return;\n }\n const container = this.container, needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n this._applyResizePlugins();\n if (needsRefresh) {\n await container.refresh();\n }\n }\n _applyPostDrawUpdaters = (particle)=>{\n for (const updater of this._postDrawUpdaters){\n updater.afterDraw?.(particle);\n }\n };\n _applyPreDrawUpdaters = (ctx, particle, radius, zOpacity, colorStyles, transform)=>{\n for (const updater of this._preDrawUpdaters){\n if (updater.getColorStyles) {\n const { fill, stroke } = updater.getColorStyles(particle, ctx, radius, zOpacity);\n if (fill) {\n colorStyles.fill = fill;\n }\n if (stroke) {\n colorStyles.stroke = stroke;\n }\n }\n if (updater.getTransformValues) {\n const updaterTransform = updater.getTransformValues(particle);\n for(const key in updaterTransform){\n setTransformValue(transform, updaterTransform, key);\n }\n }\n updater.beforeDraw?.(particle);\n }\n };\n _applyResizePlugins = ()=>{\n for (const plugin of this._resizePlugins){\n plugin.resize?.();\n }\n };\n _getPluginParticleColors = (particle)=>{\n let fColor, sColor;\n for (const plugin of this._colorPlugins){\n if (!fColor && plugin.particleFillColor) {\n fColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToHsl)(this._engine, plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToHsl)(this._engine, plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n this._reusablePluginColors[fColorIndex] = fColor;\n this._reusablePluginColors[sColorIndex] = sColor;\n return this._reusablePluginColors;\n };\n _initStyle = ()=>{\n const element = this.element, options = this.container.actualOptions;\n if (!element) {\n return;\n }\n if (this._fullScreen) {\n this._setFullScreenStyle();\n } else {\n this._resetOriginalStyle();\n }\n for(const key in options.style){\n if (!key || !Object.hasOwn(options.style, key)) {\n continue;\n }\n const value = options.style[key];\n if (!value) {\n continue;\n }\n element.style.setProperty(key, value, \"important\");\n }\n };\n _repairStyle = ()=>{\n const element = this.element;\n if (!element) {\n return;\n }\n this._safeMutationObserver((observer)=>{\n observer.disconnect();\n });\n this._initStyle();\n this.initBackground();\n const pointerEvents = this._pointerEvents;\n element.style.pointerEvents = pointerEvents;\n element.setAttribute(\"pointer-events\", pointerEvents);\n this._safeMutationObserver((observer)=>{\n if (!(element instanceof Node)) {\n return;\n }\n observer.observe(element, {\n attributes: true\n });\n });\n };\n _resetOriginalStyle = ()=>{\n const element = this.element, originalStyle = this._originalStyle;\n if (!element || !originalStyle) {\n return;\n }\n setStyle(element, originalStyle, true);\n };\n _safeMutationObserver = (callback)=>{\n if (!this._mutationObserver) {\n return;\n }\n callback(this._mutationObserver);\n };\n _setFullScreenStyle = ()=>{\n const element = this.element;\n if (!element) {\n return;\n }\n setStyle(element, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getFullScreenStyle)(this.container.actualOptions.fullScreen.zIndex), true);\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Canvas.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Canvas: () => (/* binding */ Canvas)\n/* harmony export */ });\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n\n\n\n\nconst fColorIndex = 0, sColorIndex = 1;\nfunction setTransformValue(factor, newFactor, key) {\n const newValue = newFactor[key];\n if (newValue !== undefined) {\n factor[key] = (factor[key] ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultTransformValue) * newValue;\n }\n}\nfunction setStyle(canvas, style, important = false) {\n if (!style) {\n return;\n }\n const element = canvas, elementStyle = element.style, keys = new Set();\n for(let i = 0; i < elementStyle.length; i++){\n const key = elementStyle.item(i);\n if (!key) {\n continue;\n }\n keys.add(key);\n }\n for(let i = 0; i < style.length; i++){\n const key = style.item(i);\n if (!key) {\n continue;\n }\n keys.add(key);\n }\n for (const key of keys){\n const value = style.getPropertyValue(key);\n if (value) {\n elementStyle.setProperty(key, value, important ? \"important\" : \"\");\n } else {\n elementStyle.removeProperty(key);\n }\n }\n}\nclass Canvas {\n container;\n element;\n size;\n zoom = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultZoom;\n _canvasClearPlugins;\n _canvasPaintPlugins;\n _canvasSettings;\n _clearDrawPlugins;\n _colorPlugins;\n _context;\n _drawParticlePlugins;\n _drawParticlesCleanupPlugins;\n _drawParticlesSetupPlugins;\n _drawPlugins;\n _drawSettingsCleanupPlugins;\n _drawSettingsSetupPlugins;\n _engine;\n _generated;\n _mutationObserver;\n _originalStyle;\n _pointerEvents;\n _postDrawUpdaters;\n _preDrawUpdaters;\n _resizePlugins;\n _reusableColorStyles = {};\n _reusablePluginColors = [\n undefined,\n undefined\n ];\n _reusableTransform = {};\n _standardSize;\n _zoomCenter;\n constructor(container, engine){\n this.container = container;\n this._engine = engine;\n this._standardSize = {\n height: 0,\n width: 0\n };\n const pxRatio = container.retina.pixelRatio, stdSize = this._standardSize;\n this.size = {\n height: stdSize.height * pxRatio,\n width: stdSize.width * pxRatio\n };\n this._context = null;\n this._generated = false;\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n this._pointerEvents = \"none\";\n }\n get settings() {\n return this._canvasSettings;\n }\n get _fullScreen() {\n return this.container.actualOptions.fullScreen.enable;\n }\n canvasClear() {\n if (!this.container.actualOptions.clear) {\n return;\n }\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n clear() {\n let pluginHandled = false;\n for (const plugin of this._canvasClearPlugins){\n pluginHandled = plugin.canvasClear?.() ?? false;\n if (pluginHandled) {\n break;\n }\n }\n if (pluginHandled) {\n return;\n }\n this.canvasClear();\n }\n destroy() {\n this.stop();\n if (this._generated) {\n const element = this.element;\n element?.remove();\n this.element = undefined;\n } else {\n this._resetOriginalStyle();\n }\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n }\n draw(cb) {\n const ctx = this._context;\n if (!ctx) {\n return;\n }\n return cb(ctx);\n }\n drawParticle(particle, delta) {\n if (particle.spawning || particle.destroyed) {\n return;\n }\n const radius = particle.getRadius();\n if (radius <= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.minimumSize) {\n return;\n }\n const pfColor = particle.getFillColor(), psColor = particle.getStrokeColor() ?? pfColor;\n let [fColor, sColor] = this._getPluginParticleColors(particle);\n fColor ??= pfColor;\n sColor ??= psColor;\n if (!fColor && !sColor) {\n return;\n }\n const container = this.container, zIndexOptions = particle.options.zIndex, zIndexFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.zIndexFactorOffset - particle.zIndexFactor, { opacity, strokeOpacity } = particle.getOpacity(), transform = this._reusableTransform, colorStyles = this._reusableColorStyles, fill = fColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromHsl)(fColor, container.hdr, opacity) : undefined, stroke = sColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromHsl)(sColor, container.hdr, strokeOpacity) : fill;\n transform.a = transform.b = transform.c = transform.d = undefined;\n colorStyles.fill = fill;\n colorStyles.stroke = stroke;\n this.draw((context)=>{\n for (const plugin of this._drawParticlesSetupPlugins){\n plugin.drawParticleSetup?.(context, particle, delta);\n }\n this._applyPreDrawUpdaters(context, particle, radius, opacity, colorStyles, transform);\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticle)({\n container,\n context,\n particle,\n delta,\n colorStyles,\n radius: radius * zIndexFactor ** zIndexOptions.sizeRate,\n opacity: opacity,\n transform\n });\n this._applyPostDrawUpdaters(particle);\n for (const plugin of this._drawParticlesCleanupPlugins){\n plugin.drawParticleCleanup?.(context, particle, delta);\n }\n });\n }\n drawParticlePlugins(particle, delta) {\n this.draw((ctx)=>{\n for (const plugin of this._drawParticlePlugins){\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticlePlugin)(ctx, plugin, particle, delta);\n }\n });\n }\n drawParticles(delta) {\n const { particles } = this.container;\n this.clear();\n particles.update(delta);\n this.draw((ctx)=>{\n for (const plugin of this._drawSettingsSetupPlugins){\n plugin.drawSettingsSetup?.(ctx, delta);\n }\n for (const plugin of this._drawPlugins){\n plugin.draw?.(ctx, delta);\n }\n particles.drawParticles(delta);\n for (const plugin of this._clearDrawPlugins){\n plugin.clearDraw?.(ctx, delta);\n }\n for (const plugin of this._drawSettingsCleanupPlugins){\n plugin.drawSettingsCleanup?.(ctx, delta);\n }\n });\n }\n getZoomCenter() {\n const pxRatio = this.container.retina.pixelRatio, { width, height } = this.size;\n if (this._zoomCenter) {\n return this._zoomCenter;\n }\n return {\n x: width * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half / pxRatio,\n y: height * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half / pxRatio\n };\n }\n init() {\n this._safeMutationObserver((obs)=>{\n obs.disconnect();\n });\n this._mutationObserver = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeMutationObserver)((records)=>{\n for (const record of records){\n if (record.type === \"attributes\" && record.attributeName === \"style\") {\n this._repairStyle();\n }\n }\n });\n this.resize();\n this._initStyle();\n this.initBackground();\n this._safeMutationObserver((obs)=>{\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n this.initUpdaters();\n this.initPlugins();\n this.paint();\n }\n initBackground() {\n const { container } = this, options = container.actualOptions, background = options.background, element = this.element;\n if (!element) {\n return;\n }\n const elementStyle = element.style, color = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToRgb)(this._engine, background.color);\n if (color) {\n elementStyle.backgroundColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromRgb)(color, container.hdr, background.opacity);\n } else {\n elementStyle.backgroundColor = \"\";\n }\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n initPlugins() {\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n for (const plugin of this.container.plugins){\n if (plugin.resize) {\n this._resizePlugins.push(plugin);\n }\n if (plugin.particleFillColor ?? plugin.particleStrokeColor) {\n this._colorPlugins.push(plugin);\n }\n if (plugin.canvasClear) {\n this._canvasClearPlugins.push(plugin);\n }\n if (plugin.canvasPaint) {\n this._canvasPaintPlugins.push(plugin);\n }\n if (plugin.drawParticle) {\n this._drawParticlePlugins.push(plugin);\n }\n if (plugin.drawParticleSetup) {\n this._drawParticlesSetupPlugins.push(plugin);\n }\n if (plugin.drawParticleCleanup) {\n this._drawParticlesCleanupPlugins.push(plugin);\n }\n if (plugin.draw) {\n this._drawPlugins.push(plugin);\n }\n if (plugin.drawSettingsSetup) {\n this._drawSettingsSetupPlugins.push(plugin);\n }\n if (plugin.drawSettingsCleanup) {\n this._drawSettingsCleanupPlugins.push(plugin);\n }\n if (plugin.clearDraw) {\n this._clearDrawPlugins.push(plugin);\n }\n }\n }\n initUpdaters() {\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n for (const updater of this.container.particles.updaters){\n if (updater.afterDraw) {\n this._postDrawUpdaters.push(updater);\n }\n if (updater.getColorStyles ?? updater.getTransformValues ?? updater.beforeDraw) {\n this._preDrawUpdaters.push(updater);\n }\n }\n }\n loadCanvas(canvas) {\n if (this._generated && this.element) {\n this.element.remove();\n }\n const container = this.container;\n this._generated = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute in canvas.dataset ? canvas.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute] === \"true\" : this._generated;\n this.element = canvas;\n this.element.ariaHidden = \"true\";\n this._originalStyle = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.cloneStyle)(this.element.style);\n const standardSize = this._standardSize;\n standardSize.height = canvas.offsetHeight;\n standardSize.width = canvas.offsetWidth;\n const pxRatio = this.container.retina.pixelRatio, retinaSize = this.size;\n canvas.height = retinaSize.height = standardSize.height * pxRatio;\n canvas.width = retinaSize.width = standardSize.width * pxRatio;\n const canSupportHdrQuery = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeMatchMedia)(\"(color-gamut: p3)\");\n this._canvasSettings = {\n alpha: true,\n colorSpace: canSupportHdrQuery?.matches && container.hdr ? \"display-p3\" : \"srgb\",\n desynchronized: true,\n willReadFrequently: false\n };\n this._context = this.element.getContext(\"2d\", this._canvasSettings);\n this._safeMutationObserver((obs)=>{\n obs.disconnect();\n });\n container.retina.init();\n this.initBackground();\n this._safeMutationObserver((obs)=>{\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n }\n paint() {\n let handled = false;\n for (const plugin of this._canvasPaintPlugins){\n handled = plugin.canvasPaint?.() ?? false;\n if (handled) {\n break;\n }\n }\n if (handled) {\n return;\n }\n this.paintBase();\n }\n paintBase(baseColor) {\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintBase)(ctx, this.size, baseColor);\n });\n }\n paintImage(image, opacity) {\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintImage)(ctx, this.size, image, opacity);\n });\n }\n resize() {\n if (!this.element) {\n return false;\n }\n const container = this.container, currentSize = container.canvas._standardSize, newSize = {\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n }, pxRatio = container.retina.pixelRatio, retinaSize = {\n width: newSize.width * pxRatio,\n height: newSize.height * pxRatio\n };\n if (newSize.height === currentSize.height && newSize.width === currentSize.width && retinaSize.height === this.element.height && retinaSize.width === this.element.width) {\n return false;\n }\n const oldSize = {\n ...currentSize\n };\n currentSize.height = newSize.height;\n currentSize.width = newSize.width;\n const canvasSize = this.size;\n this.element.width = canvasSize.width = retinaSize.width;\n this.element.height = canvasSize.height = retinaSize.height;\n if (this.container.started) {\n container.particles.setResizeFactor({\n width: currentSize.width / oldSize.width,\n height: currentSize.height / oldSize.height\n });\n }\n return true;\n }\n setPointerEvents(type) {\n const element = this.element;\n if (!element) {\n return;\n }\n this._pointerEvents = type;\n this._repairStyle();\n }\n setZoom(zoomLevel, center) {\n this.zoom = zoomLevel;\n this._zoomCenter = center;\n }\n stop() {\n this._safeMutationObserver((obs)=>{\n obs.disconnect();\n });\n this._mutationObserver = undefined;\n this.draw((ctx)=>{\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n async windowResize() {\n if (!this.element || !this.resize()) {\n return;\n }\n const container = this.container, needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n this._applyResizePlugins();\n if (needsRefresh) {\n await container.refresh();\n }\n }\n _applyPostDrawUpdaters = (particle)=>{\n for (const updater of this._postDrawUpdaters){\n updater.afterDraw?.(particle);\n }\n };\n _applyPreDrawUpdaters = (ctx, particle, radius, zOpacity, colorStyles, transform)=>{\n for (const updater of this._preDrawUpdaters){\n if (updater.getColorStyles) {\n const { fill, stroke } = updater.getColorStyles(particle, ctx, radius, zOpacity);\n if (fill) {\n colorStyles.fill = fill;\n }\n if (stroke) {\n colorStyles.stroke = stroke;\n }\n }\n if (updater.getTransformValues) {\n const updaterTransform = updater.getTransformValues(particle);\n for(const key in updaterTransform){\n setTransformValue(transform, updaterTransform, key);\n }\n }\n updater.beforeDraw?.(particle);\n }\n };\n _applyResizePlugins = ()=>{\n for (const plugin of this._resizePlugins){\n plugin.resize?.();\n }\n };\n _getPluginParticleColors = (particle)=>{\n let fColor, sColor;\n for (const plugin of this._colorPlugins){\n if (!fColor && plugin.particleFillColor) {\n fColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToHsl)(this._engine, plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToHsl)(this._engine, plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n this._reusablePluginColors[fColorIndex] = fColor;\n this._reusablePluginColors[sColorIndex] = sColor;\n return this._reusablePluginColors;\n };\n _initStyle = ()=>{\n const element = this.element, options = this.container.actualOptions;\n if (!element) {\n return;\n }\n if (this._fullScreen) {\n this._setFullScreenStyle();\n } else {\n this._resetOriginalStyle();\n }\n for(const key in options.style){\n if (!key || !Object.hasOwn(options.style, key)) {\n continue;\n }\n const value = options.style[key];\n if (!value) {\n continue;\n }\n element.style.setProperty(key, value, \"important\");\n }\n };\n _repairStyle = ()=>{\n const element = this.element;\n if (!element) {\n return;\n }\n this._safeMutationObserver((observer)=>{\n observer.disconnect();\n });\n this._initStyle();\n this.initBackground();\n const pointerEvents = this._pointerEvents;\n element.style.pointerEvents = pointerEvents;\n element.setAttribute(\"pointer-events\", pointerEvents);\n this._safeMutationObserver((observer)=>{\n if (!(element instanceof Node)) {\n return;\n }\n observer.observe(element, {\n attributes: true\n });\n });\n };\n _resetOriginalStyle = ()=>{\n const element = this.element, originalStyle = this._originalStyle;\n if (!element || !originalStyle) {\n return;\n }\n setStyle(element, originalStyle, true);\n };\n _safeMutationObserver = (callback)=>{\n if (!this._mutationObserver) {\n return;\n }\n callback(this._mutationObserver);\n };\n _setFullScreenStyle = ()=>{\n const element = this.element;\n if (!element) {\n return;\n }\n setStyle(element, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getFullScreenStyle)(this.container.actualOptions.fullScreen.zIndex), true);\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Canvas.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
package/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { MBParticles } from "./marcbruederlin/Particles.js";
2
2
  import { initParticlesJS } from "./VincentGarreau/particles.js";
3
3
  const initPjs = async (engine) => {
4
- engine.checkVersion("4.0.0-alpha.21");
4
+ engine.checkVersion("4.0.0-alpha.23");
5
5
  await engine.register(async (e) => {
6
6
  const [{ loadFull }, { loadResponsivePlugin },] = await Promise.all([
7
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-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \*************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadFull: () => (/* binding */ loadFull)\n/* harmony export */ });\nasync function loadFull(engine) {\n engine.checkVersion(\"4.0.0-alpha.21\");\n await engine.register(async (e)=>{\n const [{ loadDestroyUpdater }, { loadRollUpdater }, { loadTiltUpdater }, { loadTwinkleUpdater }, { loadWobbleUpdater }, { loadTextShape }, { loadExternalTrailInteraction }, { loadAbsorbersPlugin }, { loadEmittersPlugin }, { loadEmittersShapeCircle }, { loadEmittersShapeSquare }, { loadSlim }] = await Promise.all([\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 __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() */ \"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() */ \"slim_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/slim */ \"../slim/dist/browser/index.js\"))\n ]);\n await loadSlim(e);\n await Promise.all([\n loadDestroyUpdater(e),\n loadRollUpdater(e),\n loadTiltUpdater(e),\n loadTwinkleUpdater(e),\n loadWobbleUpdater(e),\n loadTextShape(e),\n loadExternalTrailInteraction(e),\n loadAbsorbersPlugin(e),\n loadEmittersPlugin(e)\n ]);\n await Promise.all([\n loadEmittersShapeCircle(e),\n loadEmittersShapeSquare(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../full/dist/browser/index.js?\n}");
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-alpha.23\");\n await engine.register(async (e)=>{\n const [{ loadDestroyUpdater }, { loadRollUpdater }, { loadTiltUpdater }, { loadTwinkleUpdater }, { loadWobbleUpdater }, { loadTextShape }, { loadExternalTrailInteraction }, { loadAbsorbersPlugin }, { loadEmittersPlugin }, { loadEmittersShapeCircle }, { loadEmittersShapeSquare }, { loadSlim }] = await Promise.all([\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 __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() */ \"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() */ \"slim_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/slim */ \"../slim/dist/browser/index.js\"))\n ]);\n await loadSlim(e);\n await Promise.all([\n loadDestroyUpdater(e),\n loadRollUpdater(e),\n loadTiltUpdater(e),\n loadTwinkleUpdater(e),\n loadWobbleUpdater(e),\n loadTextShape(e),\n loadExternalTrailInteraction(e),\n loadAbsorbersPlugin(e),\n loadEmittersPlugin(e)\n ]);\n await Promise.all([\n loadEmittersShapeCircle(e),\n loadEmittersShapeSquare(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-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -37,53 +37,63 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
37
37
 
38
38
  /***/ },
39
39
 
40
- /***/ "../../plugins/interactivity/dist/browser/DivType.js"
41
- /*!***********************************************************!*\
42
- !*** ../../plugins/interactivity/dist/browser/DivType.js ***!
43
- \***********************************************************/
40
+ /***/ "../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js"
41
+ /*!**************************************************************************************!*\
42
+ !*** ../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js ***!
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 */ DivType: () => (/* binding */ DivType)\n/* harmony export */ });\nvar DivType;\n(function(DivType) {\n DivType[\"circle\"] = \"circle\";\n DivType[\"rectangle\"] = \"rectangle\";\n})(DivType || (DivType = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/DivType.js?\n}");
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
 
50
- /***/ "../../plugins/interactivity/dist/browser/ExternalInteractorBase.js"
51
- /*!**************************************************************************!*\
52
- !*** ../../plugins/interactivity/dist/browser/ExternalInteractorBase.js ***!
53
- \**************************************************************************/
50
+ /***/ "../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js"
51
+ /*!***************************************************************************************!*\
52
+ !*** ../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js ***!
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 */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InteractorType.js */ \"../../plugins/interactivity/dist/browser/InteractorType.js\");\n\nclass ExternalInteractorBase {\n type = _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/ExternalInteractorBase.js?\n}");
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
 
60
- /***/ "../../plugins/interactivity/dist/browser/InteractivityConstants.js"
61
- /*!**************************************************************************!*\
62
- !*** ../../plugins/interactivity/dist/browser/InteractivityConstants.js ***!
63
- \**************************************************************************/
60
+ /***/ "../../plugins/interactivity/dist/browser/Enums/DivType.js"
61
+ /*!*****************************************************************!*\
62
+ !*** ../../plugins/interactivity/dist/browser/Enums/DivType.js ***!
63
+ \*****************************************************************/
64
64
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
65
 
66
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clickEvent: () => (/* binding */ clickEvent),\n/* harmony export */ mouseDownEvent: () => (/* binding */ mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* binding */ mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* binding */ mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* binding */ mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* binding */ mouseUpEvent),\n/* harmony export */ touchCancelEvent: () => (/* binding */ touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* binding */ touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* binding */ touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* binding */ touchStartEvent)\n/* harmony export */ });\nconst clickEvent = \"click\", mouseDownEvent = \"pointerdown\", mouseUpEvent = \"pointerup\", mouseLeaveEvent = \"pointerleave\", mouseOutEvent = \"pointerout\", mouseMoveEvent = \"pointermove\", touchStartEvent = \"touchstart\", touchEndEvent = \"touchend\", touchMoveEvent = \"touchmove\", touchCancelEvent = \"touchcancel\";\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivType: () => (/* binding */ DivType)\n/* harmony export */ });\nvar DivType;\n(function(DivType) {\n DivType[\"circle\"] = \"circle\";\n DivType[\"rectangle\"] = \"rectangle\";\n})(DivType || (DivType = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Enums/DivType.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js"
71
+ /*!*****************************************************************************!*\
72
+ !*** ../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js ***!
73
+ \*****************************************************************************/
74
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
+
76
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractivityDetect: () => (/* binding */ InteractivityDetect)\n/* harmony export */ });\nvar InteractivityDetect;\n(function(InteractivityDetect) {\n InteractivityDetect[\"canvas\"] = \"canvas\";\n InteractivityDetect[\"parent\"] = \"parent\";\n InteractivityDetect[\"window\"] = \"window\";\n})(InteractivityDetect || (InteractivityDetect = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js?\n}");
67
77
 
68
78
  /***/ },
69
79
 
70
- /***/ "../../plugins/interactivity/dist/browser/InteractivityDetect.js"
71
- /*!***********************************************************************!*\
72
- !*** ../../plugins/interactivity/dist/browser/InteractivityDetect.js ***!
73
- \***********************************************************************/
80
+ /***/ "../../plugins/interactivity/dist/browser/Enums/InteractorType.js"
81
+ /*!************************************************************************!*\
82
+ !*** ../../plugins/interactivity/dist/browser/Enums/InteractorType.js ***!
83
+ \************************************************************************/
74
84
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
85
 
76
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractivityDetect: () => (/* binding */ InteractivityDetect)\n/* harmony export */ });\nvar InteractivityDetect;\n(function(InteractivityDetect) {\n InteractivityDetect[\"canvas\"] = \"canvas\";\n InteractivityDetect[\"parent\"] = \"parent\";\n InteractivityDetect[\"window\"] = \"window\";\n})(InteractivityDetect || (InteractivityDetect = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/InteractivityDetect.js?\n}");
86
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractorType: () => (/* binding */ InteractorType)\n/* harmony export */ });\nvar InteractorType;\n(function(InteractorType) {\n InteractorType[\"external\"] = \"external\";\n InteractorType[\"particles\"] = \"particles\";\n})(InteractorType || (InteractorType = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Enums/InteractorType.js?\n}");
77
87
 
78
88
  /***/ },
79
89
 
80
- /***/ "../../plugins/interactivity/dist/browser/InteractorType.js"
81
- /*!******************************************************************!*\
82
- !*** ../../plugins/interactivity/dist/browser/InteractorType.js ***!
83
- \******************************************************************/
90
+ /***/ "../../plugins/interactivity/dist/browser/InteractivityConstants.js"
91
+ /*!**************************************************************************!*\
92
+ !*** ../../plugins/interactivity/dist/browser/InteractivityConstants.js ***!
93
+ \**************************************************************************/
84
94
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
85
95
 
86
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractorType: () => (/* binding */ InteractorType)\n/* harmony export */ });\nvar InteractorType;\n(function(InteractorType) {\n InteractorType[\"external\"] = \"external\";\n InteractorType[\"particles\"] = \"particles\";\n})(InteractorType || (InteractorType = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/InteractorType.js?\n}");
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clickEvent: () => (/* binding */ clickEvent),\n/* harmony export */ mouseDownEvent: () => (/* binding */ mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* binding */ mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* binding */ mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* binding */ mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* binding */ mouseUpEvent),\n/* harmony export */ touchCancelEvent: () => (/* binding */ touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* binding */ touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* binding */ touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* binding */ touchStartEvent)\n/* harmony export */ });\nconst clickEvent = \"click\", mouseDownEvent = \"pointerdown\", mouseUpEvent = \"pointerup\", mouseLeaveEvent = \"pointerleave\", mouseOutEvent = \"pointerout\", mouseMoveEvent = \"pointermove\", touchStartEvent = \"touchstart\", touchEndEvent = \"touchend\", touchMoveEvent = \"touchmove\", touchCancelEvent = \"touchcancel\";\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
87
97
 
88
98
  /***/ },
89
99
 
@@ -93,7 +103,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
93
103
  \***********************************************************************************/
94
104
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
105
 
96
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* binding */ DivEvent)\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 _DivType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../DivType.js */ \"../../plugins/interactivity/dist/browser/DivType.js\");\n\n\nclass DivEvent {\n enable;\n mode;\n selectors;\n type;\n constructor(){\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = _DivType_js__WEBPACK_IMPORTED_MODULE_1__.DivType.circle;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js?\n}");
106
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* binding */ DivEvent)\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 _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n\n\nclass DivEvent {\n enable;\n mode;\n selectors;\n type;\n constructor(){\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_1__.DivType.circle;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js?\n}");
97
107
 
98
108
  /***/ },
99
109
 
@@ -107,23 +117,13 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
107
117
 
108
118
  /***/ },
109
119
 
110
- /***/ "../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js"
111
- /*!***************************************************************************!*\
112
- !*** ../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js ***!
113
- \***************************************************************************/
114
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
115
-
116
- 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 _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InteractorType.js */ \"../../plugins/interactivity/dist/browser/InteractorType.js\");\n\nclass ParticlesInteractorBase {\n type = _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/ParticlesInteractorBase.js?\n}");
117
-
118
- /***/ },
119
-
120
120
  /***/ "../../plugins/interactivity/dist/browser/index.js"
121
121
  /*!*********************************************************!*\
122
122
  !*** ../../plugins/interactivity/dist/browser/index.js ***!
123
123
  \*********************************************************/
124
124
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
125
125
 
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 */ _DivType_js__WEBPACK_IMPORTED_MODULE_1__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_4__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _InteractorType_js__WEBPACK_IMPORTED_MODULE_5__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_6__.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 */ mouseOutEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseOutEvent),\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 _DivType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DivType.js */ \"../../plugins/interactivity/dist/browser/DivType.js\");\n/* harmony import */ var _ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/ExternalInteractorBase.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 _InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/InteractivityDetect.js\");\n/* harmony import */ var _InteractorType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./InteractorType.js */ \"../../plugins/interactivity/dist/browser/InteractorType.js\");\n/* harmony import */ var _ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/ParticlesInteractorBase.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-alpha.21\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { 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 interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.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.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}");
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 */ mouseOutEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseOutEvent),\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-alpha.23\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { 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 interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.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.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}");
127
127
 
128
128
  /***/ },
129
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-alpha.21
7
+ * v4.0.0-alpha.23
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 */ _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-alpha.21\");\n await engine.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.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, container);\n });\n });\n}\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../interactions/external/attract/dist/browser/index.js?\n}");
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-alpha.23\");\n await engine.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.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, 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