tsparticles 4.0.0-alpha.21 → 4.0.0-alpha.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/102.min.js +1 -1
  2. package/1416.min.js +1 -1
  3. package/1504.min.js +1 -1
  4. package/1801.min.js +1 -1
  5. package/1887.min.js +1 -1
  6. package/195.min.js +1 -1
  7. package/2106.min.js +1 -1
  8. package/2129.min.js +1 -1
  9. package/2268.min.js +1 -1
  10. package/2402.min.js +1 -1
  11. package/2559.min.js +1 -1
  12. package/2740.min.js +1 -1
  13. package/2753.min.js +1 -1
  14. package/2833.min.js +1 -1
  15. package/2895.min.js +1 -1
  16. package/3111.min.js +1 -0
  17. package/3139.min.js +1 -1
  18. package/3277.min.js +1 -1
  19. package/3281.min.js +1 -1
  20. package/3576.min.js +1 -1
  21. package/3607.min.js +1 -1
  22. package/3611.min.js +1 -0
  23. package/3746.min.js +1 -1
  24. package/3775.min.js +1 -1
  25. package/3891.min.js +1 -1
  26. package/3923.min.js +1 -1
  27. package/3939.min.js +1 -1
  28. package/4060.min.js +1 -1
  29. package/411.min.js +1 -1
  30. package/4377.min.js +1 -1
  31. package/4512.min.js +1 -1
  32. package/4853.min.js +1 -1
  33. package/4894.min.js +1 -1
  34. package/5022.min.js +1 -1
  35. package/5143.min.js +1 -1
  36. package/5280.min.js +1 -1
  37. package/5291.min.js +1 -1
  38. package/5584.min.js +1 -1
  39. package/578.min.js +1 -1
  40. package/5861.min.js +1 -1
  41. package/5905.min.js +1 -1
  42. package/6084.min.js +1 -1
  43. package/611.min.js +1 -1
  44. package/6253.min.js +1 -1
  45. package/6300.min.js +1 -1
  46. package/6330.min.js +1 -1
  47. package/6497.min.js +1 -1
  48. package/6566.min.js +1 -1
  49. package/665.min.js +1 -1
  50. package/6900.min.js +1 -1
  51. package/699.min.js +1 -1
  52. package/7152.min.js +1 -1
  53. package/7239.min.js +1 -1
  54. package/7242.min.js +1 -1
  55. package/7346.min.js +1 -1
  56. package/7468.min.js +1 -1
  57. package/7627.min.js +1 -1
  58. package/7884.min.js +1 -1
  59. package/795.min.js +1 -1
  60. package/8166.min.js +1 -1
  61. package/8196.min.js +1 -1
  62. package/8509.min.js +1 -1
  63. package/8580.min.js +1 -1
  64. package/8968.min.js +1 -1
  65. package/9099.min.js +1 -1
  66. package/9169.min.js +1 -1
  67. package/9212.min.js +1 -1
  68. package/929.min.js +1 -1
  69. package/9322.min.js +1 -1
  70. package/9391.min.js +1 -1
  71. package/9555.min.js +1 -1
  72. package/9612.min.js +1 -1
  73. package/969.min.js +1 -1
  74. package/basic_dist_browser_index_js.js +2 -2
  75. package/browser/index.js +1 -1
  76. package/cjs/index.js +1 -1
  77. package/engine_dist_browser_Core_Container_js.js +2 -2
  78. package/esm/index.js +1 -1
  79. package/interactions_external_attract_dist_browser_Attractor_js.js +38 -38
  80. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  81. package/interactions_external_bounce_dist_browser_Bouncer_js.js +38 -38
  82. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  83. package/interactions_external_bubble_dist_browser_Bubbler_js.js +38 -38
  84. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  85. package/interactions_external_connect_dist_browser_Connector_js.js +38 -38
  86. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  87. package/interactions_external_grab_dist_browser_Grabber_js.js +38 -38
  88. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  89. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +38 -38
  90. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  91. package/interactions_external_pause_dist_browser_Pauser_js.js +38 -38
  92. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  93. package/interactions_external_push_dist_browser_Pusher_js.js +38 -38
  94. package/interactions_external_push_dist_browser_index_js.js +2 -2
  95. package/interactions_external_remove_dist_browser_Remover_js.js +38 -38
  96. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  97. package/interactions_external_repulse_dist_browser_Repulser_js.js +38 -38
  98. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  99. package/interactions_external_slow_dist_browser_Slower_js.js +38 -38
  100. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  101. package/interactions_external_trail_dist_browser_TrailMaker_js.js +38 -38
  102. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  103. package/interactions_particles_attract_dist_browser_Attractor_js.js +38 -38
  104. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  105. package/interactions_particles_collisions_dist_browser_Collider_js.js +38 -38
  106. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  107. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
  108. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  109. package/interactions_particles_links_dist_browser_LinkInstance_js.js +3 -23
  110. package/interactions_particles_links_dist_browser_Linker_js.js +40 -40
  111. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
  112. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  113. package/move_base_dist_browser_BaseMover_js.js +1 -1
  114. package/move_base_dist_browser_index_js.js +2 -2
  115. package/package.json +14 -14
  116. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +1 -1
  117. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
  118. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +38 -38
  119. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  120. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  121. package/plugins_absorbers_dist_browser_index_js.js +2 -2
  122. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  123. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  124. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  125. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  126. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  127. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  128. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  129. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  130. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +2 -2
  131. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  132. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +2 -2
  133. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  134. package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
  135. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
  136. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +38 -38
  137. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  138. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  139. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  140. package/plugins_emitters_dist_browser_index_js.js +2 -2
  141. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  142. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +3 -3
  143. package/plugins_interactivity_dist_browser_index_js.js +38 -38
  144. package/report.html +3 -3
  145. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  146. package/shapes_circle_dist_browser_index_js.js +2 -2
  147. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  148. package/shapes_emoji_dist_browser_index_js.js +2 -2
  149. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  150. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  151. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +30 -0
  152. package/shapes_image_dist_browser_ImagePreloader_js.js +2 -2
  153. package/shapes_image_dist_browser_index_js.js +2 -2
  154. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  155. package/shapes_line_dist_browser_index_js.js +2 -2
  156. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  157. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  158. package/shapes_polygon_dist_browser_index_js.js +2 -2
  159. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  160. package/shapes_square_dist_browser_index_js.js +2 -2
  161. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  162. package/shapes_star_dist_browser_index_js.js +2 -2
  163. package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
  164. package/shapes_text_dist_browser_index_js.js +2 -2
  165. package/slim_dist_browser_index_js.js +2 -2
  166. package/tsparticles.bundle.js +8 -8
  167. package/tsparticles.bundle.min.js +2 -2
  168. package/tsparticles.js +2 -2
  169. package/tsparticles.min.js +1 -1
  170. package/umd/index.js +1 -1
  171. package/updaters_color_dist_browser_ColorUpdater_js.js +1 -1
  172. package/updaters_color_dist_browser_index_js.js +2 -2
  173. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +1 -1
  174. package/updaters_destroy_dist_browser_index_js.js +2 -2
  175. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  176. package/updaters_life_dist_browser_index_js.js +2 -2
  177. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  178. package/updaters_opacity_dist_browser_index_js.js +2 -2
  179. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  180. package/updaters_outModes_dist_browser_index_js.js +2 -2
  181. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  182. package/updaters_roll_dist_browser_index_js.js +2 -2
  183. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  184. package/updaters_rotate_dist_browser_index_js.js +2 -2
  185. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  186. package/updaters_size_dist_browser_index_js.js +2 -2
  187. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
  188. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  189. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  190. package/updaters_tilt_dist_browser_index_js.js +2 -2
  191. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +1 -1
  192. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  193. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +1 -1
  194. package/updaters_wobble_dist_browser_index_js.js +2 -2
  195. package/7953.min.js +0 -1
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -107,53 +107,63 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
107
107
 
108
108
  /***/ },
109
109
 
110
- /***/ "../../plugins/interactivity/dist/browser/DivType.js"
111
- /*!***********************************************************!*\
112
- !*** ../../plugins/interactivity/dist/browser/DivType.js ***!
113
- \***********************************************************/
110
+ /***/ "../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js"
111
+ /*!**************************************************************************************!*\
112
+ !*** ../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js ***!
113
+ \**************************************************************************************/
114
114
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
115
115
 
116
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivType: () => (/* binding */ DivType)\n/* harmony export */ });\nvar DivType;\n(function(DivType) {\n DivType[\"circle\"] = \"circle\";\n DivType[\"rectangle\"] = \"rectangle\";\n})(DivType || (DivType = {}));\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/DivType.js?\n}");
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/../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js?\n}");
117
117
 
118
118
  /***/ },
119
119
 
120
- /***/ "../../plugins/interactivity/dist/browser/ExternalInteractorBase.js"
121
- /*!**************************************************************************!*\
122
- !*** ../../plugins/interactivity/dist/browser/ExternalInteractorBase.js ***!
123
- \**************************************************************************/
120
+ /***/ "../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js"
121
+ /*!***************************************************************************************!*\
122
+ !*** ../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js ***!
123
+ \***************************************************************************************/
124
124
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
125
125
 
126
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ExternalInteractorBase: () => (/* binding */ ExternalInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InteractorType.js */ \"../../plugins/interactivity/dist/browser/InteractorType.js\");\n\nclass ExternalInteractorBase {\n type = _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.external;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/ExternalInteractorBase.js?\n}");
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/../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js?\n}");
127
127
 
128
128
  /***/ },
129
129
 
130
- /***/ "../../plugins/interactivity/dist/browser/InteractivityConstants.js"
131
- /*!**************************************************************************!*\
132
- !*** ../../plugins/interactivity/dist/browser/InteractivityConstants.js ***!
133
- \**************************************************************************/
130
+ /***/ "../../plugins/interactivity/dist/browser/Enums/DivType.js"
131
+ /*!*****************************************************************!*\
132
+ !*** ../../plugins/interactivity/dist/browser/Enums/DivType.js ***!
133
+ \*****************************************************************/
134
134
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
135
135
 
136
- 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/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
136
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivType: () => (/* binding */ DivType)\n/* harmony export */ });\nvar DivType;\n(function(DivType) {\n DivType[\"circle\"] = \"circle\";\n DivType[\"rectangle\"] = \"rectangle\";\n})(DivType || (DivType = {}));\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/Enums/DivType.js?\n}");
137
137
 
138
138
  /***/ },
139
139
 
140
- /***/ "../../plugins/interactivity/dist/browser/InteractivityDetect.js"
141
- /*!***********************************************************************!*\
142
- !*** ../../plugins/interactivity/dist/browser/InteractivityDetect.js ***!
143
- \***********************************************************************/
140
+ /***/ "../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js"
141
+ /*!*****************************************************************************!*\
142
+ !*** ../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js ***!
143
+ \*****************************************************************************/
144
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
145
+
146
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractivityDetect: () => (/* binding */ InteractivityDetect)\n/* harmony export */ });\nvar InteractivityDetect;\n(function(InteractivityDetect) {\n InteractivityDetect[\"canvas\"] = \"canvas\";\n InteractivityDetect[\"parent\"] = \"parent\";\n InteractivityDetect[\"window\"] = \"window\";\n})(InteractivityDetect || (InteractivityDetect = {}));\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js?\n}");
147
+
148
+ /***/ },
149
+
150
+ /***/ "../../plugins/interactivity/dist/browser/Enums/InteractorType.js"
151
+ /*!************************************************************************!*\
152
+ !*** ../../plugins/interactivity/dist/browser/Enums/InteractorType.js ***!
153
+ \************************************************************************/
144
154
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
145
155
 
146
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractivityDetect: () => (/* binding */ InteractivityDetect)\n/* harmony export */ });\nvar InteractivityDetect;\n(function(InteractivityDetect) {\n InteractivityDetect[\"canvas\"] = \"canvas\";\n InteractivityDetect[\"parent\"] = \"parent\";\n InteractivityDetect[\"window\"] = \"window\";\n})(InteractivityDetect || (InteractivityDetect = {}));\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/InteractivityDetect.js?\n}");
156
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractorType: () => (/* binding */ InteractorType)\n/* harmony export */ });\nvar InteractorType;\n(function(InteractorType) {\n InteractorType[\"external\"] = \"external\";\n InteractorType[\"particles\"] = \"particles\";\n})(InteractorType || (InteractorType = {}));\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/Enums/InteractorType.js?\n}");
147
157
 
148
158
  /***/ },
149
159
 
150
- /***/ "../../plugins/interactivity/dist/browser/InteractorType.js"
151
- /*!******************************************************************!*\
152
- !*** ../../plugins/interactivity/dist/browser/InteractorType.js ***!
153
- \******************************************************************/
160
+ /***/ "../../plugins/interactivity/dist/browser/InteractivityConstants.js"
161
+ /*!**************************************************************************!*\
162
+ !*** ../../plugins/interactivity/dist/browser/InteractivityConstants.js ***!
163
+ \**************************************************************************/
154
164
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
155
165
 
156
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractorType: () => (/* binding */ InteractorType)\n/* harmony export */ });\nvar InteractorType;\n(function(InteractorType) {\n InteractorType[\"external\"] = \"external\";\n InteractorType[\"particles\"] = \"particles\";\n})(InteractorType || (InteractorType = {}));\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/InteractorType.js?\n}");
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/../../plugins/interactivity/dist/browser/InteractivityConstants.js?\n}");
157
167
 
158
168
  /***/ },
159
169
 
@@ -163,7 +173,7 @@ 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 */ DivEvent: () => (/* binding */ DivEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _DivType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../DivType.js */ \"../../plugins/interactivity/dist/browser/DivType.js\");\n\n\nclass DivEvent {\n enable;\n mode;\n selectors;\n type;\n constructor(){\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = _DivType_js__WEBPACK_IMPORTED_MODULE_1__.DivType.circle;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js?\n}");
176
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* binding */ DivEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n\n\nclass DivEvent {\n enable;\n mode;\n selectors;\n type;\n constructor(){\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_1__.DivType.circle;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js?\n}");
167
177
 
168
178
  /***/ },
169
179
 
@@ -177,23 +187,13 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
177
187
 
178
188
  /***/ },
179
189
 
180
- /***/ "../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js"
181
- /*!***************************************************************************!*\
182
- !*** ../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js ***!
183
- \***************************************************************************/
184
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
185
-
186
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesInteractorBase: () => (/* binding */ ParticlesInteractorBase)\n/* harmony export */ });\n/* harmony import */ var _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./InteractorType.js */ \"../../plugins/interactivity/dist/browser/InteractorType.js\");\n\nclass ParticlesInteractorBase {\n type = _InteractorType_js__WEBPACK_IMPORTED_MODULE_0__.InteractorType.particles;\n container;\n constructor(container){\n this.container = container;\n }\n}\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js?\n}");
187
-
188
- /***/ },
189
-
190
190
  /***/ "../../plugins/interactivity/dist/browser/index.js"
191
191
  /*!*********************************************************!*\
192
192
  !*** ../../plugins/interactivity/dist/browser/index.js ***!
193
193
  \*********************************************************/
194
194
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
195
195
 
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 */ _DivType_js__WEBPACK_IMPORTED_MODULE_1__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_4__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _InteractorType_js__WEBPACK_IMPORTED_MODULE_5__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_6__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _DivType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DivType.js */ \"../../plugins/interactivity/dist/browser/DivType.js\");\n/* harmony import */ var _ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/ExternalInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/InteractivityDetect.js\");\n/* harmony import */ var _InteractorType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./InteractorType.js */ \"../../plugins/interactivity/dist/browser/InteractorType.js\");\n/* harmony import */ var _ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/ParticlesInteractorBase.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.21\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/index.js?\n}");
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-alpha.23\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://tsparticles/../../plugins/interactivity/dist/browser/index.js?\n}");
197
197
 
198
198
  /***/ },
199
199
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \*********************************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadParticlesCollisionsInteraction: () => (/* binding */ loadParticlesCollisionsInteraction)\n/* harmony export */ });\nasync function loadParticlesCollisionsInteraction(engine) {\n engine.checkVersion(\"4.0.0-alpha.21\");\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/../../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 */ });\nasync function loadParticlesCollisionsInteraction(engine) {\n engine.checkVersion(\"4.0.0-alpha.23\");\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/../../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-alpha.21
7
+ * v4.0.0-alpha.23
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \***********************************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ 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;\nclass LinkInstance {\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) {\n return;\n }\n const p1Links = links.filter((l)=>options.links && (options.links.frequency >= maxFrequency || this._getLinkFrequency(particle, l.destination) <= options.links.frequency));\n for (const link of p1Links){\n this._drawTriangles(options, particle, link, p1Links);\n if (link.opacity > minOpacity && (particle.retina.linksWidth ?? minWidth) > minWidth) {\n this._drawLinkLine(particle, link);\n }\n }\n }\n async init() {\n this._freqs.links = new Map();\n this._freqs.triangles = new Map();\n await Promise.resolve();\n }\n particleCreated(particle) {\n particle.links = [];\n if (!particle.options.links) {\n return;\n }\n const ratio = this._container.retina.pixelRatio, { retina } = particle, { distance, width } = particle.options.links;\n retina.linksDistance = distance * ratio;\n retina.linksWidth = width * ratio;\n }\n particleDestroyed(particle) {\n particle.links = [];\n }\n _drawLinkLine = (p1, link)=>{\n const p1LinksOptions = p1.options.links;\n if (!p1LinksOptions?.enable) {\n return;\n }\n const container = this._container, p2 = link.destination, pos1 = p1.getPosition(), pos2 = p2.getPosition();\n let opacity = link.opacity;\n container.canvas.draw((ctx)=>{\n let colorLine;\n const twinkle = p1.options[\"twinkle\"]?.lines;\n if (twinkle?.enable) {\n const twinkleFreq = twinkle.frequency, twinkleRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, twinkle.color), twinkling = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkleFreq;\n if (twinkling && twinkleRgb) {\n colorLine = twinkleRgb;\n opacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity);\n }\n }\n if (!colorLine) {\n const linkColor = p1LinksOptions.id !== undefined ? container.particles.linksColors.get(p1LinksOptions.id) : container.particles.linksColor;\n colorLine = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLinkColor)(p1, p2, linkColor);\n }\n if (!colorLine) {\n return;\n }\n const width = p1.retina.linksWidth ?? minWidth, maxDistance = p1.retina.linksDistance ?? minDistance;\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawLinkLine)({\n context: ctx,\n width,\n begin: pos1,\n end: pos2,\n engine: this._engine,\n maxDistance,\n canvasSize: container.canvas.size,\n links: p1LinksOptions,\n colorLine,\n opacity,\n hdr: container.hdr\n });\n });\n };\n _drawLinkTriangle = (p1, link1, link2)=>{\n const linksOptions = p1.options.links;\n if (!linksOptions?.enable) {\n return;\n }\n const triangleOptions = linksOptions.triangles;\n if (!triangleOptions.enable) {\n return;\n }\n const container = this._container, p2 = link1.destination, p3 = link2.destination, opacityTriangle = triangleOptions.opacity ?? (link1.opacity + link2.opacity) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half;\n if (opacityTriangle <= minOpacity) {\n return;\n }\n container.canvas.draw((ctx)=>{\n const pos1 = p1.getPosition(), pos2 = p2.getPosition(), pos3 = p3.getPosition(), linksDistance = p1.retina.linksDistance ?? minDistance;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(pos1, pos2) > linksDistance || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(pos3, pos2) > linksDistance || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(pos3, pos1) > linksDistance) {\n return;\n }\n let colorTriangle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, triangleOptions.color);\n if (!colorTriangle) {\n const linkColor = linksOptions.id !== undefined ? container.particles.linksColors.get(linksOptions.id) : container.particles.linksColor;\n colorTriangle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLinkColor)(p1, p2, linkColor);\n }\n if (!colorTriangle) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawLinkTriangle)({\n context: ctx,\n pos1,\n pos2,\n pos3,\n colorTriangle,\n opacityTriangle,\n hdr: container.hdr\n });\n });\n };\n _drawTriangles = (options, p1, link, p1Links)=>{\n const p2 = link.destination;\n if (!(options.links?.triangles.enable && p2.options.links?.triangles.enable)) {\n return;\n }\n const vertices = p2.links?.filter((t)=>{\n const linkFreq = this._getLinkFrequency(p2, t.destination), minCount = 0;\n return p2.options.links && linkFreq <= p2.options.links.frequency && p1Links.findIndex((l)=>l.destination === t.destination) >= minCount;\n });\n if (!vertices?.length) {\n return;\n }\n for (const vertex of vertices){\n const p3 = vertex.destination, triangleFreq = this._getTriangleFrequency(p1, p2, p3);\n if (triangleFreq > options.links.triangles.frequency) {\n continue;\n }\n this._drawLinkTriangle(p1, link, vertex);\n }\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/../../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, minDistance = 0, minWidth = 0, maxFrequency = 1, defaultFrequency = 0, opacitySteps = 10, defaultWidth = 0, triangleCoordsCount = 6, lineCoordsCount = 4, x1Offset = 0, y1Offset = 1, x2Offset = 2, y2Offset = 3, x3Offset = 4, y3Offset = 5;\nclass LinkInstance {\n _colorCache = new Map();\n _container;\n _engine;\n _freqs;\n _lineBatches = new Map();\n _triangleBatches = new Map();\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 draw(context) {\n for (const [, batch] of this._triangleBatches){\n context.save();\n context.fillStyle = batch.colorStyle;\n context.globalAlpha = batch.opacity;\n context.beginPath();\n for(let i = 0; i < batch.coords.length; i += triangleCoordsCount){\n const x1 = batch.coords[i + x1Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, y1 = batch.coords[i + y1Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, x2 = batch.coords[i + x2Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, y2 = batch.coords[i + y2Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, x3 = batch.coords[i + x3Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, y3 = batch.coords[i + y3Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y;\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(x3, y3);\n }\n context.fill();\n context.restore();\n }\n for (const [, batch] of this._lineBatches){\n context.save();\n context.strokeStyle = batch.colorStyle;\n context.lineWidth = batch.width;\n context.globalAlpha = batch.opacity;\n context.beginPath();\n for(let i = 0; i < batch.coords.length; i += lineCoordsCount){\n const x1 = batch.coords[i + x1Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, y1 = batch.coords[i + y1Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, x2 = batch.coords[i + x2Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, y2 = batch.coords[i + y2Offset] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y;\n context.moveTo(x1, y1);\n context.lineTo(x2, y2);\n }\n context.stroke();\n context.restore();\n }\n this._lineBatches.clear();\n this._triangleBatches.clear();\n }\n drawParticle(_context, particle) {\n const { links, options } = particle;\n if (!links?.length || !options.links) {\n return;\n }\n const canvasSize = this._container.canvas.size, p1Links = links.filter((l)=>options.links && (options.links.frequency >= maxFrequency || this._getLinkFrequency(particle, l.destination) <= options.links.frequency)), pos1 = particle.getPosition();\n for (const link of p1Links){\n if (!link.isWarped) {\n this._collectTriangles(options, particle, link, p1Links);\n }\n if (link.opacity > minOpacity && (particle.retina.linksWidth ?? minWidth) > minWidth) {\n let opacity = link.opacity, colorLine = link.color;\n const twinkle = particle.options[\"twinkle\"]?.lines;\n if (twinkle?.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency) {\n const twinkleRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, twinkle.color);\n if (twinkleRgb) {\n colorLine = twinkleRgb;\n opacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity);\n }\n }\n if (!colorLine) {\n const linkColor = options.links.id !== undefined ? this._container.particles.linksColors.get(options.links.id) : this._container.particles.linksColor;\n colorLine = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLinkColor)(particle, link.destination, linkColor);\n }\n if (colorLine) {\n const qOpacity = Math.ceil(opacity * opacitySteps) / opacitySteps, colorStyle = this._getCachedStyle(colorLine), width = particle.retina.linksWidth ?? defaultWidth, key = `${colorStyle}_${qOpacity}_${width}`;\n let batch = this._lineBatches.get(key);\n if (!batch) {\n batch = {\n colorStyle,\n opacity: qOpacity,\n width,\n coords: []\n };\n this._lineBatches.set(key, batch);\n }\n const pos2 = link.destination.getPosition();\n if (link.isWarped) {\n const 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 const v2 = {\n x: pos2.x + sx,\n y: pos2.y + sy\n }, v1 = {\n x: pos1.x - sx,\n y: pos1.y - sy\n };\n batch.coords.push(pos1.x, pos1.y, v2.x, v2.y);\n batch.coords.push(v1.x, v1.y, pos2.x, pos2.y);\n } else {\n batch.coords.push(pos1.x, pos1.y, pos2.x, pos2.y);\n }\n }\n }\n }\n }\n async init() {\n this._freqs.links.clear();\n this._freqs.triangles.clear();\n this._colorCache.clear();\n await Promise.resolve();\n }\n particleCreated(particle) {\n particle.links = [];\n if (!particle.options.links) {\n return;\n }\n const ratio = this._container.retina.pixelRatio;\n particle.retina.linksDistance = particle.options.links.distance * ratio;\n particle.retina.linksWidth = particle.options.links.width * ratio;\n }\n particleDestroyed(particle) {\n particle.links = [];\n }\n _collectTriangles(options, p1, link, p1Links) {\n const p2 = link.destination, triangleOptions = options.links?.triangles;\n if (!triangleOptions?.enable || !p2.options.links?.triangles.enable) {\n return;\n }\n const vertices = p2.links?.filter((t)=>{\n return !t.isWarped && p2.options.links && this._getLinkFrequency(p2, t.destination) <= p2.options.links.frequency && p1Links.some((l)=>l.destination === t.destination);\n });\n if (!vertices?.length) {\n return;\n }\n for (const vertex of vertices){\n const p3 = vertex.destination;\n if (this._getTriangleFrequency(p1, p2, p3) > (options.links?.triangles.frequency ?? defaultFrequency)) {\n continue;\n }\n const opacityTriangle = Math.ceil((link.opacity + vertex.opacity) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half * opacitySteps) / opacitySteps, colorTriangle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, triangleOptions.color) ?? link.color;\n if (!colorTriangle) {\n continue;\n }\n const colorStyle = this._getCachedStyle(colorTriangle), key = `${colorStyle}_${opacityTriangle}`;\n let batch = this._triangleBatches.get(key);\n if (!batch) {\n batch = {\n colorStyle,\n opacity: opacityTriangle,\n coords: []\n };\n this._triangleBatches.set(key, batch);\n }\n const pos1 = p1.getPosition(), pos2 = p2.getPosition(), pos3 = p3.getPosition();\n batch.coords.push(pos1.x, pos1.y, pos2.x, pos2.y, pos3.x, pos3.y);\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/../../interactions/particles/links/dist/browser/LinkInstance.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,27 +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 */ drawLinkLine: () => (/* binding */ drawLinkLine),\n/* harmony export */ drawLinkTriangle: () => (/* binding */ drawLinkTriangle),\n/* harmony export */ drawTriangle: () => (/* binding */ drawTriangle),\n/* harmony export */ getLinkKey: () => (/* binding */ getLinkKey),\n/* harmony export */ setLinkFrequency: () => (/* binding */ setLinkFrequency)\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_canvas_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/canvas-utils */ \"../../utils/canvasUtils/dist/browser/index.js\");\n\n\nfunction drawTriangle(context, p1, p2, p3) {\n context.beginPath();\n context.moveTo(p1.x, p1.y);\n context.lineTo(p2.x, p2.y);\n context.lineTo(p3.x, p3.y);\n context.closePath();\n}\nfunction drawLinkLine(params) {\n let drawn = false;\n const { begin, end, engine, maxDistance, context, canvasSize, width, colorLine, opacity, links, hdr } = params;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(begin, end) <= maxDistance) {\n (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_1__.drawLine)(context, begin, end);\n drawn = true;\n } else if (links.warp) {\n let pi1, pi2;\n const endNE = {\n x: end.x - canvasSize.width,\n y: end.y\n }, d1 = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(begin, endNE);\n if (d1.distance <= maxDistance) {\n const yi = begin.y - d1.dy / d1.dx * begin.x;\n pi1 = {\n x: 0,\n y: yi\n };\n pi2 = {\n x: canvasSize.width,\n y: yi\n };\n } else {\n const endSW = {\n x: end.x,\n y: end.y - canvasSize.height\n }, d2 = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(begin, endSW);\n if (d2.distance <= maxDistance) {\n const yi = begin.y - d2.dy / d2.dx * begin.x, xi = -yi / (d2.dy / d2.dx);\n pi1 = {\n x: xi,\n y: 0\n };\n pi2 = {\n x: xi,\n y: canvasSize.height\n };\n } else {\n const endSE = {\n x: end.x - canvasSize.width,\n y: end.y - canvasSize.height\n }, d3 = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(begin, endSE);\n if (d3.distance <= maxDistance) {\n const yi = begin.y - d3.dy / d3.dx * begin.x, xi = -yi / (d3.dy / d3.dx);\n pi1 = {\n x: xi,\n y: yi\n };\n pi2 = {\n x: pi1.x + canvasSize.width,\n y: pi1.y + canvasSize.height\n };\n }\n }\n }\n if (pi1 && pi2) {\n (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_1__.drawLine)(context, begin, pi1);\n (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_1__.drawLine)(context, end, pi2);\n drawn = true;\n }\n }\n if (!drawn) {\n return;\n }\n context.lineWidth = width;\n context.strokeStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(colorLine, hdr, opacity);\n const { shadow } = links;\n if (shadow.enable) {\n const shadowColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(engine, shadow.color);\n if (shadowColor) {\n context.shadowBlur = shadow.blur;\n context.shadowColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(shadowColor, hdr);\n }\n }\n context.stroke();\n}\nfunction drawLinkTriangle(params) {\n const { context, hdr, pos1, pos2, pos3, colorTriangle, opacityTriangle } = params;\n drawTriangle(context, pos1, pos2, pos3);\n context.fillStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(colorTriangle, hdr, opacityTriangle);\n context.fill();\n}\nfunction getLinkKey(ids) {\n ids.sort((a, b)=>a - b);\n return ids.join(\"_\");\n}\nfunction setLinkFrequency(particles, dictionary) {\n const key = getLinkKey(particles.map((t)=>t.id));\n let res = dictionary.get(key);\n if (res === undefined) {\n res = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n dictionary.set(key, res);\n }\n return res;\n}\n\n\n//# sourceURL=webpack://tsparticles/../../interactions/particles/links/dist/browser/Utils.js?\n}");
37
-
38
- /***/ },
39
-
40
- /***/ "../../utils/canvasUtils/dist/browser/Utils.js"
41
- /*!*****************************************************!*\
42
- !*** ../../utils/canvasUtils/dist/browser/Utils.js ***!
43
- \*****************************************************/
44
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
-
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawLine: () => (/* binding */ drawLine),\n/* harmony export */ getCanvasImageData: () => (/* binding */ getCanvasImageData),\n/* harmony export */ getImageData: () => (/* binding */ getImageData),\n/* harmony export */ getTextData: () => (/* binding */ getTextData),\n/* harmony export */ loadFont: () => (/* binding */ loadFont)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultWidth = 0;\nfunction drawLine(context, begin, end) {\n context.beginPath();\n context.moveTo(begin.x, begin.y);\n context.lineTo(end.x, end.y);\n context.closePath();\n}\nfunction getCanvasImageData(ctx, size, offset, clear = true) {\n const imageData = ctx.getImageData(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height).data;\n if (clear) {\n ctx.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height);\n }\n const pixels = [];\n for(let i = 0; i < imageData.length; i += offset){\n const idx = i / offset, pos = {\n x: idx % size.width,\n y: Math.floor(idx / size.width)\n };\n pixels[pos.y] ??= [];\n const indexesOffset = {\n r: 0,\n g: 1,\n b: 2,\n a: 3\n }, alphaFactor = 255, row = pixels[pos.y];\n if (!row) {\n continue;\n }\n row[pos.x] = {\n r: imageData[i + indexesOffset.r] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n g: imageData[i + indexesOffset.g] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n b: imageData[i + indexesOffset.b] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n a: (imageData[i + indexesOffset.a] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha) / alphaFactor\n };\n }\n return {\n pixels,\n width: Math.min(...pixels.map((row)=>row.length)),\n height: pixels.length\n };\n}\nfunction getImageData(src, offset, canvasSettings) {\n const image = new Image();\n image.crossOrigin = \"Anonymous\";\n const p = new Promise((resolve, reject)=>{\n image.onerror = reject;\n image.onload = ()=>{\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n const context = canvas.getContext(\"2d\", canvasSettings);\n if (!context) {\n reject(new Error(\"Could not get canvas context\"));\n return;\n }\n context.drawImage(image, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, image.width, image.height, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, canvas.width, canvas.height);\n resolve(getCanvasImageData(context, canvas, offset));\n };\n });\n image.src = src;\n return p;\n}\nfunction getTextData(textOptions, offset, fill, canvasSettings) {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\"), context = canvas.getContext(\"2d\", canvasSettings), { font, text, lines: linesOptions, color } = textOptions;\n if (!text || !context) {\n return;\n }\n const lines = text.split(linesOptions.separator), fontSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(font.size) ? `${font.size.toString()}px` : font.size, linesData = [];\n let maxWidth = 0, totalHeight = 0;\n for (const line of lines){\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n const measure = context.measureText(line), lineData = {\n measure,\n text: line,\n height: measure.actualBoundingBoxAscent + measure.actualBoundingBoxDescent,\n width: measure.width\n };\n maxWidth = Math.max(maxWidth || defaultWidth, lineData.width);\n totalHeight += lineData.height + linesOptions.spacing;\n linesData.push(lineData);\n }\n canvas.width = maxWidth;\n canvas.height = totalHeight;\n let currentHeight = 0;\n for (const line of linesData){\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n if (fill) {\n context.fillStyle = color;\n context.fillText(line.text, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, currentHeight + line.measure.actualBoundingBoxAscent);\n } else {\n context.strokeStyle = color;\n context.strokeText(line.text, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, currentHeight + line.measure.actualBoundingBoxAscent);\n }\n currentHeight += line.height + linesOptions.spacing;\n }\n return getCanvasImageData(context, canvas, offset);\n}\nasync function loadFont(font, weight) {\n try {\n await (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().fonts.load(`${weight ?? \"400\"} 36px '${font ?? \"Verdana\"}'`);\n } catch {}\n}\n\n\n//# sourceURL=webpack://tsparticles/../../utils/canvasUtils/dist/browser/Utils.js?\n}");
47
-
48
- /***/ },
49
-
50
- /***/ "../../utils/canvasUtils/dist/browser/index.js"
51
- /*!*****************************************************!*\
52
- !*** ../../utils/canvasUtils/dist/browser/index.js ***!
53
- \*****************************************************/
54
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
-
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawLine: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawLine),\n/* harmony export */ getCanvasImageData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getCanvasImageData),\n/* harmony export */ getImageData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getImageData),\n/* harmony export */ getTextData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getTextData),\n/* harmony export */ loadFont: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadFont)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../utils/canvasUtils/dist/browser/Utils.js\");\n\n\n\n//# sourceURL=webpack://tsparticles/../../utils/canvasUtils/dist/browser/index.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getLinkKey: () => (/* binding */ getLinkKey),\n/* harmony export */ setLinkFrequency: () => (/* binding */ setLinkFrequency)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nfunction getLinkKey(ids) {\n ids.sort((a, b)=>a - b);\n return ids.join(\"_\");\n}\nfunction setLinkFrequency(particles, dictionary) {\n const key = getLinkKey(particles.map((t)=>t.id));\n let res = dictionary.get(key);\n if (res === undefined) {\n res = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n dictionary.set(key, res);\n }\n return res;\n}\n\n\n//# sourceURL=webpack://tsparticles/../../interactions/particles/links/dist/browser/Utils.js?\n}");
57
37
 
58
38
  /***/ }
59
39