@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
  /*
@@ -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
  /*
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \****************************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Links: () => (/* reexport safe */ _Options_Classes_Links_js__WEBPACK_IMPORTED_MODULE_0__.Links),\n/* harmony export */ LinksShadow: () => (/* reexport safe */ _Options_Classes_LinksShadow_js__WEBPACK_IMPORTED_MODULE_1__.LinksShadow),\n/* harmony export */ LinksTriangle: () => (/* reexport safe */ _Options_Classes_LinksTriangle_js__WEBPACK_IMPORTED_MODULE_2__.LinksTriangle),\n/* harmony export */ loadParticlesLinksInteraction: () => (/* binding */ loadParticlesLinksInteraction)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Links_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Links.js */ \"../../interactions/particles/links/dist/browser/Options/Classes/Links.js\");\n/* harmony import */ var _Options_Classes_LinksShadow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/LinksShadow.js */ \"../../interactions/particles/links/dist/browser/Options/Classes/LinksShadow.js\");\n/* harmony import */ var _Options_Classes_LinksTriangle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/LinksTriangle.js */ \"../../interactions/particles/links/dist/browser/Options/Classes/LinksTriangle.js\");\nasync function loadParticlesLinksInteraction(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { LinksPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_links_dist_browser_LinksPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./LinksPlugin.js */ \"../../interactions/particles/links/dist/browser/LinksPlugin.js\"))\n ]);\n ensureInteractivityPluginLoaded(e);\n e.addPlugin(new LinksPlugin(e));\n e.addInteractor?.(\"particlesLinks\", async (container)=>{\n const { Linker } = await __webpack_require__.e(/*! import() */ \"interactions_particles_links_dist_browser_Linker_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Linker.js */ \"../../interactions/particles/links/dist/browser/Linker.js\"));\n return new Linker(container, e);\n });\n });\n}\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../interactions/particles/links/dist/browser/index.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Links: () => (/* reexport safe */ _Options_Classes_Links_js__WEBPACK_IMPORTED_MODULE_0__.Links),\n/* harmony export */ LinksShadow: () => (/* reexport safe */ _Options_Classes_LinksShadow_js__WEBPACK_IMPORTED_MODULE_1__.LinksShadow),\n/* harmony export */ LinksTriangle: () => (/* reexport safe */ _Options_Classes_LinksTriangle_js__WEBPACK_IMPORTED_MODULE_2__.LinksTriangle),\n/* harmony export */ loadParticlesLinksInteraction: () => (/* binding */ loadParticlesLinksInteraction)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Links_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Links.js */ \"../../interactions/particles/links/dist/browser/Options/Classes/Links.js\");\n/* harmony import */ var _Options_Classes_LinksShadow_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/LinksShadow.js */ \"../../interactions/particles/links/dist/browser/Options/Classes/LinksShadow.js\");\n/* harmony import */ var _Options_Classes_LinksTriangle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/LinksTriangle.js */ \"../../interactions/particles/links/dist/browser/Options/Classes/LinksTriangle.js\");\nasync function loadParticlesLinksInteraction(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { LinksPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_links_dist_browser_LinksPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./LinksPlugin.js */ \"../../interactions/particles/links/dist/browser/LinksPlugin.js\"))\n ]);\n ensureInteractivityPluginLoaded(e);\n e.addPlugin(new LinksPlugin(e));\n e.addInteractor?.(\"particlesLinks\", async (container)=>{\n const { Linker } = await __webpack_require__.e(/*! import() */ \"interactions_particles_links_dist_browser_Linker_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Linker.js */ \"../../interactions/particles/links/dist/browser/Linker.js\"));\n return new Linker(container, e);\n });\n });\n}\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../interactions/particles/links/dist/browser/index.js?\n}");
57
57
 
58
58
  /***/ }
59
59
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/pjs",
3
- "version": "4.0.0-alpha.26",
3
+ "version": "4.0.0-alpha.28",
4
4
  "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -99,9 +99,9 @@
99
99
  "./package.json": "./package.json"
100
100
  },
101
101
  "dependencies": {
102
- "@tsparticles/engine": "4.0.0-alpha.26",
103
- "@tsparticles/plugin-responsive": "4.0.0-alpha.26",
104
- "tsparticles": "4.0.0-alpha.26"
102
+ "@tsparticles/engine": "4.0.0-alpha.28",
103
+ "@tsparticles/plugin-responsive": "4.0.0-alpha.28",
104
+ "tsparticles": "4.0.0-alpha.28"
105
105
  },
106
106
  "publishConfig": {
107
107
  "access": "public"
@@ -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
  /*
@@ -153,7 +153,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
153
153
  \*********************************************************/
154
154
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
155
155
 
156
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseClasses/ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js\");\n/* harmony import */ var _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BaseClasses/ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-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}");
156
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__.DivType),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__.InteractorType),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__.Modes),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ clickEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.clickEvent),\n/* harmony export */ divMode: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.divModeExecute),\n/* harmony export */ ensureInteractivityPluginLoaded: () => (/* binding */ ensureInteractivityPluginLoaded),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.isDivModeEnabled),\n/* harmony export */ loadInteractivityPlugin: () => (/* binding */ loadInteractivityPlugin),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.mouseUpEvent),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_7__.singleDivModeExecute),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__.touchStartEvent)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _BaseClasses_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseClasses/ExternalInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ExternalInteractorBase.js\");\n/* harmony import */ var _BaseClasses_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BaseClasses/ParticlesInteractorBase.js */ \"../../plugins/interactivity/dist/browser/BaseClasses/ParticlesInteractorBase.js\");\n/* harmony import */ var _InteractivityConstants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractivityConstants.js */ \"../../plugins/interactivity/dist/browser/InteractivityConstants.js\");\n/* harmony import */ var _Enums_DivType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DivType.js */ \"../../plugins/interactivity/dist/browser/Enums/DivType.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Enums_InteractorType_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/InteractorType.js */ \"../../plugins/interactivity/dist/browser/Enums/InteractorType.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/interactivity/dist/browser/utils.js\");\n/* harmony import */ var _Options_Classes_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Options/Classes/Events/DivEvent.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Options/Classes/Modes/Modes.js */ \"../../plugins/interactivity/dist/browser/Options/Classes/Modes/Modes.js\");\n\nasync function loadInteractivityPlugin(engine) {\n engine.checkVersion(\"4.0.0-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}");
157
157
 
158
158
  /***/ },
159
159
 
@@ -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 */ loadAbsorbersPlugin: () => (/* binding */ loadAbsorbersPlugin)\n/* harmony export */ });\nasync function loadAbsorbersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { AbsorbersInstancesManager }, { AbsorbersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInstancesManager.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPlugin.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPlugin.js\"))\n ]), instancesManager = new AbsorbersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.addPlugin(new AbsorbersPlugin(instancesManager));\n e.addInteractor?.(\"externalAbsorbers\", async (container)=>{\n const { AbsorbersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInteractor.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInteractor.js\"));\n return new AbsorbersInteractor(container, instancesManager);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadAbsorbersPlugin: () => (/* binding */ loadAbsorbersPlugin)\n/* harmony export */ });\nasync function loadAbsorbersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const [{ ensureInteractivityPluginLoaded }, { AbsorbersInstancesManager }, { AbsorbersPlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInstancesManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInstancesManager.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInstancesManager.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPlugin.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPlugin.js\"))\n ]), instancesManager = new AbsorbersInstancesManager(e);\n ensureInteractivityPluginLoaded(e);\n e.addPlugin(new AbsorbersPlugin(instancesManager));\n e.addInteractor?.(\"externalAbsorbers\", async (container)=>{\n const { AbsorbersInteractor } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersInteractor_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersInteractor.js */ \"../../plugins/absorbers/dist/browser/AbsorbersInteractor.js\"));\n return new AbsorbersInteractor(container, instancesManager);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/absorbers/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.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 */ loadHexColorPlugin: () => (/* binding */ loadHexColorPlugin)\n/* harmony export */ });\nasync function loadHexColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { HexColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_HexColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HexColorManager.js */ \"../../plugins/colors/hex/dist/browser/HexColorManager.js\"));\n e.addColorManager(\"hex\", new HexColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hex/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHexColorPlugin: () => (/* binding */ loadHexColorPlugin)\n/* harmony export */ });\nasync function loadHexColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { HexColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hex_dist_browser_HexColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HexColorManager.js */ \"../../plugins/colors/hex/dist/browser/HexColorManager.js\"));\n e.addColorManager(\"hex\", new HexColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hex/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.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 */ HslColorManager: () => (/* binding */ HslColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar HslIndexes;\n(function(HslIndexes) {\n HslIndexes[HslIndexes[\"h\"] = 1] = \"h\";\n HslIndexes[HslIndexes[\"s\"] = 2] = \"s\";\n HslIndexes[HslIndexes[\"l\"] = 3] = \"l\";\n HslIndexes[HslIndexes[\"a\"] = 5] = \"a\";\n})(HslIndexes || (HslIndexes = {}));\nconst hslRegex = /hsla?\\(\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)%\\s*[\\s,]\\s*(\\d+)%\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i;\nclass HslColorManager {\n accepts(input) {\n return input.startsWith(\"hsl\");\n }\n handleColor(color) {\n const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;\n if (!Object.hasOwn(hslColor, \"h\") || !Object.hasOwn(hslColor, \"s\") || !Object.hasOwn(hslColor, \"l\")) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)(hslColor);\n }\n handleRangeColor(color) {\n const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;\n if (!Object.hasOwn(hslColor, \"h\") || !Object.hasOwn(hslColor, \"s\") || !Object.hasOwn(hslColor, \"l\")) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)({\n h: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.h),\n l: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.l),\n s: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.s)\n });\n }\n parseString(input) {\n if (!this.accepts(input)) {\n return;\n }\n const result = hslRegex.exec(input), minLength = 4, defaultAlpha = 1, radix = 10;\n return result ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslaToRgba)({\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,\n h: Number.parseInt(result[HslIndexes.h] ?? \"0\", radix),\n l: Number.parseInt(result[HslIndexes.l] ?? \"0\", radix),\n s: Number.parseInt(result[HslIndexes.s] ?? \"0\", radix)\n }) : undefined;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/HslColorManager.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HslColorManager: () => (/* binding */ HslColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar HslIndexes;\n(function(HslIndexes) {\n HslIndexes[HslIndexes[\"h\"] = 1] = \"h\";\n HslIndexes[HslIndexes[\"s\"] = 2] = \"s\";\n HslIndexes[HslIndexes[\"l\"] = 3] = \"l\";\n HslIndexes[HslIndexes[\"a\"] = 5] = \"a\";\n})(HslIndexes || (HslIndexes = {}));\nconst hslRegex = /hsla?\\(\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)%\\s*[\\s,]\\s*(\\d+)%\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i;\nclass HslColorManager {\n accepts(input) {\n return input.startsWith(\"hsl\");\n }\n handleColor(color) {\n const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;\n if (!(\"h\" in hslColor) || !(\"s\" in hslColor) || !(\"l\" in hslColor)) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)(hslColor);\n }\n handleRangeColor(color) {\n const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;\n if (!(\"h\" in hslColor) || !(\"s\" in hslColor) || !(\"l\" in hslColor)) {\n return;\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)({\n h: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.h),\n l: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.l),\n s: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.s)\n });\n }\n parseString(input) {\n if (!this.accepts(input)) {\n return;\n }\n const result = hslRegex.exec(input), minLength = 4, defaultAlpha = 1, radix = 10;\n return result ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslaToRgba)({\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,\n h: Number.parseInt(result[HslIndexes.h] ?? \"0\", radix),\n l: Number.parseInt(result[HslIndexes.l] ?? \"0\", radix),\n s: Number.parseInt(result[HslIndexes.s] ?? \"0\", radix)\n }) : undefined;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/HslColorManager.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.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 */ loadHslColorPlugin: () => (/* binding */ loadHslColorPlugin)\n/* harmony export */ });\nasync function loadHslColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { HslColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_HslColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HslColorManager.js */ \"../../plugins/colors/hsl/dist/browser/HslColorManager.js\"));\n e.addColorManager(\"hsl\", new HslColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHslColorPlugin: () => (/* binding */ loadHslColorPlugin)\n/* harmony export */ });\nasync function loadHslColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { HslColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_hsl_dist_browser_HslColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HslColorManager.js */ \"../../plugins/colors/hsl/dist/browser/HslColorManager.js\"));\n e.addColorManager(\"hsl\", new HslColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/hsl/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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 */ RgbColorManager: () => (/* binding */ RgbColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar RgbIndexes;\n(function(RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 5] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nconst rgbRegex = /rgba?\\(\\s*(\\d{1,3})\\s*[\\s,]\\s*(\\d{1,3})\\s*[\\s,]\\s*(\\d{1,3})\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i;\nclass RgbColorManager {\n accepts(input) {\n return input.startsWith(\"rgb\");\n }\n handleColor(color) {\n const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;\n if (!Object.hasOwn(rgbColor, \"r\") || !Object.hasOwn(rgbColor, \"g\") || !Object.hasOwn(rgbColor, \"b\")) {\n return;\n }\n return rgbColor;\n }\n handleRangeColor(color) {\n const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;\n if (!Object.hasOwn(rgbColor, \"r\") || !Object.hasOwn(rgbColor, \"g\") || !Object.hasOwn(rgbColor, \"b\")) {\n return;\n }\n return {\n r: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.r),\n g: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.g),\n b: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.b)\n };\n }\n parseString(input) {\n if (!this.accepts(input)) {\n return;\n }\n const result = rgbRegex.exec(input), radix = 10, minLength = 4, defaultAlpha = 1;\n return result ? {\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[RgbIndexes.a]) : defaultAlpha,\n b: parseInt(result[RgbIndexes.b] ?? \"0\", radix),\n g: parseInt(result[RgbIndexes.g] ?? \"0\", radix),\n r: parseInt(result[RgbIndexes.r] ?? \"0\", radix)\n } : undefined;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/rgb/dist/browser/RgbColorManager.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RgbColorManager: () => (/* binding */ RgbColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar RgbIndexes;\n(function(RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 5] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nconst rgbRegex = /rgba?\\(\\s*(\\d{1,3})\\s*[\\s,]\\s*(\\d{1,3})\\s*[\\s,]\\s*(\\d{1,3})\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i;\nclass RgbColorManager {\n accepts(input) {\n return input.startsWith(\"rgb\");\n }\n handleColor(color) {\n const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;\n if (!(\"r\" in rgbColor) || !(\"g\" in rgbColor) || !(\"b\" in rgbColor)) {\n return;\n }\n return rgbColor;\n }\n handleRangeColor(color) {\n const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;\n if (!(\"r\" in rgbColor) || !(\"g\" in rgbColor) || !(\"b\" in rgbColor)) {\n return;\n }\n return {\n r: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.r),\n g: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.g),\n b: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.b)\n };\n }\n parseString(input) {\n if (!this.accepts(input)) {\n return;\n }\n const result = rgbRegex.exec(input), radix = 10, minLength = 4, defaultAlpha = 1;\n return result ? {\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[RgbIndexes.a]) : defaultAlpha,\n b: parseInt(result[RgbIndexes.b] ?? \"0\", radix),\n g: parseInt(result[RgbIndexes.g] ?? \"0\", radix),\n r: parseInt(result[RgbIndexes.r] ?? \"0\", radix)\n } : undefined;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/rgb/dist/browser/RgbColorManager.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
  /*
@@ -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 */ loadRgbColorPlugin: () => (/* binding */ loadRgbColorPlugin)\n/* harmony export */ });\nasync function loadRgbColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { RgbColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_RgbColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RgbColorManager.js */ \"../../plugins/colors/rgb/dist/browser/RgbColorManager.js\"));\n e.addColorManager(\"rgb\", new RgbColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/rgb/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRgbColorPlugin: () => (/* binding */ loadRgbColorPlugin)\n/* harmony export */ });\nasync function loadRgbColorPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { RgbColorManager } = await __webpack_require__.e(/*! import() */ \"plugins_colors_rgb_dist_browser_RgbColorManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RgbColorManager.js */ \"../../plugins/colors/rgb/dist/browser/RgbColorManager.js\"));\n e.addColorManager(\"rgb\", new RgbColorManager());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/colors/rgb/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
  /*
@@ -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 */ loadEasingQuadPlugin: () => (/* binding */ loadEasingQuadPlugin)\n/* harmony export */ });\nasync function loadEasingQuadPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_quad_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/quad/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/easings/quad/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEasingQuadPlugin: () => (/* binding */ loadEasingQuadPlugin)\n/* harmony export */ });\nasync function loadEasingQuadPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { easingsFunctions } = await __webpack_require__.e(/*! import() */ \"plugins_easings_quad_dist_browser_easingsFunctions_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./easingsFunctions.js */ \"../../plugins/easings/quad/dist/browser/easingsFunctions.js\"));\n for (const [easing, easingFn] of easingsFunctions){\n e.addEasing(easing, easingFn);\n }\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/easings/quad/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
  /*
@@ -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
  /*
@@ -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 */ loadEmittersShapeCircle: () => (/* binding */ loadEmittersShapeCircle)\n/* harmony export */ });\nasync function loadEmittersShapeCircle(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersCircleShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCircleShapeGenerator.js */ \"../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"circle\", new EmittersCircleShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emittersShapes/circle/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapeCircle: () => (/* binding */ loadEmittersShapeCircle)\n/* harmony export */ });\nasync function loadEmittersShapeCircle(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersCircleShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCircleShapeGenerator.js */ \"../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"circle\", new EmittersCircleShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emittersShapes/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
  /*
@@ -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
  /*
@@ -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 */ loadEmittersShapeSquare: () => (/* binding */ loadEmittersShapeSquare)\n/* harmony export */ });\nasync function loadEmittersShapeSquare(engine) {\n engine.checkVersion(\"4.0.0-alpha.26\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersSquareShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersSquareShapeGenerator.js */ \"../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"square\", new EmittersSquareShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emittersShapes/square/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmittersShapeSquare: () => (/* binding */ loadEmittersShapeSquare)\n/* harmony export */ });\nasync function loadEmittersShapeSquare(engine) {\n engine.checkVersion(\"4.0.0-alpha.28\");\n await engine.register(async (e)=>{\n const { ensureEmittersPluginLoaded } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\"));\n ensureEmittersPluginLoaded(e);\n const { EmittersSquareShapeGenerator } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersSquareShapeGenerator.js */ \"../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js\"));\n e.addEmitterShapeGenerator?.(\"square\", new EmittersSquareShapeGenerator());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emittersShapes/square/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
  /*
@@ -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 */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst defaultLifeDelay = 0, minLifeCount = 0, defaultSpawnDelay = 0, defaultEmitDelay = 0, defaultLifeCount = -1, defaultColorAnimationFactor = 1, colorFactor = 3.6;\nfunction setParticlesOptionsColor(particlesOptions, color) {\n if (particlesOptions.color) {\n particlesOptions.color.value = color;\n } else {\n particlesOptions.color = {\n value: color\n };\n }\n}\nclass EmitterInstance {\n container;\n removeCallback;\n fill;\n name;\n options;\n position;\n size;\n spawnColor;\n _currentDuration;\n _currentEmitDelay;\n _currentSpawnDelay;\n _duration;\n _emitDelay;\n _engine;\n _firstSpawn;\n _immortal;\n _initialPosition;\n _lifeCount;\n _mutationObserver;\n _particlesOptions;\n _paused;\n _resizeObserver;\n _shape;\n _size;\n _spawnDelay;\n _startParticlesAdded;\n constructor(engine, container, removeCallback, options, position){\n this.container = container;\n this.removeCallback = removeCallback;\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawnColor) {\n this.spawnColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(()=>{\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(()=>{\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\n \"style\",\n \"width\",\n \"height\"\n ]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape, shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.container, this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!((this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n const container = this.container;\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition, container = this.container;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n const container = this.container;\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._spawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(), pxRatio = container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio,\n y: (elRect.y + elRect.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.precise\n };\n }\n }\n return this.options.size ?? (()=>{\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent,\n width: 0\n });\n return size;\n })();\n }\n _destroy = ()=>{\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.removeCallback(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions) ?? {}, hslAnimation = this.options.spawnColor?.animation, reduceFactor = this.container.retina.reduceFactor, needsColorAnimation = !!hslAnimation, needsShapeData = !!this._shape, needsCopy = needsColorAnimation || needsShapeData, maxValues = needsColorAnimation ? {\n h: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hMax,\n s: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.sMax,\n l: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.lMax\n } : null, shapeOptions = this.options.shape;\n for(let i = 0; i < quantity * reduceFactor; i++){\n const particlesOptions = needsCopy ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions) : singleParticlesOptions;\n if (this.spawnColor) {\n if (hslAnimation && maxValues) {\n this.spawnColor.h = this._setColorAnimation(hslAnimation.h, this.spawnColor.h, maxValues.h, colorFactor);\n this.spawnColor.s = this._setColorAnimation(hslAnimation.s, this.spawnColor.s, maxValues.s);\n this.spawnColor.l = this._setColorAnimation(hslAnimation.l, this.spawnColor.l, maxValues.l);\n }\n setParticlesOptionsColor(particlesOptions, this.spawnColor);\n }\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsColor(particlesOptions, shapePosData.color);\n }\n if (replaceData.opacity) {\n if (particlesOptions.opacity) {\n particlesOptions.opacity.value = shapePosData.opacity;\n } else {\n particlesOptions.opacity = {\n value: shapePosData.opacity\n };\n }\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n _prepareToDie = ()=>{\n if (this._paused) {\n return;\n }\n const duration = this.options.life.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined, minDuration = 0, minLifeCount = 0;\n if ((this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n _setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor)=>{\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)(animation.offset), delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay), emitFactor = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity, colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/EmitterInstance.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst defaultLifeDelay = 0, minLifeCount = 0, defaultSpawnDelay = 0, defaultEmitDelay = 0, defaultLifeCount = -1, defaultColorAnimationFactor = 1, colorFactor = 3.6, defaultStrokeWidth = 1;\nfunction setParticlesOptionsFillColor(particlesOptions, color, opacity, enable) {\n particlesOptions.fill = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Fill();\n particlesOptions.fill.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor.create(undefined, {\n value: color\n });\n particlesOptions.fill.enable = enable;\n particlesOptions.fill.opacity = opacity;\n}\nfunction setParticlesOptionsStrokeColor(particlesOptions, color, opacity, width) {\n particlesOptions.stroke = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Stroke();\n particlesOptions.stroke.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor.create(undefined, {\n value: color\n });\n particlesOptions.stroke.opacity = opacity;\n particlesOptions.stroke.width = width;\n}\nclass EmitterInstance {\n container;\n removeCallback;\n fill;\n name;\n options;\n position;\n size;\n spawnFillColor;\n spawnFillEnabled;\n spawnFillOpacity;\n spawnStrokeColor;\n spawnStrokeOpacity;\n spawnStrokeWidth;\n _currentDuration;\n _currentEmitDelay;\n _currentSpawnDelay;\n _duration;\n _emitDelay;\n _engine;\n _firstSpawn;\n _immortal;\n _initialPosition;\n _lifeCount;\n _mutationObserver;\n _particlesOptions;\n _paused;\n _resizeObserver;\n _shape;\n _size;\n _spawnDelay;\n _startParticlesAdded;\n constructor(engine, container, removeCallback, options, position){\n this.container = container;\n this.removeCallback = removeCallback;\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawn.fill?.color) {\n this.spawnFillColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawn.fill.color);\n }\n if (this.options.spawn.stroke?.color) {\n this.spawnStrokeColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawn.stroke.color);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(()=>{\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(()=>{\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\n \"style\",\n \"width\",\n \"height\"\n ]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape, shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.container, this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!((this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n const container = this.container;\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition, container = this.container;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n const container = this.container;\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._spawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(), pxRatio = container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio,\n y: (elRect.y + elRect.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.precise\n };\n }\n }\n return this.options.size ?? (()=>{\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent,\n width: 0\n });\n return size;\n })();\n }\n _destroy = ()=>{\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.removeCallback(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions) ?? {}, fillHslAnimation = this.options.spawn.fill?.color.animation, fillEnabled = this.options.spawn.fill?.enable ?? !!this.options.spawn.fill?.color, fillOpacity = this.options.spawn.fill?.opacity === undefined ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity : (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.spawn.fill.opacity), strokeHslAnimation = this.options.spawn.stroke?.color?.animation, strokeOpacity = this.options.spawn.stroke?.opacity === undefined ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity : (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.spawn.stroke.opacity), strokeWidth = this.options.spawn.stroke?.width === undefined ? defaultStrokeWidth : (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.spawn.stroke.width), reduceFactor = this.container.retina.reduceFactor, needsFillColorAnimation = !!fillHslAnimation, needsStrokeColorAnimation = !!strokeHslAnimation, needsShapeData = !!this._shape, needsColorAnimation = needsFillColorAnimation || needsStrokeColorAnimation, needsCopy = needsColorAnimation || needsShapeData, maxValues = needsColorAnimation ? {\n h: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hMax,\n s: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.sMax,\n l: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.lMax\n } : null, shapeOptions = this.options.shape;\n for(let i = 0; i < quantity * reduceFactor; i++){\n const particlesOptions = needsCopy ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions) : singleParticlesOptions;\n this.spawnFillOpacity = fillOpacity;\n this.spawnFillEnabled = fillEnabled;\n this.spawnStrokeOpacity = strokeOpacity;\n this.spawnStrokeWidth = strokeWidth;\n if (this.spawnFillColor) {\n if (fillHslAnimation && maxValues) {\n this.spawnFillColor.h = this._setColorAnimation(fillHslAnimation.h, this.spawnFillColor.h, maxValues.h, colorFactor);\n this.spawnFillColor.s = this._setColorAnimation(fillHslAnimation.s, this.spawnFillColor.s, maxValues.s);\n this.spawnFillColor.l = this._setColorAnimation(fillHslAnimation.l, this.spawnFillColor.l, maxValues.l);\n }\n setParticlesOptionsFillColor(particlesOptions, this.spawnFillColor, this.spawnFillOpacity, this.spawnFillEnabled);\n }\n if (this.spawnStrokeColor) {\n if (strokeHslAnimation && maxValues) {\n this.spawnStrokeColor.h = this._setColorAnimation(strokeHslAnimation.h, this.spawnStrokeColor.h, maxValues.h, colorFactor);\n this.spawnStrokeColor.s = this._setColorAnimation(strokeHslAnimation.s, this.spawnStrokeColor.s, maxValues.s);\n this.spawnStrokeColor.l = this._setColorAnimation(strokeHslAnimation.l, this.spawnStrokeColor.l, maxValues.l);\n }\n setParticlesOptionsStrokeColor(particlesOptions, this.spawnStrokeColor, this.spawnStrokeOpacity, this.spawnStrokeWidth);\n }\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsFillColor(particlesOptions, shapePosData.color, replaceData.opacity ? shapePosData.opacity ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultOpacity, true);\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n _prepareToDie = ()=>{\n if (this._paused) {\n return;\n }\n const duration = this.options.life.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined, minDuration = 0, minLifeCount = 0;\n if ((this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n _setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor)=>{\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)(animation.offset), delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay), emitFactor = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity, colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/emitters/dist/browser/EmitterInstance.js?\n}");
27
27
 
28
28
  /***/ }
29
29