@tsparticles/pjs 4.0.0-alpha.8 → 4.0.0-beta.0

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 (494) hide show
  1. package/102.min.js +1 -0
  2. package/1098.min.js +1 -0
  3. package/1298.min.js +1 -0
  4. package/1302.min.js +1 -0
  5. package/1368.min.js +1 -0
  6. package/1510.min.js +1 -0
  7. package/1553.min.js +1 -0
  8. package/161.min.js +1 -0
  9. package/1624.min.js +1 -0
  10. package/1667.min.js +1 -0
  11. package/229.min.js +1 -0
  12. package/2382.min.js +1 -0
  13. package/2418.min.js +1 -0
  14. package/243.min.js +1 -0
  15. package/2616.min.js +1 -0
  16. package/2618.min.js +1 -0
  17. package/2738.min.js +1 -0
  18. package/2846.min.js +1 -0
  19. package/2926.min.js +1 -0
  20. package/3091.min.js +1 -0
  21. package/3093.min.js +1 -0
  22. package/3130.min.js +1 -0
  23. package/3194.min.js +1 -0
  24. package/3296.min.js +1 -0
  25. package/3407.min.js +1 -0
  26. package/3413.min.js +1 -0
  27. package/3433.min.js +1 -0
  28. package/3455.min.js +1 -0
  29. package/3464.min.js +1 -0
  30. package/358.min.js +1 -0
  31. package/3618.min.js +1 -0
  32. package/3657.min.js +1 -0
  33. package/3659.min.js +1 -0
  34. package/366.min.js +1 -0
  35. package/3663.min.js +1 -0
  36. package/3713.min.js +1 -0
  37. package/3715.min.js +1 -0
  38. package/3813.min.js +1 -0
  39. package/4089.min.js +1 -0
  40. package/4149.min.js +1 -0
  41. package/4191.min.js +1 -0
  42. package/4257.min.js +1 -0
  43. package/4268.min.js +1 -0
  44. package/4270.min.js +1 -0
  45. package/4285.min.js +1 -0
  46. package/4292.min.js +1 -0
  47. package/439.min.js +1 -0
  48. package/4462.min.js +1 -0
  49. package/4570.min.js +1 -0
  50. package/4572.min.js +1 -0
  51. package/4588.min.js +1 -0
  52. package/465.min.js +1 -0
  53. package/4660.min.js +1 -0
  54. package/4724.min.js +1 -0
  55. package/4792.min.js +1 -0
  56. package/485.min.js +1 -0
  57. package/4932.min.js +1 -0
  58. package/514.min.js +1 -0
  59. package/5157.min.js +1 -0
  60. package/5315.min.js +1 -0
  61. package/5390.min.js +1 -0
  62. package/5406.min.js +1 -0
  63. package/5478.min.js +1 -0
  64. package/5538.min.js +1 -0
  65. package/5552.min.js +1 -0
  66. package/5855.min.js +1 -0
  67. package/5964.min.js +1 -0
  68. package/6066.min.js +1 -0
  69. package/608.min.js +1 -0
  70. package/6098.min.js +1 -0
  71. package/6101.min.js +1 -0
  72. package/6179.min.js +1 -0
  73. package/622.min.js +1 -0
  74. package/6299.min.js +1 -0
  75. package/6361.min.js +1 -2
  76. package/6465.min.js +1 -0
  77. package/65.min.js +1 -0
  78. package/653.min.js +1 -0
  79. package/6583.min.js +1 -0
  80. package/6638.min.js +1 -0
  81. package/6684.min.js +1 -0
  82. package/6839.min.js +1 -0
  83. package/6970.min.js +1 -0
  84. package/6982.min.js +1 -0
  85. package/6986.min.js +1 -0
  86. package/7116.min.js +1 -0
  87. package/7256.min.js +1 -2
  88. package/7258.min.js +1 -0
  89. package/7318.min.js +1 -0
  90. package/7449.min.js +1 -0
  91. package/7475.min.js +1 -0
  92. package/7520.min.js +1 -0
  93. package/7622.min.js +2 -0
  94. package/7646.min.js +1 -0
  95. package/7812.min.js +1 -0
  96. package/7876.min.js +1 -0
  97. package/7922.min.js +1 -0
  98. package/7925.min.js +1 -0
  99. package/7977.min.js +1 -0
  100. package/8109.min.js +1 -0
  101. package/8214.min.js +1 -0
  102. package/8222.min.js +1 -0
  103. package/8315.min.js +1 -0
  104. package/84.min.js +1 -0
  105. package/8476.min.js +1 -0
  106. package/8484.min.js +1 -0
  107. package/8589.min.js +1 -0
  108. package/8684.min.js +1 -0
  109. package/8689.min.js +1 -0
  110. package/8902.min.js +1 -0
  111. package/8926.min.js +2 -0
  112. package/9082.min.js +1 -0
  113. package/9202.min.js +1 -0
  114. package/9544.min.js +1 -0
  115. package/9578.min.js +1 -0
  116. package/9611.min.js +1 -0
  117. package/9630.min.js +1 -0
  118. package/9739.min.js +1 -0
  119. package/README.md +31 -2
  120. package/basic_dist_browser_index_js.js +2 -2
  121. package/browser/VincentGarreau/particles.js +9 -12
  122. package/browser/bundle.js +1 -2
  123. package/browser/index.js +5 -2
  124. package/browser/marcbruederlin/Particles.js +1 -0
  125. package/cjs/VincentGarreau/particles.js +9 -12
  126. package/cjs/bundle.js +1 -2
  127. package/cjs/index.js +5 -2
  128. package/cjs/marcbruederlin/Particles.js +1 -0
  129. package/engine_dist_browser_Core_Container_js.js +12 -12
  130. package/esm/VincentGarreau/particles.js +9 -12
  131. package/esm/bundle.js +1 -2
  132. package/esm/index.js +5 -2
  133. package/esm/marcbruederlin/Particles.js +1 -0
  134. package/full_dist_browser_index_js.js +2 -2
  135. package/interactions_external_attract_dist_browser_Attractor_js.js +42 -42
  136. package/interactions_external_attract_dist_browser_index_js.js +3 -3
  137. package/interactions_external_bounce_dist_browser_Bouncer_js.js +42 -42
  138. package/interactions_external_bounce_dist_browser_index_js.js +3 -3
  139. package/interactions_external_bubble_dist_browser_Bubbler_js.js +43 -43
  140. package/interactions_external_bubble_dist_browser_index_js.js +5 -5
  141. package/interactions_external_connect_dist_browser_Connector_js.js +62 -42
  142. package/interactions_external_connect_dist_browser_index_js.js +4 -4
  143. package/interactions_external_drag_dist_browser_Dragger_js.js +130 -0
  144. package/interactions_external_drag_dist_browser_index_js.js +40 -0
  145. package/interactions_external_grab_dist_browser_Grabber_js.js +62 -42
  146. package/interactions_external_grab_dist_browser_index_js.js +4 -4
  147. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +41 -41
  148. package/interactions_external_parallax_dist_browser_index_js.js +3 -3
  149. package/interactions_external_pause_dist_browser_Pauser_js.js +41 -41
  150. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  151. package/interactions_external_push_dist_browser_Pusher_js.js +41 -41
  152. package/interactions_external_push_dist_browser_index_js.js +3 -3
  153. package/interactions_external_remove_dist_browser_Remover_js.js +41 -41
  154. package/interactions_external_remove_dist_browser_index_js.js +3 -3
  155. package/interactions_external_repulse_dist_browser_Repulser_js.js +41 -41
  156. package/interactions_external_repulse_dist_browser_index_js.js +5 -5
  157. package/interactions_external_slow_dist_browser_Slower_js.js +41 -41
  158. package/interactions_external_slow_dist_browser_index_js.js +3 -3
  159. package/interactions_external_trail_dist_browser_TrailMaker_js.js +41 -41
  160. package/interactions_external_trail_dist_browser_index_js.js +33 -3
  161. package/interactions_particles_attract_dist_browser_Attractor_js.js +51 -41
  162. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  163. package/interactions_particles_collisions_dist_browser_Collider_js.js +49 -49
  164. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +2 -2
  165. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
  166. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  167. package/interactions_particles_links_dist_browser_LinkInstance_js.js +3 -3
  168. package/interactions_particles_links_dist_browser_Linker_js.js +42 -42
  169. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
  170. package/interactions_particles_links_dist_browser_index_js.js +5 -5
  171. package/package.json +4 -4
  172. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +15 -5
  173. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +2 -2
  174. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +54 -44
  175. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +2 -2
  176. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +15 -5
  177. package/plugins_absorbers_dist_browser_index_js.js +2 -2
  178. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +2 -2
  179. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  180. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +2 -2
  181. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  182. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +2 -2
  183. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  184. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +2 -2
  185. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  186. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +6 -6
  187. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  188. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +6 -6
  189. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  190. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  191. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +18 -8
  192. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +58 -48
  193. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +2 -2
  194. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +18 -8
  195. package/plugins_emitters_dist_browser_ShapeManager_js.js +2 -2
  196. package/plugins_emitters_dist_browser_index_js.js +4 -4
  197. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  198. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +6 -6
  199. package/plugins_interactivity_dist_browser_index_js.js +40 -40
  200. package/plugins_move_dist_browser_MovePluginInstance_js.js +40 -0
  201. package/{updaters_color_dist_browser_index_js.js → plugins_move_dist_browser_MovePlugin_js.js} +7 -7
  202. package/plugins_move_dist_browser_index_js.js +30 -0
  203. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +2 -2
  204. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +4 -4
  205. package/plugins_responsive_dist_browser_index_js.js +2 -2
  206. package/report.html +1 -1
  207. package/shapes_circle_dist_browser_CircleDrawer_js.js +3 -3
  208. package/shapes_circle_dist_browser_index_js.js +2 -2
  209. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +17 -7
  210. package/shapes_emoji_dist_browser_index_js.js +12 -2
  211. package/shapes_image_dist_browser_GifUtils_Utils_js.js +6 -16
  212. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  213. package/{move_base_dist_browser_index_js.js → shapes_image_dist_browser_ImagePreloaderInstance_js.js} +7 -7
  214. package/shapes_image_dist_browser_ImagePreloader_js.js +3 -3
  215. package/shapes_image_dist_browser_index_js.js +12 -2
  216. package/shapes_line_dist_browser_LineDrawer_js.js +3 -3
  217. package/shapes_line_dist_browser_index_js.js +2 -2
  218. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +4 -4
  219. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +4 -4
  220. package/shapes_polygon_dist_browser_index_js.js +2 -2
  221. package/shapes_square_dist_browser_SquareDrawer_js.js +3 -3
  222. package/shapes_square_dist_browser_index_js.js +2 -2
  223. package/shapes_star_dist_browser_StarDrawer_js.js +3 -3
  224. package/shapes_star_dist_browser_index_js.js +2 -2
  225. package/shapes_text_dist_browser_TextDrawer_js.js +17 -7
  226. package/shapes_text_dist_browser_index_js.js +12 -2
  227. package/slim_dist_browser_index_js.js +2 -2
  228. package/tsparticles.pjs.bundle.js +97 -95
  229. package/tsparticles.pjs.bundle.min.js +2 -2
  230. package/tsparticles.pjs.js +37 -37
  231. package/tsparticles.pjs.min.js +1 -2
  232. package/types/bundle.d.ts +1 -2
  233. package/types/index.d.ts +1 -3
  234. package/umd/VincentGarreau/particles.js +9 -12
  235. package/umd/bundle.js +3 -3
  236. package/umd/index.js +5 -2
  237. package/umd/marcbruederlin/Particles.js +1 -0
  238. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +9 -9
  239. package/updaters_destroy_dist_browser_index_js.js +2 -2
  240. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +30 -0
  241. package/updaters_fillColor_dist_browser_index_js.js +30 -0
  242. package/updaters_life_dist_browser_LifeUpdater_js.js +6 -6
  243. package/updaters_life_dist_browser_index_js.js +2 -2
  244. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  245. package/updaters_opacity_dist_browser_index_js.js +2 -2
  246. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +7 -7
  247. package/updaters_outModes_dist_browser_index_js.js +2 -2
  248. package/updaters_roll_dist_browser_RollUpdater_js.js +6 -6
  249. package/updaters_roll_dist_browser_index_js.js +2 -2
  250. package/updaters_rotate_dist_browser_RotateUpdater_js.js +4 -4
  251. package/updaters_rotate_dist_browser_index_js.js +2 -2
  252. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  253. package/updaters_size_dist_browser_index_js.js +2 -2
  254. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
  255. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  256. package/updaters_tilt_dist_browser_TiltUpdater_js.js +5 -5
  257. package/updaters_tilt_dist_browser_index_js.js +2 -2
  258. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +18 -8
  259. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  260. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +5 -5
  261. package/updaters_wobble_dist_browser_index_js.js +2 -2
  262. package/1049.min.js +0 -2
  263. package/1049.min.js.LICENSE.txt +0 -1
  264. package/1085.min.js +0 -2
  265. package/1085.min.js.LICENSE.txt +0 -1
  266. package/1306.min.js +0 -2
  267. package/1306.min.js.LICENSE.txt +0 -1
  268. package/1350.min.js +0 -2
  269. package/1350.min.js.LICENSE.txt +0 -1
  270. package/150.min.js +0 -2
  271. package/150.min.js.LICENSE.txt +0 -1
  272. package/1542.min.js +0 -2
  273. package/1542.min.js.LICENSE.txt +0 -1
  274. package/1608.min.js +0 -2
  275. package/1608.min.js.LICENSE.txt +0 -1
  276. package/1750.min.js +0 -2
  277. package/1750.min.js.LICENSE.txt +0 -1
  278. package/176.min.js +0 -2
  279. package/176.min.js.LICENSE.txt +0 -1
  280. package/1801.min.js +0 -2
  281. package/1801.min.js.LICENSE.txt +0 -1
  282. package/1968.min.js +0 -2
  283. package/1968.min.js.LICENSE.txt +0 -1
  284. package/2201.min.js +0 -2
  285. package/2201.min.js.LICENSE.txt +0 -1
  286. package/221.min.js +0 -2
  287. package/221.min.js.LICENSE.txt +0 -1
  288. package/2398.min.js +0 -2
  289. package/2398.min.js.LICENSE.txt +0 -1
  290. package/2488.min.js +0 -2
  291. package/2488.min.js.LICENSE.txt +0 -1
  292. package/2495.min.js +0 -2
  293. package/2495.min.js.LICENSE.txt +0 -1
  294. package/2754.min.js +0 -2
  295. package/2754.min.js.LICENSE.txt +0 -1
  296. package/2827.min.js +0 -2
  297. package/2827.min.js.LICENSE.txt +0 -1
  298. package/2842.min.js +0 -2
  299. package/2842.min.js.LICENSE.txt +0 -1
  300. package/290.min.js +0 -2
  301. package/290.min.js.LICENSE.txt +0 -1
  302. package/2942.min.js +0 -2
  303. package/2942.min.js.LICENSE.txt +0 -1
  304. package/2970.min.js +0 -2
  305. package/2970.min.js.LICENSE.txt +0 -1
  306. package/3003.min.js +0 -2
  307. package/3003.min.js.LICENSE.txt +0 -1
  308. package/3120.min.js +0 -2
  309. package/3120.min.js.LICENSE.txt +0 -1
  310. package/3148.min.js +0 -2
  311. package/3148.min.js.LICENSE.txt +0 -1
  312. package/3153.min.js +0 -2
  313. package/3153.min.js.LICENSE.txt +0 -1
  314. package/3209.min.js +0 -2
  315. package/3209.min.js.LICENSE.txt +0 -1
  316. package/3306.min.js +0 -2
  317. package/3306.min.js.LICENSE.txt +0 -1
  318. package/3316.min.js +0 -2
  319. package/3316.min.js.LICENSE.txt +0 -1
  320. package/3442.min.js +0 -2
  321. package/3442.min.js.LICENSE.txt +0 -1
  322. package/346.min.js +0 -2
  323. package/346.min.js.LICENSE.txt +0 -1
  324. package/3712.min.js +0 -2
  325. package/3712.min.js.LICENSE.txt +0 -1
  326. package/3743.min.js +0 -2
  327. package/3743.min.js.LICENSE.txt +0 -1
  328. package/3744.min.js +0 -2
  329. package/3744.min.js.LICENSE.txt +0 -1
  330. package/3748.min.js +0 -2
  331. package/3748.min.js.LICENSE.txt +0 -1
  332. package/3759.min.js +0 -2
  333. package/3759.min.js.LICENSE.txt +0 -1
  334. package/3803.min.js +0 -2
  335. package/3803.min.js.LICENSE.txt +0 -1
  336. package/3804.min.js +0 -2
  337. package/3804.min.js.LICENSE.txt +0 -1
  338. package/3865.min.js +0 -2
  339. package/3865.min.js.LICENSE.txt +0 -1
  340. package/3925.min.js +0 -2
  341. package/3925.min.js.LICENSE.txt +0 -1
  342. package/3997.min.js +0 -2
  343. package/3997.min.js.LICENSE.txt +0 -1
  344. package/4427.min.js +0 -2
  345. package/4427.min.js.LICENSE.txt +0 -1
  346. package/4619.min.js +0 -2
  347. package/4619.min.js.LICENSE.txt +0 -1
  348. package/4698.min.js +0 -2
  349. package/4698.min.js.LICENSE.txt +0 -1
  350. package/4764.min.js +0 -2
  351. package/4764.min.js.LICENSE.txt +0 -1
  352. package/4813.min.js +0 -2
  353. package/4813.min.js.LICENSE.txt +0 -1
  354. package/4884.min.js +0 -2
  355. package/4884.min.js.LICENSE.txt +0 -1
  356. package/4983.min.js +0 -2
  357. package/4983.min.js.LICENSE.txt +0 -1
  358. package/5113.min.js +0 -2
  359. package/5113.min.js.LICENSE.txt +0 -1
  360. package/5142.min.js +0 -2
  361. package/5142.min.js.LICENSE.txt +0 -1
  362. package/521.min.js +0 -2
  363. package/521.min.js.LICENSE.txt +0 -1
  364. package/5302.min.js +0 -2
  365. package/5302.min.js.LICENSE.txt +0 -1
  366. package/5475.min.js +0 -2
  367. package/5475.min.js.LICENSE.txt +0 -1
  368. package/5505.min.js +0 -2
  369. package/5505.min.js.LICENSE.txt +0 -1
  370. package/5516.min.js +0 -2
  371. package/5516.min.js.LICENSE.txt +0 -1
  372. package/5913.min.js +0 -2
  373. package/5913.min.js.LICENSE.txt +0 -1
  374. package/5919.min.js +0 -2
  375. package/5919.min.js.LICENSE.txt +0 -1
  376. package/597.min.js +0 -2
  377. package/597.min.js.LICENSE.txt +0 -1
  378. package/5987.min.js +0 -2
  379. package/5987.min.js.LICENSE.txt +0 -1
  380. package/620.min.js +0 -2
  381. package/620.min.js.LICENSE.txt +0 -1
  382. package/6296.min.js +0 -2
  383. package/6296.min.js.LICENSE.txt +0 -1
  384. package/6361.min.js.LICENSE.txt +0 -1
  385. package/6388.min.js +0 -2
  386. package/6388.min.js.LICENSE.txt +0 -1
  387. package/6441.min.js +0 -2
  388. package/6441.min.js.LICENSE.txt +0 -1
  389. package/6556.min.js +0 -2
  390. package/6556.min.js.LICENSE.txt +0 -1
  391. package/6580.min.js +0 -2
  392. package/6580.min.js.LICENSE.txt +0 -1
  393. package/6608.min.js +0 -2
  394. package/6608.min.js.LICENSE.txt +0 -1
  395. package/6742.min.js +0 -2
  396. package/6742.min.js.LICENSE.txt +0 -1
  397. package/6824.min.js +0 -2
  398. package/6824.min.js.LICENSE.txt +0 -1
  399. package/6908.min.js +0 -2
  400. package/6908.min.js.LICENSE.txt +0 -1
  401. package/6973.min.js +0 -2
  402. package/6973.min.js.LICENSE.txt +0 -1
  403. package/6988.min.js +0 -2
  404. package/6988.min.js.LICENSE.txt +0 -1
  405. package/7012.min.js +0 -2
  406. package/7012.min.js.LICENSE.txt +0 -1
  407. package/7044.min.js +0 -2
  408. package/7044.min.js.LICENSE.txt +0 -1
  409. package/7056.min.js +0 -2
  410. package/7056.min.js.LICENSE.txt +0 -1
  411. package/7125.min.js +0 -2
  412. package/7125.min.js.LICENSE.txt +0 -1
  413. package/7147.min.js +0 -2
  414. package/7147.min.js.LICENSE.txt +0 -1
  415. package/7160.min.js +0 -2
  416. package/7160.min.js.LICENSE.txt +0 -1
  417. package/718.min.js +0 -2
  418. package/718.min.js.LICENSE.txt +0 -1
  419. package/7188.min.js +0 -2
  420. package/7188.min.js.LICENSE.txt +0 -1
  421. package/7191.min.js +0 -2
  422. package/7191.min.js.LICENSE.txt +0 -1
  423. package/7256.min.js.LICENSE.txt +0 -1
  424. package/7276.min.js +0 -2
  425. package/7276.min.js.LICENSE.txt +0 -1
  426. package/736.min.js +0 -2
  427. package/736.min.js.LICENSE.txt +0 -1
  428. package/7448.min.js +0 -2
  429. package/7448.min.js.LICENSE.txt +0 -1
  430. package/7611.min.js +0 -2
  431. package/7611.min.js.LICENSE.txt +0 -1
  432. package/7613.min.js +0 -2
  433. package/7613.min.js.LICENSE.txt +0 -1
  434. package/7704.min.js +0 -2
  435. package/7704.min.js.LICENSE.txt +0 -1
  436. package/7749.min.js +0 -2
  437. package/7749.min.js.LICENSE.txt +0 -1
  438. package/785.min.js +0 -2
  439. package/785.min.js.LICENSE.txt +0 -1
  440. package/8013.min.js +0 -2
  441. package/8013.min.js.LICENSE.txt +0 -1
  442. package/8084.min.js +0 -2
  443. package/8084.min.js.LICENSE.txt +0 -1
  444. package/8188.min.js +0 -2
  445. package/8188.min.js.LICENSE.txt +0 -1
  446. package/8296.min.js +0 -2
  447. package/8296.min.js.LICENSE.txt +0 -1
  448. package/8314.min.js +0 -2
  449. package/8314.min.js.LICENSE.txt +0 -1
  450. package/8411.min.js +0 -2
  451. package/8411.min.js.LICENSE.txt +0 -1
  452. package/8445.min.js +0 -2
  453. package/8445.min.js.LICENSE.txt +0 -1
  454. package/8526.min.js +0 -2
  455. package/8526.min.js.LICENSE.txt +0 -1
  456. package/8551.min.js +0 -2
  457. package/8551.min.js.LICENSE.txt +0 -1
  458. package/8827.min.js +0 -2
  459. package/8827.min.js.LICENSE.txt +0 -1
  460. package/8847.min.js +0 -2
  461. package/8847.min.js.LICENSE.txt +0 -1
  462. package/8993.min.js +0 -2
  463. package/8993.min.js.LICENSE.txt +0 -1
  464. package/9052.min.js +0 -2
  465. package/9052.min.js.LICENSE.txt +0 -1
  466. package/9127.min.js +0 -2
  467. package/9127.min.js.LICENSE.txt +0 -1
  468. package/917.min.js +0 -2
  469. package/917.min.js.LICENSE.txt +0 -1
  470. package/9216.min.js +0 -2
  471. package/9216.min.js.LICENSE.txt +0 -1
  472. package/9234.min.js +0 -2
  473. package/9234.min.js.LICENSE.txt +0 -1
  474. package/9273.min.js +0 -2
  475. package/9273.min.js.LICENSE.txt +0 -1
  476. package/9277.min.js +0 -2
  477. package/9277.min.js.LICENSE.txt +0 -1
  478. package/937.min.js +0 -2
  479. package/937.min.js.LICENSE.txt +0 -1
  480. package/9410.min.js +0 -2
  481. package/9410.min.js.LICENSE.txt +0 -1
  482. package/9456.min.js +0 -2
  483. package/9456.min.js.LICENSE.txt +0 -1
  484. package/9467.min.js +0 -2
  485. package/9467.min.js.LICENSE.txt +0 -1
  486. package/9591.min.js +0 -2
  487. package/9591.min.js.LICENSE.txt +0 -1
  488. package/9839.min.js +0 -2
  489. package/9839.min.js.LICENSE.txt +0 -1
  490. package/move_base_dist_browser_BaseMover_js.js +0 -40
  491. package/shapes_image_dist_browser_Utils_js.js +0 -30
  492. package/tsparticles.pjs.bundle.min.js.LICENSE.txt +0 -1
  493. package/tsparticles.pjs.min.js.LICENSE.txt +0 -1
  494. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
@@ -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.8
7
+ * v4.0.0-beta.0
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 */ AbsorbersInteractor: () => (/* binding */ AbsorbersInteractor)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\n\nconst absorbersMode = \"absorbers\";\nclass AbsorbersInteractor extends _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__.ExternalInteractorBase {\n constructor(container, instancesManager) {\n super(container);\n this.dragging = false;\n this._instancesManager = instancesManager;\n this._instancesManager.initContainer(container);\n this.handleClickMode = (mode, interactivityData) => {\n const container = this.container,\n options = container.actualOptions,\n absorbers = options.interactivity.modes.absorbers;\n if (!absorbers || mode !== absorbersMode) {\n return;\n }\n const {\n clickPosition\n } = interactivityData.mouse;\n if (clickPosition) {\n const existingAbsorber = instancesManager.getArray(this.container).some(t => (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance)(t.position, clickPosition) < t.size);\n if (existingAbsorber) {\n return;\n }\n }\n const absorbersModeOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromArray)(absorbers) ?? new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n void this._instancesManager.addAbsorber(container, absorbersModeOptions, clickPosition);\n };\n }\n clear() {}\n init() {}\n interact(interactivityData, delta) {\n for (const particle of this.container.particles.filter(p => this.isEnabled(interactivityData, p))) {\n for (const absorber of this._instancesManager.getArray(this.container)) {\n if (absorber.options.draggable) {\n const mouse = interactivityData.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance)(absorber.position, mouse.downPosition);\n if (mouseDist <= absorber.size) {\n this.dragging = true;\n this.draggingAbsorber = absorber;\n }\n } else {\n this.dragging = false;\n this.draggingAbsorber = undefined;\n }\n if (this.dragging && this.draggingAbsorber == absorber && mouse.position) {\n absorber.position.x = mouse.position.x;\n absorber.position.y = mouse.position.y;\n }\n }\n absorber.attract(particle, delta);\n if (particle.destroyed) {\n break;\n }\n }\n }\n }\n isEnabled(interactivityData, particle) {\n const container = this.container,\n options = container.actualOptions,\n mouse = interactivityData.mouse,\n events = (particle?.interactivity ?? options.interactivity).events;\n if (!mouse.clickPosition || !events.onClick.enable) {\n return false;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isInArray)(absorbersMode, events.onClick.mode);\n }\n loadModeOptions(options, ...sources) {\n options.absorbers ??= [];\n for (const source of sources) {\n if (!source) {\n continue;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(source.absorbers)) {\n for (const absorber of source.absorbers) {\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n tmp.load(absorber);\n options.absorbers.push(tmp);\n }\n } else {\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n tmp.load(source.absorbers);\n options.absorbers.push(tmp);\n }\n }\n }\n reset() {}\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/AbsorbersInteractor.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersInteractor: () => (/* binding */ AbsorbersInteractor)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\n\nconst absorbersMode = \"absorbers\";\nclass AbsorbersInteractor extends _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__.ExternalInteractorBase {\n handleClickMode;\n maxDistance;\n _dragging = false;\n _draggingAbsorber;\n _instancesManager;\n constructor(container, instancesManager){\n super(container);\n this.maxDistance = 0;\n this._instancesManager = instancesManager;\n this._instancesManager.initContainer(container);\n this.handleClickMode = (mode, interactivityData)=>{\n const container = this.container, options = container.actualOptions, absorbers = options.interactivity.modes.absorbers;\n if (!absorbers || mode !== absorbersMode) {\n return;\n }\n const { clickPosition } = interactivityData.mouse;\n if (clickPosition) {\n const existingAbsorber = instancesManager.getArray(this.container).some((t)=>(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance)(t.position, clickPosition) < t.size);\n if (existingAbsorber) {\n return;\n }\n }\n const absorbersModeOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromArray)(absorbers) ?? new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n void this._instancesManager.addAbsorber(container, absorbersModeOptions, clickPosition);\n };\n }\n clear() {}\n init() {}\n interact(interactivityData, delta) {\n for (const particle of this.container.particles.filter((p)=>this.isEnabled(interactivityData, p))){\n for (const absorber of this._instancesManager.getArray(this.container)){\n if (absorber.options.draggable) {\n const mouse = interactivityData.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance)(absorber.position, mouse.downPosition);\n if (mouseDist <= absorber.size) {\n this._dragging = true;\n this._draggingAbsorber = absorber;\n }\n } else {\n this._dragging = false;\n this._draggingAbsorber = undefined;\n }\n if (this._dragging && this._draggingAbsorber == absorber && mouse.position) {\n absorber.position.x = mouse.position.x;\n absorber.position.y = mouse.position.y;\n }\n }\n absorber.attract(particle, delta);\n if (particle.destroyed) {\n break;\n }\n }\n }\n }\n isEnabled(interactivityData, particle) {\n const container = this.container, options = container.actualOptions, mouse = interactivityData.mouse, events = (particle?.interactivity ?? options.interactivity).events;\n if (!mouse.clickPosition || !events.onClick.enable) {\n return false;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isInArray)(absorbersMode, events.onClick.mode);\n }\n loadModeOptions(options, ...sources) {\n options.absorbers ??= [];\n for (const source of sources){\n if (!source) {\n continue;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(source.absorbers)) {\n for (const absorber of source.absorbers){\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n tmp.load(absorber);\n options.absorbers.push(tmp);\n }\n } else {\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_2__.Absorber();\n tmp.load(source.absorbers);\n options.absorbers.push(tmp);\n }\n }\n }\n reset() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/AbsorbersInteractor.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,7 +33,17 @@ 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 */ Absorber: () => (/* binding */ Absorber)\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 _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSize.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js\");\n\n\nclass Absorber {\n constructor() {\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorber: () => (/* binding */ Absorber)\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 _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberLife.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js\");\n/* harmony import */ var _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AbsorberSize.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js\");\n\n\n\nclass Absorber {\n color;\n destroy;\n draggable;\n life;\n name;\n opacity;\n orbits;\n position;\n size;\n constructor(){\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.life = new _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberLife();\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n if (data.life !== undefined) {\n this.life.load(data.life);\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js"
41
+ /*!****************************************************************************!*\
42
+ !*** ../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js ***!
43
+ \****************************************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberLife: () => (/* binding */ AbsorberLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberLife {\n count;\n delay;\n duration;\n wait;\n constructor(){\n this.wait = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js?\n}");
37
47
 
38
48
  /***/ },
39
49
 
@@ -43,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
53
  \****************************************************************************/
44
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
55
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\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 _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\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 _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n density;\n limit;\n constructor(){\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js?\n}");
47
57
 
48
58
  /***/ },
49
59
 
@@ -53,57 +63,67 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
63
  \*********************************************************************************/
54
64
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
65
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberSizeLimit {\n constructor() {\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberSizeLimit {\n mass;\n radius;\n constructor(){\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
57
67
 
58
68
  /***/ },
59
69
 
60
- /***/ "../../plugins/interactivity/dist/browser/DivType.js"
61
- /*!***********************************************************!*\
62
- !*** ../../plugins/interactivity/dist/browser/DivType.js ***!
63
- \***********************************************************/
70
+ /***/ "../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js"
71
+ /*!**************************************************************************************!*\
72
+ !*** ../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js ***!
73
+ \**************************************************************************************/
64
74
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
75
 
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//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/DivType.js?\n}");
76
+ 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}");
67
77
 
68
78
  /***/ },
69
79
 
70
- /***/ "../../plugins/interactivity/dist/browser/ExternalInteractorBase.js"
71
- /*!**************************************************************************!*\
72
- !*** ../../plugins/interactivity/dist/browser/ExternalInteractorBase.js ***!
73
- \**************************************************************************/
80
+ /***/ "../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js"
81
+ /*!***************************************************************************************!*\
82
+ !*** ../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.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 */ 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 constructor(container) {\n this.type = _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.external;\n this.container = container;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/ExternalInteractorBase.js?\n}");
86
+ 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}");
77
87
 
78
88
  /***/ },
79
89
 
80
- /***/ "../../plugins/interactivity/dist/browser/InteractivityConstants.js"
81
- /*!**************************************************************************!*\
82
- !*** ../../plugins/interactivity/dist/browser/InteractivityConstants.js ***!
83
- \**************************************************************************/
90
+ /***/ "../../plugins/interactivity/dist/browser/Enums/DivType.js"
91
+ /*!*****************************************************************!*\
92
+ !*** ../../plugins/interactivity/dist/browser/Enums/DivType.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 */ 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\",\n mouseDownEvent = \"pointerdown\",\n mouseUpEvent = \"pointerup\",\n mouseLeaveEvent = \"pointerleave\",\n mouseOutEvent = \"pointerout\",\n mouseMoveEvent = \"pointermove\",\n touchStartEvent = \"touchstart\",\n touchEndEvent = \"touchend\",\n touchMoveEvent = \"touchmove\",\n touchCancelEvent = \"touchcancel\";\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
96
+ 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}");
87
97
 
88
98
  /***/ },
89
99
 
90
- /***/ "../../plugins/interactivity/dist/browser/InteractivityDetect.js"
91
- /*!***********************************************************************!*\
92
- !*** ../../plugins/interactivity/dist/browser/InteractivityDetect.js ***!
93
- \***********************************************************************/
100
+ /***/ "../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js"
101
+ /*!*****************************************************************************!*\
102
+ !*** ../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js ***!
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 */ 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//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/InteractivityDetect.js?\n}");
106
+ 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}");
97
107
 
98
108
  /***/ },
99
109
 
100
- /***/ "../../plugins/interactivity/dist/browser/InteractorType.js"
101
- /*!******************************************************************!*\
102
- !*** ../../plugins/interactivity/dist/browser/InteractorType.js ***!
103
- \******************************************************************/
110
+ /***/ "../../plugins/interactivity/dist/browser/Enums/InteractorType.js"
111
+ /*!************************************************************************!*\
112
+ !*** ../../plugins/interactivity/dist/browser/Enums/InteractorType.js ***!
113
+ \************************************************************************/
104
114
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
105
115
 
106
- 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//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/InteractorType.js?\n}");
116
+ 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}");
117
+
118
+ /***/ },
119
+
120
+ /***/ "../../plugins/interactivity/dist/browser/InteractivityConstants.js"
121
+ /*!**************************************************************************!*\
122
+ !*** ../../plugins/interactivity/dist/browser/InteractivityConstants.js ***!
123
+ \**************************************************************************/
124
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
125
+
126
+ 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}");
107
127
 
108
128
  /***/ },
109
129
 
@@ -113,7 +133,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
113
133
  \***********************************************************************************/
114
134
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
115
135
 
116
- 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 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//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js?\n}");
136
+ 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}");
117
137
 
118
138
  /***/ },
119
139
 
@@ -123,17 +143,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
123
143
  \*******************************************************************************/
124
144
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
125
145
 
126
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Modes {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._engine.interactors?.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors) {\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js?\n}");
127
-
128
- /***/ },
129
-
130
- /***/ "../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js"
131
- /*!***************************************************************************!*\
132
- !*** ../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js ***!
133
- \***************************************************************************/
134
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
135
-
136
- 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 constructor(container) {\n this.type = _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.particles;\n this.container = container;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js?\n}");
146
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Modes {\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._engine.interactors?.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors){\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js?\n}");
137
147
 
138
148
  /***/ },
139
149
 
@@ -143,7 +153,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
143
153
  \*********************************************************/
144
154
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
145
155
 
146
- 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 */ 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.8\");\n await engine.register(async e => {\n const interactivityEngine = e,\n {\n InteractivityPlugin\n } = 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.interactorsInitializers ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer) => {\n interactivityEngine.interactorsInitializers ??= new Map();\n interactivityEngine.interactorsInitializers.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false) => {\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.interactorsInitializers ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.interactorsInitializers, force);\n };\n interactivityEngine.setOnClickHandler = callback => {\n const {\n items\n } = 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}\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/index.js?\n}");
156
+ 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-beta.0\");\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}");
147
157
 
148
158
  /***/ },
149
159
 
@@ -153,7 +163,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
153
163
  \*********************************************************/
154
164
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
155
165
 
156
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ divMode: () => (/* binding */ divMode),\n/* harmony export */ divModeExecute: () => (/* binding */ divModeExecute),\n/* harmony export */ isDivModeEnabled: () => (/* binding */ isDivModeEnabled),\n/* harmony export */ singleDivModeExecute: () => (/* binding */ singleDivModeExecute)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nfunction checkSelector(element, selectors) {\n const res = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(selectors, selector => {\n return element.matches(selector);\n });\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(res) ? res.some(t => t) : res;\n}\nfunction isDivModeEnabled(mode, divs) {\n return !!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.findItemFromSingleOrMultiple)(divs, t => t.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(mode, t.mode));\n}\nfunction divModeExecute(mode, divs, callback) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(divs, div => {\n const divMode = div.mode,\n divEnabled = div.enable;\n if (divEnabled && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n });\n}\nfunction singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(selectors, selector => {\n callback(selector, div);\n });\n}\nfunction divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.findItemFromSingleOrMultiple)(divs, div => {\n return checkSelector(element, div.selectors);\n });\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/utils.js?\n}");
166
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ divMode: () => (/* binding */ divMode),\n/* harmony export */ divModeExecute: () => (/* binding */ divModeExecute),\n/* harmony export */ isDivModeEnabled: () => (/* binding */ isDivModeEnabled),\n/* harmony export */ singleDivModeExecute: () => (/* binding */ singleDivModeExecute)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nfunction checkSelector(element, selectors) {\n const res = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(selectors, (selector)=>{\n return element.matches(selector);\n });\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(res) ? res.some((t)=>t) : res;\n}\nfunction isDivModeEnabled(mode, divs) {\n return !!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.findItemFromSingleOrMultiple)(divs, (t)=>t.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(mode, t.mode));\n}\nfunction divModeExecute(mode, divs, callback) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(divs, (div)=>{\n const divMode = div.mode, divEnabled = div.enable;\n if (divEnabled && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n });\n}\nfunction singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(selectors, (selector)=>{\n callback(selector, div);\n });\n}\nfunction divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.findItemFromSingleOrMultiple)(divs, (div)=>{\n return checkSelector(element, div.selectors);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/utils.js?\n}");
157
167
 
158
168
  /***/ }
159
169
 
@@ -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.8
7
+ * v4.0.0-beta.0
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 */ AbsorbersPluginInstance: () => (/* binding */ AbsorbersPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorbersPluginInstance {\n constructor(container, instancesManager) {\n this._container = container;\n this._instancesManager = instancesManager;\n this._instancesManager.initContainer(container);\n }\n draw(context) {\n for (const absorber of this._instancesManager.getArray(this._container)) {\n absorber.draw(context);\n }\n }\n async init() {\n const absorbers = this._container.actualOptions.absorbers,\n promises = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(absorbers, async absorber => {\n await this._instancesManager.addAbsorber(this._container, absorber);\n });\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(promises)) {\n await Promise.all(promises);\n } else {\n await promises;\n }\n }\n particleUpdate(particle, delta) {\n for (const absorber of this._instancesManager.getArray(this._container)) {\n absorber.attract(particle, delta);\n if (particle.destroyed) {\n break;\n }\n }\n }\n resize() {\n for (const absorber of this._instancesManager.getArray(this._container)) {\n absorber.resize();\n }\n }\n stop() {\n this._instancesManager.clear(this._container);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/AbsorbersPluginInstance.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersPluginInstance: () => (/* binding */ AbsorbersPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorbersPluginInstance {\n _container;\n _instancesManager;\n constructor(container, instancesManager){\n this._container = container;\n this._instancesManager = instancesManager;\n this._instancesManager.initContainer(container);\n }\n draw(context) {\n for (const absorber of this._instancesManager.getArray(this._container)){\n absorber.draw(context);\n }\n }\n async init() {\n const absorbers = this._container.actualOptions.absorbers, promises = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(absorbers, async (absorber)=>{\n await this._instancesManager.addAbsorber(this._container, absorber);\n });\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(promises)) {\n await Promise.all(promises);\n } else {\n await promises;\n }\n }\n particleUpdate(particle, delta) {\n for (const absorber of this._instancesManager.getArray(this._container)){\n absorber.attract(particle, delta);\n if (particle.destroyed) {\n break;\n }\n }\n }\n resize() {\n for (const absorber of this._instancesManager.getArray(this._container)){\n absorber.resize();\n }\n }\n stop() {\n this._instancesManager.clear(this._container);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/AbsorbersPluginInstance.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.8
7
+ * v4.0.0-beta.0
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 */ AbsorbersPlugin: () => (/* binding */ AbsorbersPlugin)\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 _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\nclass AbsorbersPlugin {\n constructor(instancesManager) {\n this.id = \"absorbers\";\n this._instancesManager = instancesManager;\n }\n async getPlugin(container) {\n const {\n AbsorbersPluginInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPluginInstance.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPluginInstance.js\"));\n return new AbsorbersPluginInstance(container, this._instancesManager);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source?.absorbers) {\n options.absorbers = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(source.absorbers, absorber => {\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n tmp.load(absorber);\n return tmp;\n });\n }\n }\n needsPlugin(options) {\n if (!options) {\n return false;\n }\n const absorbers = options.absorbers;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(absorbers)) {\n return !!absorbers.length;\n } else if (absorbers) {\n return true;\n }\n return false;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/AbsorbersPlugin.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersPlugin: () => (/* binding */ AbsorbersPlugin)\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 _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\nclass AbsorbersPlugin {\n id = \"absorbers\";\n _instancesManager;\n constructor(instancesManager){\n this._instancesManager = instancesManager;\n }\n async getPlugin(container) {\n const { AbsorbersPluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPluginInstance.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPluginInstance.js\"));\n return new AbsorbersPluginInstance(container, this._instancesManager);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source?.absorbers) {\n options.absorbers = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(source.absorbers, (absorber)=>{\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n tmp.load(absorber);\n return tmp;\n });\n }\n }\n needsPlugin(options) {\n if (!options) {\n return false;\n }\n const absorbers = options.absorbers;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(absorbers)) {\n return !!absorbers.length;\n } else if (absorbers) {\n return true;\n }\n return false;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/AbsorbersPlugin.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,7 +33,17 @@ 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 */ Absorber: () => (/* binding */ Absorber)\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 _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSize.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js\");\n\n\nclass Absorber {\n constructor() {\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorber: () => (/* binding */ Absorber)\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 _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberLife.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js\");\n/* harmony import */ var _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AbsorberSize.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js\");\n\n\n\nclass Absorber {\n color;\n destroy;\n draggable;\n life;\n name;\n opacity;\n orbits;\n position;\n size;\n constructor(){\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.life = new _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberLife();\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n if (data.life !== undefined) {\n this.life.load(data.life);\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js"
41
+ /*!****************************************************************************!*\
42
+ !*** ../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js ***!
43
+ \****************************************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberLife: () => (/* binding */ AbsorberLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberLife {\n count;\n delay;\n duration;\n wait;\n constructor(){\n this.wait = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js?\n}");
37
47
 
38
48
  /***/ },
39
49
 
@@ -43,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
53
  \****************************************************************************/
44
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
55
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\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 _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\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 _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n density;\n limit;\n constructor(){\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js?\n}");
47
57
 
48
58
  /***/ },
49
59
 
@@ -53,7 +63,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
63
  \*********************************************************************************/
54
64
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
65
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberSizeLimit {\n constructor() {\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberSizeLimit {\n mass;\n radius;\n constructor(){\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
57
67
 
58
68
  /***/ }
59
69
 
@@ -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.8
7
+ * v4.0.0-beta.0
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 */ loadAbsorbersPlugin: () => (/* binding */ loadAbsorbersPlugin)\n/* harmony export */ });\nasync function loadAbsorbersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.8\");\n await engine.register(async e => {\n const {\n loadInteractivityPlugin\n } = 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 {\n AbsorbersInstancesManager\n } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInstancesManager.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInstancesManager.js\")),\n {\n AbsorbersPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPlugin.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPlugin.js\")),\n instancesManager = new AbsorbersInstancesManager(e);\n await loadInteractivityPlugin(e);\n e.addPlugin(new AbsorbersPlugin(instancesManager));\n e.addInteractor?.(\"externalAbsorbers\", async container => {\n const {\n AbsorbersInteractor\n } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInteractor.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInteractor.js\"));\n return new AbsorbersInteractor(container, instancesManager);\n });\n });\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadAbsorbersPlugin: () => (/* binding */ loadAbsorbersPlugin)\n/* harmony export */ });\nasync function loadAbsorbersPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { AbsorbersInstancesManager }, { AbsorbersPlugin }] = await Promise.all([\n __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 __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInstancesManager.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPlugin.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPlugin.js\"))\n ]), instancesManager = new AbsorbersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.addPlugin(new AbsorbersPlugin(instancesManager));\n e.addInteractor?.(\"externalAbsorbers\", async (container)=>{\n const { AbsorbersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInteractor.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInteractor.js\"));\n return new AbsorbersInteractor(container, instancesManager);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/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.8
7
+ * v4.0.0-beta.0
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 */ HexColorManager: () => (/* binding */ HexColorManager)\n/* harmony export */ });\nvar RgbIndexes;\n(function (RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 4] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nconst shorthandHexRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i,\n hexRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i,\n hexRadix = 16,\n defaultAlpha = 1,\n alphaFactor = 0xff;\nclass HexColorManager {\n constructor() {\n this.key = \"hex\";\n }\n accepts(input) {\n return input.startsWith(\"#\");\n }\n handleColor(color) {\n return this._parseString(color.value);\n }\n handleRangeColor(color) {\n return this._parseString(color.value);\n }\n parseString(input) {\n return this._parseString(input);\n }\n _parseString(hexColor) {\n if (typeof hexColor !== \"string\" || !this.accepts(hexColor)) {\n return;\n }\n const hexFixed = hexColor.replace(shorthandHexRegex, (_, r, g, b, a) => {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n }),\n result = hexRegex.exec(hexFixed);\n return result ? {\n a: result[RgbIndexes.a] ? parseInt(result[RgbIndexes.a], hexRadix) / alphaFactor : defaultAlpha,\n b: parseInt(result[RgbIndexes.b] ?? \"0\", hexRadix),\n g: parseInt(result[RgbIndexes.g] ?? \"0\", hexRadix),\n r: parseInt(result[RgbIndexes.r] ?? \"0\", hexRadix)\n } : undefined;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hex/dist/browser/HexColorManager.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HexColorManager: () => (/* binding */ HexColorManager)\n/* harmony export */ });\nvar RgbIndexes;\n(function(RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 4] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nconst shorthandHexRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i, hexRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i, hexRadix = 16, defaultAlpha = 1, alphaFactor = 0xff;\nclass HexColorManager {\n accepts(input) {\n return input.startsWith(\"#\");\n }\n handleColor(color) {\n return this._parseString(color.value);\n }\n handleRangeColor(color) {\n return this._parseString(color.value);\n }\n parseString(input) {\n return this._parseString(input);\n }\n _parseString(hexColor) {\n if (typeof hexColor !== \"string\" || !this.accepts(hexColor)) {\n return;\n }\n const hexFixed = hexColor.replace(shorthandHexRegex, (_, r, g, b, a)=>{\n return r + r + g + g + b + b + (a === undefined ? \"\" : a + a);\n }), result = hexRegex.exec(hexFixed);\n return result ? {\n a: result[RgbIndexes.a] ? Number.parseInt(result[RgbIndexes.a], hexRadix) / alphaFactor : defaultAlpha,\n b: Number.parseInt(result[RgbIndexes.b] ?? \"0\", hexRadix),\n g: Number.parseInt(result[RgbIndexes.g] ?? \"0\", hexRadix),\n r: Number.parseInt(result[RgbIndexes.r] ?? \"0\", hexRadix)\n } : undefined;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hex/dist/browser/HexColorManager.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.8
7
+ * v4.0.0-beta.0
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 */ loadHexColorPlugin: () => (/* binding */ loadHexColorPlugin)\n/* harmony export */ });\nasync function loadHexColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.8\");\n await engine.register(async e => {\n const {\n HexColorManager\n } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_HexColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HexColorManager.js */ \"../../plugins/colors/hex/dist/browser/HexColorManager.js\"));\n e.addColorManager(new HexColorManager());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hex/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHexColorPlugin: () => (/* binding */ loadHexColorPlugin)\n/* harmony export */ });\nasync function loadHexColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const { HexColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_HexColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HexColorManager.js */ \"../../plugins/colors/hex/dist/browser/HexColorManager.js\"));\n e.addColorManager(\"hex\", new HexColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hex/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.8
7
+ * v4.0.0-beta.0
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 */ HslColorManager: () => (/* binding */ HslColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar HslIndexes;\n(function (HslIndexes) {\n HslIndexes[HslIndexes[\"h\"] = 1] = \"h\";\n HslIndexes[HslIndexes[\"s\"] = 2] = \"s\";\n HslIndexes[HslIndexes[\"l\"] = 3] = \"l\";\n HslIndexes[HslIndexes[\"a\"] = 5] = \"a\";\n})(HslIndexes || (HslIndexes = {}));\nconst hslRegex = /hsla?\\(\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)%\\s*[\\s,]\\s*(\\d+)%\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i;\nclass HslColorManager {\n constructor() {\n this.key = \"hsl\";\n }\n accepts(input) {\n return input.startsWith(\"hsl\");\n }\n handleColor(color) {\n const colorValue = color.value,\n hslColor = colorValue.hsl ?? color.value;\n if (!Object.hasOwn(hslColor, \"h\") || !Object.hasOwn(hslColor, \"s\") || !Object.hasOwn(hslColor, \"l\")) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)(hslColor);\n }\n handleRangeColor(color) {\n const colorValue = color.value,\n hslColor = colorValue.hsl ?? color.value;\n if (!Object.hasOwn(hslColor, \"h\") || !Object.hasOwn(hslColor, \"s\") || !Object.hasOwn(hslColor, \"l\")) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)({\n h: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.h),\n l: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.l),\n s: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.s)\n });\n }\n parseString(input) {\n if (!this.accepts(input)) {\n return;\n }\n const result = hslRegex.exec(input),\n minLength = 4,\n defaultAlpha = 1,\n radix = 10;\n return result ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslaToRgba)({\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,\n h: parseInt(result[HslIndexes.h] ?? \"0\", radix),\n l: parseInt(result[HslIndexes.l] ?? \"0\", radix),\n s: parseInt(result[HslIndexes.s] ?? \"0\", radix)\n }) : undefined;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/HslColorManager.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HslColorManager: () => (/* binding */ HslColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar HslIndexes;\n(function(HslIndexes) {\n HslIndexes[HslIndexes[\"h\"] = 1] = \"h\";\n HslIndexes[HslIndexes[\"s\"] = 2] = \"s\";\n HslIndexes[HslIndexes[\"l\"] = 3] = \"l\";\n HslIndexes[HslIndexes[\"a\"] = 5] = \"a\";\n})(HslIndexes || (HslIndexes = {}));\nconst hslRegex = /hsla?\\(\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)%\\s*[\\s,]\\s*(\\d+)%\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i;\nclass HslColorManager {\n accepts(input) {\n return input.startsWith(\"hsl\");\n }\n handleColor(color) {\n const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;\n if (!(\"h\" in hslColor) || !(\"s\" in hslColor) || !(\"l\" in hslColor)) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)(hslColor);\n }\n handleRangeColor(color) {\n const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;\n if (!(\"h\" in hslColor) || !(\"s\" in hslColor) || !(\"l\" in hslColor)) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)({\n h: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.h),\n l: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.l),\n s: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.s)\n });\n }\n parseString(input) {\n if (!this.accepts(input)) {\n return;\n }\n const result = hslRegex.exec(input), minLength = 4, defaultAlpha = 1, radix = 10;\n return result ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslaToRgba)({\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,\n h: Number.parseInt(result[HslIndexes.h] ?? \"0\", radix),\n l: Number.parseInt(result[HslIndexes.l] ?? \"0\", radix),\n s: Number.parseInt(result[HslIndexes.s] ?? \"0\", radix)\n }) : undefined;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/HslColorManager.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.8
7
+ * v4.0.0-beta.0
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 */ loadHslColorPlugin: () => (/* binding */ loadHslColorPlugin)\n/* harmony export */ });\nasync function loadHslColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.8\");\n await engine.register(async e => {\n const {\n HslColorManager\n } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_HslColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HslColorManager.js */ \"../../plugins/colors/hsl/dist/browser/HslColorManager.js\"));\n e.addColorManager(new HslColorManager());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHslColorPlugin: () => (/* binding */ loadHslColorPlugin)\n/* harmony export */ });\nasync function loadHslColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const { HslColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_HslColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HslColorManager.js */ \"../../plugins/colors/hsl/dist/browser/HslColorManager.js\"));\n e.addColorManager(\"hsl\", new HslColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29