@tsparticles/slim 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 (235) 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/2004.min.js +1 -0
  9. package/2253.min.js +1 -0
  10. package/2425.min.js +1 -0
  11. package/2454.min.js +1 -0
  12. package/2554.min.js +1 -0
  13. package/2866.min.js +1 -0
  14. package/2930.min.js +1 -0
  15. package/3088.min.js +1 -0
  16. package/3285.min.js +1 -0
  17. package/{4588.min.js → 3304.min.js} +1 -1
  18. package/{243.min.js → 335.min.js} +1 -1
  19. package/3719.min.js +1 -0
  20. package/3737.min.js +1 -0
  21. package/394.min.js +1 -0
  22. package/4051.min.js +1 -0
  23. package/4088.min.js +1 -0
  24. package/410.min.js +1 -0
  25. package/4129.min.js +1 -0
  26. package/4159.min.js +1 -0
  27. package/4191.min.js +1 -1
  28. package/4301.min.js +1 -0
  29. package/{3413.min.js → 4468.min.js} +1 -1
  30. package/{4724.min.js → 4656.min.js} +1 -1
  31. package/4991.min.js +1 -0
  32. package/5264.min.js +1 -0
  33. package/5325.min.js +1 -0
  34. package/5347.min.js +1 -0
  35. package/5447.min.js +1 -0
  36. package/{2926.min.js → 5602.min.js} +1 -1
  37. package/561.min.js +1 -0
  38. package/{3464.min.js → 5668.min.js} +1 -1
  39. package/5700.min.js +1 -0
  40. package/5742.min.js +1 -0
  41. package/6055.min.js +1 -0
  42. package/6056.min.js +1 -0
  43. package/6362.min.js +1 -0
  44. package/6496.min.js +1 -0
  45. package/6598.min.js +1 -0
  46. package/{6839.min.js → 6808.min.js} +1 -1
  47. package/7017.min.js +1 -0
  48. package/706.min.js +1 -0
  49. package/7149.min.js +1 -0
  50. package/7157.min.js +1 -0
  51. package/7203.min.js +1 -0
  52. package/7206.min.js +1 -0
  53. package/7218.min.js +1 -0
  54. package/7374.min.js +1 -0
  55. package/746.min.js +1 -0
  56. package/7590.min.js +1 -0
  57. package/{4570.min.js → 7596.min.js} +1 -1
  58. package/{2382.min.js → 7604.min.js} +1 -1
  59. package/7788.min.js +1 -0
  60. package/786.min.js +1 -0
  61. package/803.min.js +1 -0
  62. package/8082.min.js +1 -0
  63. package/8096.min.js +1 -0
  64. package/{5855.min.js → 8243.min.js} +1 -1
  65. package/8274.min.js +1 -0
  66. package/8342.min.js +1 -0
  67. package/8360.min.js +1 -0
  68. package/{7258.min.js → 8446.min.js} +1 -1
  69. package/8569.min.js +1 -0
  70. package/8626.min.js +1 -0
  71. package/8650.min.js +1 -0
  72. package/8708.min.js +1 -0
  73. package/8989.min.js +1 -0
  74. package/{1624.min.js → 9027.min.js} +1 -1
  75. package/9072.min.js +1 -0
  76. package/9134.min.js +1 -0
  77. package/9293.min.js +1 -0
  78. package/{7876.min.js → 9368.min.js} +1 -1
  79. package/9643.min.js +1 -0
  80. package/9994.min.js +1 -0
  81. package/basic_dist_browser_index_js.js +2 -2
  82. package/browser/index.js +3 -2
  83. package/cjs/index.js +3 -2
  84. package/engine_dist_browser_Core_Container_js.js +54 -14
  85. package/esm/index.js +3 -2
  86. package/interactions_external_attract_dist_browser_Attractor_js.js +28 -8
  87. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  88. package/interactions_external_bounce_dist_browser_Bouncer_js.js +26 -6
  89. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  90. package/interactions_external_bubble_dist_browser_Bubbler_js.js +27 -7
  91. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  92. package/interactions_external_connect_dist_browser_Connector_js.js +28 -8
  93. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  94. package/interactions_external_grab_dist_browser_Grabber_js.js +29 -9
  95. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  96. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +26 -6
  97. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  98. package/interactions_external_pause_dist_browser_Pauser_js.js +26 -6
  99. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  100. package/interactions_external_push_dist_browser_Pusher_js.js +26 -6
  101. package/interactions_external_push_dist_browser_index_js.js +2 -2
  102. package/interactions_external_remove_dist_browser_Remover_js.js +27 -7
  103. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  104. package/interactions_external_repulse_dist_browser_Repulser_js.js +27 -7
  105. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  106. package/interactions_external_slow_dist_browser_Slower_js.js +26 -6
  107. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  108. package/interactions_particles_attract_dist_browser_Attractor_js.js +26 -6
  109. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  110. package/interactions_particles_collisions_dist_browser_Collider_js.js +39 -9
  111. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  112. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
  113. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  114. package/interactions_particles_links_dist_browser_LinkInstance_js.js +2 -2
  115. package/interactions_particles_links_dist_browser_Linker_js.js +27 -7
  116. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
  117. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  118. package/package.json +29 -30
  119. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  120. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  121. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  122. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  123. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  124. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  125. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  126. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  127. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  128. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +3 -3
  129. package/plugins_interactivity_dist_browser_index_js.js +26 -6
  130. package/plugins_move_dist_browser_MovePluginInstance_js.js +3 -3
  131. package/plugins_move_dist_browser_MovePlugin_js.js +2 -2
  132. package/plugins_move_dist_browser_index_js.js +2 -2
  133. package/report.html +84 -29
  134. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  135. package/shapes_circle_dist_browser_index_js.js +2 -2
  136. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +3 -3
  137. package/shapes_emoji_dist_browser_index_js.js +2 -2
  138. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  139. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  140. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
  141. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  142. package/shapes_image_dist_browser_index_js.js +2 -2
  143. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  144. package/shapes_line_dist_browser_index_js.js +2 -2
  145. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  146. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +2 -2
  147. package/shapes_polygon_dist_browser_index_js.js +2 -2
  148. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  149. package/shapes_square_dist_browser_index_js.js +2 -2
  150. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  151. package/shapes_star_dist_browser_index_js.js +2 -2
  152. package/tsparticles.slim.bundle.js +19 -9
  153. package/tsparticles.slim.bundle.min.js +2 -2
  154. package/tsparticles.slim.js +16 -6
  155. package/tsparticles.slim.min.js +1 -1
  156. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +2 -2
  157. package/updaters_fillColor_dist_browser_index_js.js +2 -2
  158. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  159. package/updaters_life_dist_browser_index_js.js +2 -2
  160. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  161. package/updaters_opacity_dist_browser_index_js.js +2 -2
  162. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +3 -3
  163. package/updaters_outModes_dist_browser_index_js.js +2 -2
  164. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  165. package/updaters_rotate_dist_browser_index_js.js +2 -2
  166. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  167. package/updaters_size_dist_browser_index_js.js +2 -2
  168. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
  169. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  170. package/102.min.js +0 -1
  171. package/1098.min.js +0 -1
  172. package/1298.min.js +0 -1
  173. package/1553.min.js +0 -1
  174. package/161.min.js +0 -1
  175. package/1667.min.js +0 -1
  176. package/229.min.js +0 -1
  177. package/2616.min.js +0 -1
  178. package/2846.min.js +0 -1
  179. package/3091.min.js +0 -1
  180. package/3130.min.js +0 -1
  181. package/3194.min.js +0 -1
  182. package/3407.min.js +0 -1
  183. package/3455.min.js +0 -1
  184. package/358.min.js +0 -1
  185. package/366.min.js +0 -1
  186. package/3663.min.js +0 -1
  187. package/3713.min.js +0 -1
  188. package/4089.min.js +0 -1
  189. package/4149.min.js +0 -1
  190. package/4268.min.js +0 -1
  191. package/4270.min.js +0 -1
  192. package/4285.min.js +0 -1
  193. package/439.min.js +0 -1
  194. package/4462.min.js +0 -1
  195. package/4660.min.js +0 -1
  196. package/4792.min.js +0 -1
  197. package/4932.min.js +0 -1
  198. package/514.min.js +0 -1
  199. package/5157.min.js +0 -1
  200. package/5315.min.js +0 -1
  201. package/5390.min.js +0 -1
  202. package/5406.min.js +0 -1
  203. package/5552.min.js +0 -1
  204. package/6101.min.js +0 -1
  205. package/6179.min.js +0 -1
  206. package/622.min.js +0 -1
  207. package/6299.min.js +0 -1
  208. package/6465.min.js +0 -1
  209. package/653.min.js +0 -1
  210. package/6583.min.js +0 -1
  211. package/6638.min.js +0 -1
  212. package/6684.min.js +0 -1
  213. package/6970.min.js +0 -1
  214. package/6982.min.js +0 -1
  215. package/7116.min.js +0 -1
  216. package/7256.min.js +0 -1
  217. package/7318.min.js +0 -1
  218. package/7475.min.js +0 -1
  219. package/7520.min.js +0 -1
  220. package/7812.min.js +0 -1
  221. package/7925.min.js +0 -1
  222. package/7977.min.js +0 -1
  223. package/8109.min.js +0 -1
  224. package/8222.min.js +0 -1
  225. package/84.min.js +0 -1
  226. package/8484.min.js +0 -1
  227. package/8589.min.js +0 -1
  228. package/8689.min.js +0 -1
  229. package/8902.min.js +0 -1
  230. package/9082.min.js +0 -1
  231. package/9544.min.js +0 -1
  232. package/9578.min.js +0 -1
  233. package/9739.min.js +0 -1
  234. package/umd/bundle.js +0 -30
  235. package/umd/index.js +0 -112
@@ -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 */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\nclass ExternalInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.external;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\n\nclass ExternalInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__.InteractorType.external;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \***************************************************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesInteractorBase: () => (/* binding */ ParticlesInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\nclass ParticlesInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.particles;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesInteractorBase: () => (/* binding */ ParticlesInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\n\nclass ParticlesInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__.InteractorType.particles;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js?\n}");
57
57
 
58
58
  /***/ },
59
59
 
@@ -93,7 +93,17 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
93
93
  \**************************************************************************/
94
94
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
95
 
96
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clickEvent: () => (/* binding */ clickEvent),\n/* harmony export */ mouseDownEvent: () => (/* binding */ mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* binding */ mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* binding */ mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* binding */ mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* binding */ mouseUpEvent),\n/* harmony export */ touchCancelEvent: () => (/* binding */ touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* binding */ touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* binding */ touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* binding */ touchStartEvent)\n/* harmony export */ });\nconst clickEvent = \"click\", mouseDownEvent = \"pointerdown\", mouseUpEvent = \"pointerup\", mouseLeaveEvent = \"pointerleave\", mouseOutEvent = \"pointerout\", mouseMoveEvent = \"pointermove\", touchStartEvent = \"touchstart\", touchEndEvent = \"touchend\", touchMoveEvent = \"touchmove\", touchCancelEvent = \"touchcancel\";\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clickEvent: () => (/* binding */ clickEvent),\n/* harmony export */ mouseDownEvent: () => (/* binding */ mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* binding */ mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* binding */ mouseMoveEvent),\n/* harmony export */ mouseUpEvent: () => (/* binding */ mouseUpEvent),\n/* harmony export */ touchCancelEvent: () => (/* binding */ touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* binding */ touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* binding */ touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* binding */ touchStartEvent)\n/* harmony export */ });\nconst clickEvent = \"click\", mouseDownEvent = \"pointerdown\", mouseUpEvent = \"pointerup\", mouseLeaveEvent = \"pointerleave\", mouseMoveEvent = \"pointermove\", touchStartEvent = \"touchstart\", touchEndEvent = \"touchend\", touchMoveEvent = \"touchmove\", touchCancelEvent = \"touchcancel\";\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
97
+
98
+ /***/ },
99
+
100
+ /***/ "../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js"
101
+ /*!**************************************************************************!*\
102
+ !*** ../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js ***!
103
+ \**************************************************************************/
104
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
105
+
106
+ eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js?\n}");
97
107
 
98
108
  /***/ },
99
109
 
@@ -113,7 +123,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
113
123
  \*******************************************************************************/
114
124
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
115
125
 
116
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Modes {\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._engine.interactors?.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors){\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js?\n}");
126
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Modes {\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._pluginManager.interactors?.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors){\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js?\n}");
117
127
 
118
128
  /***/ },
119
129
 
@@ -123,7 +133,17 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
123
133
  \*********************************************************/
124
134
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
125
135
 
126
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseClasses/ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js\");\n/* harmony import */ var _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BaseClasses/ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/index.js?\n}");
136
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_10__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_6__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_3__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_7__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_8__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_11__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_4__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseMoveEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"../../plugins/interactivity/dist/browser/types.js\");\n/* harmony import */ var _Interfaces_IInteractor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Interfaces/IInteractor.js */ \"../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js\");\n/* harmony import */ var _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseClasses/ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js\");\n/* harmony import */ var _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseClasses/ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\n\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const interactivityEngine = e, interactivityPluginManager = interactivityEngine.pluginManager, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityPluginManager.addPlugin(new InteractivityPlugin(interactivityPluginManager));\n interactivityPluginManager.initializers.interactors ??= new Map();\n interactivityPluginManager.interactors ??= new Map();\n interactivityPluginManager.addInteractor = (name, interactorInitializer)=>{\n interactivityPluginManager.initializers.interactors ??= new Map();\n interactivityPluginManager.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityPluginManager.getInteractors = async (container, force = false)=>{\n interactivityPluginManager.interactors ??= new Map();\n interactivityPluginManager.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityPluginManager.interactors, interactivityPluginManager.initializers.interactors, force);\n };\n interactivityPluginManager.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.pluginManager.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/index.js?\n}");
137
+
138
+ /***/ },
139
+
140
+ /***/ "../../plugins/interactivity/dist/browser/types.js"
141
+ /*!*********************************************************!*\
142
+ !*** ../../plugins/interactivity/dist/browser/types.js ***!
143
+ \*********************************************************/
144
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
145
+
146
+ eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/types.js?\n}");
127
147
 
128
148
  /***/ },
129
149
 
@@ -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 */ loadParticlesAttractInteraction: () => (/* binding */ loadParticlesAttractInteraction)\n/* harmony export */ });\nasync function loadParticlesAttractInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const { ensureInteractivityPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\"));\n ensureInteractivityPluginLoaded(e);\n e.addInteractor?.(\"particlesAttract\", async (container)=>{\n const { Attractor } = await __webpack_require__.e(/*! import() */ \"interactions_particles_attract_dist_browser_Attractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Attractor.js */ \"../../interactions/particles/attract/dist/browser/Attractor.js\"));\n return new Attractor(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/attract/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadParticlesAttractInteraction: () => (/* binding */ loadParticlesAttractInteraction)\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 loadParticlesAttractInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const { ensureInteractivityPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\"));\n ensureInteractivityPluginLoaded(e);\n e.pluginManager.addInteractor?.(\"particlesAttract\", async (container)=>{\n const { Attractor } = await __webpack_require__.e(/*! import() */ \"interactions_particles_attract_dist_browser_Attractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Attractor.js */ \"../../interactions/particles/attract/dist/browser/Attractor.js\"));\n return new Attractor(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/attract/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 */ bounce: () => (/* binding */ bounce)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst energyCorrectionMinRatio = 1e-6, energyDriftThreshold = 1e-4, correctionFactorNeutral = 1, fixBounceSpeed = (p)=>{\n if (!p.options.collisions) {\n return;\n }\n p.collisionMaxSpeed ??= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.collisions.maxSpeed);\n if (p.velocity.length > p.collisionMaxSpeed) {\n p.velocity.length = p.collisionMaxSpeed;\n }\n};\nfunction bounce(p1, p2) {\n const m1 = p1.getMass(), m2 = p2.getMass(), speed1Before = p1.velocity.length, speed2Before = p2.velocity.length, keBefore = m1 * speed1Before * speed1Before + m2 * speed2Before * speed2Before;\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.circleBounce)((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.circleBounceDataFromParticle)(p1), (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.circleBounceDataFromParticle)(p2));\n const speed1After = p1.velocity.length, speed2After = p2.velocity.length, keAfter = m1 * speed1After * speed1After + m2 * speed2After * speed2After;\n if (keAfter > keBefore * energyCorrectionMinRatio) {\n const correctionFactor = Math.sqrt(keBefore / keAfter);\n if (Math.abs(correctionFactor - correctionFactorNeutral) > energyDriftThreshold) {\n p1.velocity.length = speed1After * correctionFactor;\n p2.velocity.length = speed2After * correctionFactor;\n }\n }\n fixBounceSpeed(p1);\n fixBounceSpeed(p2);\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/Bounce.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bounce: () => (/* binding */ bounce)\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 _Types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Types.js */ \"../../interactions/particles/collisions/dist/browser/Types.js\");\n\n\nconst energyCorrectionMinRatio = 1e-6, energyDriftThreshold = 1e-4, correctionFactorNeutral = 1, fixBounceSpeed = (p)=>{\n if (!p.options.collisions) {\n return;\n }\n p.collisionMaxSpeed ??= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.collisions.maxSpeed);\n if (p.velocity.length > p.collisionMaxSpeed) {\n p.velocity.length = p.collisionMaxSpeed;\n }\n};\nfunction bounce(p1, p2) {\n const m1 = p1.getMass(), m2 = p2.getMass(), speed1Before = p1.velocity.length, speed2Before = p2.velocity.length, keBefore = m1 * speed1Before * speed1Before + m2 * speed2Before * speed2Before;\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.circleBounce)((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.circleBounceDataFromParticle)(p1), (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.circleBounceDataFromParticle)(p2));\n const speed1After = p1.velocity.length, speed2After = p2.velocity.length, keAfter = m1 * speed1After * speed1After + m2 * speed2After * speed2After;\n if (keAfter > keBefore * energyCorrectionMinRatio) {\n const correctionFactor = Math.sqrt(keBefore / keAfter);\n if (Math.abs(correctionFactor - correctionFactorNeutral) > energyDriftThreshold) {\n p1.velocity.length = speed1After * correctionFactor;\n p2.velocity.length = speed2After * correctionFactor;\n }\n }\n fixBounceSpeed(p1);\n fixBounceSpeed(p2);\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/Bounce.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 */ Collider: () => (/* binding */ Collider)\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 _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Collisions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/Collisions.js */ \"../../interactions/particles/collisions/dist/browser/Options/Classes/Collisions.js\");\n/* harmony import */ var _ResolveCollision_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ResolveCollision.js */ \"../../interactions/particles/collisions/dist/browser/ResolveCollision.js\");\n\n\n\n\nclass Collider extends _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_1__.ParticlesInteractorBase {\n maxDistance;\n constructor(container){\n super(container);\n this.maxDistance = 0;\n }\n clear() {}\n init() {}\n interact(p1, _interactivityData, delta) {\n if (p1.destroyed || p1.spawning) {\n return;\n }\n const container = this.container, pos1 = p1.getPosition(), radius1 = p1.getRadius(), query = container.particles.grid.queryCircle(pos1, radius1 * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double);\n for (const p2 of query){\n if (p1 === p2 || p1.id >= p2.id || !p1.options.collisions?.enable || !p2.options.collisions?.enable || p1.options.collisions.mode !== p2.options.collisions.mode || p2.destroyed || p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition(), radius2 = p2.getRadius();\n if (Math.abs(Math.round(pos1.z) - Math.round(pos2.z)) > radius1 + radius2) {\n continue;\n }\n const dist = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(pos1, pos2), distP = radius1 + radius2;\n if (dist > distP) {\n continue;\n }\n (0,_ResolveCollision_js__WEBPACK_IMPORTED_MODULE_3__.resolveCollision)(p1, p2, delta, container.retina.pixelRatio);\n }\n }\n isEnabled(particle) {\n return !!particle.options.collisions?.enable;\n }\n loadParticlesOptions(options, ...sources) {\n options.collisions ??= new _Options_Classes_Collisions_js__WEBPACK_IMPORTED_MODULE_2__.Collisions();\n for (const source of sources){\n options.collisions.load(source?.collisions);\n }\n }\n reset() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/Collider.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Collider: () => (/* binding */ Collider)\n/* harmony export */ });\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Types.js */ \"../../interactions/particles/collisions/dist/browser/Types.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Collisions_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Options/Classes/Collisions.js */ \"../../interactions/particles/collisions/dist/browser/Options/Classes/Collisions.js\");\n/* harmony import */ var _ResolveCollision_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ResolveCollision.js */ \"../../interactions/particles/collisions/dist/browser/ResolveCollision.js\");\n\n\n\n\n\nclass Collider extends _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase {\n maxDistance;\n constructor(container){\n super(container);\n this.maxDistance = 0;\n }\n clear() {}\n init() {}\n interact(p1, _interactivityData, delta) {\n if (p1.destroyed || p1.spawning) {\n return;\n }\n const container = this.container, pos1 = p1.getPosition(), radius1 = p1.getRadius(), query = container.particles.grid.queryCircle(pos1, radius1 * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.double);\n for (const p2 of query){\n if (p1 === p2 || p1.id >= p2.id || !p1.options.collisions?.enable || !p2.options.collisions?.enable || p1.options.collisions.mode !== p2.options.collisions.mode || p2.destroyed || p2.spawning) {\n continue;\n }\n const pos2 = p2.getPosition(), radius2 = p2.getRadius();\n if (Math.abs(Math.round(pos1.z) - Math.round(pos2.z)) > radius1 + radius2) {\n continue;\n }\n const dist = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance)(pos1, pos2), distP = radius1 + radius2;\n if (dist > distP) {\n continue;\n }\n (0,_ResolveCollision_js__WEBPACK_IMPORTED_MODULE_4__.resolveCollision)(p1, p2, delta, container.retina.pixelRatio);\n }\n }\n isEnabled(particle) {\n return !!particle.options.collisions?.enable;\n }\n loadParticlesOptions(options, ...sources) {\n options.collisions ??= new _Options_Classes_Collisions_js__WEBPACK_IMPORTED_MODULE_3__.Collisions();\n for (const source of sources){\n options.collisions.load(source?.collisions);\n }\n }\n reset() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/Collider.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -103,7 +103,17 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
103
103
  \********************************************************************************/
104
104
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
105
105
 
106
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resolveCollision: () => (/* binding */ resolveCollision)\n/* harmony export */ });\n/* harmony import */ var _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CollisionMode.js */ \"../../interactions/particles/collisions/dist/browser/CollisionMode.js\");\n/* harmony import */ var _Absorb_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Absorb.js */ \"../../interactions/particles/collisions/dist/browser/Absorb.js\");\n/* harmony import */ var _Bounce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Bounce.js */ \"../../interactions/particles/collisions/dist/browser/Bounce.js\");\n/* harmony import */ var _Destroy_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Destroy.js */ \"../../interactions/particles/collisions/dist/browser/Destroy.js\");\n\n\n\n\nfunction resolveCollision(p1, p2, delta, pixelRatio) {\n if (!p1.options.collisions || !p2.options.collisions) {\n return;\n }\n switch(p1.options.collisions.mode){\n case _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.absorb:\n {\n (0,_Absorb_js__WEBPACK_IMPORTED_MODULE_1__.absorb)(p1, p2, delta, pixelRatio);\n break;\n }\n case _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.bounce:\n {\n (0,_Bounce_js__WEBPACK_IMPORTED_MODULE_2__.bounce)(p1, p2);\n break;\n }\n case _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.destroy:\n {\n (0,_Destroy_js__WEBPACK_IMPORTED_MODULE_3__.destroy)(p1, p2);\n break;\n }\n default:\n break;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/ResolveCollision.js?\n}");
106
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ resolveCollision: () => (/* binding */ resolveCollision)\n/* harmony export */ });\n/* harmony import */ var _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CollisionMode.js */ \"../../interactions/particles/collisions/dist/browser/CollisionMode.js\");\n/* harmony import */ var _Types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Types.js */ \"../../interactions/particles/collisions/dist/browser/Types.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Absorb_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Absorb.js */ \"../../interactions/particles/collisions/dist/browser/Absorb.js\");\n/* harmony import */ var _Bounce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Bounce.js */ \"../../interactions/particles/collisions/dist/browser/Bounce.js\");\n/* harmony import */ var _Destroy_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Destroy.js */ \"../../interactions/particles/collisions/dist/browser/Destroy.js\");\n\n\n\n\n\n\nfunction resolveCollision(p1, p2, delta, pixelRatio) {\n if (!p1.options.collisions || !p2.options.collisions) {\n return;\n }\n switch(p1.options.collisions.mode){\n case _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.absorb:\n {\n (0,_Absorb_js__WEBPACK_IMPORTED_MODULE_3__.absorb)(p1, p2, delta, pixelRatio);\n break;\n }\n case _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.bounce:\n {\n (0,_Bounce_js__WEBPACK_IMPORTED_MODULE_4__.bounce)(p1, p2);\n break;\n }\n case _CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.destroy:\n {\n (0,_Destroy_js__WEBPACK_IMPORTED_MODULE_5__.destroy)(p1, p2);\n break;\n }\n default:\n break;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/ResolveCollision.js?\n}");
107
+
108
+ /***/ },
109
+
110
+ /***/ "../../interactions/particles/collisions/dist/browser/Types.js"
111
+ /*!*********************************************************************!*\
112
+ !*** ../../interactions/particles/collisions/dist/browser/Types.js ***!
113
+ \*********************************************************************/
114
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
115
+
116
+ eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/Types.js?\n}");
107
117
 
108
118
  /***/ },
109
119
 
@@ -113,7 +123,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
113
123
  \**************************************************************************************/
114
124
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
115
125
 
116
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\nclass ExternalInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.external;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js?\n}");
126
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\n\nclass ExternalInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__.InteractorType.external;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js?\n}");
117
127
 
118
128
  /***/ },
119
129
 
@@ -123,7 +133,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
123
133
  \***************************************************************************************/
124
134
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
125
135
 
126
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesInteractorBase: () => (/* binding */ ParticlesInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\nclass ParticlesInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.particles;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js?\n}");
136
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesInteractorBase: () => (/* binding */ ParticlesInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n\n\nclass ParticlesInteractorBase {\n type = _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_1__.InteractorType.particles;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js?\n}");
127
137
 
128
138
  /***/ },
129
139
 
@@ -163,7 +173,17 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
163
173
  \**************************************************************************/
164
174
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
165
175
 
166
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clickEvent: () => (/* binding */ clickEvent),\n/* harmony export */ mouseDownEvent: () => (/* binding */ mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* binding */ mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* binding */ mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* binding */ mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* binding */ mouseUpEvent),\n/* harmony export */ touchCancelEvent: () => (/* binding */ touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* binding */ touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* binding */ touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* binding */ touchStartEvent)\n/* harmony export */ });\nconst clickEvent = \"click\", mouseDownEvent = \"pointerdown\", mouseUpEvent = \"pointerup\", mouseLeaveEvent = \"pointerleave\", mouseOutEvent = \"pointerout\", mouseMoveEvent = \"pointermove\", touchStartEvent = \"touchstart\", touchEndEvent = \"touchend\", touchMoveEvent = \"touchmove\", touchCancelEvent = \"touchcancel\";\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
176
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clickEvent: () => (/* binding */ clickEvent),\n/* harmony export */ mouseDownEvent: () => (/* binding */ mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* binding */ mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* binding */ mouseMoveEvent),\n/* harmony export */ mouseUpEvent: () => (/* binding */ mouseUpEvent),\n/* harmony export */ touchCancelEvent: () => (/* binding */ touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* binding */ touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* binding */ touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* binding */ touchStartEvent)\n/* harmony export */ });\nconst clickEvent = \"click\", mouseDownEvent = \"pointerdown\", mouseUpEvent = \"pointerup\", mouseLeaveEvent = \"pointerleave\", mouseMoveEvent = \"pointermove\", touchStartEvent = \"touchstart\", touchEndEvent = \"touchend\", touchMoveEvent = \"touchmove\", touchCancelEvent = \"touchcancel\";\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
177
+
178
+ /***/ },
179
+
180
+ /***/ "../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js"
181
+ /*!**************************************************************************!*\
182
+ !*** ../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js ***!
183
+ \**************************************************************************/
184
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
185
+
186
+ eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js?\n}");
167
187
 
168
188
  /***/ },
169
189
 
@@ -183,7 +203,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
183
203
  \*******************************************************************************/
184
204
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
185
205
 
186
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Modes {\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._engine.interactors?.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors){\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js?\n}");
206
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Modes {\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._pluginManager.interactors?.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors){\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js?\n}");
187
207
 
188
208
  /***/ },
189
209
 
@@ -193,7 +213,17 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
193
213
  \*********************************************************/
194
214
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
195
215
 
196
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseClasses/ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js\");\n/* harmony import */ var _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BaseClasses/ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/index.js?\n}");
216
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_10__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_6__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_3__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_7__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_8__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_11__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_4__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseMoveEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_9__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"../../plugins/interactivity/dist/browser/types.js\");\n/* harmony import */ var _Interfaces_IInteractor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Interfaces/IInteractor.js */ \"../../plugins/interactivity/dist/browser/Interfaces/IInteractor.js\");\n/* harmony import */ var _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseClasses/ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js\");\n/* harmony import */ var _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BaseClasses/ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\n\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const interactivityEngine = e, interactivityPluginManager = interactivityEngine.pluginManager, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityPluginManager.addPlugin(new InteractivityPlugin(interactivityPluginManager));\n interactivityPluginManager.initializers.interactors ??= new Map();\n interactivityPluginManager.interactors ??= new Map();\n interactivityPluginManager.addInteractor = (name, interactorInitializer)=>{\n interactivityPluginManager.initializers.interactors ??= new Map();\n interactivityPluginManager.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityPluginManager.getInteractors = async (container, force = false)=>{\n interactivityPluginManager.interactors ??= new Map();\n interactivityPluginManager.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityPluginManager.interactors, interactivityPluginManager.initializers.interactors, force);\n };\n interactivityPluginManager.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.pluginManager.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/index.js?\n}");
217
+
218
+ /***/ },
219
+
220
+ /***/ "../../plugins/interactivity/dist/browser/types.js"
221
+ /*!*********************************************************!*\
222
+ !*** ../../plugins/interactivity/dist/browser/types.js ***!
223
+ \*********************************************************/
224
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
225
+
226
+ eval("{__webpack_require__.r(__webpack_exports__);\n\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/interactivity/dist/browser/types.js?\n}");
197
227
 
198
228
  /***/ },
199
229
 
@@ -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 */ OverlapPlugin: () => (/* binding */ OverlapPlugin)\n/* harmony export */ });\nclass OverlapPlugin {\n id = \"overlap\";\n async getPlugin(container) {\n const { OverlapPluginInstance } = await __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_OverlapPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OverlapPluginInstance.js */ \"../../interactions/particles/collisions/dist/browser/OverlapPluginInstance.js\"));\n return new OverlapPluginInstance(container);\n }\n loadOptions() {}\n needsPlugin() {\n return true;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/OverlapPlugin.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OverlapPlugin: () => (/* binding */ OverlapPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass OverlapPlugin {\n id = \"overlap\";\n async getPlugin(container) {\n const { OverlapPluginInstance } = await __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_OverlapPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OverlapPluginInstance.js */ \"../../interactions/particles/collisions/dist/browser/OverlapPluginInstance.js\"));\n return new OverlapPluginInstance(container);\n }\n loadOptions() {}\n needsPlugin() {\n return true;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/OverlapPlugin.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 */ loadParticlesCollisionsInteraction: () => (/* binding */ loadParticlesCollisionsInteraction)\n/* harmony export */ });\nasync function loadParticlesCollisionsInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { OverlapPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_OverlapPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OverlapPlugin.js */ \"../../interactions/particles/collisions/dist/browser/OverlapPlugin.js\"))\n ]);\n ensureInteractivityPluginLoaded(e);\n e.addPlugin(new OverlapPlugin());\n e.addInteractor?.(\"particlesCollisions\", async (container)=>{\n const { Collider } = await __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_Collider_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Collider.js */ \"../../interactions/particles/collisions/dist/browser/Collider.js\"));\n return new Collider(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadParticlesCollisionsInteraction: () => (/* binding */ loadParticlesCollisionsInteraction)\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 loadParticlesCollisionsInteraction(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { OverlapPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_OverlapPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OverlapPlugin.js */ \"../../interactions/particles/collisions/dist/browser/OverlapPlugin.js\"))\n ]);\n ensureInteractivityPluginLoaded(e);\n e.pluginManager.addPlugin(new OverlapPlugin());\n e.pluginManager.addInteractor?.(\"particlesCollisions\", async (container)=>{\n const { Collider } = await __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_Collider_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Collider.js */ \"../../interactions/particles/collisions/dist/browser/Collider.js\"));\n return new Collider(container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/collisions/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 */ LinkInstance: () => (/* binding */ LinkInstance)\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 */ \"../../interactions/particles/links/dist/browser/Utils.js\");\n\n\nconst minOpacity = 0, minWidth = 0, minDistance = 0, maxFrequency = 1, defaultFrequency = 0;\nclass LinkInstance {\n _colorCache = new Map();\n _container;\n _engine;\n _freqs;\n constructor(container, engine){\n this._container = container;\n this._engine = engine;\n this._freqs = {\n links: new Map(),\n triangles: new Map()\n };\n }\n drawParticle(context, particle) {\n const { links, options } = particle;\n if (!links?.length || !options.links) {\n return;\n }\n const linkOpts = options.links, width = particle.retina.linksWidth ?? minWidth, pos1 = particle.getPosition(), twinkle = particle.options[\"twinkle\"]?.links, trianglesEnabled = linkOpts.triangles.enable, p1Destinations = trianglesEnabled ? new Set(links.map((l)=>l.destination.id)) : null, originalAlpha = context.globalAlpha;\n let currentColorStyle = \"\", currentWidth = -1, currentAlpha = -1, pathOpen = false;\n const flushLines = ()=>{\n if (pathOpen) {\n context.stroke();\n pathOpen = false;\n }\n };\n for (const link of links){\n if (linkOpts.frequency < maxFrequency && this._getLinkFrequency(particle, link.destination) > linkOpts.frequency) {\n continue;\n }\n const pos2 = link.destination.getPosition();\n if (trianglesEnabled && !link.isWarped && p1Destinations) {\n flushLines();\n this._drawTriangles(options, particle, link, p1Destinations, pos1, pos2, context);\n }\n if (link.opacity <= minOpacity || width <= minWidth) {\n continue;\n }\n if (!linkOpts.enable) {\n continue;\n }\n let opacity = link.opacity, colorLine = link.color;\n const twinkleRgb = twinkle?.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, twinkle.color) : undefined;\n if (twinkle && twinkleRgb) {\n colorLine = twinkleRgb;\n opacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity);\n }\n if (!colorLine) {\n const linkColor = linkOpts.id !== undefined ? this._container.particles.linksColors.get(linkOpts.id) : this._container.particles.linksColor;\n colorLine = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLinkColor)(particle, link.destination, linkColor);\n }\n if (!colorLine) {\n continue;\n }\n const colorStyle = this._getCachedStyle(colorLine);\n if (colorStyle !== currentColorStyle || width !== currentWidth || opacity !== currentAlpha) {\n flushLines();\n context.strokeStyle = colorStyle;\n context.lineWidth = width;\n context.globalAlpha = opacity;\n currentColorStyle = colorStyle;\n currentWidth = width;\n currentAlpha = opacity;\n context.beginPath();\n pathOpen = true;\n }\n if (link.isWarped) {\n const canvasSize = this._container.canvas.size, dx = pos2.x - pos1.x, dy = pos2.y - pos1.y;\n let sx = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, sy = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y;\n if (Math.abs(dx) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n sx = dx > minDistance ? -canvasSize.width : canvasSize.width;\n }\n if (Math.abs(dy) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n sy = dy > minDistance ? -canvasSize.height : canvasSize.height;\n }\n context.moveTo(pos1.x, pos1.y);\n context.lineTo(pos2.x + sx, pos2.y + sy);\n context.moveTo(pos1.x - sx, pos1.y - sy);\n context.lineTo(pos2.x, pos2.y);\n } else {\n context.moveTo(pos1.x, pos1.y);\n context.lineTo(pos2.x, pos2.y);\n }\n }\n flushLines();\n context.globalAlpha = originalAlpha;\n }\n init() {\n this._freqs.links.clear();\n this._freqs.triangles.clear();\n this._colorCache.clear();\n return Promise.resolve();\n }\n particleCreated(particle) {\n particle.links = [];\n if (!particle.options.links) {\n return;\n }\n particle.linksDistance = particle.options.links.distance;\n particle.linksWidth = particle.options.links.width;\n const ratio = this._container.retina.pixelRatio;\n particle.retina.linksDistance = particle.linksDistance * ratio;\n particle.retina.linksWidth = particle.linksWidth * ratio;\n }\n particleDestroyed(particle) {\n particle.links = [];\n }\n _drawTriangles(options, p1, link, p1Destinations, pos1, pos2, context) {\n const p2 = link.destination, triangleOptions = options.links?.triangles;\n if (!triangleOptions?.enable || !p2.options.links?.triangles.enable) {\n return;\n }\n const p2Links = p2.links;\n if (!p2Links?.length) {\n return;\n }\n for (const vertex of p2Links){\n if (vertex.isWarped || this._getLinkFrequency(p2, vertex.destination) > p2.options.links.frequency || !p1Destinations.has(vertex.destination.id)) {\n continue;\n }\n const p3 = vertex.destination;\n if (this._getTriangleFrequency(p1, p2, p3) > (options.links?.triangles.frequency ?? defaultFrequency)) {\n continue;\n }\n const opacityTriangle = triangleOptions.opacity ?? (link.opacity + vertex.opacity) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half, colorTriangle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, triangleOptions.color) ?? link.color;\n if (!colorTriangle || opacityTriangle <= minOpacity) {\n continue;\n }\n const pos3 = p3.getPosition();\n context.save();\n context.fillStyle = this._getCachedStyle(colorTriangle);\n context.globalAlpha = opacityTriangle;\n context.beginPath();\n context.moveTo(pos1.x, pos1.y);\n context.lineTo(pos2.x, pos2.y);\n context.lineTo(pos3.x, pos3.y);\n context.closePath();\n context.fill();\n context.restore();\n }\n }\n _getCachedStyle(rgb) {\n const key = `${rgb.r},${rgb.g},${rgb.b}`;\n let style = this._colorCache.get(key);\n if (!style) {\n style = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(rgb, this._container.hdr);\n this._colorCache.set(key, style);\n }\n return style;\n }\n _getLinkFrequency(p1, p2) {\n return (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.setLinkFrequency)([\n p1,\n p2\n ], this._freqs.links);\n }\n _getTriangleFrequency(p1, p2, p3) {\n return (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.setLinkFrequency)([\n p1,\n p2,\n p3\n ], this._freqs.triangles);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/links/dist/browser/LinkInstance.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LinkInstance: () => (/* binding */ LinkInstance)\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 */ \"../../interactions/particles/links/dist/browser/Utils.js\");\n\n\nconst minOpacity = 0, minWidth = 0, minDistance = 0, maxFrequency = 1, defaultFrequency = 0;\nclass LinkInstance {\n _colorCache = new Map();\n _container;\n _freqs;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n this._freqs = {\n links: new Map(),\n triangles: new Map()\n };\n }\n drawParticle(context, particle) {\n const { links, options } = particle;\n if (!links?.length || !options.links) {\n return;\n }\n const linkOpts = options.links, width = particle.retina.linksWidth ?? minWidth, pos1 = particle.getPosition(), twinkle = particle.options[\"twinkle\"]?.links, trianglesEnabled = linkOpts.triangles.enable, p1Destinations = trianglesEnabled ? new Set(links.map((l)=>l.destination.id)) : null, originalAlpha = context.globalAlpha;\n let currentColorStyle = \"\", currentWidth = -1, currentAlpha = -1, pathOpen = false;\n const flushLines = ()=>{\n if (pathOpen) {\n context.stroke();\n pathOpen = false;\n }\n };\n for (const link of links){\n if (linkOpts.frequency < maxFrequency && this._getLinkFrequency(particle, link.destination) > linkOpts.frequency) {\n continue;\n }\n const pos2 = link.destination.getPosition();\n if (trianglesEnabled && !link.isWarped && p1Destinations) {\n flushLines();\n this._drawTriangles(options, particle, link, p1Destinations, pos1, pos2, context);\n }\n if (link.opacity <= minOpacity || width <= minWidth) {\n continue;\n }\n if (!linkOpts.enable) {\n continue;\n }\n let opacity = link.opacity, colorLine = link.color;\n const twinkleRgb = twinkle?.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._pluginManager, twinkle.color) : undefined;\n if (twinkle && twinkleRgb) {\n colorLine = twinkleRgb;\n opacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity);\n }\n if (!colorLine) {\n const linkColor = linkOpts.id !== undefined ? this._container.particles.linksColors.get(linkOpts.id) : this._container.particles.linksColor;\n colorLine = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLinkColor)(particle, link.destination, linkColor);\n }\n if (!colorLine) {\n continue;\n }\n const colorStyle = this._getCachedStyle(colorLine);\n if (colorStyle !== currentColorStyle || width !== currentWidth || opacity !== currentAlpha) {\n flushLines();\n context.strokeStyle = colorStyle;\n context.lineWidth = width;\n context.globalAlpha = opacity;\n currentColorStyle = colorStyle;\n currentWidth = width;\n currentAlpha = opacity;\n context.beginPath();\n pathOpen = true;\n }\n if (link.isWarped) {\n const canvasSize = this._container.canvas.size, dx = pos2.x - pos1.x, dy = pos2.y - pos1.y;\n let sx = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, sy = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y;\n if (Math.abs(dx) > canvasSize.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n sx = dx > minDistance ? -canvasSize.width : canvasSize.width;\n }\n if (Math.abs(dy) > canvasSize.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) {\n sy = dy > minDistance ? -canvasSize.height : canvasSize.height;\n }\n context.moveTo(pos1.x, pos1.y);\n context.lineTo(pos2.x + sx, pos2.y + sy);\n context.moveTo(pos1.x - sx, pos1.y - sy);\n context.lineTo(pos2.x, pos2.y);\n } else {\n context.moveTo(pos1.x, pos1.y);\n context.lineTo(pos2.x, pos2.y);\n }\n }\n flushLines();\n context.globalAlpha = originalAlpha;\n }\n init() {\n this._freqs.links.clear();\n this._freqs.triangles.clear();\n this._colorCache.clear();\n return Promise.resolve();\n }\n particleCreated(particle) {\n particle.links = [];\n if (!particle.options.links) {\n return;\n }\n particle.linksDistance = particle.options.links.distance;\n particle.linksWidth = particle.options.links.width;\n const ratio = this._container.retina.pixelRatio;\n particle.retina.linksDistance = particle.linksDistance * ratio;\n particle.retina.linksWidth = particle.linksWidth * ratio;\n }\n particleDestroyed(particle) {\n particle.links = [];\n }\n _drawTriangles(options, p1, link, p1Destinations, pos1, pos2, context) {\n const p2 = link.destination, triangleOptions = options.links?.triangles;\n if (!triangleOptions?.enable || !p2.options.links?.triangles.enable) {\n return;\n }\n const p2Links = p2.links;\n if (!p2Links?.length) {\n return;\n }\n for (const vertex of p2Links){\n if (vertex.isWarped || this._getLinkFrequency(p2, vertex.destination) > p2.options.links.frequency || !p1Destinations.has(vertex.destination.id)) {\n continue;\n }\n const p3 = vertex.destination;\n if (this._getTriangleFrequency(p1, p2, p3) > (options.links?.triangles.frequency ?? defaultFrequency)) {\n continue;\n }\n const opacityTriangle = triangleOptions.opacity ?? (link.opacity + vertex.opacity) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half, colorTriangle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._pluginManager, triangleOptions.color) ?? link.color;\n if (!colorTriangle || opacityTriangle <= minOpacity) {\n continue;\n }\n const pos3 = p3.getPosition();\n context.save();\n context.fillStyle = this._getCachedStyle(colorTriangle);\n context.globalAlpha = opacityTriangle;\n context.beginPath();\n context.moveTo(pos1.x, pos1.y);\n context.lineTo(pos2.x, pos2.y);\n context.lineTo(pos3.x, pos3.y);\n context.closePath();\n context.fill();\n context.restore();\n }\n }\n _getCachedStyle(rgb) {\n const key = `${rgb.r},${rgb.g},${rgb.b}`;\n let style = this._colorCache.get(key);\n if (!style) {\n style = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(rgb, this._container.hdr);\n this._colorCache.set(key, style);\n }\n return style;\n }\n _getLinkFrequency(p1, p2) {\n return (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.setLinkFrequency)([\n p1,\n p2\n ], this._freqs.links);\n }\n _getTriangleFrequency(p1, p2, p3) {\n return (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.setLinkFrequency)([\n p1,\n p2,\n p3\n ], this._freqs.triangles);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../interactions/particles/links/dist/browser/LinkInstance.js?\n}");
27
27
 
28
28
  /***/ },
29
29