tsparticles 3.1.0 → 3.2.0

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 (357) hide show
  1. package/1147.min.js +2 -0
  2. package/1147.min.js.LICENSE.txt +1 -0
  3. package/1196.min.js +2 -0
  4. package/1196.min.js.LICENSE.txt +1 -0
  5. package/1264.min.js +2 -0
  6. package/1264.min.js.LICENSE.txt +1 -0
  7. package/1308.min.js +2 -0
  8. package/1308.min.js.LICENSE.txt +1 -0
  9. package/1364.min.js +2 -0
  10. package/1364.min.js.LICENSE.txt +1 -0
  11. package/1472.min.js +2 -0
  12. package/1472.min.js.LICENSE.txt +1 -0
  13. package/1513.min.js +2 -0
  14. package/1513.min.js.LICENSE.txt +1 -0
  15. package/1705.min.js +2 -0
  16. package/1705.min.js.LICENSE.txt +1 -0
  17. package/1769.min.js +2 -0
  18. package/1769.min.js.LICENSE.txt +1 -0
  19. package/1808.min.js +2 -0
  20. package/1808.min.js.LICENSE.txt +1 -0
  21. package/1810.min.js +2 -0
  22. package/1810.min.js.LICENSE.txt +1 -0
  23. package/1831.min.js +2 -0
  24. package/1831.min.js.LICENSE.txt +1 -0
  25. package/196.min.js +2 -0
  26. package/196.min.js.LICENSE.txt +1 -0
  27. package/197.min.js +2 -0
  28. package/197.min.js.LICENSE.txt +1 -0
  29. package/1982.min.js +2 -0
  30. package/1982.min.js.LICENSE.txt +1 -0
  31. package/2081.min.js +2 -0
  32. package/2081.min.js.LICENSE.txt +1 -0
  33. package/2121.min.js +2 -0
  34. package/2121.min.js.LICENSE.txt +1 -0
  35. package/2124.min.js +2 -0
  36. package/2124.min.js.LICENSE.txt +1 -0
  37. package/2173.min.js +2 -0
  38. package/2173.min.js.LICENSE.txt +1 -0
  39. package/2200.min.js +2 -0
  40. package/2200.min.js.LICENSE.txt +1 -0
  41. package/2486.min.js +2 -0
  42. package/2486.min.js.LICENSE.txt +1 -0
  43. package/256.min.js +2 -0
  44. package/256.min.js.LICENSE.txt +1 -0
  45. package/2580.min.js +2 -0
  46. package/2580.min.js.LICENSE.txt +1 -0
  47. package/2628.min.js +2 -0
  48. package/2628.min.js.LICENSE.txt +1 -0
  49. package/2720.min.js +2 -0
  50. package/2720.min.js.LICENSE.txt +1 -0
  51. package/2765.min.js +2 -0
  52. package/2765.min.js.LICENSE.txt +1 -0
  53. package/2870.min.js +2 -0
  54. package/2870.min.js.LICENSE.txt +1 -0
  55. package/2890.min.js +2 -0
  56. package/2890.min.js.LICENSE.txt +1 -0
  57. package/290.min.js +2 -0
  58. package/290.min.js.LICENSE.txt +1 -0
  59. package/2946.min.js +2 -0
  60. package/2946.min.js.LICENSE.txt +1 -0
  61. package/3141.min.js +2 -0
  62. package/3141.min.js.LICENSE.txt +1 -0
  63. package/3255.min.js +2 -0
  64. package/3255.min.js.LICENSE.txt +1 -0
  65. package/3457.min.js +2 -0
  66. package/3457.min.js.LICENSE.txt +1 -0
  67. package/3486.min.js +2 -0
  68. package/3486.min.js.LICENSE.txt +1 -0
  69. package/3597.min.js +2 -0
  70. package/3597.min.js.LICENSE.txt +1 -0
  71. package/3610.min.js +2 -0
  72. package/3610.min.js.LICENSE.txt +1 -0
  73. package/3629.min.js +2 -0
  74. package/3629.min.js.LICENSE.txt +1 -0
  75. package/3648.min.js +2 -0
  76. package/3648.min.js.LICENSE.txt +1 -0
  77. package/3685.min.js +2 -0
  78. package/3685.min.js.LICENSE.txt +1 -0
  79. package/3733.min.js +2 -0
  80. package/3733.min.js.LICENSE.txt +1 -0
  81. package/3869.min.js +2 -0
  82. package/3869.min.js.LICENSE.txt +1 -0
  83. package/3904.min.js +2 -0
  84. package/3904.min.js.LICENSE.txt +1 -0
  85. package/409.min.js +2 -0
  86. package/409.min.js.LICENSE.txt +1 -0
  87. package/4245.min.js +2 -0
  88. package/4245.min.js.LICENSE.txt +1 -0
  89. package/4314.min.js +2 -0
  90. package/4314.min.js.LICENSE.txt +1 -0
  91. package/4328.min.js +2 -0
  92. package/4328.min.js.LICENSE.txt +1 -0
  93. package/4547.min.js +2 -0
  94. package/4547.min.js.LICENSE.txt +1 -0
  95. package/4687.min.js +2 -0
  96. package/4687.min.js.LICENSE.txt +1 -0
  97. package/4732.min.js +2 -0
  98. package/4732.min.js.LICENSE.txt +1 -0
  99. package/4737.min.js +2 -0
  100. package/4737.min.js.LICENSE.txt +1 -0
  101. package/4794.min.js +2 -0
  102. package/4794.min.js.LICENSE.txt +1 -0
  103. package/4866.min.js +2 -0
  104. package/4866.min.js.LICENSE.txt +1 -0
  105. package/4922.min.js +2 -0
  106. package/4922.min.js.LICENSE.txt +1 -0
  107. package/4973.min.js +2 -0
  108. package/4973.min.js.LICENSE.txt +1 -0
  109. package/4994.min.js +2 -0
  110. package/4994.min.js.LICENSE.txt +1 -0
  111. package/5010.min.js +2 -0
  112. package/5010.min.js.LICENSE.txt +1 -0
  113. package/5092.min.js +2 -0
  114. package/5092.min.js.LICENSE.txt +1 -0
  115. package/5120.min.js +2 -0
  116. package/5120.min.js.LICENSE.txt +1 -0
  117. package/5243.min.js +2 -0
  118. package/5243.min.js.LICENSE.txt +1 -0
  119. package/5245.min.js +2 -0
  120. package/5245.min.js.LICENSE.txt +1 -0
  121. package/5308.min.js +2 -0
  122. package/5308.min.js.LICENSE.txt +1 -0
  123. package/5329.min.js +2 -0
  124. package/5329.min.js.LICENSE.txt +1 -0
  125. package/533.min.js +2 -0
  126. package/533.min.js.LICENSE.txt +1 -0
  127. package/5437.min.js +2 -0
  128. package/5437.min.js.LICENSE.txt +1 -0
  129. package/5444.min.js +2 -0
  130. package/5444.min.js.LICENSE.txt +1 -0
  131. package/5523.min.js +2 -0
  132. package/5523.min.js.LICENSE.txt +1 -0
  133. package/5534.min.js +2 -0
  134. package/5534.min.js.LICENSE.txt +1 -0
  135. package/560.min.js +2 -0
  136. package/560.min.js.LICENSE.txt +1 -0
  137. package/5647.min.js +2 -0
  138. package/5647.min.js.LICENSE.txt +1 -0
  139. package/571.min.js +2 -0
  140. package/571.min.js.LICENSE.txt +1 -0
  141. package/5715.min.js +2 -0
  142. package/5715.min.js.LICENSE.txt +1 -0
  143. package/5819.min.js +2 -0
  144. package/5819.min.js.LICENSE.txt +1 -0
  145. package/6004.min.js +2 -0
  146. package/6004.min.js.LICENSE.txt +1 -0
  147. package/6072.min.js +2 -0
  148. package/6072.min.js.LICENSE.txt +1 -0
  149. package/6132.min.js +2 -0
  150. package/6132.min.js.LICENSE.txt +1 -0
  151. package/6540.min.js +2 -0
  152. package/6540.min.js.LICENSE.txt +1 -0
  153. package/6634.min.js +2 -0
  154. package/6634.min.js.LICENSE.txt +1 -0
  155. package/6763.min.js +2 -0
  156. package/6763.min.js.LICENSE.txt +1 -0
  157. package/6772.min.js +2 -0
  158. package/6772.min.js.LICENSE.txt +1 -0
  159. package/69.min.js +2 -0
  160. package/69.min.js.LICENSE.txt +1 -0
  161. package/7002.min.js +2 -0
  162. package/7002.min.js.LICENSE.txt +1 -0
  163. package/7031.min.js +2 -0
  164. package/7031.min.js.LICENSE.txt +1 -0
  165. package/7049.min.js +2 -0
  166. package/7049.min.js.LICENSE.txt +1 -0
  167. package/7077.min.js +2 -0
  168. package/7077.min.js.LICENSE.txt +1 -0
  169. package/7108.min.js +2 -0
  170. package/7108.min.js.LICENSE.txt +1 -0
  171. package/7331.min.js +2 -0
  172. package/7331.min.js.LICENSE.txt +1 -0
  173. package/7423.min.js +2 -0
  174. package/7423.min.js.LICENSE.txt +1 -0
  175. package/7517.min.js +2 -0
  176. package/7517.min.js.LICENSE.txt +1 -0
  177. package/7725.min.js +2 -0
  178. package/7725.min.js.LICENSE.txt +1 -0
  179. package/7757.min.js +2 -0
  180. package/7757.min.js.LICENSE.txt +1 -0
  181. package/7769.min.js +2 -0
  182. package/7769.min.js.LICENSE.txt +1 -0
  183. package/7835.min.js +2 -0
  184. package/7835.min.js.LICENSE.txt +1 -0
  185. package/7859.min.js +2 -0
  186. package/7859.min.js.LICENSE.txt +1 -0
  187. package/7886.min.js +2 -0
  188. package/7886.min.js.LICENSE.txt +1 -0
  189. package/7890.min.js +2 -0
  190. package/7890.min.js.LICENSE.txt +1 -0
  191. package/7900.min.js +2 -0
  192. package/7900.min.js.LICENSE.txt +1 -0
  193. package/8088.min.js +2 -0
  194. package/8088.min.js.LICENSE.txt +1 -0
  195. package/8158.min.js +2 -0
  196. package/8158.min.js.LICENSE.txt +1 -0
  197. package/8445.min.js +2 -0
  198. package/8445.min.js.LICENSE.txt +1 -0
  199. package/8739.min.js +2 -0
  200. package/8739.min.js.LICENSE.txt +1 -0
  201. package/8883.min.js +2 -0
  202. package/8883.min.js.LICENSE.txt +1 -0
  203. package/889.min.js +2 -0
  204. package/889.min.js.LICENSE.txt +1 -0
  205. package/9062.min.js +2 -0
  206. package/9062.min.js.LICENSE.txt +1 -0
  207. package/9126.min.js +2 -0
  208. package/9126.min.js.LICENSE.txt +1 -0
  209. package/9133.min.js +2 -0
  210. package/9133.min.js.LICENSE.txt +1 -0
  211. package/9251.min.js +2 -0
  212. package/9251.min.js.LICENSE.txt +1 -0
  213. package/9331.min.js +2 -0
  214. package/9331.min.js.LICENSE.txt +1 -0
  215. package/9376.min.js +2 -0
  216. package/9376.min.js.LICENSE.txt +1 -0
  217. package/9431.min.js +2 -0
  218. package/9431.min.js.LICENSE.txt +1 -0
  219. package/9530.min.js +2 -0
  220. package/9530.min.js.LICENSE.txt +1 -0
  221. package/9532.min.js +2 -0
  222. package/9532.min.js.LICENSE.txt +1 -0
  223. package/9921.min.js +2 -0
  224. package/9921.min.js.LICENSE.txt +1 -0
  225. package/9937.min.js +2 -0
  226. package/9937.min.js.LICENSE.txt +1 -0
  227. package/9979.min.js +2 -0
  228. package/9979.min.js.LICENSE.txt +1 -0
  229. package/basic_dist_browser_index_js.js +30 -0
  230. package/browser/index.js +1 -12
  231. package/cjs/index.js +36 -24
  232. package/engine_dist_browser_Core_Container_js.js +90 -0
  233. package/engine_dist_browser_Core_Particle_js.js +30 -0
  234. package/esm/index.js +1 -12
  235. package/interactions_external_attract_dist_browser_Attractor_js.js +30 -0
  236. package/interactions_external_attract_dist_browser_Utils_js.js +30 -0
  237. package/interactions_external_attract_dist_browser_index_js.js +50 -0
  238. package/interactions_external_bounce_dist_browser_Bouncer_js.js +30 -0
  239. package/interactions_external_bounce_dist_browser_Utils_js.js +30 -0
  240. package/interactions_external_bounce_dist_browser_index_js.js +50 -0
  241. package/interactions_external_bubble_dist_browser_Bubbler_js.js +40 -0
  242. package/interactions_external_bubble_dist_browser_index_js.js +90 -0
  243. package/interactions_external_connect_dist_browser_Connector_js.js +40 -0
  244. package/interactions_external_connect_dist_browser_index_js.js +70 -0
  245. package/interactions_external_grab_dist_browser_Grabber_js.js +40 -0
  246. package/interactions_external_grab_dist_browser_index_js.js +70 -0
  247. package/interactions_external_pause_dist_browser_Pauser_js.js +30 -0
  248. package/interactions_external_pause_dist_browser_index_js.js +30 -0
  249. package/interactions_external_push_dist_browser_Pusher_js.js +30 -0
  250. package/interactions_external_push_dist_browser_index_js.js +50 -0
  251. package/interactions_external_remove_dist_browser_Remover_js.js +30 -0
  252. package/interactions_external_remove_dist_browser_index_js.js +50 -0
  253. package/interactions_external_repulse_dist_browser_Repulser_js.js +30 -0
  254. package/interactions_external_repulse_dist_browser_index_js.js +90 -0
  255. package/interactions_external_slow_dist_browser_Slower_js.js +30 -0
  256. package/interactions_external_slow_dist_browser_index_js.js +50 -0
  257. package/interactions_external_trail_dist_browser_TrailMaker_js.js +30 -0
  258. package/interactions_external_trail_dist_browser_index_js.js +50 -0
  259. package/interactions_particles_attract_dist_browser_Attractor_js.js +30 -0
  260. package/interactions_particles_attract_dist_browser_index_js.js +30 -0
  261. package/interactions_particles_collisions_dist_browser_Absorb_js.js +30 -0
  262. package/interactions_particles_collisions_dist_browser_Bounce_js.js +30 -0
  263. package/interactions_particles_collisions_dist_browser_Collider_js.js +40 -0
  264. package/interactions_particles_collisions_dist_browser_Destroy_js.js +40 -0
  265. package/interactions_particles_collisions_dist_browser_index_js.js +30 -0
  266. package/interactions_particles_links_dist_browser_CircleWarp_js.js +30 -0
  267. package/interactions_particles_links_dist_browser_LinkInstance_js.js +40 -0
  268. package/interactions_particles_links_dist_browser_Linker_js.js +30 -0
  269. package/interactions_particles_links_dist_browser_index_js.js +110 -0
  270. package/move_base_dist_browser_BaseMover_js.js +30 -0
  271. package/move_base_dist_browser_Utils_js.js +30 -0
  272. package/move_base_dist_browser_index_js.js +30 -0
  273. package/move_parallax_dist_browser_ParallaxMover_js.js +30 -0
  274. package/move_parallax_dist_browser_index_js.js +30 -0
  275. package/package.json +14 -14
  276. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +30 -0
  277. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +60 -0
  278. package/plugins_absorbers_dist_browser_Absorbers_js.js +30 -0
  279. package/plugins_absorbers_dist_browser_index_js.js +50 -0
  280. package/plugins_easings_quad_dist_browser_index_js.js +30 -0
  281. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +120 -0
  282. package/plugins_emittersShapes_circle_dist_browser_index_js.js +30 -0
  283. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +120 -0
  284. package/plugins_emittersShapes_square_dist_browser_index_js.js +30 -0
  285. package/plugins_emitters_dist_browser_EmitterInstance_js.js +30 -0
  286. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +90 -0
  287. package/plugins_emitters_dist_browser_Emitters_js.js +30 -0
  288. package/plugins_emitters_dist_browser_ShapeManager_js.js +30 -0
  289. package/plugins_emitters_dist_browser_index_js.js +100 -0
  290. package/report.html +3 -3
  291. package/shapes_circle_dist_browser_CircleDrawer_js.js +30 -0
  292. package/shapes_circle_dist_browser_Utils_js.js +30 -0
  293. package/shapes_circle_dist_browser_index_js.js +30 -0
  294. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +30 -0
  295. package/shapes_emoji_dist_browser_Utils_js.js +30 -0
  296. package/shapes_emoji_dist_browser_index_js.js +40 -0
  297. package/shapes_image_dist_browser_GifUtils_Utils_js.js +50 -0
  298. package/shapes_image_dist_browser_ImageDrawer_js.js +30 -0
  299. package/shapes_image_dist_browser_ImagePreloader_js.js +40 -0
  300. package/shapes_image_dist_browser_index_js.js +40 -0
  301. package/shapes_line_dist_browser_LineDrawer_js.js +30 -0
  302. package/shapes_line_dist_browser_Utils_js.js +30 -0
  303. package/shapes_line_dist_browser_index_js.js +30 -0
  304. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +40 -0
  305. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +40 -0
  306. package/shapes_polygon_dist_browser_Utils_js.js +30 -0
  307. package/shapes_polygon_dist_browser_index_js.js +30 -0
  308. package/shapes_square_dist_browser_SquareDrawer_js.js +30 -0
  309. package/shapes_square_dist_browser_Utils_js.js +30 -0
  310. package/shapes_square_dist_browser_index_js.js +30 -0
  311. package/shapes_star_dist_browser_StarDrawer_js.js +30 -0
  312. package/shapes_star_dist_browser_Utils_js.js +30 -0
  313. package/shapes_star_dist_browser_index_js.js +30 -0
  314. package/shapes_text_dist_browser_Utils_js.js +30 -0
  315. package/shapes_text_dist_browser_index_js.js +40 -0
  316. package/tsparticles..bundle.js +2254 -0
  317. package/tsparticles..bundle.min.js +2 -0
  318. package/tsparticles..bundle.min.js.LICENSE.txt +1 -0
  319. package/tsparticles.js +115 -96
  320. package/tsparticles.min.js +1 -1
  321. package/tsparticles.min.js.LICENSE.txt +1 -1
  322. package/umd/index.js +38 -25
  323. package/updaters_color_dist_browser_ColorUpdater_js.js +30 -0
  324. package/updaters_color_dist_browser_index_js.js +30 -0
  325. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +90 -0
  326. package/updaters_destroy_dist_browser_index_js.js +30 -0
  327. package/updaters_life_dist_browser_LifeUpdater_js.js +60 -0
  328. package/updaters_life_dist_browser_Utils_js.js +30 -0
  329. package/updaters_life_dist_browser_index_js.js +30 -0
  330. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +30 -0
  331. package/updaters_opacity_dist_browser_index_js.js +30 -0
  332. package/updaters_outModes_dist_browser_BounceOutMode_js.js +30 -0
  333. package/updaters_outModes_dist_browser_DestroyOutMode_js.js +30 -0
  334. package/updaters_outModes_dist_browser_NoneOutMode_js.js +30 -0
  335. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +30 -0
  336. package/updaters_outModes_dist_browser_OutOutMode_js.js +30 -0
  337. package/updaters_outModes_dist_browser_Utils_js.js +30 -0
  338. package/updaters_outModes_dist_browser_index_js.js +30 -0
  339. package/updaters_roll_dist_browser_RollUpdater_js.js +50 -0
  340. package/updaters_roll_dist_browser_Utils_js.js +30 -0
  341. package/updaters_roll_dist_browser_index_js.js +30 -0
  342. package/updaters_rotate_dist_browser_RotateUpdater_js.js +50 -0
  343. package/updaters_rotate_dist_browser_index_js.js +30 -0
  344. package/updaters_size_dist_browser_SizeUpdater_js.js +30 -0
  345. package/updaters_size_dist_browser_index_js.js +30 -0
  346. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +30 -0
  347. package/updaters_strokeColor_dist_browser_index_js.js +30 -0
  348. package/updaters_tilt_dist_browser_TiltUpdater_js.js +50 -0
  349. package/updaters_tilt_dist_browser_index_js.js +30 -0
  350. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +50 -0
  351. package/updaters_twinkle_dist_browser_index_js.js +30 -0
  352. package/updaters_wobble_dist_browser_Utils_js.js +30 -0
  353. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +50 -0
  354. package/updaters_wobble_dist_browser_index_js.js +30 -0
  355. package/tsparticles.bundle.js +0 -12893
  356. package/tsparticles.bundle.min.js +0 -2
  357. package/tsparticles.bundle.min.js.LICENSE.txt +0 -1
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_outModes_dist_browser_Utils_js"],{
19
+
20
+ /***/ "../../updaters/outModes/dist/browser/Utils.js":
21
+ /*!*****************************************************!*\
22
+ !*** ../../updaters/outModes/dist/browser/Utils.js ***!
23
+ \*****************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bounceHorizontal: () => (/* binding */ bounceHorizontal),\n/* harmony export */ bounceVertical: () => (/* binding */ bounceVertical)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minVelocity = 0,\n boundsMin = 0;\nfunction bounceHorizontal(data) {\n if (data.outMode !== \"bounce\" && data.outMode !== \"split\" || data.direction !== \"left\" && data.direction !== \"right\") {\n return;\n }\n if (data.bounds.right < boundsMin && data.direction === \"left\") {\n data.particle.position.x = data.size + data.offset.x;\n } else if (data.bounds.left > data.canvasSize.width && data.direction === \"right\") {\n data.particle.position.x = data.canvasSize.width - data.size - data.offset.x;\n }\n const velocity = data.particle.velocity.x;\n let bounced = false;\n if (data.direction === \"right\" && data.bounds.right >= data.canvasSize.width && velocity > minVelocity || data.direction === \"left\" && data.bounds.left <= boundsMin && velocity < minVelocity) {\n const newVelocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(data.particle.options.bounce.horizontal.value);\n data.particle.velocity.x *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.x + data.size;\n if (data.bounds.right >= data.canvasSize.width && data.direction === \"right\") {\n data.particle.position.x = data.canvasSize.width - minPos;\n } else if (data.bounds.left <= boundsMin && data.direction === \"left\") {\n data.particle.position.x = minPos;\n }\n if (data.outMode === \"split\") {\n data.particle.destroy();\n }\n}\nfunction bounceVertical(data) {\n if (data.outMode !== \"bounce\" && data.outMode !== \"split\" || data.direction !== \"bottom\" && data.direction !== \"top\") {\n return;\n }\n if (data.bounds.bottom < boundsMin && data.direction === \"top\") {\n data.particle.position.y = data.size + data.offset.y;\n } else if (data.bounds.top > data.canvasSize.height && data.direction === \"bottom\") {\n data.particle.position.y = data.canvasSize.height - data.size - data.offset.y;\n }\n const velocity = data.particle.velocity.y;\n let bounced = false;\n if (data.direction === \"bottom\" && data.bounds.bottom >= data.canvasSize.height && velocity > minVelocity || data.direction === \"top\" && data.bounds.top <= boundsMin && velocity < minVelocity) {\n const newVelocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(data.particle.options.bounce.vertical.value);\n data.particle.velocity.y *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.y + data.size;\n if (data.bounds.bottom >= data.canvasSize.height && data.direction === \"bottom\") {\n data.particle.position.y = data.canvasSize.height - minPos;\n } else if (data.bounds.top <= boundsMin && data.direction === \"top\") {\n data.particle.position.y = minPos;\n }\n if (data.outMode === \"split\") {\n data.particle.destroy();\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/outModes/dist/browser/Utils.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_outModes_dist_browser_index_js"],{
19
+
20
+ /***/ "../../updaters/outModes/dist/browser/index.js":
21
+ /*!*****************************************************!*\
22
+ !*** ../../updaters/outModes/dist/browser/index.js ***!
23
+ \*****************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadOutModesUpdater: () => (/* binding */ loadOutModesUpdater)\n/* harmony export */ });\nasync function loadOutModesUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"outModes\", async container => {\n const {\n OutOfCanvasUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_outModes_dist_browser_OutOfCanvasUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./OutOfCanvasUpdater.js */ \"../../updaters/outModes/dist/browser/OutOfCanvasUpdater.js\"));\n return new OutOfCanvasUpdater(container);\n }, refresh);\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/outModes/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_roll_dist_browser_RollUpdater_js"],{
19
+
20
+ /***/ "../../updaters/roll/dist/browser/Options/Classes/Roll.js":
21
+ /*!****************************************************************!*\
22
+ !*** ../../updaters/roll/dist/browser/Options/Classes/Roll.js ***!
23
+ \****************************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Roll: () => (/* binding */ Roll)\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 _RollLight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollLight.js */ \"../../updaters/roll/dist/browser/Options/Classes/RollLight.js\");\n\n\nclass Roll {\n constructor() {\n this.darken = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.enable = false;\n this.enlighten = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.mode = \"vertical\";\n this.speed = 25;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.backColor !== undefined) {\n this.backColor = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.backColor, data.backColor);\n }\n this.darken.load(data.darken);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.enlighten.load(data.enlighten);\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/roll/dist/browser/Options/Classes/Roll.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../updaters/roll/dist/browser/Options/Classes/RollLight.js":
31
+ /*!*********************************************************************!*\
32
+ !*** ../../updaters/roll/dist/browser/Options/Classes/RollLight.js ***!
33
+ \*********************************************************************/
34
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
+
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollLight: () => (/* binding */ RollLight)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass RollLight {\n constructor() {\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.value !== undefined) {\n this.value = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.value);\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/roll/dist/browser/Options/Classes/RollLight.js?");
37
+
38
+ /***/ }),
39
+
40
+ /***/ "../../updaters/roll/dist/browser/RollUpdater.js":
41
+ /*!*******************************************************!*\
42
+ !*** ../../updaters/roll/dist/browser/RollUpdater.js ***!
43
+ \*******************************************************/
44
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
45
+
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollUpdater: () => (/* binding */ RollUpdater)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Roll.js */ \"../../updaters/roll/dist/browser/Options/Classes/Roll.js\");\n\nclass RollUpdater {\n getTransformValues(particle) {\n const roll = particle.roll?.enable && particle.roll,\n rollHorizontal = roll && roll.horizontal,\n rollVertical = roll && roll.vertical;\n return {\n a: rollHorizontal ? Math.cos(roll.angle) : undefined,\n d: rollVertical ? Math.sin(roll.angle) : undefined\n };\n }\n async init(particle) {\n const {\n initParticle\n } = await __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../updaters/roll/dist/browser/Utils.js\"));\n initParticle(particle);\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && !!roll?.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.roll) {\n options.roll = new _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_0__.Roll();\n }\n for (const source of sources) {\n options.roll.load(source?.roll);\n }\n }\n async update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n const {\n updateRoll\n } = await __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../updaters/roll/dist/browser/Utils.js\"));\n updateRoll(particle, delta);\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/roll/dist/browser/RollUpdater.js?");
47
+
48
+ /***/ })
49
+
50
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_roll_dist_browser_Utils_js"],{
19
+
20
+ /***/ "../../updaters/roll/dist/browser/Utils.js":
21
+ /*!*************************************************!*\
22
+ !*** ../../updaters/roll/dist/browser/Utils.js ***!
23
+ \*************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initParticle: () => (/* binding */ initParticle),\n/* harmony export */ updateRoll: () => (/* binding */ updateRoll)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst double = 2,\n doublePI = Math.PI * double,\n maxAngle = 360;\nfunction initParticle(particle) {\n const rollOpt = particle.options.roll;\n if (!rollOpt?.enable) {\n particle.roll = {\n enable: false,\n horizontal: false,\n vertical: false,\n angle: 0,\n speed: 0\n };\n return;\n }\n particle.roll = {\n enable: rollOpt.enable,\n horizontal: rollOpt.mode === \"horizontal\" || rollOpt.mode === \"both\",\n vertical: rollOpt.mode === \"vertical\" || rollOpt.mode === \"both\",\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * doublePI,\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.speed) / maxAngle\n };\n if (rollOpt.backColor) {\n particle.backColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(rollOpt.backColor);\n } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.halfRandom ? \"darken\" : \"enlighten\";\n particle.roll.alter = {\n type: alterType,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(alterType === \"darken\" ? rollOpt.darken.value : rollOpt.enlighten.value)\n };\n } else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: \"darken\",\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.darken.value)\n };\n } else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: \"enlighten\",\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.enlighten.value)\n };\n }\n}\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll,\n data = particle.roll;\n if (!data || !roll?.enable) {\n return;\n }\n const speed = data.speed * delta.factor,\n max = doublePI;\n data.angle += speed;\n if (data.angle > max) {\n data.angle -= max;\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/roll/dist/browser/Utils.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_roll_dist_browser_index_js"],{
19
+
20
+ /***/ "../../updaters/roll/dist/browser/index.js":
21
+ /*!*************************************************!*\
22
+ !*** ../../updaters/roll/dist/browser/index.js ***!
23
+ \*************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRollUpdater: () => (/* binding */ loadRollUpdater)\n/* harmony export */ });\nasync function loadRollUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"roll\", async () => {\n const {\n RollUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_RollUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RollUpdater.js */ \"../../updaters/roll/dist/browser/RollUpdater.js\"));\n return new RollUpdater();\n }, refresh);\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/roll/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_rotate_dist_browser_RotateUpdater_js"],{
19
+
20
+ /***/ "../../updaters/rotate/dist/browser/Options/Classes/Rotate.js":
21
+ /*!********************************************************************!*\
22
+ !*** ../../updaters/rotate/dist/browser/Options/Classes/Rotate.js ***!
23
+ \********************************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Rotate: () => (/* binding */ Rotate)\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 _RotateAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RotateAnimation.js */ \"../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js\");\n\n\nclass Rotate extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.animation = new _RotateAnimation_js__WEBPACK_IMPORTED_MODULE_1__.RotateAnimation();\n this.direction = \"clockwise\";\n this.path = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.animation.load(data.animation);\n if (data.path !== undefined) {\n this.path = data.path;\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/rotate/dist/browser/Options/Classes/Rotate.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js":
31
+ /*!*****************************************************************************!*\
32
+ !*** ../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js ***!
33
+ \*****************************************************************************/
34
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
+
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RotateAnimation: () => (/* binding */ RotateAnimation)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass RotateAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js?");
37
+
38
+ /***/ }),
39
+
40
+ /***/ "../../updaters/rotate/dist/browser/RotateUpdater.js":
41
+ /*!***********************************************************!*\
42
+ !*** ../../updaters/rotate/dist/browser/RotateUpdater.js ***!
43
+ \***********************************************************/
44
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
45
+
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RotateUpdater: () => (/* binding */ RotateUpdater)\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_Rotate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Rotate.js */ \"../../updaters/rotate/dist/browser/Options/Classes/Rotate.js\");\n\n\nconst double = 2,\n doublePI = Math.PI * double,\n identity = 1,\n doublePIDeg = 360;\nclass RotateUpdater {\n constructor(container) {\n this.container = container;\n }\n async init(particle) {\n const rotateOptions = particle.options.rotate;\n if (!rotateOptions) {\n return;\n }\n particle.rotate = {\n enable: rotateOptions.animation.enable,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rotateOptions.value)),\n min: 0,\n max: doublePI\n };\n particle.pathRotation = rotateOptions.path;\n let rotateDirection = rotateOptions.direction;\n if (rotateDirection === \"random\") {\n const index = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * double),\n minIndex = 0;\n rotateDirection = index > minIndex ? \"counter-clockwise\" : \"clockwise\";\n }\n switch (rotateDirection) {\n case \"counter-clockwise\":\n case \"counterClockwise\":\n particle.rotate.status = \"decreasing\";\n break;\n case \"clockwise\":\n particle.rotate.status = \"increasing\";\n break;\n }\n const rotateAnimation = rotateOptions.animation;\n if (rotateAnimation.enable) {\n particle.rotate.decay = identity - (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rotateAnimation.decay);\n particle.rotate.velocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rotateAnimation.speed) / doublePIDeg * this.container.retina.reduceFactor;\n if (!rotateAnimation.sync) {\n particle.rotate.velocity *= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n particle.rotation = particle.rotate.value;\n await Promise.resolve();\n }\n isEnabled(particle) {\n const rotate = particle.options.rotate;\n if (!rotate) {\n return false;\n }\n return !particle.destroyed && !particle.spawning && rotate.animation.enable && !rotate.path;\n }\n loadOptions(options, ...sources) {\n if (!options.rotate) {\n options.rotate = new _Options_Classes_Rotate_js__WEBPACK_IMPORTED_MODULE_1__.Rotate();\n }\n for (const source of sources) {\n options.rotate.load(source?.rotate);\n }\n }\n async update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n if (!particle.rotate) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateAnimation)(particle, particle.rotate, false, \"none\", delta);\n particle.rotation = particle.rotate.value;\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/rotate/dist/browser/RotateUpdater.js?");
47
+
48
+ /***/ })
49
+
50
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_rotate_dist_browser_index_js"],{
19
+
20
+ /***/ "../../updaters/rotate/dist/browser/index.js":
21
+ /*!***************************************************!*\
22
+ !*** ../../updaters/rotate/dist/browser/index.js ***!
23
+ \***************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRotateUpdater: () => (/* binding */ loadRotateUpdater)\n/* harmony export */ });\nasync function loadRotateUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"rotate\", async container => {\n const {\n RotateUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_rotate_dist_browser_RotateUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./RotateUpdater.js */ \"../../updaters/rotate/dist/browser/RotateUpdater.js\"));\n return new RotateUpdater(container);\n }, refresh);\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/rotate/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_size_dist_browser_SizeUpdater_js"],{
19
+
20
+ /***/ "../../updaters/size/dist/browser/SizeUpdater.js":
21
+ /*!*******************************************************!*\
22
+ !*** ../../updaters/size/dist/browser/SizeUpdater.js ***!
23
+ \*******************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SizeUpdater: () => (/* binding */ SizeUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minLoops = 0;\nclass SizeUpdater {\n async init(particle) {\n const container = particle.container,\n sizeOptions = particle.options.size,\n sizeAnimation = sizeOptions.animation;\n if (sizeAnimation.enable) {\n particle.size.velocity = (particle.retina.sizeAnimationSpeed ?? container.retina.sizeAnimationSpeed) / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator * container.retina.reduceFactor;\n if (!sizeAnimation.sync) {\n particle.size.velocity *= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n await Promise.resolve();\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning && particle.size.enable && ((particle.size.maxLoops ?? minLoops) <= minLoops || (particle.size.maxLoops ?? minLoops) > minLoops && (particle.size.loops ?? minLoops) < (particle.size.maxLoops ?? minLoops));\n }\n reset(particle) {\n particle.size.loops = minLoops;\n }\n async update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateAnimation)(particle, particle.size, true, particle.options.size.animation.destroy, delta);\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/size/dist/browser/SizeUpdater.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_size_dist_browser_index_js"],{
19
+
20
+ /***/ "../../updaters/size/dist/browser/index.js":
21
+ /*!*************************************************!*\
22
+ !*** ../../updaters/size/dist/browser/index.js ***!
23
+ \*************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSizeUpdater: () => (/* binding */ loadSizeUpdater)\n/* harmony export */ });\nasync function loadSizeUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"size\", async () => {\n const {\n SizeUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_size_dist_browser_SizeUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SizeUpdater.js */ \"../../updaters/size/dist/browser/SizeUpdater.js\"));\n return new SizeUpdater();\n }, refresh);\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/size/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_strokeColor_dist_browser_StrokeColorUpdater_js"],{
19
+
20
+ /***/ "../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js":
21
+ /*!*********************************************************************!*\
22
+ !*** ../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js ***!
23
+ \*********************************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StrokeColorUpdater: () => (/* binding */ StrokeColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultOpacity = 1;\nclass StrokeColorUpdater {\n constructor(container) {\n this.container = container;\n }\n async init(particle) {\n const container = this.container,\n options = particle.options;\n const stroke = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(options.stroke, particle.id, options.reduceDuplicates);\n particle.strokeWidth = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(stroke.width) * container.retina.pixelRatio;\n particle.strokeOpacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(stroke.opacity ?? defaultOpacity);\n particle.strokeAnimation = stroke.color?.animation;\n const strokeHslColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(stroke.color) ?? particle.getFillColor();\n if (strokeHslColor) {\n particle.strokeColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getHslAnimationFromHsl)(strokeHslColor, particle.strokeAnimation, container.retina.reduceFactor);\n }\n await Promise.resolve();\n }\n isEnabled(particle) {\n const color = particle.strokeAnimation,\n {\n strokeColor\n } = particle;\n return !particle.destroyed && !particle.spawning && !!color && (strokeColor?.h.value !== undefined && strokeColor.h.enable || strokeColor?.s.value !== undefined && strokeColor.s.enable || strokeColor?.l.value !== undefined && strokeColor.l.enable);\n }\n async update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateColor)(particle.strokeColor, delta);\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_strokeColor_dist_browser_index_js"],{
19
+
20
+ /***/ "../../updaters/strokeColor/dist/browser/index.js":
21
+ /*!********************************************************!*\
22
+ !*** ../../updaters/strokeColor/dist/browser/index.js ***!
23
+ \********************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadStrokeColorUpdater: () => (/* binding */ loadStrokeColorUpdater)\n/* harmony export */ });\nasync function loadStrokeColorUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"strokeColor\", async container => {\n const {\n StrokeColorUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_strokeColor_dist_browser_StrokeColorUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./StrokeColorUpdater.js */ \"../../updaters/strokeColor/dist/browser/StrokeColorUpdater.js\"));\n return new StrokeColorUpdater(container);\n }, refresh);\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/strokeColor/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_tilt_dist_browser_TiltUpdater_js"],{
19
+
20
+ /***/ "../../updaters/tilt/dist/browser/Options/Classes/Tilt.js":
21
+ /*!****************************************************************!*\
22
+ !*** ../../updaters/tilt/dist/browser/Options/Classes/Tilt.js ***!
23
+ \****************************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tilt: () => (/* binding */ Tilt)\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 _TiltAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TiltAnimation.js */ \"../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js\");\n\n\nclass Tilt extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.animation = new _TiltAnimation_js__WEBPACK_IMPORTED_MODULE_1__.TiltAnimation();\n this.direction = \"clockwise\";\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/tilt/dist/browser/Options/Classes/Tilt.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js":
31
+ /*!*************************************************************************!*\
32
+ !*** ../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js ***!
33
+ \*************************************************************************/
34
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
+
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TiltAnimation: () => (/* binding */ TiltAnimation)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TiltAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js?");
37
+
38
+ /***/ }),
39
+
40
+ /***/ "../../updaters/tilt/dist/browser/TiltUpdater.js":
41
+ /*!*******************************************************!*\
42
+ !*** ../../updaters/tilt/dist/browser/TiltUpdater.js ***!
43
+ \*******************************************************/
44
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
45
+
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TiltUpdater: () => (/* binding */ TiltUpdater)\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_Tilt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Tilt.js */ \"../../updaters/tilt/dist/browser/Options/Classes/Tilt.js\");\n\n\nconst identity = 1,\n double = 2,\n doublePI = Math.PI * double,\n maxAngle = 360;\nclass TiltUpdater {\n constructor(container) {\n this.container = container;\n }\n getTransformValues(particle) {\n const tilt = particle.tilt?.enable && particle.tilt;\n return {\n b: tilt ? Math.cos(tilt.value) * tilt.cosDirection : undefined,\n c: tilt ? Math.sin(tilt.value) * tilt.sinDirection : undefined\n };\n }\n async init(particle) {\n const tiltOptions = particle.options.tilt;\n if (!tiltOptions) {\n return;\n }\n particle.tilt = {\n enable: tiltOptions.enable,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(tiltOptions.value)),\n sinDirection: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.halfRandom ? identity : -identity,\n cosDirection: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.halfRandom ? identity : -identity,\n min: 0,\n max: doublePI\n };\n let tiltDirection = tiltOptions.direction;\n if (tiltDirection === \"random\") {\n const index = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * double),\n minIndex = 0;\n tiltDirection = index > minIndex ? \"counter-clockwise\" : \"clockwise\";\n }\n switch (tiltDirection) {\n case \"counter-clockwise\":\n case \"counterClockwise\":\n particle.tilt.status = \"decreasing\";\n break;\n case \"clockwise\":\n particle.tilt.status = \"increasing\";\n break;\n }\n const tiltAnimation = particle.options.tilt?.animation;\n if (tiltAnimation?.enable) {\n particle.tilt.decay = identity - (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(tiltAnimation.decay);\n particle.tilt.velocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(tiltAnimation.speed) / maxAngle * this.container.retina.reduceFactor;\n if (!tiltAnimation.sync) {\n particle.tilt.velocity *= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n await Promise.resolve();\n }\n isEnabled(particle) {\n const tiltAnimation = particle.options.tilt?.animation;\n return !particle.destroyed && !particle.spawning && !!tiltAnimation?.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.tilt) {\n options.tilt = new _Options_Classes_Tilt_js__WEBPACK_IMPORTED_MODULE_1__.Tilt();\n }\n for (const source of sources) {\n options.tilt.load(source?.tilt);\n }\n }\n async update(particle, delta) {\n if (!this.isEnabled(particle) || !particle.tilt) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateAnimation)(particle, particle.tilt, false, \"none\", delta);\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/tilt/dist/browser/TiltUpdater.js?");
47
+
48
+ /***/ })
49
+
50
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_tilt_dist_browser_index_js"],{
19
+
20
+ /***/ "../../updaters/tilt/dist/browser/index.js":
21
+ /*!*************************************************!*\
22
+ !*** ../../updaters/tilt/dist/browser/index.js ***!
23
+ \*************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTiltUpdater: () => (/* binding */ loadTiltUpdater)\n/* harmony export */ });\nasync function loadTiltUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"tilt\", async container => {\n const {\n TiltUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_tilt_dist_browser_TiltUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TiltUpdater.js */ \"../../updaters/tilt/dist/browser/TiltUpdater.js\"));\n return new TiltUpdater(container);\n }, refresh);\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/tilt/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_twinkle_dist_browser_TwinkleUpdater_js"],{
19
+
20
+ /***/ "../../updaters/twinkle/dist/browser/Options/Classes/Twinkle.js":
21
+ /*!**********************************************************************!*\
22
+ !*** ../../updaters/twinkle/dist/browser/Options/Classes/Twinkle.js ***!
23
+ \**********************************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Twinkle: () => (/* binding */ Twinkle)\n/* harmony export */ });\n/* harmony import */ var _TwinkleValues_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TwinkleValues.js */ \"../../updaters/twinkle/dist/browser/Options/Classes/TwinkleValues.js\");\n\nclass Twinkle {\n constructor() {\n this.lines = new _TwinkleValues_js__WEBPACK_IMPORTED_MODULE_0__.TwinkleValues();\n this.particles = new _TwinkleValues_js__WEBPACK_IMPORTED_MODULE_0__.TwinkleValues();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.lines.load(data.lines);\n this.particles.load(data.particles);\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/twinkle/dist/browser/Options/Classes/Twinkle.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../updaters/twinkle/dist/browser/Options/Classes/TwinkleValues.js":
31
+ /*!****************************************************************************!*\
32
+ !*** ../../updaters/twinkle/dist/browser/Options/Classes/TwinkleValues.js ***!
33
+ \****************************************************************************/
34
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
+
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TwinkleValues: () => (/* binding */ TwinkleValues)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TwinkleValues {\n constructor() {\n this.enable = false;\n this.frequency = 0.05;\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.frequency !== undefined) {\n this.frequency = data.frequency;\n }\n if (data.opacity !== undefined) {\n this.opacity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.opacity);\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/twinkle/dist/browser/Options/Classes/TwinkleValues.js?");
37
+
38
+ /***/ }),
39
+
40
+ /***/ "../../updaters/twinkle/dist/browser/TwinkleUpdater.js":
41
+ /*!*************************************************************!*\
42
+ !*** ../../updaters/twinkle/dist/browser/TwinkleUpdater.js ***!
43
+ \*************************************************************/
44
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
45
+
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TwinkleUpdater: () => (/* binding */ TwinkleUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Twinkle.js */ \"../../updaters/twinkle/dist/browser/Options/Classes/Twinkle.js\");\n\n\nclass TwinkleUpdater {\n getColorStyles(particle, context, radius, opacity) {\n const pOptions = particle.options,\n twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return {};\n }\n const twinkle = twinkleOptions.particles,\n twinkling = twinkle.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency,\n zIndexOptions = particle.options.zIndex,\n zOffset = 1,\n zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate,\n twinklingOpacity = twinkling ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity,\n twinkleRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(twinkle.color),\n twinkleStyle = twinkleRgb ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(twinkleRgb, twinklingOpacity) : undefined,\n res = {},\n needsTwinkle = twinkling && twinkleStyle;\n res.fill = needsTwinkle ? twinkleStyle : undefined;\n res.stroke = needsTwinkle ? twinkleStyle : undefined;\n return res;\n }\n async init() {\n await Promise.resolve();\n }\n isEnabled(particle) {\n const pOptions = particle.options,\n twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return false;\n }\n return twinkleOptions.particles.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.twinkle) {\n options.twinkle = new _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__.Twinkle();\n }\n for (const source of sources) {\n options.twinkle.load(source?.twinkle);\n }\n }\n async update() {\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/twinkle/dist/browser/TwinkleUpdater.js?");
47
+
48
+ /***/ })
49
+
50
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunktsparticles"] = this["webpackChunktsparticles"] || []).push([["updaters_twinkle_dist_browser_index_js"],{
19
+
20
+ /***/ "../../updaters/twinkle/dist/browser/index.js":
21
+ /*!****************************************************!*\
22
+ !*** ../../updaters/twinkle/dist/browser/index.js ***!
23
+ \****************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTwinkleUpdater: () => (/* binding */ loadTwinkleUpdater)\n/* harmony export */ });\nasync function loadTwinkleUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"twinkle\", async () => {\n const {\n TwinkleUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_twinkle_dist_browser_TwinkleUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TwinkleUpdater.js */ \"../../updaters/twinkle/dist/browser/TwinkleUpdater.js\"));\n return new TwinkleUpdater();\n }, refresh);\n}\n\n//# sourceURL=webpack://tsparticles/../../updaters/twinkle/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);