@tsparticles/pjs 4.0.0-beta.0 → 4.0.0-beta.2

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 (355) hide show
  1. package/1051.min.js +1 -0
  2. package/1160.min.js +1 -0
  3. package/1167.min.js +1 -0
  4. package/143.min.js +1 -0
  5. package/1510.min.js +1 -1
  6. package/{5964.min.js → 1744.min.js} +1 -1
  7. package/1767.min.js +1 -0
  8. package/{8926.min.js → 1818.min.js} +2 -2
  9. package/2004.min.js +1 -0
  10. package/2177.min.js +1 -0
  11. package/2253.min.js +1 -0
  12. package/2425.min.js +1 -0
  13. package/2454.min.js +1 -0
  14. package/2554.min.js +1 -0
  15. package/264.min.js +1 -0
  16. package/2866.min.js +1 -0
  17. package/2930.min.js +1 -0
  18. package/3041.min.js +1 -0
  19. package/3088.min.js +1 -0
  20. package/3285.min.js +1 -0
  21. package/{4588.min.js → 3304.min.js} +1 -1
  22. package/{243.min.js → 335.min.js} +1 -1
  23. package/3477.min.js +1 -0
  24. package/349.min.js +1 -0
  25. package/3693.min.js +1 -0
  26. package/370.min.js +2 -0
  27. package/3719.min.js +1 -0
  28. package/3737.min.js +1 -0
  29. package/394.min.js +1 -0
  30. package/4051.min.js +1 -0
  31. package/4088.min.js +1 -0
  32. package/410.min.js +1 -0
  33. package/4129.min.js +1 -0
  34. package/4159.min.js +1 -0
  35. package/4191.min.js +1 -1
  36. package/4301.min.js +1 -0
  37. package/4316.min.js +1 -0
  38. package/{3413.min.js → 4468.min.js} +1 -1
  39. package/4550.min.js +1 -0
  40. package/4567.min.js +1 -0
  41. package/465.min.js +1 -1
  42. package/{4724.min.js → 4656.min.js} +1 -1
  43. package/4880.min.js +1 -0
  44. package/4991.min.js +1 -0
  45. package/5174.min.js +1 -0
  46. package/5212.min.js +1 -0
  47. package/5264.min.js +1 -0
  48. package/5325.min.js +1 -0
  49. package/5347.min.js +1 -0
  50. package/5447.min.js +1 -0
  51. package/5532.min.js +1 -0
  52. package/5541.min.js +1 -0
  53. package/{2926.min.js → 5602.min.js} +1 -1
  54. package/561.min.js +1 -0
  55. package/{3464.min.js → 5668.min.js} +1 -1
  56. package/5669.min.js +1 -0
  57. package/5686.min.js +1 -0
  58. package/5700.min.js +1 -0
  59. package/5742.min.js +1 -0
  60. package/5832.min.js +1 -0
  61. package/6055.min.js +1 -0
  62. package/6056.min.js +1 -0
  63. package/6202.min.js +1 -0
  64. package/6252.min.js +1 -0
  65. package/6362.min.js +1 -0
  66. package/{3433.min.js → 6364.min.js} +1 -1
  67. package/6412.min.js +1 -0
  68. package/6496.min.js +1 -0
  69. package/6502.min.js +1 -0
  70. package/6598.min.js +1 -0
  71. package/{6361.min.js → 6613.min.js} +1 -1
  72. package/{6839.min.js → 6808.min.js} +1 -1
  73. package/6822.min.js +1 -0
  74. package/686.min.js +1 -0
  75. package/7017.min.js +1 -0
  76. package/706.min.js +1 -0
  77. package/7149.min.js +1 -0
  78. package/7157.min.js +1 -0
  79. package/7203.min.js +1 -0
  80. package/7206.min.js +1 -0
  81. package/7218.min.js +1 -0
  82. package/7374.min.js +1 -0
  83. package/7386.min.js +1 -0
  84. package/746.min.js +1 -0
  85. package/7590.min.js +1 -0
  86. package/{4570.min.js → 7596.min.js} +1 -1
  87. package/{2382.min.js → 7604.min.js} +1 -1
  88. package/7721.min.js +1 -0
  89. package/7788.min.js +1 -0
  90. package/786.min.js +1 -0
  91. package/803.min.js +1 -0
  92. package/8082.min.js +1 -0
  93. package/8096.min.js +1 -0
  94. package/{5855.min.js → 8243.min.js} +1 -1
  95. package/8258.min.js +1 -0
  96. package/8274.min.js +1 -0
  97. package/8342.min.js +1 -0
  98. package/8360.min.js +1 -0
  99. package/{7258.min.js → 8446.min.js} +1 -1
  100. package/8569.min.js +1 -0
  101. package/8626.min.js +1 -0
  102. package/8627.min.js +1 -0
  103. package/8650.min.js +1 -0
  104. package/8684.min.js +1 -1
  105. package/8708.min.js +1 -0
  106. package/8930.min.js +1 -0
  107. package/8989.min.js +1 -0
  108. package/{1624.min.js → 9027.min.js} +1 -1
  109. package/9072.min.js +1 -0
  110. package/9132.min.js +1 -0
  111. package/9134.min.js +1 -0
  112. package/9208.min.js +1 -0
  113. package/9293.min.js +1 -0
  114. package/{7876.min.js → 9368.min.js} +1 -1
  115. package/9395.min.js +1 -0
  116. package/951.min.js +1 -0
  117. package/9630.min.js +1 -1
  118. package/9643.min.js +1 -0
  119. package/9748.min.js +1 -0
  120. package/9950.min.js +1 -0
  121. package/9994.min.js +1 -0
  122. package/basic_dist_browser_index_js.js +2 -2
  123. package/browser/VincentGarreau/particles.js +1 -1
  124. package/browser/index.js +3 -2
  125. package/cjs/VincentGarreau/particles.js +1 -1
  126. package/cjs/index.js +3 -2
  127. package/engine_dist_browser_Core_Container_js.js +54 -14
  128. package/esm/VincentGarreau/particles.js +1 -1
  129. package/esm/index.js +3 -2
  130. package/full_dist_browser_index_js.js +2 -2
  131. package/interactions_external_attract_dist_browser_Attractor_js.js +28 -8
  132. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  133. package/interactions_external_bounce_dist_browser_Bouncer_js.js +26 -6
  134. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  135. package/interactions_external_bubble_dist_browser_Bubbler_js.js +27 -7
  136. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  137. package/interactions_external_connect_dist_browser_Connector_js.js +28 -8
  138. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  139. package/interactions_external_drag_dist_browser_Dragger_js.js +26 -6
  140. package/interactions_external_drag_dist_browser_index_js.js +2 -2
  141. package/interactions_external_grab_dist_browser_Grabber_js.js +29 -9
  142. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  143. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +26 -6
  144. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  145. package/interactions_external_pause_dist_browser_Pauser_js.js +26 -6
  146. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  147. package/interactions_external_push_dist_browser_Pusher_js.js +26 -6
  148. package/interactions_external_push_dist_browser_index_js.js +2 -2
  149. package/interactions_external_remove_dist_browser_Remover_js.js +27 -7
  150. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  151. package/interactions_external_repulse_dist_browser_Repulser_js.js +27 -7
  152. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  153. package/interactions_external_slow_dist_browser_Slower_js.js +26 -6
  154. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  155. package/interactions_external_trail_dist_browser_TrailMaker_js.js +27 -7
  156. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  157. package/interactions_particles_attract_dist_browser_Attractor_js.js +26 -6
  158. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  159. package/interactions_particles_collisions_dist_browser_Collider_js.js +39 -9
  160. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  161. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
  162. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  163. package/interactions_particles_links_dist_browser_LinkInstance_js.js +2 -2
  164. package/interactions_particles_links_dist_browser_Linker_js.js +27 -7
  165. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
  166. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  167. package/package.json +5 -6
  168. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +2 -2
  169. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +2 -2
  170. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +26 -6
  171. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  172. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  173. package/plugins_absorbers_dist_browser_getAbsorbersInstancesManager_js.js +30 -0
  174. package/plugins_absorbers_dist_browser_index_js.js +22 -2
  175. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  176. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  177. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  178. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  179. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  180. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  181. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  182. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  183. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +32 -2
  184. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  185. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +32 -2
  186. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  187. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  188. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +2 -2
  189. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +26 -6
  190. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  191. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  192. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  193. package/plugins_emitters_dist_browser_addEmittersShapesManager_js.js +30 -0
  194. package/plugins_emitters_dist_browser_getEmittersInstancesManager_js.js +30 -0
  195. package/plugins_emitters_dist_browser_index_js.js +32 -2
  196. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  197. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +3 -3
  198. package/plugins_interactivity_dist_browser_index_js.js +26 -6
  199. package/plugins_move_dist_browser_MovePluginInstance_js.js +3 -3
  200. package/plugins_move_dist_browser_MovePlugin_js.js +2 -2
  201. package/plugins_move_dist_browser_index_js.js +2 -2
  202. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +2 -2
  203. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +2 -2
  204. package/plugins_responsive_dist_browser_index_js.js +2 -2
  205. package/report.html +84 -29
  206. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  207. package/shapes_circle_dist_browser_index_js.js +2 -2
  208. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +3 -3
  209. package/shapes_emoji_dist_browser_index_js.js +2 -2
  210. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  211. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  212. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
  213. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  214. package/shapes_image_dist_browser_index_js.js +2 -2
  215. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  216. package/shapes_line_dist_browser_index_js.js +2 -2
  217. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  218. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +2 -2
  219. package/shapes_polygon_dist_browser_index_js.js +2 -2
  220. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  221. package/shapes_square_dist_browser_index_js.js +2 -2
  222. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  223. package/shapes_star_dist_browser_index_js.js +2 -2
  224. package/shapes_text_dist_browser_TextDrawer_js.js +2 -2
  225. package/shapes_text_dist_browser_index_js.js +2 -2
  226. package/slim_dist_browser_index_js.js +2 -2
  227. package/tsparticles.pjs.bundle.js +20 -10
  228. package/tsparticles.pjs.bundle.min.js +2 -2
  229. package/tsparticles.pjs.js +3 -3
  230. package/tsparticles.pjs.min.js +1 -1
  231. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +3 -3
  232. package/updaters_destroy_dist_browser_index_js.js +2 -2
  233. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +2 -2
  234. package/updaters_fillColor_dist_browser_index_js.js +2 -2
  235. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  236. package/updaters_life_dist_browser_index_js.js +2 -2
  237. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  238. package/updaters_opacity_dist_browser_index_js.js +2 -2
  239. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +3 -3
  240. package/updaters_outModes_dist_browser_index_js.js +2 -2
  241. package/updaters_roll_dist_browser_RollUpdater_js.js +3 -3
  242. package/updaters_roll_dist_browser_index_js.js +2 -2
  243. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  244. package/updaters_rotate_dist_browser_index_js.js +2 -2
  245. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  246. package/updaters_size_dist_browser_index_js.js +2 -2
  247. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
  248. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  249. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  250. package/updaters_tilt_dist_browser_index_js.js +2 -2
  251. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +2 -2
  252. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  253. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +3 -3
  254. package/updaters_wobble_dist_browser_index_js.js +2 -2
  255. package/102.min.js +0 -1
  256. package/1098.min.js +0 -1
  257. package/1298.min.js +0 -1
  258. package/1302.min.js +0 -1
  259. package/1368.min.js +0 -1
  260. package/1553.min.js +0 -1
  261. package/161.min.js +0 -1
  262. package/1667.min.js +0 -1
  263. package/229.min.js +0 -1
  264. package/2418.min.js +0 -1
  265. package/2616.min.js +0 -1
  266. package/2618.min.js +0 -1
  267. package/2738.min.js +0 -1
  268. package/2846.min.js +0 -1
  269. package/3091.min.js +0 -1
  270. package/3093.min.js +0 -1
  271. package/3130.min.js +0 -1
  272. package/3194.min.js +0 -1
  273. package/3296.min.js +0 -1
  274. package/3407.min.js +0 -1
  275. package/3455.min.js +0 -1
  276. package/358.min.js +0 -1
  277. package/3618.min.js +0 -1
  278. package/3657.min.js +0 -1
  279. package/3659.min.js +0 -1
  280. package/366.min.js +0 -1
  281. package/3663.min.js +0 -1
  282. package/3713.min.js +0 -1
  283. package/3715.min.js +0 -1
  284. package/3813.min.js +0 -1
  285. package/4089.min.js +0 -1
  286. package/4149.min.js +0 -1
  287. package/4257.min.js +0 -1
  288. package/4268.min.js +0 -1
  289. package/4270.min.js +0 -1
  290. package/4285.min.js +0 -1
  291. package/4292.min.js +0 -1
  292. package/439.min.js +0 -1
  293. package/4462.min.js +0 -1
  294. package/4572.min.js +0 -1
  295. package/4660.min.js +0 -1
  296. package/4792.min.js +0 -1
  297. package/485.min.js +0 -1
  298. package/4932.min.js +0 -1
  299. package/514.min.js +0 -1
  300. package/5157.min.js +0 -1
  301. package/5315.min.js +0 -1
  302. package/5390.min.js +0 -1
  303. package/5406.min.js +0 -1
  304. package/5478.min.js +0 -1
  305. package/5538.min.js +0 -1
  306. package/5552.min.js +0 -1
  307. package/6066.min.js +0 -1
  308. package/608.min.js +0 -1
  309. package/6098.min.js +0 -1
  310. package/6101.min.js +0 -1
  311. package/6179.min.js +0 -1
  312. package/622.min.js +0 -1
  313. package/6299.min.js +0 -1
  314. package/6465.min.js +0 -1
  315. package/65.min.js +0 -1
  316. package/653.min.js +0 -1
  317. package/6583.min.js +0 -1
  318. package/6638.min.js +0 -1
  319. package/6684.min.js +0 -1
  320. package/6970.min.js +0 -1
  321. package/6982.min.js +0 -1
  322. package/6986.min.js +0 -1
  323. package/7116.min.js +0 -1
  324. package/7256.min.js +0 -1
  325. package/7318.min.js +0 -1
  326. package/7449.min.js +0 -1
  327. package/7475.min.js +0 -1
  328. package/7520.min.js +0 -1
  329. package/7622.min.js +0 -2
  330. package/7646.min.js +0 -1
  331. package/7812.min.js +0 -1
  332. package/7922.min.js +0 -1
  333. package/7925.min.js +0 -1
  334. package/7977.min.js +0 -1
  335. package/8109.min.js +0 -1
  336. package/8214.min.js +0 -1
  337. package/8222.min.js +0 -1
  338. package/8315.min.js +0 -1
  339. package/84.min.js +0 -1
  340. package/8476.min.js +0 -1
  341. package/8484.min.js +0 -1
  342. package/8589.min.js +0 -1
  343. package/8689.min.js +0 -1
  344. package/8902.min.js +0 -1
  345. package/9082.min.js +0 -1
  346. package/9202.min.js +0 -1
  347. package/9544.min.js +0 -1
  348. package/9578.min.js +0 -1
  349. package/9611.min.js +0 -1
  350. package/9739.min.js +0 -1
  351. package/umd/VincentGarreau/IParticlesJS.js +0 -12
  352. package/umd/VincentGarreau/particles.js +0 -281
  353. package/umd/bundle.js +0 -30
  354. package/umd/index.js +0 -65
  355. package/umd/marcbruederlin/Particles.js +0 -101
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadLifeUpdater: () => (/* binding */ loadLifeUpdater)\n/* harmony export */ });\nasync function loadLifeUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"life\", async (container)=>{\n const { LifeUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_life_dist_browser_LifeUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./LifeUpdater.js */ \"../../updaters/life/dist/browser/LifeUpdater.js\"));\n return new LifeUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/life/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadLifeUpdater: () => (/* binding */ loadLifeUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadLifeUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"life\", async (container)=>{\n const { LifeUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_life_dist_browser_LifeUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./LifeUpdater.js */ \"../../updaters/life/dist/browser/LifeUpdater.js\"));\n return new LifeUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/life/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ OpacityUpdater: () => (/* binding */ OpacityUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass OpacityUpdater {\n container;\n constructor(container){\n this.container = container;\n }\n init(particle) {\n const opacityOptions = particle.options.opacity, pxRatio = 1;\n particle.opacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.initParticleNumericAnimationValue)(opacityOptions, pxRatio);\n const opacityAnimation = opacityOptions.animation;\n if (opacityAnimation.enable) {\n particle.opacity.velocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(opacityAnimation.speed) / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator * this.container.retina.reduceFactor;\n if (!opacityAnimation.sync) {\n particle.opacity.velocity *= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n }\n isEnabled(particle) {\n const none = 0;\n return !particle.destroyed && !particle.spawning && !!particle.opacity && particle.opacity.enable && ((particle.opacity.maxLoops ?? none) <= none || (particle.opacity.maxLoops ?? none) > none && (particle.opacity.loops ?? none) < (particle.opacity.maxLoops ?? none));\n }\n reset(particle) {\n if (particle.opacity) {\n particle.opacity.time = 0;\n particle.opacity.loops = 0;\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle) || !particle.opacity) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateAnimation)(particle, particle.opacity, true, particle.options.opacity.animation.destroy, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/opacity/dist/browser/OpacityUpdater.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpacityUpdater: () => (/* binding */ OpacityUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass OpacityUpdater {\n container;\n constructor(container){\n this.container = container;\n }\n init(particle) {\n const opacityOptions = particle.options.opacity, pxRatio = 1;\n particle.opacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.initParticleNumericAnimationValue)(opacityOptions, pxRatio);\n const opacityAnimation = opacityOptions.animation;\n if (opacityAnimation.enable) {\n particle.opacity.velocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(opacityAnimation.speed) / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator * this.container.retina.reduceFactor;\n if (!opacityAnimation.sync) {\n particle.opacity.velocity *= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n }\n isEnabled(particle) {\n const none = 0;\n return !particle.destroyed && !particle.spawning && !!particle.opacity && particle.opacity.enable && ((particle.opacity.maxLoops ?? none) <= none || (particle.opacity.maxLoops ?? none) > none && (particle.opacity.loops ?? none) < (particle.opacity.maxLoops ?? none));\n }\n reset(particle) {\n if (!particle.opacity) {\n return;\n }\n particle.opacity.time = 0;\n particle.opacity.loops = 0;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle) || !particle.opacity) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateAnimation)(particle, particle.opacity, true, particle.options.opacity.animation.destroy, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/opacity/dist/browser/OpacityUpdater.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadOpacityUpdater: () => (/* binding */ loadOpacityUpdater)\n/* harmony export */ });\nasync function loadOpacityUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"opacity\", async (container)=>{\n const { OpacityUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_OpacityUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OpacityUpdater.js */ \"../../updaters/opacity/dist/browser/OpacityUpdater.js\"));\n return new OpacityUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/opacity/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadOpacityUpdater: () => (/* binding */ loadOpacityUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadOpacityUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"opacity\", async (container)=>{\n const { OpacityUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_opacity_dist_browser_OpacityUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OpacityUpdater.js */ \"../../updaters/opacity/dist/browser/OpacityUpdater.js\"));\n return new OpacityUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/opacity/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \**************************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DestroyOutMode: () => (/* binding */ DestroyOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minVelocity = 0;\nclass DestroyOutMode {\n container;\n modes;\n constructor(container){\n this.container = container;\n this.modes = [\n _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.destroy\n ];\n }\n update(particle, direction, _delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch(particle.outType){\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.normal:\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.outside:\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(particle.position, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint, particle.getRadius(), direction)) {\n return;\n }\n break;\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.inside:\n {\n const { dx, dy } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(particle.position, particle.moveCenter), { x: vx, y: vy } = particle.velocity;\n if (vx < minVelocity && dx > particle.moveCenter.radius || vy < minVelocity && dy > particle.moveCenter.radius || vx >= minVelocity && dx < -particle.moveCenter.radius || vy >= minVelocity && dy < -particle.moveCenter.radius) {\n return;\n }\n break;\n }\n }\n container.particles.remove(particle, particle.group, true);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/outModes/dist/browser/DestroyOutMode.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DestroyOutMode: () => (/* binding */ DestroyOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minVelocity = 0;\nclass DestroyOutMode {\n container;\n modes;\n constructor(container){\n this.container = container;\n this.modes = [\n _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.destroy\n ];\n }\n update(particle, direction, _delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch(particle.outType){\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.normal:\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.outside:\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(particle.position, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint, particle.getRadius(), direction)) {\n return;\n }\n break;\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.inside:\n {\n const { dx, dy } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(particle.position, particle.moveCenter), { x: vx, y: vy } = particle.velocity;\n if (vx < minVelocity && dx > particle.moveCenter.radius || vy < minVelocity && dy > particle.moveCenter.radius || vx >= minVelocity && dx < -particle.moveCenter.radius || vy >= minVelocity && dy < -particle.moveCenter.radius) {\n return;\n }\n break;\n }\n }\n particle.destroy(true);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/outModes/dist/browser/DestroyOutMode.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \***********************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NoneOutMode: () => (/* binding */ NoneOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minVelocity = 0;\nclass NoneOutMode {\n container;\n modes;\n constructor(container){\n this.container = container;\n this.modes = [\n _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.none\n ];\n }\n update(particle, direction, _delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n if ((particle.options.move.distance.horizontal && (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left || direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right)) ?? (particle.options.move.distance.vertical && (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top || direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom))) {\n return;\n }\n const gravityOptions = particle.options.move.gravity, container = this.container, canvasSize = container.canvas.size, pRadius = particle.getRadius();\n if (!gravityOptions.enable) {\n if (particle.velocity.y > minVelocity && particle.position.y <= canvasSize.height + pRadius || particle.velocity.y < minVelocity && particle.position.y >= -pRadius || particle.velocity.x > minVelocity && particle.position.x <= canvasSize.width + pRadius || particle.velocity.x < minVelocity && particle.position.x >= -pRadius) {\n return;\n }\n if (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(particle.position, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint, pRadius, direction)) {\n container.particles.remove(particle);\n }\n } else {\n const position = particle.position;\n if (!gravityOptions.inverse && position.y > canvasSize.height + pRadius && direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom || gravityOptions.inverse && position.y < -pRadius && direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top) {\n container.particles.remove(particle);\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/outModes/dist/browser/NoneOutMode.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NoneOutMode: () => (/* binding */ NoneOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minVelocity = 0;\nclass NoneOutMode {\n container;\n modes;\n constructor(container){\n this.container = container;\n this.modes = [\n _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.none\n ];\n }\n update(particle, direction, _delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n if ((particle.options.move.distance.horizontal && (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left || direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right)) ?? (particle.options.move.distance.vertical && (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top || direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom))) {\n return;\n }\n const gravityOptions = particle.options.move.gravity, container = this.container, canvasSize = container.canvas.size, pRadius = particle.getRadius();\n if (!gravityOptions.enable) {\n if (particle.velocity.y > minVelocity && particle.position.y <= canvasSize.height + pRadius || particle.velocity.y < minVelocity && particle.position.y >= -pRadius || particle.velocity.x > minVelocity && particle.position.x <= canvasSize.width + pRadius || particle.velocity.x < minVelocity && particle.position.x >= -pRadius) {\n return;\n }\n if (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(particle.position, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint, pRadius, direction)) {\n particle.destroy();\n }\n } else {\n const position = particle.position;\n if (!gravityOptions.inverse && position.y > canvasSize.height + pRadius && direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom || gravityOptions.inverse && position.y < -pRadius && direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top) {\n particle.destroy();\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/outModes/dist/browser/NoneOutMode.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadOutModesUpdater: () => (/* binding */ loadOutModesUpdater)\n/* harmony export */ });\nasync function loadOutModesUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"outModes\", async (container)=>{\n const { OutOfCanvasUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_OutOfCanvasUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OutOfCanvasUpdater.js */ \"../../updaters/outModes/dist/browser/OutOfCanvasUpdater.js\"));\n return new OutOfCanvasUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/outModes/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadOutModesUpdater: () => (/* binding */ loadOutModesUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadOutModesUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"outModes\", async (container)=>{\n const { OutOfCanvasUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_OutOfCanvasUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OutOfCanvasUpdater.js */ \"../../updaters/outModes/dist/browser/OutOfCanvasUpdater.js\"));\n return new OutOfCanvasUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/outModes/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \*******************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollUpdater: () => (/* binding */ RollUpdater)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../updaters/roll/dist/browser/Utils.js\");\n/* harmony import */ var _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Roll.js */ \"../../updaters/roll/dist/browser/Options/Classes/Roll.js\");\n\n\nclass RollUpdater {\n _engine;\n constructor(engine){\n this._engine = engine;\n }\n getTransformValues(particle) {\n const roll = particle.roll?.enable && particle.roll, rollHorizontal = roll && roll.horizontal, rollVertical = roll && roll.vertical;\n return {\n a: rollHorizontal ? Math.cos(roll.angle) : undefined,\n d: rollVertical ? Math.sin(roll.angle) : undefined\n };\n }\n init(particle) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.initParticle)(this._engine, particle);\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && !!roll?.enable;\n }\n loadOptions(options, ...sources) {\n options.roll ??= new _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__.Roll();\n for (const source of sources){\n options.roll.load(source?.roll);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.updateRoll)(particle, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/roll/dist/browser/RollUpdater.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollUpdater: () => (/* binding */ RollUpdater)\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 _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../updaters/roll/dist/browser/Utils.js\");\n/* harmony import */ var _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/Roll.js */ \"../../updaters/roll/dist/browser/Options/Classes/Roll.js\");\n\n\n\nclass RollUpdater {\n _pluginManager;\n constructor(pluginManager){\n this._pluginManager = pluginManager;\n }\n getTransformValues(particle) {\n const roll = particle.roll?.enable && particle.roll, rollHorizontal = roll && roll.horizontal, rollVertical = roll && roll.vertical;\n return {\n a: rollHorizontal ? Math.cos(roll.angle) : undefined,\n d: rollVertical ? Math.sin(roll.angle) : undefined\n };\n }\n init(particle) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.initParticle)(this._pluginManager, particle);\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && !!roll?.enable;\n }\n loadOptions(options, ...sources) {\n options.roll ??= new _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_2__.Roll();\n for (const source of sources){\n options.roll.load(source?.roll);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.updateRoll)(particle, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/roll/dist/browser/RollUpdater.js?\n}");
57
57
 
58
58
  /***/ },
59
59
 
@@ -63,7 +63,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
63
63
  \*************************************************/
64
64
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
65
 
66
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initParticle: () => (/* binding */ initParticle),\n/* harmony export */ updateRoll: () => (/* binding */ updateRoll)\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 _RollMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollMode.js */ \"../../updaters/roll/dist/browser/RollMode.js\");\n\n\nconst maxAngle = 360;\nfunction initParticle(engine, particle) {\n const rollOpt = particle.options.roll;\n if (!rollOpt?.enable) {\n particle.roll = {\n enable: false,\n horizontal: false,\n vertical: false,\n angle: 0,\n speed: 0\n };\n return;\n }\n particle.roll = {\n enable: rollOpt.enable,\n horizontal: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.horizontal || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n vertical: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.vertical || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI,\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.speed) / maxAngle\n };\n if (rollOpt.backColor) {\n particle.backColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(engine, rollOpt.backColor);\n } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten;\n particle.roll.alter = {\n type: alterType,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(alterType === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value)\n };\n } else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.darken.value)\n };\n } else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.enlighten.value)\n };\n }\n}\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll, data = particle.roll;\n if (!data || !roll?.enable) {\n return;\n }\n const speed = data.speed * delta.factor, max = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI;\n data.angle += speed;\n if (data.angle > max) {\n data.angle -= max;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/roll/dist/browser/Utils.js?\n}");
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initParticle: () => (/* binding */ initParticle),\n/* harmony export */ updateRoll: () => (/* binding */ updateRoll)\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 _RollMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollMode.js */ \"../../updaters/roll/dist/browser/RollMode.js\");\n\n\nconst maxAngle = 360;\nfunction initParticle(pluginManager, particle) {\n const rollOpt = particle.options.roll;\n if (!rollOpt?.enable) {\n particle.roll = {\n enable: false,\n horizontal: false,\n vertical: false,\n angle: 0,\n speed: 0\n };\n return;\n }\n particle.roll = {\n enable: rollOpt.enable,\n horizontal: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.horizontal || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n vertical: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.vertical || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI,\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.speed) / maxAngle\n };\n if (rollOpt.backColor) {\n particle.backColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(pluginManager, rollOpt.backColor);\n } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten;\n particle.roll.alter = {\n type: alterType,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(alterType === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value)\n };\n } else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.darken.value)\n };\n } else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.enlighten.value)\n };\n }\n}\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll, data = particle.roll;\n if (!data || !roll?.enable) {\n return;\n }\n const speed = data.speed * delta.factor, max = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI;\n data.angle += speed;\n if (data.angle > max) {\n data.angle -= max;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/roll/dist/browser/Utils.js?\n}");
67
67
 
68
68
  /***/ }
69
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-beta.0
7
+ * v4.0.0-beta.2
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 */ loadRollUpdater: () => (/* binding */ loadRollUpdater)\n/* harmony export */ });\nasync function loadRollUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"roll\", async ()=>{\n const { RollUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_RollUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RollUpdater.js */ \"../../updaters/roll/dist/browser/RollUpdater.js\"));\n return new RollUpdater(e);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/roll/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRollUpdater: () => (/* binding */ loadRollUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadRollUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"roll\", async ()=>{\n const { RollUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_RollUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RollUpdater.js */ \"../../updaters/roll/dist/browser/RollUpdater.js\"));\n return new RollUpdater(e.pluginManager);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/roll/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadRotateUpdater: () => (/* binding */ loadRotateUpdater)\n/* harmony export */ });\nasync function loadRotateUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"rotate\", async (container)=>{\n const { RotateUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_rotate_dist_browser_RotateUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RotateUpdater.js */ \"../../updaters/rotate/dist/browser/RotateUpdater.js\"));\n return new RotateUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/rotate/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRotateUpdater: () => (/* binding */ loadRotateUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadRotateUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"rotate\", async (container)=>{\n const { RotateUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_rotate_dist_browser_RotateUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RotateUpdater.js */ \"../../updaters/rotate/dist/browser/RotateUpdater.js\"));\n return new RotateUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/rotate/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ SizeUpdater: () => (/* binding */ SizeUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minLoops = 0;\nclass SizeUpdater {\n init(particle) {\n const container = particle.container, sizeOptions = particle.options.size, sizeAnimation = sizeOptions.animation;\n if (sizeAnimation.enable) {\n particle.size.velocity = (particle.retina.sizeAnimationSpeed ?? container.retina.sizeAnimationSpeed) / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator * container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n particle.size.velocity *= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && particle.size.enable && ((particle.size.maxLoops ?? minLoops) <= minLoops || (particle.size.maxLoops ?? minLoops) > minLoops && (particle.size.loops ?? minLoops) < (particle.size.maxLoops ?? minLoops));\n }\n reset(particle) {\n particle.size.loops = minLoops;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateAnimation)(particle, particle.size, true, particle.options.size.animation.destroy, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/size/dist/browser/SizeUpdater.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SizeUpdater: () => (/* binding */ SizeUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minLoops = 0;\nclass SizeUpdater {\n _container;\n constructor(container){\n this._container = container;\n }\n init(particle) {\n const container = this._container, sizeOptions = particle.options.size, sizeAnimation = sizeOptions.animation;\n if (sizeAnimation.enable) {\n particle.size.velocity = particle.retina.sizeAnimationSpeed / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator * container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n particle.size.velocity *= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && particle.size.enable && ((particle.size.maxLoops ?? minLoops) <= minLoops || (particle.size.maxLoops ?? minLoops) > minLoops && (particle.size.loops ?? minLoops) < (particle.size.maxLoops ?? minLoops));\n }\n reset(particle) {\n particle.size.time = 0;\n particle.size.loops = 0;\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateAnimation)(particle, particle.size, true, particle.options.size.animation.destroy, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/size/dist/browser/SizeUpdater.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadSizeUpdater: () => (/* binding */ loadSizeUpdater)\n/* harmony export */ });\nasync function loadSizeUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"size\", async ()=>{\n const { SizeUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_SizeUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SizeUpdater.js */ \"../../updaters/size/dist/browser/SizeUpdater.js\"));\n return new SizeUpdater();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/size/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSizeUpdater: () => (/* binding */ loadSizeUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadSizeUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"size\", async (container)=>{\n const { SizeUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_SizeUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SizeUpdater.js */ \"../../updaters/size/dist/browser/SizeUpdater.js\"));\n return new SizeUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/size/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ StrokeColorUpdater: () => (/* binding */ StrokeColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultOpacity = 1;\nclass StrokeColorUpdater {\n _container;\n _engine;\n constructor(engine, container){\n this._container = container;\n this._engine = engine;\n }\n init(particle) {\n const container = this._container, options = particle.options, stroke = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(options.stroke, particle.id, options.reduceDuplicates);\n if (!stroke) {\n return;\n }\n particle.strokeWidth = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(stroke.width) * container.retina.pixelRatio;\n particle.strokeOpacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(stroke.opacity ?? defaultOpacity);\n particle.strokeAnimation = stroke.color?.animation;\n const strokeHslColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, stroke.color) ?? particle.getFillColor();\n if (strokeHslColor) {\n particle.strokeColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getHslAnimationFromHsl)(strokeHslColor, particle.strokeAnimation, container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n const color = particle.strokeAnimation, { strokeColor } = particle;\n return !particle.destroyed && !particle.spawning && !!color && (strokeColor?.h.value !== undefined && strokeColor.h.enable || strokeColor?.s.value !== undefined && strokeColor.s.enable || strokeColor?.l.value !== undefined && strokeColor.l.enable);\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateColor)(particle.strokeColor, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StrokeColorUpdater: () => (/* binding */ StrokeColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultOpacity = 1;\nclass StrokeColorUpdater {\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._container = container;\n this._pluginManager = pluginManager;\n }\n init(particle) {\n const container = this._container, options = particle.options, stroke = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(options.stroke, particle.id, options.reduceDuplicates);\n if (!stroke) {\n return;\n }\n particle.strokeWidth = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(stroke.width) * container.retina.pixelRatio;\n particle.strokeOpacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(stroke.opacity ?? defaultOpacity);\n particle.strokeAnimation = stroke.color?.animation;\n const strokeHslColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._pluginManager, stroke.color) ?? particle.getFillColor();\n if (strokeHslColor) {\n particle.strokeColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getHslAnimationFromHsl)(strokeHslColor, particle.strokeAnimation, container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n const color = particle.strokeAnimation, { strokeColor } = particle;\n return !particle.destroyed && !particle.spawning && !!color && (strokeColor?.h.value !== undefined && strokeColor.h.enable || strokeColor?.s.value !== undefined && strokeColor.s.enable || strokeColor?.l.value !== undefined && strokeColor.l.enable);\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateColor)(particle.strokeColor, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadStrokeColorUpdater: () => (/* binding */ loadStrokeColorUpdater)\n/* harmony export */ });\nasync function loadStrokeColorUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"strokeColor\", async (container)=>{\n const { StrokeColorUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_strokeColor_dist_browser_StrokeColorUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./StrokeColorUpdater.js */ \"../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js\"));\n return new StrokeColorUpdater(e, container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/strokeColor/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadStrokeColorUpdater: () => (/* binding */ loadStrokeColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadStrokeColorUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"strokeColor\", async (container)=>{\n const { StrokeColorUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_strokeColor_dist_browser_StrokeColorUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./StrokeColorUpdater.js */ \"../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js\"));\n return new StrokeColorUpdater(e.pluginManager, container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/strokeColor/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadTiltUpdater: () => (/* binding */ loadTiltUpdater)\n/* harmony export */ });\nasync function loadTiltUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"tilt\", async (container)=>{\n const { TiltUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_tilt_dist_browser_TiltUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TiltUpdater.js */ \"../../updaters/tilt/dist/browser/TiltUpdater.js\"));\n return new TiltUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/tilt/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTiltUpdater: () => (/* binding */ loadTiltUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadTiltUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"tilt\", async (container)=>{\n const { TiltUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_tilt_dist_browser_TiltUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TiltUpdater.js */ \"../../updaters/tilt/dist/browser/TiltUpdater.js\"));\n return new TiltUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/tilt/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \*************************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TwinkleUpdater: () => (/* binding */ TwinkleUpdater)\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_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Twinkle.js */ \"../../updaters/twinkle/dist/browser/Options/Classes/Twinkle.js\");\n\n\nclass TwinkleUpdater {\n _engine;\n constructor(engine){\n this._engine = engine;\n }\n getColorStyles(particle, _context, _radius, opacity) {\n const pOptions = particle.options, { container } = particle, twinkleOptions = pOptions[\"twinkle\"];\n if (!twinkleOptions) {\n return {};\n }\n const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity, twinkleFillRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, twinkle.fillColor), twinkleStrokeRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, twinkle.strokeColor), getTwinkleFillStyle = ()=>{\n if (!twinkleFillRgb) {\n return undefined;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(twinkleFillRgb, container.hdr, twinklingOpacity);\n }, getTwinkleStrokeStyle = ()=>{\n if (!twinkleStrokeRgb) {\n return undefined;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(twinkleStrokeRgb, container.hdr, twinklingOpacity);\n }, twinkleFillStyle = getTwinkleFillStyle(), twinkleStrokeStyle = getTwinkleStrokeStyle(), res = {}, needsTwinkle = twinkling && (!!twinkleFillStyle || !!twinkleStrokeStyle);\n res.fill = needsTwinkle ? twinkleFillStyle : undefined;\n res.stroke = needsTwinkle ? twinkleStrokeStyle : undefined;\n return res;\n }\n init() {}\n isEnabled(particle) {\n const pOptions = particle.options, twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return false;\n }\n return twinkleOptions.particles.enable;\n }\n loadOptions(options, ...sources) {\n options.twinkle ??= new _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__.Twinkle();\n for (const source of sources){\n options.twinkle.load(source?.twinkle);\n }\n }\n update() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/twinkle/dist/browser/TwinkleUpdater.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TwinkleUpdater: () => (/* binding */ TwinkleUpdater)\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_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Twinkle.js */ \"../../updaters/twinkle/dist/browser/Options/Classes/Twinkle.js\");\n\n\nclass TwinkleUpdater {\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n }\n getColorStyles(particle, _context, _radius, opacity) {\n const pOptions = particle.options, { _container: container } = this, twinkleOptions = pOptions[\"twinkle\"];\n if (!twinkleOptions) {\n return {};\n }\n const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity, twinkleFillRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._pluginManager, twinkle.fillColor), twinkleStrokeRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._pluginManager, twinkle.strokeColor), getTwinkleFillStyle = ()=>{\n if (!twinkleFillRgb) {\n return undefined;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(twinkleFillRgb, container.hdr, twinklingOpacity);\n }, getTwinkleStrokeStyle = ()=>{\n if (!twinkleStrokeRgb) {\n return undefined;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(twinkleStrokeRgb, container.hdr, twinklingOpacity);\n }, twinkleFillStyle = getTwinkleFillStyle(), twinkleStrokeStyle = getTwinkleStrokeStyle(), res = {}, needsTwinkle = twinkling && (!!twinkleFillStyle || !!twinkleStrokeStyle);\n res.fill = needsTwinkle ? twinkleFillStyle : undefined;\n res.stroke = needsTwinkle ? twinkleStrokeStyle : undefined;\n return res;\n }\n init() {}\n isEnabled(particle) {\n const pOptions = particle.options, twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return false;\n }\n return twinkleOptions.particles.enable;\n }\n loadOptions(options, ...sources) {\n options.twinkle ??= new _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__.Twinkle();\n for (const source of sources){\n options.twinkle.load(source?.twinkle);\n }\n }\n update() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/twinkle/dist/browser/TwinkleUpdater.js?\n}");
57
57
 
58
58
  /***/ }
59
59
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadTwinkleUpdater: () => (/* binding */ loadTwinkleUpdater)\n/* harmony export */ });\nasync function loadTwinkleUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"twinkle\", async ()=>{\n const { TwinkleUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_twinkle_dist_browser_TwinkleUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TwinkleUpdater.js */ \"../../updaters/twinkle/dist/browser/TwinkleUpdater.js\"));\n return new TwinkleUpdater(e);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/twinkle/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTwinkleUpdater: () => (/* binding */ loadTwinkleUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadTwinkleUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"twinkle\", async (container)=>{\n const { TwinkleUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_twinkle_dist_browser_TwinkleUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TwinkleUpdater.js */ \"../../updaters/twinkle/dist/browser/TwinkleUpdater.js\"));\n return new TwinkleUpdater(e.pluginManager, container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/twinkle/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \***************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ updateWobble: () => (/* binding */ updateWobble)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultDistance = 0, distanceFactor = 60;\nfunction updateWobble(particle, delta) {\n const { wobble: wobbleOptions } = particle.options, { container, wobble } = particle;\n if (!wobbleOptions?.enable || !wobble) {\n return;\n }\n const reduceFactor = container.retina.reduceFactor, angleSpeed = wobble.angleSpeed * delta.factor * reduceFactor, moveSpeed = wobble.moveSpeed * delta.factor * reduceFactor, distance = moveSpeed * (particle.retina.wobbleDistance ?? defaultDistance) / (_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / distanceFactor), max = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI, { position } = particle;\n wobble.angle += angleSpeed;\n if (wobble.angle > max) {\n wobble.angle -= max;\n }\n position.x += distance * Math.cos(wobble.angle);\n position.y += distance * Math.abs(Math.sin(wobble.angle));\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/wobble/dist/browser/Utils.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ updateWobble: () => (/* binding */ updateWobble)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultDistance = 0, distanceFactor = 60;\nfunction updateWobble(container, particle, delta) {\n const { wobble: wobbleOptions } = particle.options, { wobble } = particle;\n if (!wobbleOptions?.enable || !wobble) {\n return;\n }\n const reduceFactor = container.retina.reduceFactor, angleSpeed = wobble.angleSpeed * delta.factor * reduceFactor, moveSpeed = wobble.moveSpeed * delta.factor * reduceFactor, distance = moveSpeed * (particle.retina.wobbleDistance ?? defaultDistance) / (_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / distanceFactor), max = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI, { position } = particle;\n wobble.angle += angleSpeed;\n if (wobble.angle > max) {\n wobble.angle -= max;\n }\n position.x += distance * Math.cos(wobble.angle);\n position.y += distance * Math.abs(Math.sin(wobble.angle));\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/wobble/dist/browser/Utils.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \***********************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WobbleUpdater: () => (/* binding */ WobbleUpdater)\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_Wobble_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Wobble.js */ \"../../updaters/wobble/dist/browser/Options/Classes/Wobble.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utils.js */ \"../../updaters/wobble/dist/browser/Utils.js\");\n\n\n\nconst maxAngle = 360, moveSpeedFactor = 10, defaultDistance = 0;\nclass WobbleUpdater {\n container;\n constructor(container){\n this.container = container;\n }\n init(particle) {\n const wobbleOpt = particle.options.wobble;\n if (wobbleOpt?.enable) {\n particle.wobble = {\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI,\n angleSpeed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(wobbleOpt.speed.angle) / maxAngle,\n moveSpeed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(wobbleOpt.speed.move) / moveSpeedFactor\n };\n } else {\n particle.wobble = {\n angle: 0,\n angleSpeed: 0,\n moveSpeed: 0\n };\n }\n particle.retina.wobbleDistance = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(wobbleOpt?.distance ?? defaultDistance) * this.container.retina.pixelRatio;\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && !!particle.options.wobble?.enable;\n }\n loadOptions(options, ...sources) {\n options.wobble ??= new _Options_Classes_Wobble_js__WEBPACK_IMPORTED_MODULE_1__.Wobble();\n for (const source of sources){\n options.wobble.load(source?.wobble);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_2__.updateWobble)(particle, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/wobble/dist/browser/WobbleUpdater.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WobbleUpdater: () => (/* binding */ WobbleUpdater)\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_Wobble_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Wobble.js */ \"../../updaters/wobble/dist/browser/Options/Classes/Wobble.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utils.js */ \"../../updaters/wobble/dist/browser/Utils.js\");\n\n\n\nconst maxAngle = 360, moveSpeedFactor = 10, defaultDistance = 0;\nclass WobbleUpdater {\n _container;\n constructor(container){\n this._container = container;\n }\n init(particle) {\n const wobbleOpt = particle.options.wobble;\n if (wobbleOpt?.enable) {\n particle.wobble = {\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI,\n angleSpeed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(wobbleOpt.speed.angle) / maxAngle,\n moveSpeed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(wobbleOpt.speed.move) / moveSpeedFactor\n };\n } else {\n particle.wobble = {\n angle: 0,\n angleSpeed: 0,\n moveSpeed: 0\n };\n }\n particle.retina.wobbleDistance = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(wobbleOpt?.distance ?? defaultDistance) * this._container.retina.pixelRatio;\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && !!particle.options.wobble?.enable;\n }\n loadOptions(options, ...sources) {\n options.wobble ??= new _Options_Classes_Wobble_js__WEBPACK_IMPORTED_MODULE_1__.Wobble();\n for (const source of sources){\n options.wobble.load(source?.wobble);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_2__.updateWobble)(this._container, particle, delta);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/wobble/dist/browser/WobbleUpdater.js?\n}");
57
57
 
58
58
  /***/ }
59
59
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.0
7
+ * v4.0.0-beta.2
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 */ loadWobbleUpdater: () => (/* binding */ loadWobbleUpdater)\n/* harmony export */ });\nasync function loadWobbleUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register((e)=>{\n e.addParticleUpdater(\"wobble\", async (container)=>{\n const { WobbleUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_wobble_dist_browser_WobbleUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./WobbleUpdater.js */ \"../../updaters/wobble/dist/browser/WobbleUpdater.js\"));\n return new WobbleUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/wobble/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadWobbleUpdater: () => (/* binding */ loadWobbleUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadWobbleUpdater(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addParticleUpdater(\"wobble\", async (container)=>{\n const { WobbleUpdater } = await __webpack_require__.e(/*! import() */ \"updaters_wobble_dist_browser_WobbleUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./WobbleUpdater.js */ \"../../updaters/wobble/dist/browser/WobbleUpdater.js\"));\n return new WobbleUpdater(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../updaters/wobble/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
package/102.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[102],{102(t,e,a){async function s(t){t.checkVersion("4.0.0-beta.0"),await t.register(t=>{t.addParticleUpdater("rotate",async t=>{let{RotateUpdater:e}=await a.e(2382).then(a.bind(a,2382));return new e(t)})})}a.r(e),a.d(e,{loadRotateUpdater:()=>s})}}]);
package/1098.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[1098],{3928(t,i,s){s.d(i,{Z:()=>r});var e=s(1989),a=s(3649),o=s(553);class r extends a.u{divs;load(t){super.load(t),(0,e.kZJ)(t)||(this.divs=(0,e.wJ2)(t.divs,t=>{let i=new o.C;return i.load(t),i}))}}},3649(t,i,s){s.d(i,{u:()=>a});var e=s(1989);class a{color;distance;duration;mix;opacity;size;constructor(){this.distance=200,this.duration=.4,this.mix=!1}load(t){if(!(0,e.kZJ)(t)){if(void 0!==t.distance&&(this.distance=t.distance),void 0!==t.duration&&(this.duration=t.duration),void 0!==t.mix&&(this.mix=t.mix),void 0!==t.opacity&&(this.opacity=t.opacity),void 0!==t.color){let i=(0,e.cyL)(this.color)?void 0:this.color;this.color=(0,e.wJ2)(t.color,t=>e.Oit.create(i,t))}void 0!==t.size&&(this.size=t.size)}}}},553(t,i,s){s.d(i,{C:()=>o});var e=s(1989),a=s(3649);class o extends a.u{selectors;constructor(){super(),this.selectors=[]}load(t){super.load(t),(0,e.kZJ)(t)||void 0!==t.selectors&&(this.selectors=t.selectors)}}},1098(t,i,s){s.r(i),s.d(i,{Bubble:()=>o.Z,BubbleBase:()=>e.u,BubbleDiv:()=>a.C,loadExternalBubbleInteraction:()=>r});var e=s(3649),a=s(553),o=s(3928);async function r(t){t.checkVersion("4.0.0-beta.0"),await t.register(async t=>{let{ensureInteractivityPluginLoaded:i}=await s.e(514).then(s.bind(s,514));i(t),t.addInteractor?.("externalBubble",async i=>{let{Bubbler:e}=await s.e(5390).then(s.bind(s,3009));return new e(t,i)})})}}}]);
package/1298.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[1298],{1298(e,t,i){i.d(t,{InteractivityPlugin:()=>o});var n=i(1989),s=i(5385);class o{id="interactivity";_engine;constructor(e){this._engine=e}async getPlugin(e){let{InteractivityPluginInstance:t}=await i.e(7256).then(i.bind(i,7256));return new t(this._engine,e)}loadOptions(e,t,i){if(!this.needsPlugin())return;let n=t.interactivity;n?.load||(t.interactivity=n=new s.k(this._engine,e)),n.load(i?.interactivity);let o=this._engine.interactors?.get(e);if(o)for(let e of o)e.loadOptions&&e.loadOptions(t,i)}loadParticlesOptions(e,t,i){i?.interactivity&&(t.interactivity=(0,n.zwS)({},i.interactivity));let s=this._engine.interactors?.get(e);if(s)for(let e of s)e.loadParticlesOptions?.(t,i)}needsPlugin(){return!0}}},5385(e,t,i){i.d(t,{k:()=>c});var n=i(1989);class s{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}var o=i(6867);class a{enable;mode;constructor(){this.enable=!1,this.mode=[]}load(e){(0,n.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode))}}class l{onClick;onDiv;onHover;constructor(){this.onClick=new s,this.onDiv=new o.G,this.onHover=new a}load(e){if((0,n.kZJ)(e))return;this.onClick.load(e.onClick);let t=e.onDiv;void 0!==t&&(this.onDiv=(0,n.wJ2)(t,e=>{let t=new o.G;return t.load(e),t})),this.onHover.load(e.onHover)}}var r=i(823),d=i(11);class c{detectsOn;events;modes;constructor(e,t){this.detectsOn=r.h.window,this.events=new l,this.modes=new d.d(e,t)}load(e){if((0,n.kZJ)(e))return;let t=e.detectsOn;void 0!==t&&(this.detectsOn=t),this.events.load(e.events),this.modes.load(e.modes)}}}}]);
package/1302.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[1302],{1302(i,s,t){t.r(s),t.d(s,{AbsorbersPlugin:()=>e});var o=t(1989),a=t(7438);class e{id="absorbers";_instancesManager;constructor(i){this._instancesManager=i}async getPlugin(i){let{AbsorbersPluginInstance:s}=await t.e(485).then(t.bind(t,485));return new s(i,this._instancesManager)}loadOptions(i,s,t){(this.needsPlugin(s)||this.needsPlugin(t))&&t?.absorbers&&(s.absorbers=(0,o.wJ2)(t.absorbers,i=>{let s=new a.h;return s.load(i),s}))}needsPlugin(i){if(!i)return!1;let s=i.absorbers;return(0,o.cyL)(s)?!!s.length:!!s}}},7438(i,s,t){t.d(s,{h:()=>n});var o=t(1989);class a{count;delay;duration;wait;constructor(){this.wait=!1}load(i){(0,o.kZJ)(i)||(void 0!==i.count&&(this.count=i.count),void 0!==i.delay&&(this.delay=(0,o.DT4)(i.delay)),void 0!==i.duration&&(this.duration=(0,o.DT4)(i.duration)),void 0!==i.wait&&(this.wait=i.wait))}}class e{mass;radius;constructor(){this.radius=0,this.mass=0}load(i){(0,o.kZJ)(i)||(void 0!==i.mass&&(this.mass=i.mass),void 0!==i.radius&&(this.radius=i.radius))}}class r extends o.PVU{density;limit;constructor(){super(),this.density=5,this.value=50,this.limit=new e}load(i){(0,o.kZJ)(i)||(super.load(i),void 0!==i.density&&(this.density=i.density),(0,o.EtT)(i.limit)?this.limit.radius=i.limit:this.limit.load(i.limit))}}class n{color;destroy;draggable;life;name;opacity;orbits;position;size;constructor(){this.color=new o.Oit,this.color.value="#000000",this.draggable=!1,this.opacity=1,this.destroy=!0,this.orbits=!1,this.life=new a,this.size=new r}load(i){(0,o.kZJ)(i)||(void 0!==i.color&&(this.color=o.Oit.create(this.color,i.color)),void 0!==i.draggable&&(this.draggable=i.draggable),void 0!==i.life&&this.life.load(i.life),this.name=i.name,void 0!==i.opacity&&(this.opacity=i.opacity),void 0!==i.position&&(this.position={},void 0!==i.position.x&&(this.position.x=(0,o.DT4)(i.position.x)),void 0!==i.position.y&&(this.position.y=(0,o.DT4)(i.position.y))),void 0!==i.size&&this.size.load(i.size),void 0!==i.destroy&&(this.destroy=i.destroy),void 0!==i.orbits&&(this.orbits=i.orbits))}}}}]);
package/1368.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[514,1368],{1368(t,e,i){i.d(e,{EmittersInteractor:()=>l});var o=i(514),s=i(1989),a=i(2568);let n={count:1,enable:!0},r="emitters";class l extends o.ExternalInteractorBase{handleClickMode;maxDistance;_instancesManager;constructor(t,e){super(e),this._instancesManager=t,this.maxDistance=0,this.handleClickMode=(t,e)=>{let i,o=this.container.actualOptions.interactivity.modes.emitters;if(!o||t!==r)return;if((0,s.cyL)(o.value)){let t=o.value.length;if(t>0&&o.random.enable){i=[];let e=new Set;for(let a=0;a<o.random.count;a++){let n=(0,s.n02)(o.value);if(e.has(n)&&e.size<t){a--;continue}e.add(n);let r=(0,s.Vh1)(o.value,n);r&&i.push(r)}}else i=o.value}else i=o.value;let a=i,n=e.mouse.clickPosition;(0,s.wJ2)(a,async t=>{await this._instancesManager.addEmitter(this.container,t,n)})}}clear(){}init(){}interact(t,e){for(let t of this._instancesManager.getArray(this.container))t.update(e)}isEnabled(t,e){let i=this.container.actualOptions,o=t.mouse,a=(e?.interactivity??i.interactivity).events;return!!o.clickPosition&&!!a.onClick.enable&&(0,s.hnD)(r,a.onClick.mode)}loadModeOptions(t,...e){for(let i of(t.emitters={random:n,value:[]},e))if(i?.emitters)if((0,s.cyL)(i.emitters))for(let e of i.emitters){let i=new a.v;i.load(e),t.emitters.value.push(i)}else if("value"in i.emitters){let e=i.emitters;if(t.emitters.random.enable=e.random?.enable??t.emitters.random.enable,t.emitters.random.count=e.random?.count??t.emitters.random.count,(0,s.cyL)(e.value))for(let i of e.value){let e=new a.v;e.load(i),t.emitters.value.push(e)}else{let i=new a.v;i.load(e.value),t.emitters.value.push(i)}}else{let e=new a.v;e.load(i.emitters),t.emitters.value.push(e)}}removeEmitter(t){let e=this._instancesManager.getArray(this.container).indexOf(t);e>=0&&this._instancesManager.getArray(this.container).splice(e,1)}reset(){}}},2568(t,e,i){i.d(e,{v:()=>d});var o=i(1989);class s{count;delay;duration;wait;constructor(){this.wait=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT4)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class a{delay;quantity;constructor(){this.quantity=1,this.delay=.1}load(t){(0,o.kZJ)(t)||(void 0!==t.quantity&&(this.quantity=(0,o.DT4)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT4)(t.delay)))}}class n{color;opacity;constructor(){this.color=!1,this.opacity=!1}load(t){(0,o.kZJ)(t)||(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{options;replace;type;constructor(){this.options={},this.replace=new n,this.type="square"}load(t){(0,o.kZJ)(t)||(void 0!==t.options&&(this.options=(0,o.zwS)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var l=i(6441);class c{fill;stroke;load(t){!(0,o.kZJ)(t)&&(t.fill&&(this.fill??=new o.SQl,this.fill.load(t.fill)),t.stroke&&(this.stroke??=new o.tcj,this.stroke.load(t.stroke)))}}class d{autoPlay;direction;domId;fill;life;name;particles;position;rate;shape;size;spawn;spawnFillColor;spawnStrokeColor;startCount;constructor(){this.autoPlay=!0,this.fill=!0,this.life=new s,this.rate=new a,this.shape=new r,this.spawn=new c,this.startCount=0}load(t){(0,o.kZJ)(t)||(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size??=new l.G,this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ2)(t.particles,t=>(0,o.zwS)({},t)),this.rate.load(t.rate),this.shape.load(t.shape),this.spawn.load(t.spawn),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT4)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT4)(t.position.y))),void 0!==t.spawnFillColor&&(this.spawnFillColor??=new o.A9e,this.spawnFillColor.load(t.spawnFillColor)),void 0!==t.spawnStrokeColor&&(this.spawnStrokeColor??=new o.A9e,this.spawnStrokeColor.load(t.spawnStrokeColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},6441(t,e,i){i.d(e,{G:()=>s});var o=i(1989);class s{height;mode;width;constructor(){this.mode=o.qiC.percent,this.height=0,this.width=0}load(t){(0,o.kZJ)(t)||(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}},5368(t,e,i){var o,s;i.d(e,{Q:()=>o}),(s=o||(o={})).circle="circle",s.rectangle="rectangle"},823(t,e,i){var o,s;i.d(e,{h:()=>o}),(s=o||(o={})).canvas="canvas",s.parent="parent",s.window="window"},2120(t,e,i){var o,s;i.d(e,{e:()=>o}),(s=o||(o={})).external="external",s.particles="particles"},6316(t,e,i){i.d(e,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>l,Z0:()=>n,ms:()=>s,s7:()=>c,sf:()=>r,vo:()=>a,xO:()=>o});let o="click",s="pointerdown",a="pointerup",n="pointerleave",r="pointerout",l="pointermove",c="touchstart",d="touchend",h="touchmove",u="touchcancel"},6867(t,e,i){i.d(e,{G:()=>a});var o=i(1989),s=i(5368);class a{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=s.Q.circle}load(t){(0,o.kZJ)(t)||(void 0!==t.selectors&&(this.selectors=t.selectors),void 0!==t.enable&&(this.enable=t.enable),void 0!==t.mode&&(this.mode=t.mode),void 0!==t.type&&(this.type=t.type))}}},11(t,e,i){i.d(e,{d:()=>s});var o=i(1989);class s{_container;_engine;constructor(t,e){this._engine=t,this._container=e}load(t){if((0,o.kZJ)(t)||!this._container)return;let e=this._engine.interactors?.get(this._container);if(e)for(let i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}},514(t,e,i){i.r(e),i.d(e,{DivEvent:()=>v.G,DivType:()=>l.Q,ExternalInteractorBase:()=>a,InteractivityDetect:()=>c.h,InteractorType:()=>s.e,Modes:()=>w.d,ParticlesInteractorBase:()=>n,clickEvent:()=>r.xO,divMode:()=>p,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>y,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>m,mouseDownEvent:()=>r.ms,mouseLeaveEvent:()=>r.Z0,mouseMoveEvent:()=>r.Rb,mouseOutEvent:()=>r.sf,mouseUpEvent:()=>r.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>r.G3,touchEndEvent:()=>r.Bp,touchMoveEvent:()=>r.DG,touchStartEvent:()=>r.s7});var o=i(1989),s=i(2120);class a{type=s.e.external;container;constructor(t){this.container=t}}class n{type=s.e.particles;container;constructor(t){this.container=t}}var r=i(6316),l=i(5368),c=i(823);function d(t,e){return!!(0,o.w3Z)(e,e=>e.enable&&(0,o.hnD)(t,e.mode))}function h(t,e,i){(0,o.wJ2)(e,e=>{let s=e.mode;e.enable&&(0,o.hnD)(t,s)&&u(e,i)})}function u(t,e){let i=t.selectors;(0,o.wJ2)(i,i=>{e(i,t)})}function p(t,e){if(e&&t)return(0,o.w3Z)(t,t=>{var i;let s;return i=t.selectors,s=(0,o.wJ2)(i,t=>e.matches(t)),(0,o.cyL)(s)?s.some(t=>t):s})}var v=i(6867),w=i(11);async function m(t){t.checkVersion("4.0.0-beta.0"),await t.register(async t=>{let{InteractivityPlugin:e}=await i.e(1298).then(i.bind(i,1298));t.addPlugin(new e(t)),t.initializers.interactors??=new Map,t.interactors??=new Map,t.addInteractor=(e,i)=>{t.initializers.interactors??=new Map,t.initializers.interactors.set(e,i)},t.getInteractors=async(e,i=!1)=>(t.interactors??=new Map,t.initializers.interactors??=new Map,(0,o.HQK)(e,t.interactors,t.initializers.interactors,i)),t.setOnClickHandler=e=>{let{items:i}=t;if(!i.length)throw Error("Click handlers can only be set after calling tsParticles.load()");i.forEach(t=>{t.addClickHandler?.(e)})}})}function y(t){if(!t.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
package/1553.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[514,1553],{1553(e,t,n){n.d(t,{Parallaxer:()=>o});var a=n(514),i=n(1989),r=n(3480);class o extends a.ExternalInteractorBase{maxDistance=0;constructor(e){super(e)}clear(){}init(){}interact(e){for(let t of this.container.particles.filter(t=>this.isEnabled(e,t)))this._parallaxInteract(e,t)}isEnabled(e,t){let n=this.container,a=e.mouse,r=(t?.interactivity??n.actualOptions.interactivity)?.events;return!!r?.onHover.enable&&!!a.position&&(0,i.hnD)("parallax",r.onHover.mode)}loadModeOptions(e,...t){for(let n of(e.parallax??=new r.k,t))e.parallax.load(n?.parallax)}reset(){}_parallaxInteract(e,t){if(!this.isEnabled(e,t))return;let n=this.container,a=n.actualOptions,r=a.interactivity?.modes.parallax;if(!r)return;let o=r.force,s=e.mouse.position;if(!s)return;let c=n.canvas.size,l={x:c.width*i.MXx,y:c.height*i.MXx},d=r.smooth,h=t.getRadius()/o,u={x:(s.x-l.x)*h,y:(s.y-l.y)*h},{offset:v}=t;v.x+=(u.x-v.x)/d,v.y+=(u.y-v.y)/d}}},5368(e,t,n){var a,i;n.d(t,{Q:()=>a}),(i=a||(a={})).circle="circle",i.rectangle="rectangle"},823(e,t,n){var a,i;n.d(t,{h:()=>a}),(i=a||(a={})).canvas="canvas",i.parent="parent",i.window="window"},2120(e,t,n){var a,i;n.d(t,{e:()=>a}),(i=a||(a={})).external="external",i.particles="particles"},6316(e,t,n){n.d(t,{Bp:()=>d,DG:()=>h,G3:()=>u,Rb:()=>c,Z0:()=>o,ms:()=>i,s7:()=>l,sf:()=>s,vo:()=>r,xO:()=>a});let a="click",i="pointerdown",r="pointerup",o="pointerleave",s="pointerout",c="pointermove",l="touchstart",d="touchend",h="touchmove",u="touchcancel"},6867(e,t,n){n.d(t,{G:()=>r});var a=n(1989),i=n(5368);class r{enable;mode;selectors;type;constructor(){this.selectors=[],this.enable=!1,this.mode=[],this.type=i.Q.circle}load(e){(0,a.kZJ)(e)||(void 0!==e.selectors&&(this.selectors=e.selectors),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.type&&(this.type=e.type))}}},11(e,t,n){n.d(t,{d:()=>i});var a=n(1989);class i{_container;_engine;constructor(e,t){this._engine=e,this._container=t}load(e){if((0,a.kZJ)(e)||!this._container)return;let t=this._engine.interactors?.get(this._container);if(t)for(let n of t)n.loadModeOptions&&n.loadModeOptions(this,e)}}},514(e,t,n){n.r(t),n.d(t,{DivEvent:()=>p.G,DivType:()=>c.Q,ExternalInteractorBase:()=>r,InteractivityDetect:()=>l.h,InteractorType:()=>i.e,Modes:()=>x.d,ParticlesInteractorBase:()=>o,clickEvent:()=>s.xO,divMode:()=>v,divModeExecute:()=>h,ensureInteractivityPluginLoaded:()=>f,isDivModeEnabled:()=>d,loadInteractivityPlugin:()=>y,mouseDownEvent:()=>s.ms,mouseLeaveEvent:()=>s.Z0,mouseMoveEvent:()=>s.Rb,mouseOutEvent:()=>s.sf,mouseUpEvent:()=>s.vo,singleDivModeExecute:()=>u,touchCancelEvent:()=>s.G3,touchEndEvent:()=>s.Bp,touchMoveEvent:()=>s.DG,touchStartEvent:()=>s.s7});var a=n(1989),i=n(2120);class r{type=i.e.external;container;constructor(e){this.container=e}}class o{type=i.e.particles;container;constructor(e){this.container=e}}var s=n(6316),c=n(5368),l=n(823);function d(e,t){return!!(0,a.w3Z)(t,t=>t.enable&&(0,a.hnD)(e,t.mode))}function h(e,t,n){(0,a.wJ2)(t,t=>{let i=t.mode;t.enable&&(0,a.hnD)(e,i)&&u(t,n)})}function u(e,t){let n=e.selectors;(0,a.wJ2)(n,n=>{t(n,e)})}function v(e,t){if(t&&e)return(0,a.w3Z)(e,e=>{var n;let i;return n=e.selectors,i=(0,a.wJ2)(n,e=>t.matches(e)),(0,a.cyL)(i)?i.some(e=>e):i})}var p=n(6867),x=n(11);async function y(e){e.checkVersion("4.0.0-beta.0"),await e.register(async e=>{let{InteractivityPlugin:t}=await n.e(1298).then(n.bind(n,1298));e.addPlugin(new t(e)),e.initializers.interactors??=new Map,e.interactors??=new Map,e.addInteractor=(t,n)=>{e.initializers.interactors??=new Map,e.initializers.interactors.set(t,n)},e.getInteractors=async(t,n=!1)=>(e.interactors??=new Map,e.initializers.interactors??=new Map,(0,a.HQK)(t,e.interactors,e.initializers.interactors,n)),e.setOnClickHandler=t=>{let{items:n}=e;if(!n.length)throw Error("Click handlers can only be set after calling tsParticles.load()");n.forEach(e=>{e.addClickHandler?.(t)})}})}function f(e){if(!e.addInteractor)throw Error("tsParticles Interactivity Plugin is not loaded")}}}]);
package/161.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[161],{161(t,e,a){async function s(t){t.checkVersion("4.0.0-beta.0"),await t.register(t=>{t.addParticleUpdater("color",async e=>{let{FillColorUpdater:s}=await a.e(7116).then(a.bind(a,7116));return new s(t,e)})})}a.r(e),a.d(e,{loadFillColorUpdater:()=>s})}}]);
package/1667.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[1667],{1667(t,a,e){async function s(t){t.checkVersion("4.0.0-beta.0"),await t.register(t=>{t.addShape(["star"],async()=>{let{StarDrawer:t}=await e.e(4588).then(e.bind(e,4588));return new t})})}e.r(a),e.d(a,{loadStarShape:()=>s})}}]);
package/229.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[229],{229(s,a,e){async function t(s){s.checkVersion("4.0.0-beta.0"),await s.register(async s=>{let{HslColorManager:a}=await e.e(84).then(e.bind(e,84));s.addColorManager("hsl",new a)})}e.r(a),e.d(a,{loadHslColorPlugin:()=>t})}}]);
package/2418.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[2418],{1356(e,t,r){r.d(t,{X:()=>n});var a=r(1989);class n{momentumFactor;preserveMomentum;constructor(){this.momentumFactor=.03,this.preserveMomentum=!1}load(e){(0,a.kZJ)(e)||(void 0!==e.momentumFactor&&(this.momentumFactor=e.momentumFactor),void 0!==e.preserveMomentum&&(this.preserveMomentum=e.preserveMomentum))}}},2418(e,t,r){r.r(t),r.d(t,{Drag:()=>a.X,loadExternalDragInteraction:()=>n});var a=r(1356);async function n(e){e.checkVersion("4.0.0-beta.0"),await e.register(async e=>{let{ensureInteractivityPluginLoaded:t}=await r.e(514).then(r.bind(r,514));t(e),e.addInteractor?.("externalDrag",async e=>{let{Dragger:t}=await r.e(9630).then(r.bind(r,9630));return new t(e)})})}}}]);
package/2616.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[2616],{2616(t,s,e){e.d(s,{SquareDrawer:()=>a});var r=e(1989);class a{draw(t){!function(t){let{context:s,radius:e}=t,a=e*Math.SQRT1_2,c=a*r.gdl;s.rect(-a,-a,c,c)}(t)}getSidesCount(){return 4}}}}]);
package/2618.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[2618],{2618(t,e,a){async function s(t){t.checkVersion("4.0.0-beta.0"),await t.register(t=>{t.addParticleUpdater("roll",async()=>{let{RollUpdater:e}=await a.e(2738).then(a.bind(a,2738));return new e(t)})})}a.r(e),a.d(e,{loadRollUpdater:()=>s})}}]);
package/2738.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).push([[2738],{2738(e,l,a){a.d(l,{RollUpdater:()=>s});var n,t,o=a(1989);(n=t||(t={})).both="both",n.horizontal="horizontal",n.vertical="vertical";class i{enable;value;constructor(){this.enable=!1,this.value=0}load(e){(0,o.kZJ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.value&&(this.value=(0,o.DT4)(e.value)))}}class r{backColor;darken;enable;enlighten;mode;speed;constructor(){this.darken=new i,this.enable=!1,this.enlighten=new i,this.mode=t.vertical,this.speed=25}load(e){(0,o.kZJ)(e)||(void 0!==e.backColor&&(this.backColor=o.Oit.create(this.backColor,e.backColor)),this.darken.load(e.darken),void 0!==e.enable&&(this.enable=e.enable),this.enlighten.load(e.enlighten),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.speed&&(this.speed=(0,o.DT4)(e.speed)))}}class s{_engine;constructor(e){this._engine=e}getTransformValues(e){let l=e.roll?.enable&&e.roll,a=l&&l.horizontal,n=l&&l.vertical;return{a:a?Math.cos(l.angle):void 0,d:n?Math.sin(l.angle):void 0}}init(e){!function(e,l){let a=l.options.roll;if(!a?.enable){l.roll={enable:!1,horizontal:!1,vertical:!1,angle:0,speed:0};return}if(l.roll={enable:a.enable,horizontal:a.mode===t.horizontal||a.mode===t.both,vertical:a.mode===t.vertical||a.mode===t.both,angle:(0,o.G0i)()*o.R1e,speed:(0,o.VGA)(a.speed)/360},a.backColor)l.backColor=(0,o.R5R)(e,a.backColor);else if(a.darken.enable&&a.enlighten.enable){let e=(0,o.G0i)()>=o.MXx?o.HKZ.darken:o.HKZ.enlighten;l.roll.alter={type:e,value:(0,o.VGA)(e===o.HKZ.darken?a.darken.value:a.enlighten.value)}}else a.darken.enable?l.roll.alter={type:o.HKZ.darken,value:(0,o.VGA)(a.darken.value)}:a.enlighten.enable&&(l.roll.alter={type:o.HKZ.enlighten,value:(0,o.VGA)(a.enlighten.value)})}(this._engine,e)}isEnabled(e){let l=e.options.roll;return!e.destroyed&&!e.spawning&&!!l?.enable}loadOptions(e,...l){for(let a of(e.roll??=new r,l))e.roll.load(a?.roll)}update(e,l){this.isEnabled(e)&&function(e,l){let a=e.options.roll,n=e.roll;if(!n||!a?.enable)return;let t=n.speed*l.factor,i=o.R1e;n.angle+=t,n.angle>i&&(n.angle-=i)}(e,l)}}}}]);