@tsparticles/pjs 4.0.0-alpha.26 → 4.0.0-alpha.28

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 (333) hide show
  1. package/102.min.js +1 -0
  2. package/1098.min.js +1 -0
  3. package/{5055.min.js → 1298.min.js} +1 -1
  4. package/1302.min.js +1 -0
  5. package/1368.min.js +1 -0
  6. package/1510.min.js +1 -0
  7. package/1553.min.js +1 -0
  8. package/161.min.js +1 -0
  9. package/{2057.min.js → 1624.min.js} +1 -1
  10. package/1667.min.js +1 -0
  11. package/229.min.js +1 -0
  12. package/{4756.min.js → 2382.min.js} +1 -1
  13. package/243.min.js +1 -0
  14. package/2616.min.js +1 -0
  15. package/2618.min.js +1 -0
  16. package/{6670.min.js → 2738.min.js} +1 -1
  17. package/2846.min.js +1 -0
  18. package/2926.min.js +1 -1
  19. package/3091.min.js +1 -0
  20. package/3093.min.js +1 -0
  21. package/3130.min.js +1 -0
  22. package/{8323.min.js → 3194.min.js} +1 -1
  23. package/3296.min.js +1 -0
  24. package/3407.min.js +1 -0
  25. package/{1727.min.js → 3413.min.js} +1 -1
  26. package/3433.min.js +1 -0
  27. package/3455.min.js +1 -1
  28. package/{7631.min.js → 3464.min.js} +1 -1
  29. package/358.min.js +1 -0
  30. package/3618.min.js +1 -0
  31. package/{5336.min.js → 3657.min.js} +1 -1
  32. package/{1262.min.js → 3659.min.js} +1 -1
  33. package/366.min.js +1 -0
  34. package/3663.min.js +1 -0
  35. package/3713.min.js +1 -0
  36. package/3715.min.js +1 -0
  37. package/3813.min.js +1 -0
  38. package/{7662.min.js → 4089.min.js} +1 -1
  39. package/4149.min.js +1 -0
  40. package/{4054.min.js → 4191.min.js} +1 -1
  41. package/4257.min.js +1 -0
  42. package/4268.min.js +1 -0
  43. package/4270.min.js +1 -0
  44. package/4285.min.js +1 -0
  45. package/{6107.min.js → 4292.min.js} +1 -1
  46. package/439.min.js +1 -1
  47. package/4462.min.js +1 -0
  48. package/4570.min.js +1 -0
  49. package/4572.min.js +1 -0
  50. package/{4935.min.js → 4588.min.js} +1 -1
  51. package/465.min.js +1 -0
  52. package/4660.min.js +1 -0
  53. package/{2017.min.js → 4724.min.js} +1 -1
  54. package/4792.min.js +1 -0
  55. package/485.min.js +1 -0
  56. package/4932.min.js +1 -0
  57. package/514.min.js +1 -0
  58. package/5157.min.js +1 -0
  59. package/5315.min.js +1 -0
  60. package/5390.min.js +1 -0
  61. package/5406.min.js +1 -0
  62. package/{6114.min.js → 5478.min.js} +1 -1
  63. package/5538.min.js +1 -0
  64. package/5552.min.js +1 -0
  65. package/{1040.min.js → 5855.min.js} +1 -1
  66. package/5964.min.js +1 -0
  67. package/{9743.min.js → 6066.min.js} +1 -1
  68. package/608.min.js +1 -0
  69. package/6098.min.js +1 -0
  70. package/6101.min.js +1 -0
  71. package/6179.min.js +1 -0
  72. package/622.min.js +1 -0
  73. package/6299.min.js +1 -0
  74. package/6361.min.js +1 -0
  75. package/6465.min.js +1 -0
  76. package/65.min.js +1 -0
  77. package/653.min.js +1 -0
  78. package/6583.min.js +1 -0
  79. package/6638.min.js +1 -0
  80. package/6684.min.js +1 -0
  81. package/{2683.min.js → 6839.min.js} +1 -1
  82. package/{5123.min.js → 6970.min.js} +1 -1
  83. package/6982.min.js +1 -0
  84. package/6986.min.js +1 -0
  85. package/7116.min.js +1 -0
  86. package/7256.min.js +1 -0
  87. package/{3539.min.js → 7258.min.js} +1 -1
  88. package/7318.min.js +1 -0
  89. package/7449.min.js +1 -0
  90. package/7475.min.js +1 -0
  91. package/7520.min.js +1 -0
  92. package/{5299.min.js → 7622.min.js} +2 -2
  93. package/7646.min.js +1 -0
  94. package/7812.min.js +1 -1
  95. package/{6907.min.js → 7876.min.js} +1 -1
  96. package/7922.min.js +1 -0
  97. package/7925.min.js +1 -0
  98. package/7977.min.js +1 -0
  99. package/8109.min.js +1 -0
  100. package/8214.min.js +1 -0
  101. package/8222.min.js +1 -0
  102. package/8315.min.js +1 -0
  103. package/84.min.js +1 -0
  104. package/8476.min.js +1 -0
  105. package/8484.min.js +1 -0
  106. package/8589.min.js +1 -0
  107. package/8684.min.js +1 -0
  108. package/8689.min.js +1 -0
  109. package/8902.min.js +1 -0
  110. package/8926.min.js +2 -0
  111. package/9082.min.js +1 -0
  112. package/9202.min.js +1 -0
  113. package/9544.min.js +1 -0
  114. package/{7217.min.js → 9578.min.js} +1 -1
  115. package/9611.min.js +1 -0
  116. package/9739.min.js +1 -0
  117. package/README.md +31 -2
  118. package/basic_dist_browser_index_js.js +2 -2
  119. package/browser/index.js +1 -1
  120. package/cjs/index.js +1 -1
  121. package/engine_dist_browser_Core_Container_js.js +3 -3
  122. package/esm/index.js +1 -1
  123. package/full_dist_browser_index_js.js +2 -2
  124. package/interactions_external_attract_dist_browser_Attractor_js.js +2 -2
  125. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  126. package/interactions_external_bounce_dist_browser_Bouncer_js.js +2 -2
  127. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  128. package/interactions_external_bubble_dist_browser_Bubbler_js.js +2 -2
  129. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  130. package/interactions_external_connect_dist_browser_Connector_js.js +2 -2
  131. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  132. package/interactions_external_grab_dist_browser_Grabber_js.js +2 -2
  133. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  134. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +2 -2
  135. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  136. package/interactions_external_pause_dist_browser_Pauser_js.js +2 -2
  137. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  138. package/interactions_external_push_dist_browser_Pusher_js.js +2 -2
  139. package/interactions_external_push_dist_browser_index_js.js +2 -2
  140. package/interactions_external_remove_dist_browser_Remover_js.js +2 -2
  141. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  142. package/interactions_external_repulse_dist_browser_Repulser_js.js +2 -2
  143. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  144. package/interactions_external_slow_dist_browser_Slower_js.js +2 -2
  145. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  146. package/interactions_external_trail_dist_browser_TrailMaker_js.js +3 -3
  147. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  148. package/interactions_particles_attract_dist_browser_Attractor_js.js +2 -2
  149. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  150. package/interactions_particles_collisions_dist_browser_Collider_js.js +2 -2
  151. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  152. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
  153. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  154. package/interactions_particles_links_dist_browser_LinkInstance_js.js +2 -2
  155. package/interactions_particles_links_dist_browser_Linker_js.js +2 -2
  156. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
  157. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  158. package/package.json +4 -4
  159. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +1 -1
  160. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
  161. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +2 -2
  162. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  163. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  164. package/plugins_absorbers_dist_browser_index_js.js +2 -2
  165. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  166. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  167. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +2 -2
  168. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  169. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +2 -2
  170. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  171. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  172. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  173. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +2 -2
  174. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  175. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +2 -2
  176. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  177. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  178. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +12 -2
  179. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +14 -4
  180. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  181. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +12 -2
  182. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  183. package/plugins_emitters_dist_browser_index_js.js +2 -2
  184. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +1 -1
  185. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
  186. package/plugins_interactivity_dist_browser_index_js.js +2 -2
  187. package/plugins_move_dist_browser_MovePluginInstance_js.js +1 -1
  188. package/plugins_move_dist_browser_MovePlugin_js.js +1 -1
  189. package/plugins_move_dist_browser_index_js.js +2 -2
  190. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +1 -1
  191. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +3 -3
  192. package/plugins_responsive_dist_browser_index_js.js +2 -2
  193. package/report.html +1 -1
  194. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  195. package/shapes_circle_dist_browser_index_js.js +2 -2
  196. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  197. package/shapes_emoji_dist_browser_index_js.js +2 -2
  198. package/shapes_image_dist_browser_GifUtils_Utils_js.js +3 -3
  199. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  200. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
  201. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  202. package/shapes_image_dist_browser_index_js.js +2 -2
  203. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  204. package/shapes_line_dist_browser_index_js.js +2 -2
  205. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  206. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  207. package/shapes_polygon_dist_browser_index_js.js +2 -2
  208. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  209. package/shapes_square_dist_browser_index_js.js +2 -2
  210. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  211. package/shapes_star_dist_browser_index_js.js +2 -2
  212. package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
  213. package/shapes_text_dist_browser_index_js.js +2 -2
  214. package/slim_dist_browser_index_js.js +2 -2
  215. package/tsparticles.pjs.bundle.js +32 -22
  216. package/tsparticles.pjs.bundle.min.js +2 -2
  217. package/tsparticles.pjs.js +8 -8
  218. package/tsparticles.pjs.min.js +1 -1
  219. package/umd/index.js +1 -1
  220. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +3 -3
  221. package/updaters_destroy_dist_browser_index_js.js +2 -2
  222. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +30 -0
  223. package/{updaters_color_dist_browser_index_js.js → updaters_fillColor_dist_browser_index_js.js} +7 -7
  224. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  225. package/updaters_life_dist_browser_index_js.js +2 -2
  226. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  227. package/updaters_opacity_dist_browser_index_js.js +2 -2
  228. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  229. package/updaters_outModes_dist_browser_index_js.js +2 -2
  230. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  231. package/updaters_roll_dist_browser_index_js.js +2 -2
  232. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  233. package/updaters_rotate_dist_browser_index_js.js +2 -2
  234. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  235. package/updaters_size_dist_browser_index_js.js +2 -2
  236. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
  237. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  238. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  239. package/updaters_tilt_dist_browser_index_js.js +2 -2
  240. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +18 -8
  241. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  242. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +2 -2
  243. package/updaters_wobble_dist_browser_index_js.js +2 -2
  244. package/1032.min.js +0 -1
  245. package/1036.min.js +0 -1
  246. package/1119.min.js +0 -1
  247. package/1278.min.js +0 -1
  248. package/1324.min.js +0 -1
  249. package/1357.min.js +0 -1
  250. package/1423.min.js +0 -1
  251. package/1587.min.js +0 -1
  252. package/1681.min.js +0 -1
  253. package/1730.min.js +0 -1
  254. package/1951.min.js +0 -1
  255. package/209.min.js +0 -2
  256. package/2174.min.js +0 -1
  257. package/2183.min.js +0 -1
  258. package/2494.min.js +0 -1
  259. package/2656.min.js +0 -1
  260. package/296.min.js +0 -1
  261. package/3021.min.js +0 -1
  262. package/3056.min.js +0 -1
  263. package/3287.min.js +0 -1
  264. package/3336.min.js +0 -1
  265. package/3344.min.js +0 -1
  266. package/3362.min.js +0 -1
  267. package/3425.min.js +0 -1
  268. package/3533.min.js +0 -1
  269. package/3551.min.js +0 -1
  270. package/3574.min.js +0 -1
  271. package/3727.min.js +0 -1
  272. package/3947.min.js +0 -1
  273. package/4121.min.js +0 -1
  274. package/4159.min.js +0 -1
  275. package/4176.min.js +0 -1
  276. package/4359.min.js +0 -1
  277. package/4385.min.js +0 -1
  278. package/4443.min.js +0 -1
  279. package/4625.min.js +0 -1
  280. package/4677.min.js +0 -1
  281. package/47.min.js +0 -1
  282. package/4927.min.js +0 -1
  283. package/5101.min.js +0 -1
  284. package/5111.min.js +0 -1
  285. package/5218.min.js +0 -1
  286. package/5349.min.js +0 -1
  287. package/5556.min.js +0 -1
  288. package/5822.min.js +0 -1
  289. package/5852.min.js +0 -1
  290. package/6015.min.js +0 -1
  291. package/61.min.js +0 -1
  292. package/6137.min.js +0 -1
  293. package/6176.min.js +0 -1
  294. package/6344.min.js +0 -1
  295. package/6347.min.js +0 -1
  296. package/639.min.js +0 -1
  297. package/6447.min.js +0 -1
  298. package/6466.min.js +0 -1
  299. package/6484.min.js +0 -1
  300. package/649.min.js +0 -1
  301. package/651.min.js +0 -1
  302. package/6719.min.js +0 -1
  303. package/6747.min.js +0 -1
  304. package/6763.min.js +0 -1
  305. package/6960.min.js +0 -1
  306. package/7213.min.js +0 -1
  307. package/7245.min.js +0 -1
  308. package/7423.min.js +0 -1
  309. package/7458.min.js +0 -1
  310. package/7665.min.js +0 -1
  311. package/7962.min.js +0 -1
  312. package/8084.min.js +0 -1
  313. package/811.min.js +0 -1
  314. package/8238.min.js +0 -1
  315. package/8255.min.js +0 -1
  316. package/8258.min.js +0 -1
  317. package/8379.min.js +0 -1
  318. package/8586.min.js +0 -1
  319. package/8879.min.js +0 -1
  320. package/8917.min.js +0 -1
  321. package/9023.min.js +0 -1
  322. package/9066.min.js +0 -1
  323. package/9163.min.js +0 -1
  324. package/9187.min.js +0 -1
  325. package/9204.min.js +0 -1
  326. package/9337.min.js +0 -1
  327. package/9395.min.js +0 -1
  328. package/9661.min.js +0 -1
  329. package/975.min.js +0 -1
  330. package/9763.min.js +0 -1
  331. package/9862.min.js +0 -1
  332. package/995.min.js +0 -1
  333. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.26
7
+ * v4.0.0-alpha.28
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 */ Emitter: () => (/* binding */ Emitter)\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 _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawnColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n this.spawnColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\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 _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n/* harmony import */ var _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./EmitterSpawn.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js\");\n\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawn;\n spawnFillColor;\n spawnStrokeColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.spawn = new _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__.EmitterSpawn();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n this.spawn.load(data.spawn);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnFillColor !== undefined) {\n this.spawnFillColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnFillColor.load(data.spawnFillColor);\n }\n if (data.spawnStrokeColor !== undefined) {\n this.spawnStrokeColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnStrokeColor.load(data.spawnStrokeColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -85,6 +85,16 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
85
85
 
86
86
  eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSize: () => (/* binding */ EmitterSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSize {\n height;\n mode;\n width;\n constructor(){\n this.mode = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js?\n}");
87
87
 
88
+ /***/ },
89
+
90
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js"
91
+ /*!***************************************************************************!*\
92
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js ***!
93
+ \***************************************************************************/
94
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
+
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSpawn: () => (/* binding */ EmitterSpawn)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSpawn {\n fill;\n stroke;\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.fill) {\n this.fill ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Fill();\n this.fill.load(data.fill);\n }\n if (data.stroke) {\n this.stroke ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Stroke();\n this.stroke.load(data.stroke);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js?\n}");
97
+
88
98
  /***/ }
89
99
 
90
100
  }]);
@@ -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.26
7
+ * v4.0.0-alpha.28
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 */ EmittersInteractor: () => (/* binding */ EmittersInteractor)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants.js */ \"../../plugins/emitters/dist/browser/constants.js\");\n\n\n\n\nconst emittersMode = \"emitters\";\nclass EmittersInteractor extends _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__.ExternalInteractorBase {\n handleClickMode;\n maxDistance;\n _instancesManager;\n constructor(instancesManager, container){\n super(container);\n this._instancesManager = instancesManager;\n this.maxDistance = 0;\n this.handleClickMode = (mode, interactivityData)=>{\n const container = this.container, options = container.actualOptions, modeEmitters = options.interactivity.modes.emitters;\n if (!modeEmitters || mode !== emittersMode) {\n return;\n }\n let emittersModeOptions;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(modeEmitters.value)) {\n const minLength = 0, modeEmittersCount = modeEmitters.value.length;\n if (modeEmittersCount > minLength && modeEmitters.random.enable) {\n emittersModeOptions = [];\n const usedIndexes = new Set();\n for(let i = 0; i < modeEmitters.random.count; i++){\n const idx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.arrayRandomIndex)(modeEmitters.value);\n if (usedIndexes.has(idx) && usedIndexes.size < modeEmittersCount) {\n i--;\n continue;\n }\n usedIndexes.add(idx);\n const selectedOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromArray)(modeEmitters.value, idx);\n if (!selectedOptions) {\n continue;\n }\n emittersModeOptions.push(selectedOptions);\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n const emittersOptions = emittersModeOptions, ePosition = interactivityData.mouse.clickPosition;\n void (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.executeOnSingleOrMultiple)(emittersOptions, async (emitter)=>{\n await this._instancesManager.addEmitter(this.container, emitter, ePosition);\n });\n };\n }\n clear() {}\n init() {}\n interact(_interactivityData, delta) {\n for (const emitter of this._instancesManager.getArray(this.container)){\n emitter.update(delta);\n }\n }\n isEnabled(interactivityData, particle) {\n const container = this.container, options = container.actualOptions, mouse = interactivityData.mouse, events = (particle?.interactivity ?? options.interactivity).events;\n if (!mouse.clickPosition || !events.onClick.enable) {\n return false;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isInArray)(emittersMode, events.onClick.mode);\n }\n loadModeOptions(options, ...sources) {\n options.emitters = {\n random: _constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultRandomOptions,\n value: []\n };\n for (const source of sources){\n if (!source?.emitters) {\n continue;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(source.emitters)) {\n for (const emitter of source.emitters){\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(emitter);\n options.emitters.value.push(tmp);\n }\n } else if (Object.hasOwn(source.emitters, \"value\")) {\n const emitterModeOptions = source.emitters;\n options.emitters.random.enable = emitterModeOptions.random?.enable ?? options.emitters.random.enable;\n options.emitters.random.count = emitterModeOptions.random?.count ?? options.emitters.random.count;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(emitterModeOptions.value)) {\n for (const emitter of emitterModeOptions.value){\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(emitter);\n options.emitters.value.push(tmp);\n }\n } else {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(emitterModeOptions.value);\n options.emitters.value.push(tmp);\n }\n } else {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(source.emitters);\n options.emitters.value.push(tmp);\n }\n }\n }\n removeEmitter(emitter) {\n const index = this._instancesManager.getArray(this.container).indexOf(emitter), minIndex = 0, deleteCount = 1;\n if (index >= minIndex) {\n this._instancesManager.getArray(this.container).splice(index, deleteCount);\n }\n }\n reset() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/EmittersInteractor.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersInteractor: () => (/* binding */ EmittersInteractor)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants.js */ \"../../plugins/emitters/dist/browser/constants.js\");\n\n\n\n\nconst emittersMode = \"emitters\";\nclass EmittersInteractor extends _tsparticles_plugin_interactivity__WEBPACK_IMPORTED_MODULE_0__.ExternalInteractorBase {\n handleClickMode;\n maxDistance;\n _instancesManager;\n constructor(instancesManager, container){\n super(container);\n this._instancesManager = instancesManager;\n this.maxDistance = 0;\n this.handleClickMode = (mode, interactivityData)=>{\n const container = this.container, options = container.actualOptions, modeEmitters = options.interactivity.modes.emitters;\n if (!modeEmitters || mode !== emittersMode) {\n return;\n }\n let emittersModeOptions;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(modeEmitters.value)) {\n const minLength = 0, modeEmittersCount = modeEmitters.value.length;\n if (modeEmittersCount > minLength && modeEmitters.random.enable) {\n emittersModeOptions = [];\n const usedIndexes = new Set();\n for(let i = 0; i < modeEmitters.random.count; i++){\n const idx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.arrayRandomIndex)(modeEmitters.value);\n if (usedIndexes.has(idx) && usedIndexes.size < modeEmittersCount) {\n i--;\n continue;\n }\n usedIndexes.add(idx);\n const selectedOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromArray)(modeEmitters.value, idx);\n if (!selectedOptions) {\n continue;\n }\n emittersModeOptions.push(selectedOptions);\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n const emittersOptions = emittersModeOptions, ePosition = interactivityData.mouse.clickPosition;\n void (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.executeOnSingleOrMultiple)(emittersOptions, async (emitter)=>{\n await this._instancesManager.addEmitter(this.container, emitter, ePosition);\n });\n };\n }\n clear() {}\n init() {}\n interact(_interactivityData, delta) {\n for (const emitter of this._instancesManager.getArray(this.container)){\n emitter.update(delta);\n }\n }\n isEnabled(interactivityData, particle) {\n const container = this.container, options = container.actualOptions, mouse = interactivityData.mouse, events = (particle?.interactivity ?? options.interactivity).events;\n if (!mouse.clickPosition || !events.onClick.enable) {\n return false;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isInArray)(emittersMode, events.onClick.mode);\n }\n loadModeOptions(options, ...sources) {\n options.emitters = {\n random: _constants_js__WEBPACK_IMPORTED_MODULE_3__.defaultRandomOptions,\n value: []\n };\n for (const source of sources){\n if (!source?.emitters) {\n continue;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(source.emitters)) {\n for (const emitter of source.emitters){\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(emitter);\n options.emitters.value.push(tmp);\n }\n } else if (\"value\" in source.emitters) {\n const emitterModeOptions = source.emitters;\n options.emitters.random.enable = emitterModeOptions.random?.enable ?? options.emitters.random.enable;\n options.emitters.random.count = emitterModeOptions.random?.count ?? options.emitters.random.count;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray)(emitterModeOptions.value)) {\n for (const emitter of emitterModeOptions.value){\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(emitter);\n options.emitters.value.push(tmp);\n }\n } else {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(emitterModeOptions.value);\n options.emitters.value.push(tmp);\n }\n } else {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_2__.Emitter();\n tmp.load(source.emitters);\n options.emitters.value.push(tmp);\n }\n }\n }\n removeEmitter(emitter) {\n const index = this._instancesManager.getArray(this.container).indexOf(emitter), minIndex = 0, deleteCount = 1;\n if (index >= minIndex) {\n this._instancesManager.getArray(this.container).splice(index, deleteCount);\n }\n }\n reset() {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/EmittersInteractor.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -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 */ Emitter: () => (/* binding */ Emitter)\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 _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawnColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n this.spawnColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\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 _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n/* harmony import */ var _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./EmitterSpawn.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js\");\n\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawn;\n spawnFillColor;\n spawnStrokeColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.spawn = new _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__.EmitterSpawn();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n this.spawn.load(data.spawn);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnFillColor !== undefined) {\n this.spawnFillColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnFillColor.load(data.spawnFillColor);\n }\n if (data.spawnStrokeColor !== undefined) {\n this.spawnStrokeColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnStrokeColor.load(data.spawnStrokeColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -87,6 +87,16 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
87
87
 
88
88
  /***/ },
89
89
 
90
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js"
91
+ /*!***************************************************************************!*\
92
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js ***!
93
+ \***************************************************************************/
94
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
+
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSpawn: () => (/* binding */ EmitterSpawn)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSpawn {\n fill;\n stroke;\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.fill) {\n this.fill ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Fill();\n this.fill.load(data.fill);\n }\n if (data.stroke) {\n this.stroke ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Stroke();\n this.stroke.load(data.stroke);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js?\n}");
97
+
98
+ /***/ },
99
+
90
100
  /***/ "../../plugins/emitters/dist/browser/constants.js"
91
101
  /*!********************************************************!*\
92
102
  !*** ../../plugins/emitters/dist/browser/constants.js ***!
@@ -183,7 +193,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
183
193
  \*********************************************************/
184
194
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
185
195
 
186
- 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.26\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/index.js?\n}");
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.28\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/index.js?\n}");
187
197
 
188
198
  /***/ },
189
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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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 */ Emitter: () => (/* binding */ Emitter)\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 _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawnColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n this.spawnColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\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 _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n/* harmony import */ var _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./EmitterSpawn.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js\");\n\n\n\n\n\n\nclass Emitter {\n autoPlay;\n direction;\n domId;\n fill;\n life;\n name;\n particles;\n position;\n rate;\n shape;\n size;\n spawn;\n spawnFillColor;\n spawnStrokeColor;\n startCount;\n constructor(){\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.spawn = new _EmitterSpawn_js__WEBPACK_IMPORTED_MODULE_5__.EmitterSpawn();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, (particles)=>{\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n this.spawn.load(data.spawn);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnFillColor !== undefined) {\n this.spawnFillColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnFillColor.load(data.spawnFillColor);\n }\n if (data.spawnStrokeColor !== undefined) {\n this.spawnStrokeColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnStrokeColor.load(data.spawnStrokeColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -85,6 +85,16 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
85
85
 
86
86
  eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSize: () => (/* binding */ EmitterSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSize {\n height;\n mode;\n width;\n constructor(){\n this.mode = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js?\n}");
87
87
 
88
+ /***/ },
89
+
90
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js"
91
+ /*!***************************************************************************!*\
92
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js ***!
93
+ \***************************************************************************/
94
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
+
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSpawn: () => (/* binding */ EmitterSpawn)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSpawn {\n fill;\n stroke;\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.fill) {\n this.fill ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Fill();\n this.fill.load(data.fill);\n }\n if (data.stroke) {\n this.stroke ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Stroke();\n this.stroke.load(data.stroke);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/Options/Classes/EmitterSpawn.js?\n}");
97
+
88
98
  /***/ }
89
99
 
90
100
  }]);
@@ -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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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 */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/index.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ ensureEmittersPluginLoaded: () => (/* binding */ ensureEmittersPluginLoaded),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nasync function loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { ShapeManager }, { EmittersInstancesManager }, { EmittersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInstancesManager.js */ \"../../plugins/emitters/dist/browser/EmittersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"))\n ]), instancesManager = new EmittersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator)=>{\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n e.addPlugin(new EmittersPlugin(instancesManager));\n e.addInteractor?.(\"externalEmitters\", async (container)=>{\n const { EmittersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersInteractor.js */ \"../../plugins/emitters/dist/browser/EmittersInteractor.js\"));\n return new EmittersInteractor(instancesManager, container);\n });\n });\n}\nfunction ensureEmittersPluginLoaded(e) {\n if (!e.addEmitterShapeGenerator) {\n throw new Error(\"tsParticles Emitters Plugin is not loaded\");\n }\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/index.js?\n}");
47
47
 
48
48
  /***/ }
49
49
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -103,7 +103,7 @@ 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 */ 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.26\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/index.js?\n}");
106
+ 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.28\");\n await engine.register(async (e)=>{\n const interactivityEngine = e, { InteractivityPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_InteractivityPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InteractivityPlugin.js */ \"../../plugins/interactivity/dist/browser/InteractivityPlugin.js\"));\n interactivityEngine.addPlugin(new InteractivityPlugin(interactivityEngine));\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.addInteractor = (name, interactorInitializer)=>{\n interactivityEngine.initializers.interactors ??= new Map();\n interactivityEngine.initializers.interactors.set(name, interactorInitializer);\n };\n interactivityEngine.getInteractors = async (container, force = false)=>{\n interactivityEngine.interactors ??= new Map();\n interactivityEngine.initializers.interactors ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemsFromInitializer)(container, interactivityEngine.interactors, interactivityEngine.initializers.interactors, force);\n };\n interactivityEngine.setOnClickHandler = (callback)=>{\n const { items } = interactivityEngine;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach((item)=>{\n const interactivityContainer = item;\n interactivityContainer.addClickHandler?.(callback);\n });\n };\n });\n}\nfunction ensureInteractivityPluginLoaded(e) {\n if (!e.addInteractor) {\n throw new Error(\"tsParticles Interactivity Plugin is not loaded\");\n }\n}\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/interactivity/dist/browser/index.js?\n}");
107
107
 
108
108
  /***/ },
109
109
 
@@ -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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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 */ ensureBaseMoverLoaded: () => (/* binding */ ensureBaseMoverLoaded),\n/* harmony export */ loadMovePlugin: () => (/* binding */ loadMovePlugin)\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 loadMovePlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const moveEngine = e;\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.pathGenerators ??= new Map();\n moveEngine.addPathGenerator = (name, generator)=>{\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.initializers.pathGenerators.set(name, generator);\n };\n moveEngine.getPathGenerators = async (container, force = false)=>{\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.pathGenerators ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemMapFromInitializer)(container, moveEngine.pathGenerators, moveEngine.initializers.pathGenerators, force);\n };\n const { MovePlugin } = await __webpack_require__.e(/*! import() */ \"plugins_move_dist_browser_MovePlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./MovePlugin.js */ \"../../plugins/move/dist/browser/MovePlugin.js\"));\n e.addPlugin(new MovePlugin(e));\n });\n}\nfunction ensureBaseMoverLoaded(e) {\n if (!e.addPathGenerator) {\n throw new Error(\"tsParticles Base Mover is not loaded\");\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/move/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ensureBaseMoverLoaded: () => (/* binding */ ensureBaseMoverLoaded),\n/* harmony export */ loadMovePlugin: () => (/* binding */ loadMovePlugin)\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 loadMovePlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const moveEngine = e;\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.pathGenerators ??= new Map();\n moveEngine.addPathGenerator = (name, generator)=>{\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.initializers.pathGenerators.set(name, generator);\n };\n moveEngine.getPathGenerators = async (container, force = false)=>{\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.pathGenerators ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemMapFromInitializer)(container, moveEngine.pathGenerators, moveEngine.initializers.pathGenerators, force);\n };\n const { MovePlugin } = await __webpack_require__.e(/*! import() */ \"plugins_move_dist_browser_MovePlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./MovePlugin.js */ \"../../plugins/move/dist/browser/MovePlugin.js\"));\n e.addPlugin(new MovePlugin(e));\n });\n}\nfunction ensureBaseMoverLoaded(e) {\n if (!e.addPathGenerator) {\n throw new Error(\"tsParticles Base Mover is not loaded\");\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/move/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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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 */ ResponsiveMode: () => (/* binding */ ResponsiveMode)\n/* harmony export */ });\nvar ResponsiveMode;\n(function(ResponsiveMode) {\n ResponsiveMode[\"screen\"] = \"screen\";\n ResponsiveMode[\"canvas\"] = \"canvas\";\n})(ResponsiveMode || (ResponsiveMode = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/ResponsiveMode.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResponsiveMode: () => (/* binding */ ResponsiveMode)\n/* harmony export */ });\nvar ResponsiveMode;\n(function(ResponsiveMode) {\n ResponsiveMode[\"screen\"] = \"screen\";\n ResponsiveMode[\"window\"] = \"window\";\n ResponsiveMode[\"canvas\"] = \"canvas\";\n})(ResponsiveMode || (ResponsiveMode = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/ResponsiveMode.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 */ ResponsivePlugin: () => (/* binding */ ResponsivePlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Responsive.js */ \"../../plugins/responsive/dist/browser/Options/Classes/Responsive.js\");\n/* harmony import */ var _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ResponsiveMode.js */ \"../../plugins/responsive/dist/browser/ResponsiveMode.js\");\n\n\nclass ResponsivePlugin {\n id = \"responsive\";\n async getPlugin(container) {\n const { ResponsivePluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_ResponsivePluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ResponsivePluginInstance.js */ \"../../plugins/responsive/dist/browser/ResponsivePluginInstance.js\"));\n return new ResponsivePluginInstance(container);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n const setResponsive = (width, pxRatio, defaultOptions)=>{\n options.load(defaultOptions);\n const responsiveOptions = options.responsive?.find((t)=>t.mode === _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);\n options.load(responsiveOptions?.options);\n return responsiveOptions?.maxWidth;\n };\n options.setResponsive = setResponsive;\n options.responsive ??= [];\n if (source?.responsive !== undefined) {\n for (const responsive of source.responsive){\n const optResponsive = new _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_0__.Responsive();\n if (responsive) {\n optResponsive.load(responsive);\n }\n options.responsive.push(optResponsive);\n }\n }\n options.responsive.sort((a, b)=>a.maxWidth - b.maxWidth);\n }\n needsPlugin(options) {\n return !!options?.responsive?.length;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/ResponsivePlugin.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResponsivePlugin: () => (/* binding */ ResponsivePlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Responsive.js */ \"../../plugins/responsive/dist/browser/Options/Classes/Responsive.js\");\n/* harmony import */ var _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ResponsiveMode.js */ \"../../plugins/responsive/dist/browser/ResponsiveMode.js\");\n\n\nclass ResponsivePlugin {\n id = \"responsive\";\n async getPlugin(container) {\n const { ResponsivePluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_ResponsivePluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ResponsivePluginInstance.js */ \"../../plugins/responsive/dist/browser/ResponsivePluginInstance.js\"));\n return new ResponsivePluginInstance(container);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n const setResponsive = (width, pxRatio, defaultOptions)=>{\n options.load(defaultOptions);\n const logicalWidth = width / pxRatio, widthMap = {\n [_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.screen]: screen.availWidth,\n [_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.window]: innerWidth,\n [_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.canvas]: logicalWidth\n }, responsiveOptions = options.responsive?.find((t)=>t.maxWidth > widthMap[t.mode]);\n options.load(responsiveOptions?.options);\n return responsiveOptions?.maxWidth;\n };\n options.setResponsive = setResponsive;\n options.responsive ??= [];\n if (source?.responsive !== undefined) {\n for (const responsive of source.responsive){\n const optResponsive = new _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_0__.Responsive();\n if (responsive) {\n optResponsive.load(responsive);\n }\n options.responsive.push(optResponsive);\n }\n }\n options.responsive.sort((a, b)=>a.maxWidth - b.maxWidth);\n }\n needsPlugin(options) {\n return !!options?.responsive?.length;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/ResponsivePlugin.js?\n}");
47
47
 
48
48
  /***/ }
49
49
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.26
7
+ * v4.0.0-alpha.28
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 */ loadResponsivePlugin: () => (/* binding */ loadResponsivePlugin)\n/* harmony export */ });\nasync function loadResponsivePlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ResponsivePlugin } = await __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_ResponsivePlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ResponsivePlugin.js */ \"../../plugins/responsive/dist/browser/ResponsivePlugin.js\"));\n e.addPlugin(new ResponsivePlugin());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadResponsivePlugin: () => (/* binding */ loadResponsivePlugin)\n/* harmony export */ });\nasync function loadResponsivePlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ResponsivePlugin } = await __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_ResponsivePlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ResponsivePlugin.js */ \"../../plugins/responsive/dist/browser/ResponsivePlugin.js\"));\n e.addPlugin(new ResponsivePlugin());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
package/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@tsparticles/pjs [26 Feb 2026 at 18:13]</title>
6
+ <title>@tsparticles/pjs [15 Mar 2026 at 13:52]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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 */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nasync function loadCircleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register((e)=>{\n e.addShape([\n \"circle\"\n ], async ()=>{\n const { CircleDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_CircleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\"));\n return new CircleDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/circle/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nasync function loadCircleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register((e)=>{\n e.addShape([\n \"circle\"\n ], async ()=>{\n const { CircleDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_CircleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\"));\n return new CircleDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/circle/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.26
7
+ * v4.0.0-alpha.28
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.26
7
+ * v4.0.0-alpha.28
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 */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/emoji/dist/browser/Utils.js\");\n\nasync function loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register((e)=>{\n e.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.validTypes, async ()=>{\n const { EmojiDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n return new EmojiDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/emoji/dist/browser/index.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/emoji/dist/browser/Utils.js\");\n\nasync function loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register((e)=>{\n e.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.validTypes, async ()=>{\n const { EmojiDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n return new EmojiDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/emoji/dist/browser/index.js?\n}");
37
37
 
38
38
  /***/ }
39
39