@tsparticles/all 4.0.0-alpha.5 → 4.0.0-beta.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 (1096) hide show
  1. package/102.min.js +1 -0
  2. package/1053.min.js +1 -0
  3. package/1060.min.js +1 -0
  4. package/1098.min.js +1 -0
  5. package/1146.min.js +1 -0
  6. package/1154.min.js +1 -0
  7. package/1171.min.js +1 -0
  8. package/1196.min.js +1 -0
  9. package/1220.min.js +1 -0
  10. package/1276.min.js +1 -0
  11. package/1283.min.js +1 -0
  12. package/1298.min.js +1 -0
  13. package/1302.min.js +1 -0
  14. package/1304.min.js +1 -0
  15. package/134.min.js +1 -0
  16. package/1368.min.js +1 -0
  17. package/1411.min.js +1 -0
  18. package/1510.min.js +1 -0
  19. package/1513.min.js +1 -0
  20. package/1553.min.js +1 -0
  21. package/1556.min.js +1 -0
  22. package/161.min.js +1 -0
  23. package/1624.min.js +1 -0
  24. package/1667.min.js +1 -0
  25. package/1739.min.js +1 -0
  26. package/1766.min.js +1 -0
  27. package/1812.min.js +1 -0
  28. package/1821.min.js +1 -0
  29. package/1906.min.js +1 -0
  30. package/2086.min.js +1 -0
  31. package/2123.min.js +2 -0
  32. package/2142.min.js +1 -0
  33. package/2167.min.js +1 -0
  34. package/2217.min.js +1 -0
  35. package/2218.min.js +1 -0
  36. package/229.min.js +1 -0
  37. package/2292.min.js +1 -0
  38. package/2295.min.js +1 -0
  39. package/2317.min.js +1 -0
  40. package/2346.min.js +1 -0
  41. package/2382.min.js +1 -0
  42. package/2397.min.js +1 -0
  43. package/241.min.js +1 -0
  44. package/2418.min.js +1 -0
  45. package/243.min.js +1 -0
  46. package/2488.min.js +1 -2
  47. package/2513.min.js +1 -0
  48. package/2541.min.js +1 -0
  49. package/2553.min.js +1 -0
  50. package/2569.min.js +1 -0
  51. package/2609.min.js +1 -0
  52. package/2616.min.js +1 -0
  53. package/2618.min.js +1 -0
  54. package/2642.min.js +1 -0
  55. package/2715.min.js +1 -0
  56. package/2738.min.js +1 -0
  57. package/2846.min.js +1 -0
  58. package/2917.min.js +1 -0
  59. package/2926.min.js +1 -0
  60. package/2940.min.js +1 -0
  61. package/3003.min.js +1 -2
  62. package/3019.min.js +1 -0
  63. package/3037.min.js +1 -0
  64. package/3091.min.js +1 -0
  65. package/3093.min.js +1 -0
  66. package/3130.min.js +1 -0
  67. package/3136.min.js +1 -0
  68. package/3138.min.js +1 -0
  69. package/3150.min.js +1 -0
  70. package/3194.min.js +1 -0
  71. package/3216.min.js +1 -0
  72. package/3233.min.js +1 -0
  73. package/3257.min.js +1 -0
  74. package/3296.min.js +1 -0
  75. package/3338.min.js +2 -0
  76. package/3391.min.js +1 -0
  77. package/3407.min.js +1 -0
  78. package/3413.min.js +1 -0
  79. package/342.min.js +1 -0
  80. package/3433.min.js +1 -0
  81. package/3455.min.js +1 -0
  82. package/3464.min.js +1 -0
  83. package/3509.min.js +1 -0
  84. package/3573.min.js +1 -0
  85. package/358.min.js +1 -0
  86. package/3618.min.js +1 -0
  87. package/3657.min.js +1 -0
  88. package/3659.min.js +1 -0
  89. package/366.min.js +1 -0
  90. package/3663.min.js +1 -0
  91. package/3693.min.js +1 -0
  92. package/3713.min.js +1 -0
  93. package/3715.min.js +1 -0
  94. package/3747.min.js +1 -0
  95. package/3750.min.js +1 -0
  96. package/3766.min.js +1 -0
  97. package/379.min.js +1 -0
  98. package/3793.min.js +1 -0
  99. package/3813.min.js +1 -0
  100. package/3853.min.js +1 -0
  101. package/3912.min.js +1 -0
  102. package/3924.min.js +1 -0
  103. package/4067.min.js +1 -0
  104. package/4073.min.js +1 -0
  105. package/4082.min.js +1 -0
  106. package/4089.min.js +1 -0
  107. package/4141.min.js +1 -0
  108. package/4149.min.js +1 -0
  109. package/4191.min.js +1 -0
  110. package/4204.min.js +1 -0
  111. package/4234.min.js +1 -0
  112. package/4257.min.js +1 -0
  113. package/4268.min.js +1 -0
  114. package/4270.min.js +1 -0
  115. package/4285.min.js +1 -0
  116. package/4292.min.js +1 -0
  117. package/4303.min.js +1 -0
  118. package/4385.min.js +1 -0
  119. package/439.min.js +1 -0
  120. package/4413.min.js +1 -0
  121. package/4424.min.js +1 -0
  122. package/4433.min.js +1 -0
  123. package/4462.min.js +1 -0
  124. package/4463.min.js +1 -0
  125. package/449.min.js +1 -0
  126. package/4532.min.js +1 -0
  127. package/4570.min.js +1 -0
  128. package/4572.min.js +1 -0
  129. package/4588.min.js +1 -0
  130. package/465.min.js +1 -0
  131. package/4660.min.js +1 -0
  132. package/4662.min.js +1 -0
  133. package/4669.min.js +1 -0
  134. package/4671.min.js +1 -0
  135. package/468.min.js +1 -0
  136. package/4683.min.js +1 -0
  137. package/4689.min.js +1 -2
  138. package/4708.min.js +1 -0
  139. package/4724.min.js +1 -0
  140. package/4792.min.js +1 -0
  141. package/485.min.js +1 -0
  142. package/4894.min.js +1 -0
  143. package/4932.min.js +1 -0
  144. package/5055.min.js +1 -0
  145. package/5133.min.js +1 -0
  146. package/514.min.js +1 -0
  147. package/5157.min.js +1 -0
  148. package/5206.min.js +1 -0
  149. package/521.min.js +1 -2
  150. package/5227.min.js +1 -0
  151. package/5249.min.js +1 -0
  152. package/5315.min.js +1 -0
  153. package/5322.min.js +1 -0
  154. package/533.min.js +1 -0
  155. package/5390.min.js +1 -0
  156. package/5406.min.js +1 -0
  157. package/5411.min.js +1 -0
  158. package/5478.min.js +1 -0
  159. package/5531.min.js +1 -0
  160. package/5538.min.js +1 -0
  161. package/5552.min.js +1 -0
  162. package/5558.min.js +1 -0
  163. package/5638.min.js +1 -0
  164. package/5665.min.js +1 -0
  165. package/5712.min.js +1 -0
  166. package/5723.min.js +1 -0
  167. package/5740.min.js +1 -0
  168. package/5833.min.js +1 -0
  169. package/5855.min.js +1 -0
  170. package/5901.min.js +1 -0
  171. package/5964.min.js +1 -0
  172. package/5997.min.js +1 -0
  173. package/6041.min.js +1 -0
  174. package/6058.min.js +1 -0
  175. package/6066.min.js +1 -0
  176. package/608.min.js +1 -0
  177. package/6098.min.js +1 -0
  178. package/6101.min.js +1 -0
  179. package/6179.min.js +1 -0
  180. package/6193.min.js +1 -0
  181. package/6211.min.js +1 -0
  182. package/622.min.js +1 -0
  183. package/6221.min.js +1 -0
  184. package/6299.min.js +1 -0
  185. package/6351.min.js +1 -0
  186. package/6361.min.js +1 -2
  187. package/6387.min.js +1 -0
  188. package/6405.min.js +1 -0
  189. package/644.min.js +1 -0
  190. package/6450.min.js +1 -0
  191. package/6458.min.js +1 -0
  192. package/6465.min.js +1 -0
  193. package/65.min.js +1 -0
  194. package/653.min.js +1 -0
  195. package/6583.min.js +1 -0
  196. package/6638.min.js +1 -0
  197. package/6684.min.js +1 -0
  198. package/6725.min.js +1 -0
  199. package/6808.min.js +1 -0
  200. package/6839.min.js +1 -0
  201. package/6900.min.js +1 -0
  202. package/6970.min.js +1 -0
  203. package/6982.min.js +1 -0
  204. package/6986.min.js +1 -0
  205. package/701.min.js +1 -0
  206. package/702.min.js +1 -0
  207. package/7028.min.js +1 -0
  208. package/7041.min.js +33 -0
  209. package/7116.min.js +1 -0
  210. package/7256.min.js +1 -2
  211. package/7258.min.js +1 -0
  212. package/7318.min.js +1 -0
  213. package/7377.min.js +1 -0
  214. package/7398.min.js +1 -0
  215. package/742.min.js +1 -0
  216. package/7449.min.js +1 -0
  217. package/7475.min.js +1 -0
  218. package/7520.min.js +1 -0
  219. package/7554.min.js +1 -0
  220. package/7559.min.js +1 -0
  221. package/7622.min.js +2 -0
  222. package/7636.min.js +1 -0
  223. package/7646.min.js +1 -0
  224. package/7724.min.js +1 -0
  225. package/7812.min.js +1 -0
  226. package/787.min.js +1 -0
  227. package/7876.min.js +1 -0
  228. package/7922.min.js +1 -0
  229. package/7925.min.js +1 -0
  230. package/7937.min.js +1 -0
  231. package/7977.min.js +1 -0
  232. package/7982.min.js +1 -0
  233. package/8032.min.js +1 -0
  234. package/8061.min.js +1 -0
  235. package/8109.min.js +1 -0
  236. package/811.min.js +1 -0
  237. package/8214.min.js +1 -0
  238. package/8222.min.js +1 -0
  239. package/8248.min.js +1 -0
  240. package/8315.min.js +1 -0
  241. package/8319.min.js +1 -0
  242. package/8322.min.js +1 -0
  243. package/8360.min.js +1 -0
  244. package/8383.min.js +1 -0
  245. package/8386.min.js +1 -0
  246. package/84.min.js +1 -0
  247. package/8476.min.js +1 -0
  248. package/8484.min.js +1 -0
  249. package/8517.min.js +1 -0
  250. package/8553.min.js +1 -0
  251. package/8565.min.js +1 -0
  252. package/8589.min.js +1 -0
  253. package/8606.min.js +1 -0
  254. package/8620.min.js +1 -0
  255. package/8639.min.js +1 -0
  256. package/8684.min.js +1 -0
  257. package/8689.min.js +1 -0
  258. package/8756.min.js +1 -0
  259. package/881.min.js +1 -0
  260. package/8815.min.js +1 -0
  261. package/8819.min.js +1 -0
  262. package/8826.min.js +1 -0
  263. package/8841.min.js +1 -0
  264. package/8843.min.js +1 -0
  265. package/8902.min.js +1 -0
  266. package/8926.min.js +2 -0
  267. package/9082.min.js +1 -0
  268. package/916.min.js +1 -0
  269. package/9177.min.js +1 -0
  270. package/9202.min.js +1 -0
  271. package/9279.min.js +1 -0
  272. package/9345.min.js +1 -0
  273. package/9352.min.js +1 -0
  274. package/9398.min.js +2 -0
  275. package/9544.min.js +1 -0
  276. package/9555.min.js +1 -0
  277. package/9565.min.js +1 -0
  278. package/9569.min.js +1 -0
  279. package/9578.min.js +1 -0
  280. package/9611.min.js +1 -0
  281. package/9613.min.js +1 -0
  282. package/9630.min.js +1 -0
  283. package/9666.min.js +1 -0
  284. package/9739.min.js +1 -0
  285. package/9761.min.js +1 -0
  286. package/9929.min.js +1 -0
  287. package/9956.min.js +1 -0
  288. package/README.md +158 -4
  289. package/basic_dist_browser_index_js.js +2 -2
  290. package/browser/bundle.js +1 -2
  291. package/browser/index.js +159 -61
  292. package/cjs/bundle.js +1 -2
  293. package/cjs/index.js +159 -61
  294. package/effects_bubble_dist_browser_BubbleDrawer_js.js +2 -2
  295. package/effects_bubble_dist_browser_index_js.js +2 -2
  296. package/effects_particles_dist_browser_ParticlesDrawer_js.js +30 -0
  297. package/effects_particles_dist_browser_index_js.js +30 -0
  298. package/effects_shadow_dist_browser_ShadowDrawer_js.js +2 -2
  299. package/effects_shadow_dist_browser_index_js.js +2 -2
  300. package/effects_trail_dist_browser_TrailDrawer_js.js +2 -2
  301. package/effects_trail_dist_browser_index_js.js +2 -2
  302. package/engine_dist_browser_Core_Container_js.js +12 -12
  303. package/esm/bundle.js +1 -2
  304. package/esm/index.js +159 -61
  305. package/full_dist_browser_index_js.js +2 -2
  306. package/interactions_external_attract_dist_browser_Attractor_js.js +42 -42
  307. package/interactions_external_attract_dist_browser_index_js.js +3 -3
  308. package/interactions_external_bounce_dist_browser_Bouncer_js.js +42 -42
  309. package/interactions_external_bounce_dist_browser_index_js.js +3 -3
  310. package/interactions_external_bubble_dist_browser_Bubbler_js.js +43 -43
  311. package/interactions_external_bubble_dist_browser_index_js.js +5 -5
  312. package/interactions_external_connect_dist_browser_Connector_js.js +62 -42
  313. package/interactions_external_connect_dist_browser_index_js.js +4 -4
  314. package/interactions_external_drag_dist_browser_Dragger_js.js +130 -0
  315. package/interactions_external_drag_dist_browser_index_js.js +40 -0
  316. package/interactions_external_grab_dist_browser_Grabber_js.js +62 -42
  317. package/interactions_external_grab_dist_browser_index_js.js +4 -4
  318. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +41 -41
  319. package/interactions_external_parallax_dist_browser_index_js.js +3 -3
  320. package/interactions_external_particle_dist_browser_InteractivityParticleMaker_js.js +42 -42
  321. package/interactions_external_particle_dist_browser_index_js.js +2 -2
  322. package/interactions_external_pause_dist_browser_Pauser_js.js +41 -41
  323. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  324. package/interactions_external_pop_dist_browser_Popper_js.js +41 -41
  325. package/interactions_external_pop_dist_browser_index_js.js +2 -2
  326. package/interactions_external_push_dist_browser_Pusher_js.js +41 -41
  327. package/interactions_external_push_dist_browser_index_js.js +3 -3
  328. package/interactions_external_remove_dist_browser_Remover_js.js +41 -41
  329. package/interactions_external_remove_dist_browser_index_js.js +3 -3
  330. package/interactions_external_repulse_dist_browser_Repulser_js.js +41 -41
  331. package/interactions_external_repulse_dist_browser_index_js.js +5 -5
  332. package/interactions_external_slow_dist_browser_Slower_js.js +41 -41
  333. package/interactions_external_slow_dist_browser_index_js.js +3 -3
  334. package/interactions_external_trail_dist_browser_TrailMaker_js.js +41 -41
  335. package/interactions_external_trail_dist_browser_index_js.js +33 -3
  336. package/interactions_light_dist_browser_ExternalLighter_js.js +42 -42
  337. package/interactions_light_dist_browser_ParticlesLighter_js.js +42 -42
  338. package/interactions_light_dist_browser_index_js.js +6 -6
  339. package/interactions_particles_attract_dist_browser_Attractor_js.js +51 -41
  340. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  341. package/interactions_particles_collisions_dist_browser_Collider_js.js +49 -49
  342. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +2 -2
  343. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
  344. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  345. package/interactions_particles_links_dist_browser_LinkInstance_js.js +3 -3
  346. package/interactions_particles_links_dist_browser_Linker_js.js +42 -42
  347. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
  348. package/interactions_particles_links_dist_browser_index_js.js +5 -5
  349. package/interactions_particles_repulse_dist_browser_Repulser_js.js +42 -42
  350. package/interactions_particles_repulse_dist_browser_index_js.js +2 -2
  351. package/package.json +77 -61
  352. package/paths_branches_dist_browser_BranchesPathGenerator_js.js +30 -0
  353. package/paths_branches_dist_browser_index_js.js +30 -0
  354. package/paths_brownian_dist_browser_BrownianPathGenerator_js.js +30 -0
  355. package/paths_brownian_dist_browser_index_js.js +30 -0
  356. package/paths_curlNoise_dist_browser_CurlNoiseGenerator_js.js +2 -2
  357. package/paths_curlNoise_dist_browser_index_js.js +2 -2
  358. package/paths_curves_dist_browser_CurvesPathGenerator_js.js +3 -3
  359. package/paths_curves_dist_browser_index_js.js +2 -2
  360. package/paths_fractalNoise_dist_browser_FractalNoiseGenerator_js.js +8 -8
  361. package/paths_fractalNoise_dist_browser_index_js.js +2 -2
  362. package/paths_grid_dist_browser_GridPathGenerator_js.js +30 -0
  363. package/paths_grid_dist_browser_index_js.js +30 -0
  364. package/paths_levy_dist_browser_LevyPathGenerator_js.js +30 -0
  365. package/paths_levy_dist_browser_index_js.js +30 -0
  366. package/paths_perlinNoise_dist_browser_PerlinNoiseGenerator_js.js +7 -7
  367. package/paths_perlinNoise_dist_browser_index_js.js +2 -2
  368. package/paths_polygon_dist_browser_PolygonPathGenerator_js.js +2 -2
  369. package/paths_polygon_dist_browser_index_js.js +2 -2
  370. package/paths_random_dist_browser_RandomPathGenerator_js.js +30 -0
  371. package/paths_random_dist_browser_index_js.js +30 -0
  372. package/paths_simplexNoise_dist_browser_SimplexNoiseGenerator_js.js +4 -4
  373. package/paths_simplexNoise_dist_browser_index_js.js +2 -2
  374. package/paths_spiral_dist_browser_SpiralPathGenerator_js.js +40 -0
  375. package/paths_spiral_dist_browser_index_js.js +30 -0
  376. package/paths_svg_dist_browser_SVGPathGenerator_js.js +22 -2
  377. package/paths_svg_dist_browser_index_js.js +2 -2
  378. package/paths_zigzag_dist_browser_ZigZagPathGenerator_js.js +2 -2
  379. package/paths_zigzag_dist_browser_index_js.js +2 -2
  380. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +15 -5
  381. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +2 -2
  382. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +54 -44
  383. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +2 -2
  384. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +15 -5
  385. package/plugins_absorbers_dist_browser_index_js.js +2 -2
  386. package/plugins_backgroundMask_dist_browser_BackgroundMaskPluginInstance_js.js +2 -2
  387. package/plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js.js +4 -4
  388. package/plugins_backgroundMask_dist_browser_index_js.js +2 -2
  389. package/plugins_blend_dist_browser_BlendPluginInstance_js.js +30 -0
  390. package/plugins_blend_dist_browser_BlendPlugin_js.js +40 -0
  391. package/plugins_blend_dist_browser_index_js.js +30 -0
  392. package/plugins_canvasMask_dist_browser_CanvasMaskPluginInstance_js.js +23 -3
  393. package/plugins_canvasMask_dist_browser_CanvasMaskPlugin_js.js +9 -9
  394. package/plugins_canvasMask_dist_browser_index_js.js +2 -2
  395. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +2 -2
  396. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  397. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +2 -2
  398. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  399. package/plugins_colors_hsv_dist_browser_HsvColorManager_js.js +3 -3
  400. package/plugins_colors_hsv_dist_browser_index_js.js +2 -2
  401. package/plugins_colors_hwb_dist_browser_HwbColorManager_js.js +2 -2
  402. package/plugins_colors_hwb_dist_browser_index_js.js +2 -2
  403. package/plugins_colors_lab_dist_browser_LabColorManager_js.js +3 -3
  404. package/plugins_colors_lab_dist_browser_index_js.js +2 -2
  405. package/plugins_colors_lch_dist_browser_LchColorManager_js.js +3 -3
  406. package/plugins_colors_lch_dist_browser_index_js.js +2 -2
  407. package/plugins_colors_named_dist_browser_NamedColorManager_js.js +2 -2
  408. package/plugins_colors_named_dist_browser_index_js.js +2 -2
  409. package/plugins_colors_oklab_dist_browser_OklabColorManager_js.js +3 -3
  410. package/plugins_colors_oklab_dist_browser_index_js.js +2 -2
  411. package/plugins_colors_oklch_dist_browser_OklchColorManager_js.js +3 -3
  412. package/plugins_colors_oklch_dist_browser_index_js.js +2 -2
  413. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +2 -2
  414. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  415. package/plugins_easings_back_dist_browser_easingsFunctions_js.js +2 -2
  416. package/plugins_easings_back_dist_browser_index_js.js +2 -2
  417. package/plugins_easings_bounce_dist_browser_easingsFunctions_js.js +30 -0
  418. package/plugins_easings_bounce_dist_browser_index_js.js +30 -0
  419. package/plugins_easings_circ_dist_browser_easingsFunctions_js.js +2 -2
  420. package/plugins_easings_circ_dist_browser_index_js.js +2 -2
  421. package/plugins_easings_cubic_dist_browser_easingsFunctions_js.js +2 -2
  422. package/plugins_easings_cubic_dist_browser_index_js.js +2 -2
  423. package/plugins_easings_elastic_dist_browser_easingsFunctions_js.js +30 -0
  424. package/plugins_easings_elastic_dist_browser_index_js.js +30 -0
  425. package/plugins_easings_expo_dist_browser_easingsFunctions_js.js +2 -2
  426. package/plugins_easings_expo_dist_browser_index_js.js +2 -2
  427. package/plugins_easings_gaussian_dist_browser_easingsFunctions_js.js +30 -0
  428. package/plugins_easings_gaussian_dist_browser_index_js.js +30 -0
  429. package/plugins_easings_linear_dist_browser_easingsFunctions_js.js +2 -2
  430. package/plugins_easings_linear_dist_browser_index_js.js +2 -2
  431. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +2 -2
  432. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  433. package/plugins_easings_quart_dist_browser_easingsFunctions_js.js +2 -2
  434. package/plugins_easings_quart_dist_browser_index_js.js +2 -2
  435. package/plugins_easings_quint_dist_browser_easingsFunctions_js.js +2 -2
  436. package/plugins_easings_quint_dist_browser_index_js.js +2 -2
  437. package/plugins_easings_sigmoid_dist_browser_easingsFunctions_js.js +30 -0
  438. package/plugins_easings_sigmoid_dist_browser_index_js.js +30 -0
  439. package/plugins_easings_sine_dist_browser_easingsFunctions_js.js +2 -2
  440. package/plugins_easings_sine_dist_browser_index_js.js +2 -2
  441. package/plugins_easings_smoothstep_dist_browser_easingsFunctions_js.js +30 -0
  442. package/plugins_easings_smoothstep_dist_browser_index_js.js +30 -0
  443. package/plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js.js +26 -16
  444. package/plugins_emittersShapes_canvas_dist_browser_index_js.js +2 -2
  445. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +6 -6
  446. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  447. package/plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js.js +8 -8
  448. package/plugins_emittersShapes_path_dist_browser_index_js.js +2 -2
  449. package/plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js.js +8 -8
  450. package/plugins_emittersShapes_polygon_dist_browser_index_js.js +2 -2
  451. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +6 -6
  452. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  453. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  454. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +18 -8
  455. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +58 -48
  456. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +2 -2
  457. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +18 -8
  458. package/plugins_emitters_dist_browser_ShapeManager_js.js +2 -2
  459. package/plugins_emitters_dist_browser_index_js.js +4 -4
  460. package/plugins_exports_image_dist_browser_ExportImagePluginInstance_js.js +2 -2
  461. package/plugins_exports_image_dist_browser_ExportImagePlugin_js.js +2 -2
  462. package/plugins_exports_image_dist_browser_index_js.js +2 -2
  463. package/plugins_exports_json_dist_browser_ExportJSONPluginInstance_js.js +2 -2
  464. package/plugins_exports_json_dist_browser_ExportJSONPlugin_js.js +2 -2
  465. package/plugins_exports_json_dist_browser_index_js.js +2 -2
  466. package/plugins_exports_video_dist_browser_ExportVideoPluginInstance_js.js +2 -2
  467. package/plugins_exports_video_dist_browser_ExportVideoPlugin_js.js +2 -2
  468. package/plugins_exports_video_dist_browser_index_js.js +2 -2
  469. package/plugins_infection_dist_browser_InfectionPluginInstance_js.js +3 -3
  470. package/plugins_infection_dist_browser_InfectionPlugin_js.js +4 -4
  471. package/plugins_infection_dist_browser_ParticlesInfecter_js.js +41 -41
  472. package/plugins_infection_dist_browser_index_js.js +2 -2
  473. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  474. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +6 -6
  475. package/plugins_interactivity_dist_browser_index_js.js +40 -40
  476. package/plugins_manualParticles_dist_browser_ManualParticlesPluginInstance_js.js +2 -2
  477. package/plugins_manualParticles_dist_browser_ManualParticlesPlugin_js.js +3 -3
  478. package/plugins_manualParticles_dist_browser_index_js.js +2 -2
  479. package/plugins_motion_dist_browser_MotionPluginInstance_js.js +2 -2
  480. package/plugins_motion_dist_browser_MotionPlugin_js.js +4 -4
  481. package/plugins_motion_dist_browser_index_js.js +2 -2
  482. package/plugins_move_dist_browser_MovePluginInstance_js.js +40 -0
  483. package/plugins_move_dist_browser_MovePlugin_js.js +30 -0
  484. package/plugins_move_dist_browser_index_js.js +30 -0
  485. package/plugins_poisson_dist_browser_PoissonDiscPluginInstance_js.js +2 -12
  486. package/plugins_poisson_dist_browser_PoissonDiscPlugin_js.js +3 -3
  487. package/plugins_poisson_dist_browser_PoissonDisc_js.js +30 -0
  488. package/plugins_poisson_dist_browser_index_js.js +2 -2
  489. package/plugins_polygonMask_dist_browser_PolygonMaskInstance_js.js +4 -4
  490. package/plugins_polygonMask_dist_browser_PolygonMaskPlugin_js.js +8 -8
  491. package/plugins_polygonMask_dist_browser_index_js.js +5 -5
  492. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +2 -2
  493. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +4 -4
  494. package/plugins_responsive_dist_browser_index_js.js +2 -2
  495. package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +3 -3
  496. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +12 -12
  497. package/plugins_sounds_dist_browser_index_js.js +2 -2
  498. package/plugins_themes_dist_browser_ThemesPluginInstance_js.js +2 -2
  499. package/plugins_themes_dist_browser_ThemesPlugin_js.js +5 -5
  500. package/plugins_themes_dist_browser_index_js.js +2 -2
  501. package/plugins_trail_dist_browser_TrailPluginInstance_js.js +2 -2
  502. package/plugins_trail_dist_browser_TrailPlugin_js.js +4 -4
  503. package/plugins_trail_dist_browser_index_js.js +2 -2
  504. package/plugins_zoom_dist_browser_ZoomPluginInstance_js.js +40 -0
  505. package/plugins_zoom_dist_browser_ZoomPlugin_js.js +30 -0
  506. package/plugins_zoom_dist_browser_index_js.js +50 -0
  507. package/report.html +3 -3
  508. package/shapes_arrow_dist_browser_ArrowDrawer_js.js +3 -3
  509. package/shapes_arrow_dist_browser_index_js.js +2 -2
  510. package/shapes_cards_dist_browser_cards_CardDrawer_js.js +40 -0
  511. package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +2 -12
  512. package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +2 -12
  513. package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +2 -12
  514. package/shapes_cards_dist_browser_index_js.js +16 -6
  515. package/shapes_cards_dist_browser_paths_js.js +70 -0
  516. package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +2 -12
  517. package/shapes_circle_dist_browser_CircleDrawer_js.js +3 -3
  518. package/shapes_circle_dist_browser_index_js.js +2 -2
  519. package/shapes_cog_dist_browser_CogDrawer_js.js +3 -3
  520. package/shapes_cog_dist_browser_index_js.js +2 -2
  521. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +17 -7
  522. package/shapes_emoji_dist_browser_index_js.js +12 -2
  523. package/shapes_heart_dist_browser_HeartDrawer_js.js +3 -3
  524. package/shapes_heart_dist_browser_index_js.js +2 -2
  525. package/shapes_image_dist_browser_GifUtils_Utils_js.js +6 -16
  526. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  527. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +30 -0
  528. package/shapes_image_dist_browser_ImagePreloader_js.js +3 -3
  529. package/shapes_image_dist_browser_index_js.js +12 -2
  530. package/shapes_infinity_dist_browser_InfinityDrawer_js.js +3 -3
  531. package/shapes_infinity_dist_browser_index_js.js +2 -2
  532. package/shapes_line_dist_browser_LineDrawer_js.js +3 -3
  533. package/shapes_line_dist_browser_index_js.js +2 -2
  534. package/shapes_matrix_dist_browser_MatrixDrawer_js.js +40 -0
  535. package/shapes_matrix_dist_browser_index_js.js +30 -0
  536. package/shapes_path_dist_browser_PathDrawer_js.js +22 -12
  537. package/shapes_path_dist_browser_index_js.js +2 -2
  538. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +4 -4
  539. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +4 -4
  540. package/shapes_polygon_dist_browser_index_js.js +2 -2
  541. package/shapes_rounded-polygon_dist_browser_RoundedPolygonDrawer_js.js +3 -3
  542. package/shapes_rounded-polygon_dist_browser_index_js.js +2 -2
  543. package/shapes_rounded-rect_dist_browser_RoundedRectDrawer_js.js +3 -3
  544. package/shapes_rounded-rect_dist_browser_index_js.js +2 -2
  545. package/shapes_spiral_dist_browser_SpiralDrawer_js.js +3 -3
  546. package/shapes_spiral_dist_browser_index_js.js +2 -2
  547. package/shapes_square_dist_browser_SquareDrawer_js.js +3 -3
  548. package/shapes_square_dist_browser_index_js.js +2 -2
  549. package/shapes_squircle_dist_browser_SquircleDrawer_js.js +40 -0
  550. package/shapes_squircle_dist_browser_index_js.js +30 -0
  551. package/shapes_star_dist_browser_StarDrawer_js.js +3 -3
  552. package/shapes_star_dist_browser_index_js.js +2 -2
  553. package/shapes_text_dist_browser_TextDrawer_js.js +17 -7
  554. package/shapes_text_dist_browser_index_js.js +12 -2
  555. package/slim_dist_browser_index_js.js +2 -2
  556. package/tsparticles.all.bundle.js +95 -93
  557. package/tsparticles.all.bundle.min.js +2 -2
  558. package/tsparticles.all.js +181 -21
  559. package/tsparticles.all.min.js +1 -2
  560. package/types/bundle.d.ts +1 -2
  561. package/umd/bundle.js +3 -3
  562. package/umd/index.js +159 -61
  563. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +9 -9
  564. package/updaters_destroy_dist_browser_index_js.js +2 -2
  565. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +30 -0
  566. package/updaters_fillColor_dist_browser_index_js.js +30 -0
  567. package/updaters_gradient_dist_browser_GradientUpdater_js.js +9 -9
  568. package/updaters_gradient_dist_browser_index_js.js +2 -2
  569. package/updaters_life_dist_browser_LifeUpdater_js.js +6 -6
  570. package/updaters_life_dist_browser_index_js.js +2 -2
  571. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  572. package/updaters_opacity_dist_browser_index_js.js +2 -2
  573. package/updaters_orbit_dist_browser_OrbitUpdater_js.js +6 -6
  574. package/updaters_orbit_dist_browser_index_js.js +2 -2
  575. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +7 -7
  576. package/updaters_outModes_dist_browser_index_js.js +2 -2
  577. package/updaters_roll_dist_browser_RollUpdater_js.js +6 -6
  578. package/updaters_roll_dist_browser_index_js.js +2 -2
  579. package/updaters_rotate_dist_browser_RotateUpdater_js.js +4 -4
  580. package/updaters_rotate_dist_browser_index_js.js +2 -2
  581. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  582. package/updaters_size_dist_browser_index_js.js +2 -2
  583. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
  584. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  585. package/updaters_tilt_dist_browser_TiltUpdater_js.js +5 -5
  586. package/updaters_tilt_dist_browser_index_js.js +2 -2
  587. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +18 -8
  588. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  589. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +5 -5
  590. package/updaters_wobble_dist_browser_index_js.js +2 -2
  591. package/utils_simplexNoise_dist_browser_index_js.js +7 -7
  592. package/1045.min.js +0 -2
  593. package/1045.min.js.LICENSE.txt +0 -1
  594. package/1049.min.js +0 -2
  595. package/1049.min.js.LICENSE.txt +0 -1
  596. package/1085.min.js +0 -2
  597. package/1085.min.js.LICENSE.txt +0 -1
  598. package/1112.min.js +0 -2
  599. package/1112.min.js.LICENSE.txt +0 -1
  600. package/1153.min.js +0 -2
  601. package/1153.min.js.LICENSE.txt +0 -1
  602. package/1183.min.js +0 -2
  603. package/1183.min.js.LICENSE.txt +0 -1
  604. package/1222.min.js +0 -2
  605. package/1222.min.js.LICENSE.txt +0 -1
  606. package/1278.min.js +0 -2
  607. package/1278.min.js.LICENSE.txt +0 -1
  608. package/1306.min.js +0 -2
  609. package/1306.min.js.LICENSE.txt +0 -1
  610. package/1350.min.js +0 -2
  611. package/1350.min.js.LICENSE.txt +0 -1
  612. package/1370.min.js +0 -2
  613. package/1370.min.js.LICENSE.txt +0 -1
  614. package/1446.min.js +0 -2
  615. package/1446.min.js.LICENSE.txt +0 -1
  616. package/15.min.js +0 -2
  617. package/15.min.js.LICENSE.txt +0 -1
  618. package/150.min.js +0 -2
  619. package/150.min.js.LICENSE.txt +0 -1
  620. package/151.min.js +0 -2
  621. package/151.min.js.LICENSE.txt +0 -1
  622. package/1542.min.js +0 -2
  623. package/1542.min.js.LICENSE.txt +0 -1
  624. package/1555.min.js +0 -2
  625. package/1555.min.js.LICENSE.txt +0 -1
  626. package/156.min.js +0 -2
  627. package/156.min.js.LICENSE.txt +0 -1
  628. package/1587.min.js +0 -2
  629. package/1587.min.js.LICENSE.txt +0 -1
  630. package/1608.min.js +0 -2
  631. package/1608.min.js.LICENSE.txt +0 -1
  632. package/1609.min.js +0 -2
  633. package/1609.min.js.LICENSE.txt +0 -1
  634. package/1678.min.js +0 -2
  635. package/1678.min.js.LICENSE.txt +0 -1
  636. package/1724.min.js +0 -2
  637. package/1724.min.js.LICENSE.txt +0 -1
  638. package/1750.min.js +0 -2
  639. package/1750.min.js.LICENSE.txt +0 -1
  640. package/176.min.js +0 -2
  641. package/176.min.js.LICENSE.txt +0 -1
  642. package/1801.min.js +0 -2
  643. package/1801.min.js.LICENSE.txt +0 -1
  644. package/1878.min.js +0 -2
  645. package/1878.min.js.LICENSE.txt +0 -1
  646. package/1887.min.js +0 -2
  647. package/1887.min.js.LICENSE.txt +0 -1
  648. package/1909.min.js +0 -2
  649. package/1909.min.js.LICENSE.txt +0 -1
  650. package/1968.min.js +0 -2
  651. package/1968.min.js.LICENSE.txt +0 -1
  652. package/1972.min.js +0 -2
  653. package/1972.min.js.LICENSE.txt +0 -1
  654. package/2032.min.js +0 -2
  655. package/2032.min.js.LICENSE.txt +0 -1
  656. package/2192.min.js +0 -2
  657. package/2192.min.js.LICENSE.txt +0 -1
  658. package/2201.min.js +0 -2
  659. package/2201.min.js.LICENSE.txt +0 -1
  660. package/221.min.js +0 -2
  661. package/221.min.js.LICENSE.txt +0 -1
  662. package/2227.min.js +0 -2
  663. package/2227.min.js.LICENSE.txt +0 -1
  664. package/2291.min.js +0 -2
  665. package/2291.min.js.LICENSE.txt +0 -1
  666. package/2381.min.js +0 -2
  667. package/2381.min.js.LICENSE.txt +0 -1
  668. package/2387.min.js +0 -2
  669. package/2387.min.js.LICENSE.txt +0 -1
  670. package/2398.min.js +0 -2
  671. package/2398.min.js.LICENSE.txt +0 -1
  672. package/2461.min.js +0 -2
  673. package/2461.min.js.LICENSE.txt +0 -1
  674. package/2488.min.js.LICENSE.txt +0 -1
  675. package/2495.min.js +0 -2
  676. package/2495.min.js.LICENSE.txt +0 -1
  677. package/2524.min.js +0 -2
  678. package/2524.min.js.LICENSE.txt +0 -1
  679. package/2583.min.js +0 -2
  680. package/2583.min.js.LICENSE.txt +0 -1
  681. package/2612.min.js +0 -2
  682. package/2612.min.js.LICENSE.txt +0 -1
  683. package/2615.min.js +0 -2
  684. package/2615.min.js.LICENSE.txt +0 -1
  685. package/2629.min.js +0 -2
  686. package/2629.min.js.LICENSE.txt +0 -1
  687. package/2679.min.js +0 -2
  688. package/2679.min.js.LICENSE.txt +0 -1
  689. package/2729.min.js +0 -2
  690. package/2729.min.js.LICENSE.txt +0 -1
  691. package/2752.min.js +0 -2
  692. package/2752.min.js.LICENSE.txt +0 -1
  693. package/2754.min.js +0 -2
  694. package/2754.min.js.LICENSE.txt +0 -1
  695. package/2827.min.js +0 -2
  696. package/2827.min.js.LICENSE.txt +0 -1
  697. package/2838.min.js +0 -2
  698. package/2838.min.js.LICENSE.txt +0 -1
  699. package/284.min.js +0 -2
  700. package/284.min.js.LICENSE.txt +0 -1
  701. package/2842.min.js +0 -2
  702. package/2842.min.js.LICENSE.txt +0 -1
  703. package/290.min.js +0 -2
  704. package/290.min.js.LICENSE.txt +0 -1
  705. package/2901.min.js +0 -2
  706. package/2901.min.js.LICENSE.txt +0 -1
  707. package/2923.min.js +0 -2
  708. package/2923.min.js.LICENSE.txt +0 -1
  709. package/2942.min.js +0 -2
  710. package/2942.min.js.LICENSE.txt +0 -1
  711. package/2970.min.js +0 -2
  712. package/2970.min.js.LICENSE.txt +0 -1
  713. package/3003.min.js.LICENSE.txt +0 -1
  714. package/3067.min.js +0 -2
  715. package/3067.min.js.LICENSE.txt +0 -1
  716. package/3120.min.js +0 -2
  717. package/3120.min.js.LICENSE.txt +0 -1
  718. package/3148.min.js +0 -2
  719. package/3148.min.js.LICENSE.txt +0 -1
  720. package/3152.min.js +0 -2
  721. package/3152.min.js.LICENSE.txt +0 -1
  722. package/3153.min.js +0 -2
  723. package/3153.min.js.LICENSE.txt +0 -1
  724. package/3182.min.js +0 -2
  725. package/3182.min.js.LICENSE.txt +0 -1
  726. package/3189.min.js +0 -2
  727. package/3189.min.js.LICENSE.txt +0 -1
  728. package/3209.min.js +0 -2
  729. package/3209.min.js.LICENSE.txt +0 -1
  730. package/3215.min.js +0 -2
  731. package/3215.min.js.LICENSE.txt +0 -1
  732. package/3306.min.js +0 -2
  733. package/3306.min.js.LICENSE.txt +0 -1
  734. package/3316.min.js +0 -2
  735. package/3316.min.js.LICENSE.txt +0 -1
  736. package/3396.min.js +0 -2
  737. package/3396.min.js.LICENSE.txt +0 -1
  738. package/3442.min.js +0 -2
  739. package/3442.min.js.LICENSE.txt +0 -1
  740. package/3445.min.js +0 -2
  741. package/3445.min.js.LICENSE.txt +0 -1
  742. package/3446.min.js +0 -2
  743. package/3446.min.js.LICENSE.txt +0 -1
  744. package/3451.min.js +0 -2
  745. package/3451.min.js.LICENSE.txt +0 -1
  746. package/346.min.js +0 -2
  747. package/346.min.js.LICENSE.txt +0 -1
  748. package/3598.min.js +0 -2
  749. package/3598.min.js.LICENSE.txt +0 -1
  750. package/3629.min.js +0 -2
  751. package/3629.min.js.LICENSE.txt +0 -1
  752. package/3643.min.js +0 -2
  753. package/3643.min.js.LICENSE.txt +0 -1
  754. package/3712.min.js +0 -2
  755. package/3712.min.js.LICENSE.txt +0 -1
  756. package/3722.min.js +0 -2
  757. package/3722.min.js.LICENSE.txt +0 -1
  758. package/3743.min.js +0 -2
  759. package/3743.min.js.LICENSE.txt +0 -1
  760. package/3744.min.js +0 -2
  761. package/3744.min.js.LICENSE.txt +0 -1
  762. package/3748.min.js +0 -2
  763. package/3748.min.js.LICENSE.txt +0 -1
  764. package/3759.min.js +0 -2
  765. package/3759.min.js.LICENSE.txt +0 -1
  766. package/3803.min.js +0 -2
  767. package/3803.min.js.LICENSE.txt +0 -1
  768. package/3804.min.js +0 -2
  769. package/3804.min.js.LICENSE.txt +0 -1
  770. package/3865.min.js +0 -2
  771. package/3865.min.js.LICENSE.txt +0 -1
  772. package/3925.min.js +0 -2
  773. package/3925.min.js.LICENSE.txt +0 -1
  774. package/3961.min.js +0 -2
  775. package/3961.min.js.LICENSE.txt +0 -1
  776. package/3997.min.js +0 -2
  777. package/3997.min.js.LICENSE.txt +0 -1
  778. package/4007.min.js +0 -2
  779. package/4007.min.js.LICENSE.txt +0 -1
  780. package/4033.min.js +0 -2
  781. package/4033.min.js.LICENSE.txt +0 -1
  782. package/4091.min.js +0 -2
  783. package/4091.min.js.LICENSE.txt +0 -1
  784. package/4235.min.js +0 -2
  785. package/4235.min.js.LICENSE.txt +0 -1
  786. package/4324.min.js +0 -2
  787. package/4324.min.js.LICENSE.txt +0 -1
  788. package/4340.min.js +0 -2
  789. package/4340.min.js.LICENSE.txt +0 -1
  790. package/4427.min.js +0 -2
  791. package/4427.min.js.LICENSE.txt +0 -1
  792. package/4481.min.js +0 -2
  793. package/4481.min.js.LICENSE.txt +0 -1
  794. package/454.min.js +0 -2
  795. package/454.min.js.LICENSE.txt +0 -1
  796. package/4544.min.js +0 -2
  797. package/4544.min.js.LICENSE.txt +0 -1
  798. package/4545.min.js +0 -2
  799. package/4545.min.js.LICENSE.txt +0 -1
  800. package/4547.min.js +0 -2
  801. package/4547.min.js.LICENSE.txt +0 -1
  802. package/4571.min.js +0 -2
  803. package/4571.min.js.LICENSE.txt +0 -1
  804. package/4619.min.js +0 -2
  805. package/4619.min.js.LICENSE.txt +0 -1
  806. package/4689.min.js.LICENSE.txt +0 -1
  807. package/4698.min.js +0 -2
  808. package/4698.min.js.LICENSE.txt +0 -1
  809. package/4713.min.js +0 -2
  810. package/4713.min.js.LICENSE.txt +0 -1
  811. package/4744.min.js +0 -2
  812. package/4744.min.js.LICENSE.txt +0 -1
  813. package/4764.min.js +0 -2
  814. package/4764.min.js.LICENSE.txt +0 -1
  815. package/4813.min.js +0 -2
  816. package/4813.min.js.LICENSE.txt +0 -1
  817. package/4837.min.js +0 -2
  818. package/4837.min.js.LICENSE.txt +0 -1
  819. package/4852.min.js +0 -2
  820. package/4852.min.js.LICENSE.txt +0 -1
  821. package/4873.min.js +0 -2
  822. package/4873.min.js.LICENSE.txt +0 -1
  823. package/4884.min.js +0 -2
  824. package/4884.min.js.LICENSE.txt +0 -1
  825. package/4968.min.js +0 -2
  826. package/4968.min.js.LICENSE.txt +0 -1
  827. package/4983.min.js +0 -2
  828. package/4983.min.js.LICENSE.txt +0 -1
  829. package/4985.min.js +0 -2
  830. package/4985.min.js.LICENSE.txt +0 -1
  831. package/5010.min.js +0 -2
  832. package/5010.min.js.LICENSE.txt +0 -1
  833. package/5058.min.js +0 -2
  834. package/5058.min.js.LICENSE.txt +0 -1
  835. package/5113.min.js +0 -2
  836. package/5113.min.js.LICENSE.txt +0 -1
  837. package/5142.min.js +0 -2
  838. package/5142.min.js.LICENSE.txt +0 -1
  839. package/5152.min.js +0 -2
  840. package/5152.min.js.LICENSE.txt +0 -1
  841. package/5166.min.js +0 -2
  842. package/5166.min.js.LICENSE.txt +0 -1
  843. package/521.min.js.LICENSE.txt +0 -1
  844. package/5273.min.js +0 -2
  845. package/5273.min.js.LICENSE.txt +0 -1
  846. package/5291.min.js +0 -2
  847. package/5291.min.js.LICENSE.txt +0 -1
  848. package/5302.min.js +0 -2
  849. package/5302.min.js.LICENSE.txt +0 -1
  850. package/5336.min.js +0 -2
  851. package/5336.min.js.LICENSE.txt +0 -1
  852. package/5460.min.js +0 -2
  853. package/5460.min.js.LICENSE.txt +0 -1
  854. package/5475.min.js +0 -2
  855. package/5475.min.js.LICENSE.txt +0 -1
  856. package/5505.min.js +0 -2
  857. package/5505.min.js.LICENSE.txt +0 -1
  858. package/5516.min.js +0 -2
  859. package/5516.min.js.LICENSE.txt +0 -1
  860. package/5787.min.js +0 -2
  861. package/5787.min.js.LICENSE.txt +0 -1
  862. package/5913.min.js +0 -2
  863. package/5913.min.js.LICENSE.txt +0 -1
  864. package/5919.min.js +0 -2
  865. package/5919.min.js.LICENSE.txt +0 -1
  866. package/593.min.js +0 -2
  867. package/593.min.js.LICENSE.txt +0 -1
  868. package/597.min.js +0 -2
  869. package/597.min.js.LICENSE.txt +0 -1
  870. package/5987.min.js +0 -2
  871. package/5987.min.js.LICENSE.txt +0 -1
  872. package/6048.min.js +0 -2
  873. package/6048.min.js.LICENSE.txt +0 -1
  874. package/6081.min.js +0 -2
  875. package/6081.min.js.LICENSE.txt +0 -1
  876. package/6181.min.js +0 -2
  877. package/6181.min.js.LICENSE.txt +0 -1
  878. package/6184.min.js +0 -2
  879. package/6184.min.js.LICENSE.txt +0 -1
  880. package/620.min.js +0 -2
  881. package/620.min.js.LICENSE.txt +0 -1
  882. package/6219.min.js +0 -2
  883. package/6219.min.js.LICENSE.txt +0 -1
  884. package/6249.min.js +0 -2
  885. package/6249.min.js.LICENSE.txt +0 -1
  886. package/6296.min.js +0 -2
  887. package/6296.min.js.LICENSE.txt +0 -1
  888. package/6361.min.js.LICENSE.txt +0 -1
  889. package/6388.min.js +0 -2
  890. package/6388.min.js.LICENSE.txt +0 -1
  891. package/6441.min.js +0 -2
  892. package/6441.min.js.LICENSE.txt +0 -1
  893. package/6548.min.js +0 -2
  894. package/6548.min.js.LICENSE.txt +0 -1
  895. package/6556.min.js +0 -2
  896. package/6556.min.js.LICENSE.txt +0 -1
  897. package/6580.min.js +0 -2
  898. package/6580.min.js.LICENSE.txt +0 -1
  899. package/6608.min.js +0 -2
  900. package/6608.min.js.LICENSE.txt +0 -1
  901. package/6640.min.js +0 -2
  902. package/6640.min.js.LICENSE.txt +0 -1
  903. package/671.min.js +0 -2
  904. package/671.min.js.LICENSE.txt +0 -1
  905. package/6711.min.js +0 -2
  906. package/6711.min.js.LICENSE.txt +0 -1
  907. package/6720.min.js +0 -2
  908. package/6720.min.js.LICENSE.txt +0 -1
  909. package/6742.min.js +0 -2
  910. package/6742.min.js.LICENSE.txt +0 -1
  911. package/6753.min.js +0 -2
  912. package/6753.min.js.LICENSE.txt +0 -1
  913. package/6824.min.js +0 -2
  914. package/6824.min.js.LICENSE.txt +0 -1
  915. package/6890.min.js +0 -2
  916. package/6890.min.js.LICENSE.txt +0 -1
  917. package/6895.min.js +0 -2
  918. package/6895.min.js.LICENSE.txt +0 -1
  919. package/6905.min.js +0 -2
  920. package/6905.min.js.LICENSE.txt +0 -1
  921. package/6908.min.js +0 -2
  922. package/6908.min.js.LICENSE.txt +0 -1
  923. package/6911.min.js +0 -2
  924. package/6911.min.js.LICENSE.txt +0 -1
  925. package/6973.min.js +0 -2
  926. package/6973.min.js.LICENSE.txt +0 -1
  927. package/6988.min.js +0 -2
  928. package/6988.min.js.LICENSE.txt +0 -1
  929. package/6998.min.js +0 -2
  930. package/6998.min.js.LICENSE.txt +0 -1
  931. package/7012.min.js +0 -2
  932. package/7012.min.js.LICENSE.txt +0 -1
  933. package/7044.min.js +0 -2
  934. package/7044.min.js.LICENSE.txt +0 -1
  935. package/7056.min.js +0 -2
  936. package/7056.min.js.LICENSE.txt +0 -1
  937. package/7125.min.js +0 -2
  938. package/7125.min.js.LICENSE.txt +0 -1
  939. package/7134.min.js +0 -2
  940. package/7134.min.js.LICENSE.txt +0 -1
  941. package/7147.min.js +0 -2
  942. package/7147.min.js.LICENSE.txt +0 -1
  943. package/7160.min.js +0 -2
  944. package/7160.min.js.LICENSE.txt +0 -1
  945. package/718.min.js +0 -2
  946. package/718.min.js.LICENSE.txt +0 -1
  947. package/7188.min.js +0 -2
  948. package/7188.min.js.LICENSE.txt +0 -1
  949. package/7191.min.js +0 -2
  950. package/7191.min.js.LICENSE.txt +0 -1
  951. package/7245.min.js +0 -2
  952. package/7245.min.js.LICENSE.txt +0 -1
  953. package/7256.min.js.LICENSE.txt +0 -1
  954. package/7259.min.js +0 -2
  955. package/7259.min.js.LICENSE.txt +0 -1
  956. package/7276.min.js +0 -2
  957. package/7276.min.js.LICENSE.txt +0 -1
  958. package/736.min.js +0 -2
  959. package/736.min.js.LICENSE.txt +0 -1
  960. package/7448.min.js +0 -2
  961. package/7448.min.js.LICENSE.txt +0 -1
  962. package/7569.min.js +0 -2
  963. package/7569.min.js.LICENSE.txt +0 -1
  964. package/76.min.js +0 -2
  965. package/76.min.js.LICENSE.txt +0 -1
  966. package/7611.min.js +0 -2
  967. package/7611.min.js.LICENSE.txt +0 -1
  968. package/7613.min.js +0 -2
  969. package/7613.min.js.LICENSE.txt +0 -1
  970. package/7704.min.js +0 -2
  971. package/7704.min.js.LICENSE.txt +0 -1
  972. package/7746.min.js +0 -2
  973. package/7746.min.js.LICENSE.txt +0 -1
  974. package/7749.min.js +0 -2
  975. package/7749.min.js.LICENSE.txt +0 -1
  976. package/7774.min.js +0 -2
  977. package/7774.min.js.LICENSE.txt +0 -1
  978. package/7835.min.js +0 -2
  979. package/7835.min.js.LICENSE.txt +0 -1
  980. package/785.min.js +0 -2
  981. package/785.min.js.LICENSE.txt +0 -1
  982. package/7952.min.js +0 -2
  983. package/7952.min.js.LICENSE.txt +0 -1
  984. package/7983.min.js +0 -2
  985. package/7983.min.js.LICENSE.txt +0 -1
  986. package/8013.min.js +0 -2
  987. package/8013.min.js.LICENSE.txt +0 -1
  988. package/8018.min.js +0 -2
  989. package/8018.min.js.LICENSE.txt +0 -1
  990. package/8084.min.js +0 -2
  991. package/8084.min.js.LICENSE.txt +0 -1
  992. package/8156.min.js +0 -2
  993. package/8156.min.js.LICENSE.txt +0 -1
  994. package/8182.min.js +0 -2
  995. package/8182.min.js.LICENSE.txt +0 -1
  996. package/8188.min.js +0 -2
  997. package/8188.min.js.LICENSE.txt +0 -1
  998. package/8296.min.js +0 -2
  999. package/8296.min.js.LICENSE.txt +0 -1
  1000. package/83.min.js +0 -2
  1001. package/83.min.js.LICENSE.txt +0 -1
  1002. package/8314.min.js +0 -2
  1003. package/8314.min.js.LICENSE.txt +0 -1
  1004. package/8320.min.js +0 -2
  1005. package/8320.min.js.LICENSE.txt +0 -1
  1006. package/8411.min.js +0 -2
  1007. package/8411.min.js.LICENSE.txt +0 -1
  1008. package/8445.min.js +0 -2
  1009. package/8445.min.js.LICENSE.txt +0 -1
  1010. package/8509.min.js +0 -2
  1011. package/8509.min.js.LICENSE.txt +0 -1
  1012. package/8526.min.js +0 -2
  1013. package/8526.min.js.LICENSE.txt +0 -1
  1014. package/8551.min.js +0 -2
  1015. package/8551.min.js.LICENSE.txt +0 -1
  1016. package/8644.min.js +0 -2
  1017. package/8644.min.js.LICENSE.txt +0 -1
  1018. package/8675.min.js +0 -2
  1019. package/8675.min.js.LICENSE.txt +0 -1
  1020. package/8799.min.js +0 -2
  1021. package/8799.min.js.LICENSE.txt +0 -1
  1022. package/8818.min.js +0 -2
  1023. package/8818.min.js.LICENSE.txt +0 -1
  1024. package/8827.min.js +0 -2
  1025. package/8827.min.js.LICENSE.txt +0 -1
  1026. package/8830.min.js +0 -2
  1027. package/8830.min.js.LICENSE.txt +0 -1
  1028. package/8847.min.js +0 -2
  1029. package/8847.min.js.LICENSE.txt +0 -1
  1030. package/8893.min.js +0 -2
  1031. package/8893.min.js.LICENSE.txt +0 -1
  1032. package/8951.min.js +0 -2
  1033. package/8951.min.js.LICENSE.txt +0 -1
  1034. package/8993.min.js +0 -2
  1035. package/8993.min.js.LICENSE.txt +0 -1
  1036. package/9039.min.js +0 -2
  1037. package/9039.min.js.LICENSE.txt +0 -1
  1038. package/9050.min.js +0 -2
  1039. package/9050.min.js.LICENSE.txt +0 -1
  1040. package/9052.min.js +0 -2
  1041. package/9052.min.js.LICENSE.txt +0 -1
  1042. package/9111.min.js +0 -2
  1043. package/9111.min.js.LICENSE.txt +0 -1
  1044. package/9127.min.js +0 -2
  1045. package/9127.min.js.LICENSE.txt +0 -1
  1046. package/917.min.js +0 -2
  1047. package/917.min.js.LICENSE.txt +0 -1
  1048. package/9216.min.js +0 -2
  1049. package/9216.min.js.LICENSE.txt +0 -1
  1050. package/9234.min.js +0 -2
  1051. package/9234.min.js.LICENSE.txt +0 -1
  1052. package/9273.min.js +0 -2
  1053. package/9273.min.js.LICENSE.txt +0 -1
  1054. package/9277.min.js +0 -2
  1055. package/9277.min.js.LICENSE.txt +0 -1
  1056. package/937.min.js +0 -2
  1057. package/937.min.js.LICENSE.txt +0 -1
  1058. package/9410.min.js +0 -2
  1059. package/9410.min.js.LICENSE.txt +0 -1
  1060. package/9447.min.js +0 -2
  1061. package/9447.min.js.LICENSE.txt +0 -1
  1062. package/9456.min.js +0 -2
  1063. package/9456.min.js.LICENSE.txt +0 -1
  1064. package/9467.min.js +0 -2
  1065. package/9467.min.js.LICENSE.txt +0 -1
  1066. package/9527.min.js +0 -2
  1067. package/9527.min.js.LICENSE.txt +0 -1
  1068. package/9563.min.js +0 -2
  1069. package/9563.min.js.LICENSE.txt +0 -1
  1070. package/9566.min.js +0 -2
  1071. package/9566.min.js.LICENSE.txt +0 -1
  1072. package/9591.min.js +0 -2
  1073. package/9591.min.js.LICENSE.txt +0 -1
  1074. package/9596.min.js +0 -2
  1075. package/9596.min.js.LICENSE.txt +0 -1
  1076. package/9639.min.js +0 -2
  1077. package/9639.min.js.LICENSE.txt +0 -1
  1078. package/9665.min.js +0 -2
  1079. package/9665.min.js.LICENSE.txt +0 -1
  1080. package/9715.min.js +0 -2
  1081. package/9715.min.js.LICENSE.txt +0 -1
  1082. package/9765.min.js +0 -2
  1083. package/9765.min.js.LICENSE.txt +0 -1
  1084. package/9839.min.js +0 -2
  1085. package/9839.min.js.LICENSE.txt +0 -1
  1086. package/987.min.js +0 -2
  1087. package/987.min.js.LICENSE.txt +0 -1
  1088. package/9902.min.js +0 -2
  1089. package/9902.min.js.LICENSE.txt +0 -1
  1090. package/move_base_dist_browser_BaseMover_js.js +0 -40
  1091. package/move_base_dist_browser_index_js.js +0 -30
  1092. package/shapes_image_dist_browser_Utils_js.js +0 -30
  1093. package/tsparticles.all.bundle.min.js.LICENSE.txt +0 -1
  1094. package/tsparticles.all.min.js.LICENSE.txt +0 -1
  1095. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
  1096. package/updaters_color_dist_browser_index_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.5
7
+ * v4.0.0-beta.0
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 */ AbsorbersPlugin: () => (/* binding */ AbsorbersPlugin)\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_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\nclass AbsorbersPlugin {\n constructor(instancesManager) {\n this.id = \"absorbers\";\n this._instancesManager = instancesManager;\n }\n async getPlugin(container) {\n const {\n AbsorbersPluginInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPluginInstance.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPluginInstance.js\"));\n return new AbsorbersPluginInstance(container, this._instancesManager);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source?.absorbers) {\n options.absorbers = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(source.absorbers, absorber => {\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n tmp.load(absorber);\n return tmp;\n });\n }\n }\n needsPlugin(options) {\n if (!options) {\n return false;\n }\n const absorbers = options.absorbers;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(absorbers)) {\n return !!absorbers.length;\n } else if (absorbers) {\n return true;\n }\n return false;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/AbsorbersPlugin.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorbersPlugin: () => (/* binding */ AbsorbersPlugin)\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_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\nclass AbsorbersPlugin {\n id = \"absorbers\";\n _instancesManager;\n constructor(instancesManager){\n this._instancesManager = instancesManager;\n }\n async getPlugin(container) {\n const { AbsorbersPluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorbersPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorbersPluginInstance.js */ \"../../plugins/absorbers/dist/browser/AbsorbersPluginInstance.js\"));\n return new AbsorbersPluginInstance(container, this._instancesManager);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source?.absorbers) {\n options.absorbers = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(source.absorbers, (absorber)=>{\n const tmp = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n tmp.load(absorber);\n return tmp;\n });\n }\n }\n needsPlugin(options) {\n if (!options) {\n return false;\n }\n const absorbers = options.absorbers;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(absorbers)) {\n return !!absorbers.length;\n } else if (absorbers) {\n return true;\n }\n return false;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/AbsorbersPlugin.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,7 +33,17 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \************************************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorber: () => (/* binding */ Absorber)\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 _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSize.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js\");\n\n\nclass Absorber {\n constructor() {\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(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.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorber: () => (/* binding */ Absorber)\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 _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberLife.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js\");\n/* harmony import */ var _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AbsorberSize.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js\");\n\n\n\nclass Absorber {\n color;\n destroy;\n draggable;\n life;\n name;\n opacity;\n orbits;\n position;\n size;\n constructor(){\n this.color = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"#000000\";\n this.draggable = false;\n this.opacity = 1;\n this.destroy = true;\n this.orbits = false;\n this.life = new _AbsorberLife_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberLife();\n this.size = new _AbsorberSize_js__WEBPACK_IMPORTED_MODULE_2__.AbsorberSize();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(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.draggable !== undefined) {\n this.draggable = data.draggable;\n }\n if (data.life !== undefined) {\n this.life.load(data.life);\n }\n this.name = data.name;\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.size !== undefined) {\n this.size.load(data.size);\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n if (data.orbits !== undefined) {\n this.orbits = data.orbits;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js"
41
+ /*!****************************************************************************!*\
42
+ !*** ../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.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 */ AbsorberLife: () => (/* binding */ AbsorberLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberLife {\n count;\n delay;\n duration;\n wait;\n constructor(){\n this.wait = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberLife.js?\n}");
37
47
 
38
48
  /***/ },
39
49
 
@@ -43,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
53
  \****************************************************************************/
44
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
55
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\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 _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSize: () => (/* binding */ AbsorberSize)\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 _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./AbsorberSizeLimit.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js\");\n\n\nclass AbsorberSize extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n density;\n limit;\n constructor(){\n super();\n this.density = 5;\n this.value = 50;\n this.limit = new _AbsorberSizeLimit_js__WEBPACK_IMPORTED_MODULE_1__.AbsorberSizeLimit();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.density !== undefined) {\n this.density = data.density;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.limit)) {\n this.limit.radius = data.limit;\n } else {\n this.limit.load(data.limit);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSize.js?\n}");
47
57
 
48
58
  /***/ },
49
59
 
@@ -53,7 +63,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
63
  \*********************************************************************************/
54
64
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
65
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberSizeLimit {\n constructor() {\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberSizeLimit: () => (/* binding */ AbsorberSizeLimit)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass AbsorberSizeLimit {\n mass;\n radius;\n constructor(){\n this.radius = 0;\n this.mass = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mass !== undefined) {\n this.mass = data.mass;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/absorbers/dist/browser/Options/Classes/AbsorberSizeLimit.js?\n}");
57
67
 
58
68
  /***/ }
59
69
 
@@ -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.5
7
+ * v4.0.0-beta.0
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.5\");\n await engine.register(async e => {\n const {\n loadInteractivityPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n {\n AbsorbersInstancesManager\n } = await __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 {\n AbsorbersPlugin\n } = await __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 await loadInteractivityPlugin(e);\n e.addPlugin(new AbsorbersPlugin(instancesManager));\n e.addInteractor?.(\"externalAbsorbers\", async container => {\n const {\n AbsorbersInteractor\n } = 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//# sourceURL=webpack://@tsparticles/all/../../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-beta.0\");\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/all/../../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.5
7
+ * v4.0.0-beta.0
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 */ BackgroundMaskPluginInstance: () => (/* binding */ BackgroundMaskPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass BackgroundMaskPluginInstance {\n constructor(container, engine) {\n this._initCover = async () => {\n const options = this._container.actualOptions,\n cover = options.backgroundMask?.cover,\n color = cover?.color;\n if (color) {\n const coverRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, color);\n if (coverRgb) {\n const coverColor = {\n ...coverRgb,\n a: cover.opacity\n };\n this._coverColorStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(coverColor, this._container.hdr, coverColor.a);\n }\n } else {\n await new Promise((resolve, reject) => {\n if (!cover?.image) {\n return;\n }\n const img = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._coverImage = {\n image: img,\n opacity: cover.opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(evt);\n reject(new Error(\"Error loading image\"));\n });\n img.src = cover.image;\n });\n }\n };\n this._container = container;\n this._engine = engine;\n }\n canvasClear() {\n const backgroundMask = this._container.actualOptions.backgroundMask;\n if (!backgroundMask?.enable) {\n return false;\n }\n return this.canvasPaint();\n }\n canvasPaint() {\n if (!this._container.actualOptions.backgroundMask?.enable) {\n return false;\n }\n const canvas = this._container.canvas;\n canvas.canvasClear();\n if (this._coverImage) {\n canvas.paintImage(this._coverImage.image, this._coverImage.opacity);\n } else {\n canvas.paintBase(this._coverColorStyle);\n }\n return true;\n }\n clearDraw(context) {\n if (!this._defaultCompositeValue) {\n return;\n }\n context.globalCompositeOperation = this._defaultCompositeValue;\n }\n draw(context) {\n const previousComposite = context.globalCompositeOperation,\n backgroundMask = this._container.actualOptions.backgroundMask;\n this._defaultCompositeValue = previousComposite;\n context.globalCompositeOperation = backgroundMask?.enable ? backgroundMask.composite : previousComposite;\n }\n async init() {\n await this._initCover();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/BackgroundMaskPluginInstance.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskPluginInstance: () => (/* binding */ BackgroundMaskPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass BackgroundMaskPluginInstance {\n _container;\n _coverColorStyle;\n _coverImage;\n _defaultCompositeValue;\n _engine;\n constructor(container, engine){\n this._container = container;\n this._engine = engine;\n }\n canvasClear() {\n const backgroundMask = this._container.actualOptions.backgroundMask;\n if (!backgroundMask?.enable) {\n return false;\n }\n return this.canvasPaint();\n }\n canvasPaint() {\n if (!this._container.actualOptions.backgroundMask?.enable) {\n return false;\n }\n const canvas = this._container.canvas;\n canvas.canvasClear();\n if (this._coverImage) {\n canvas.paintImage(this._coverImage.image, this._coverImage.opacity);\n } else {\n canvas.paintBase(this._coverColorStyle);\n }\n return true;\n }\n drawSettingsCleanup(context) {\n if (!this._defaultCompositeValue) {\n return;\n }\n context.globalCompositeOperation = this._defaultCompositeValue;\n }\n drawSettingsSetup(context) {\n const previousComposite = context.globalCompositeOperation, backgroundMask = this._container.actualOptions.backgroundMask;\n this._defaultCompositeValue = previousComposite;\n context.globalCompositeOperation = backgroundMask?.enable ? backgroundMask.composite : previousComposite;\n }\n async init() {\n await this._initCover();\n }\n _initCover = async ()=>{\n const options = this._container.actualOptions, cover = options.backgroundMask?.cover, color = cover?.color;\n if (color) {\n const coverRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, color);\n if (coverRgb) {\n const coverColor = {\n ...coverRgb,\n a: cover.opacity\n };\n this._coverColorStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(coverColor, this._container.hdr, coverColor.a);\n }\n } else {\n await new Promise((resolve, reject)=>{\n if (!cover?.image) {\n return;\n }\n const img = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"img\");\n img.addEventListener(\"load\", ()=>{\n this._coverImage = {\n image: img,\n opacity: cover.opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", ()=>{\n reject(new Error(\"Error loading image\"));\n });\n img.src = cover.image;\n });\n }\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/BackgroundMaskPluginInstance.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.5
7
+ * v4.0.0-beta.0
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 */ BackgroundMaskPlugin: () => (/* binding */ BackgroundMaskPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask.js */ \"../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMask.js\");\n\nclass BackgroundMaskPlugin {\n constructor(engine) {\n this.id = \"background-mask\";\n this._engine = engine;\n }\n async getPlugin(container) {\n const {\n BackgroundMaskPluginInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_backgroundMask_dist_browser_BackgroundMaskPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BackgroundMaskPluginInstance.js */ \"../../plugins/backgroundMask/dist/browser/BackgroundMaskPluginInstance.js\"));\n return new BackgroundMaskPluginInstance(container, this._engine);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n let backgroundMaskOptions = options.backgroundMask;\n if (!backgroundMaskOptions?.load) {\n options.backgroundMask = backgroundMaskOptions = new _Options_Classes_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_0__.BackgroundMask();\n }\n backgroundMaskOptions.load(source?.backgroundMask);\n }\n needsPlugin(options) {\n return !!options?.backgroundMask?.enable;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/BackgroundMaskPlugin.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskPlugin: () => (/* binding */ BackgroundMaskPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask.js */ \"../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMask.js\");\n\nclass BackgroundMaskPlugin {\n id = \"background-mask\";\n _engine;\n constructor(engine){\n this._engine = engine;\n }\n async getPlugin(container) {\n const { BackgroundMaskPluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_backgroundMask_dist_browser_BackgroundMaskPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BackgroundMaskPluginInstance.js */ \"../../plugins/backgroundMask/dist/browser/BackgroundMaskPluginInstance.js\"));\n return new BackgroundMaskPluginInstance(container, this._engine);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n let backgroundMaskOptions = options.backgroundMask;\n if (!backgroundMaskOptions?.load) {\n options.backgroundMask = backgroundMaskOptions = new _Options_Classes_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_0__.BackgroundMask();\n }\n backgroundMaskOptions.load(source?.backgroundMask);\n }\n needsPlugin(options) {\n return !!options?.backgroundMask?.enable;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/BackgroundMaskPlugin.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \***********************************************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMask: () => (/* binding */ BackgroundMask)\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 _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BackgroundMaskCover.js */ \"../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMaskCover.js\");\n\n\nclass BackgroundMask {\n constructor() {\n this.composite = \"destination-out\";\n this.cover = new _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_1__.BackgroundMaskCover();\n this.enable = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n if (data.cover !== undefined) {\n const cover = data.cover,\n color = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(data.cover) ? {\n color: data.cover\n } : data.cover;\n this.cover.load(cover.color !== undefined || cover.image !== undefined ? cover : {\n color: color\n });\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMask.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMask: () => (/* binding */ BackgroundMask)\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 _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BackgroundMaskCover.js */ \"../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMaskCover.js\");\n\n\nclass BackgroundMask {\n composite;\n cover;\n enable;\n constructor(){\n this.composite = \"destination-out\";\n this.cover = new _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_1__.BackgroundMaskCover();\n this.enable = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n if (data.cover !== undefined) {\n const cover = data.cover, color = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(data.cover) ? {\n color: data.cover\n } : data.cover;\n this.cover.load(cover.color !== undefined || cover.image !== undefined ? cover : {\n color: color\n });\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMask.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \****************************************************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskCover: () => (/* binding */ BackgroundMaskCover)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass BackgroundMaskCover {\n constructor() {\n this.opacity = 1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(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.image !== undefined) {\n this.image = data.image;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMaskCover.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskCover: () => (/* binding */ BackgroundMaskCover)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass BackgroundMaskCover {\n color;\n image;\n opacity;\n constructor(){\n this.opacity = 1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(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.image !== undefined) {\n this.image = data.image;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/Options/Classes/BackgroundMaskCover.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.5
7
+ * v4.0.0-beta.0
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 */ loadBackgroundMaskPlugin: () => (/* binding */ loadBackgroundMaskPlugin)\n/* harmony export */ });\nasync function loadBackgroundMaskPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.5\");\n await engine.register(async e => {\n const {\n BackgroundMaskPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BackgroundMaskPlugin.js */ \"../../plugins/backgroundMask/dist/browser/BackgroundMaskPlugin.js\"));\n e.addPlugin(new BackgroundMaskPlugin(e));\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBackgroundMaskPlugin: () => (/* binding */ loadBackgroundMaskPlugin)\n/* harmony export */ });\nasync function loadBackgroundMaskPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const { BackgroundMaskPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BackgroundMaskPlugin.js */ \"../../plugins/backgroundMask/dist/browser/BackgroundMaskPlugin.js\"));\n e.addPlugin(new BackgroundMaskPlugin(e));\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/backgroundMask/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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
+ * v4.0.0-beta.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["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["plugins_blend_dist_browser_BlendPluginInstance_js"],{
19
+
20
+ /***/ "../../plugins/blend/dist/browser/BlendPluginInstance.js"
21
+ /*!***************************************************************!*\
22
+ !*** ../../plugins/blend/dist/browser/BlendPluginInstance.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 */ BlendPluginInstance: () => (/* binding */ BlendPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass BlendPluginInstance {\n _container;\n _defaultCompositeValue;\n constructor(container){\n this._container = container;\n }\n drawParticleCleanup(context, particle) {\n if (!particle.options.blend?.enable) {\n return;\n }\n context.globalCompositeOperation = particle.originalBlendMode ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultCompositeValue;\n particle.originalBlendMode = undefined;\n }\n drawParticleSetup(context, particle) {\n if (!particle.options.blend?.enable) {\n return;\n }\n particle.originalBlendMode = context.globalCompositeOperation;\n context.globalCompositeOperation = particle.options.blend.mode;\n }\n drawSettingsCleanup(context) {\n if (!this._defaultCompositeValue) {\n return;\n }\n context.globalCompositeOperation = this._defaultCompositeValue;\n }\n drawSettingsSetup(context) {\n const previousComposite = context.globalCompositeOperation, blend = this._container.actualOptions.blend;\n this._defaultCompositeValue = previousComposite;\n context.globalCompositeOperation = blend?.enable ? blend.mode : previousComposite;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/blend/dist/browser/BlendPluginInstance.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);
@@ -0,0 +1,40 @@
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
+ * v4.0.0-beta.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["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["plugins_blend_dist_browser_BlendPlugin_js"],{
19
+
20
+ /***/ "../../plugins/blend/dist/browser/BlendPlugin.js"
21
+ /*!*******************************************************!*\
22
+ !*** ../../plugins/blend/dist/browser/BlendPlugin.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 */ BlendPlugin: () => (/* binding */ BlendPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Blend_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Blend.js */ \"../../plugins/blend/dist/browser/Options/Classes/Blend.js\");\n\nclass BlendPlugin {\n id = \"blend\";\n async getPlugin(container) {\n const { BlendPluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_blend_dist_browser_BlendPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BlendPluginInstance.js */ \"../../plugins/blend/dist/browser/BlendPluginInstance.js\"));\n return new BlendPluginInstance(container);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n let blendOptions = options.blend;\n if (!blendOptions?.load) {\n options.blend = blendOptions = new _Options_Classes_Blend_js__WEBPACK_IMPORTED_MODULE_0__.Blend();\n }\n blendOptions.load(source?.blend);\n }\n loadParticlesOptions(_container, options, source) {\n options.blend ??= new _Options_Classes_Blend_js__WEBPACK_IMPORTED_MODULE_0__.Blend();\n options.blend.load(source?.blend);\n }\n needsPlugin(options) {\n return !!options?.blend?.enable || !!options?.particles?.blend?.enable;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/blend/dist/browser/BlendPlugin.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/blend/dist/browser/Options/Classes/Blend.js"
31
+ /*!*****************************************************************!*\
32
+ !*** ../../plugins/blend/dist/browser/Options/Classes/Blend.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 */ Blend: () => (/* binding */ Blend)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Blend {\n enable;\n mode;\n constructor(){\n this.mode = \"destination-out\";\n this.enable = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/blend/dist/browser/Options/Classes/Blend.js?\n}");
37
+
38
+ /***/ }
39
+
40
+ }]);
@@ -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
+ * v4.0.0-beta.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["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["plugins_blend_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/blend/dist/browser/index.js"
21
+ /*!*************************************************!*\
22
+ !*** ../../plugins/blend/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 */ loadBlendPlugin: () => (/* binding */ loadBlendPlugin)\n/* harmony export */ });\nasync function loadBlendPlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const { BlendPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_blend_dist_browser_BlendPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BlendPlugin.js */ \"../../plugins/blend/dist/browser/BlendPlugin.js\"));\n e.addPlugin(new BlendPlugin());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/blend/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
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.5
7
+ * v4.0.0-beta.0
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 */ CanvasMaskPluginInstance: () => (/* binding */ CanvasMaskPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/canvasMask/dist/browser/utils.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nclass CanvasMaskPluginInstance {\n constructor(container) {\n this._container = container;\n }\n async init() {\n const container = this._container,\n options = container.actualOptions.canvasMask;\n if (!options?.enable) {\n return;\n }\n let pixelData = {\n pixels: [],\n height: 0,\n width: 0\n };\n const offset = options.pixels.offset;\n if (options.image) {\n const url = options.image.src;\n if (!url) {\n return;\n }\n pixelData = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getImageData)(url, offset);\n } else if (options.text) {\n const textOptions = options.text;\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTextData)(textOptions, offset);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n pixelData = data;\n } else if (options.element ?? options.selector) {\n const canvas = options.element ?? (options.selector && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().querySelector(options.selector));\n if (!canvas) {\n return;\n }\n const context = canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n pixelData = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getCanvasImageData)(context, canvas, offset);\n }\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.addParticlesFromCanvasPixels)(container, pixelData, options.position, options.scale, options.override, options.pixels.filter);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/CanvasMaskPluginInstance.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskPluginInstance: () => (/* binding */ CanvasMaskPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/canvas-utils */ \"../../utils/canvasUtils/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/canvasMask/dist/browser/utils.js\");\n\n\n\nclass CanvasMaskPluginInstance {\n _container;\n constructor(container){\n this._container = container;\n }\n async init() {\n const container = this._container, options = container.actualOptions.canvasMask;\n if (!options?.enable) {\n return;\n }\n let pixelData = {\n pixels: [],\n height: 0,\n width: 0\n };\n const offset = options.pixels.offset;\n if (options.image) {\n const url = options.image.src;\n if (!url) {\n return;\n }\n pixelData = await (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_0__.getImageData)(url, offset, container.canvas.settings);\n } else if (options.text) {\n const textOptions = options.text, data = (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_0__.getTextData)(textOptions, offset, textOptions.fill, container.canvas.settings);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n pixelData = data;\n } else if (options.element ?? options.selector) {\n const canvas = options.element ?? (options.selector && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().querySelector(options.selector));\n if (!canvas) {\n return;\n }\n const context = canvas.getContext(\"2d\", container.canvas.settings);\n if (!context) {\n return;\n }\n pixelData = (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_0__.getCanvasImageData)(context, canvas, offset);\n }\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.addParticlesFromCanvasPixels)(container, pixelData, options.position, options.scale, options.override, options.pixels.filter);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/CanvasMaskPluginInstance.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,7 +33,27 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \******************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addParticlesFromCanvasPixels: () => (/* binding */ addParticlesFromCanvasPixels),\n/* harmony export */ getCanvasImageData: () => (/* binding */ getCanvasImageData),\n/* harmony export */ getImageData: () => (/* binding */ getImageData),\n/* harmony export */ getTextData: () => (/* binding */ getTextData)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultWidth = 0,\n defaultRgb = 0;\nfunction addParticlesFromCanvasPixels(container, data, position, scale, override, filter) {\n const {\n height,\n width\n } = data,\n numPixels = height * width,\n indexArray = shuffle(range(numPixels)),\n maxParticles = Math.min(numPixels, container.actualOptions.particles.number.value),\n canvasSize = container.canvas.size;\n let selectedPixels = 0;\n const positionOffset = {\n x: canvasSize.width * position.x / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator - width * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: canvasSize.height * position.y / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator - height * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n while (selectedPixels < maxParticles && indexArray.length) {\n const defaultIndex = 0,\n nextIndex = indexArray.pop() ?? defaultIndex,\n pixelPos = {\n x: nextIndex % width,\n y: Math.floor(nextIndex / width)\n },\n row = data.pixels[pixelPos.y];\n if (!row) {\n continue;\n }\n const pixel = row[pixelPos.x];\n if (!pixel) {\n continue;\n }\n const shouldCreateParticle = filter(pixel);\n if (!shouldCreateParticle) {\n continue;\n }\n const pos = {\n x: pixelPos.x * scale + positionOffset.x,\n y: pixelPos.y * scale + positionOffset.y\n },\n pOptions = {};\n if (override.color) {\n pOptions.color = {\n value: pixel\n };\n }\n if (override.opacity) {\n pOptions.opacity = {\n value: pixel.a\n };\n }\n container.particles.addParticle(pos, pOptions);\n selectedPixels++;\n }\n}\nfunction getCanvasImageData(ctx, size, offset, clear = true) {\n const imageData = ctx.getImageData(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height).data;\n if (clear) {\n ctx.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height);\n }\n const pixels = [];\n for (let i = 0; i < imageData.length; i += offset) {\n const idx = i / offset,\n pos = {\n x: idx % size.width,\n y: Math.floor(idx / size.width)\n };\n pixels[pos.y] ??= [];\n const indexesOffset = {\n r: 0,\n g: 1,\n b: 2,\n a: 3\n },\n alphaFactor = 255,\n row = pixels[pos.y];\n if (!row) {\n continue;\n }\n row[pos.x] = {\n r: imageData[i + indexesOffset.r] ?? defaultRgb,\n g: imageData[i + indexesOffset.g] ?? defaultRgb,\n b: imageData[i + indexesOffset.b] ?? defaultRgb,\n a: (imageData[i + indexesOffset.a] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha) / alphaFactor\n };\n }\n return {\n pixels,\n width: Math.min(...pixels.map(row => row.length)),\n height: pixels.length\n };\n}\nfunction getImageData(src, offset) {\n const image = new Image();\n image.crossOrigin = \"Anonymous\";\n const p = new Promise((resolve, reject) => {\n image.onerror = reject;\n image.onload = () => {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n const context = canvas.getContext(\"2d\");\n if (!context) {\n reject(new Error(\"Could not get canvas context\"));\n return;\n }\n context.drawImage(image, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, image.width, image.height, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, canvas.width, canvas.height);\n resolve(getCanvasImageData(context, canvas, offset));\n };\n });\n image.src = src;\n return p;\n}\nfunction getTextData(textOptions, offset) {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\"),\n context = canvas.getContext(\"2d\"),\n {\n font,\n text,\n lines: linesOptions,\n color\n } = textOptions;\n if (!text || !context) {\n return;\n }\n const lines = text.split(linesOptions.separator),\n fontSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(font.size) ? `${font.size.toString()}px` : font.size,\n linesData = [];\n let maxWidth = 0,\n totalHeight = 0;\n for (const line of lines) {\n context.font = `${font.style ?? \"\"} ${font.variant ?? \"\"} ${font.weight?.toString() ?? \"\"} ${fontSize} ${font.family}`;\n const measure = context.measureText(line),\n lineData = {\n measure,\n text: line,\n height: measure.actualBoundingBoxAscent + measure.actualBoundingBoxDescent,\n width: measure.width\n };\n maxWidth = Math.max(maxWidth || defaultWidth, lineData.width);\n totalHeight += lineData.height + linesOptions.spacing;\n linesData.push(lineData);\n }\n canvas.width = maxWidth;\n canvas.height = totalHeight;\n let currentHeight = 0;\n for (const line of linesData) {\n context.font = `${font.style ?? \"\"} ${font.variant ?? \"\"} ${font.weight?.toString() ?? \"\"} ${fontSize} ${font.family}`;\n context.fillStyle = color;\n context.fillText(line.text, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, currentHeight + line.measure.actualBoundingBoxAscent);\n currentHeight += line.height + linesOptions.spacing;\n }\n return getCanvasImageData(context, canvas, offset);\n}\nfunction shuffle(array) {\n const lengthOffset = 1,\n minIndex = 0;\n for (let currentIndex = array.length - lengthOffset; currentIndex >= minIndex; currentIndex--) {\n const randomIndex = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * currentIndex),\n currentItem = array[currentIndex],\n randomItem = array[randomIndex];\n if (randomItem === currentItem) {\n continue;\n }\n if (randomItem === undefined || currentItem === undefined) {\n continue;\n }\n array[currentIndex] = randomItem;\n array[randomIndex] = currentItem;\n }\n return array;\n}\nconst range = n => [...Array(n).keys()];\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/utils.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addParticlesFromCanvasPixels: () => (/* binding */ addParticlesFromCanvasPixels)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nfunction addParticlesFromCanvasPixels(container, data, position, scale, override, filter) {\n const { height, width } = data, numPixels = height * width, indexArray = shuffle(range(numPixels)), maxParticles = Math.min(numPixels, container.actualOptions.particles.number.value), canvasSize = container.canvas.size;\n let selectedPixels = 0;\n const positionOffset = {\n x: canvasSize.width * position.x / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator - width * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: canvasSize.height * position.y / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator - height * scale * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n };\n while(selectedPixels < maxParticles && indexArray.length){\n const defaultIndex = 0, nextIndex = indexArray.pop() ?? defaultIndex, pixelPos = {\n x: nextIndex % width,\n y: Math.floor(nextIndex / width)\n }, row = data.pixels[pixelPos.y];\n if (!row) {\n continue;\n }\n const pixel = row[pixelPos.x];\n if (!pixel) {\n continue;\n }\n const shouldCreateParticle = filter(pixel);\n if (!shouldCreateParticle) {\n continue;\n }\n const pos = {\n x: pixelPos.x * scale + positionOffset.x,\n y: pixelPos.y * scale + positionOffset.y\n }, pOptions = {};\n if (override.color) {\n pOptions.fill = {\n color: {\n value: pixel\n },\n enable: true\n };\n }\n if (override.opacity) {\n pOptions.opacity = {\n value: pixel.a\n };\n }\n container.particles.addParticle(pos, pOptions);\n selectedPixels++;\n }\n}\nfunction shuffle(array) {\n const lengthOffset = 1, minIndex = 0;\n for(let currentIndex = array.length - lengthOffset; currentIndex >= minIndex; currentIndex--){\n const randomIndex = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * currentIndex), currentItem = array[currentIndex], randomItem = array[randomIndex];\n if (randomItem === currentItem) {\n continue;\n }\n if (randomItem === undefined || currentItem === undefined) {\n continue;\n }\n array[currentIndex] = randomItem;\n array[randomIndex] = currentItem;\n }\n return array;\n}\nconst range = (n)=>[\n ...Array(n).keys()\n ];\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/utils.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../utils/canvasUtils/dist/browser/Utils.js"
41
+ /*!*****************************************************!*\
42
+ !*** ../../utils/canvasUtils/dist/browser/Utils.js ***!
43
+ \*****************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawLine: () => (/* binding */ drawLine),\n/* harmony export */ getCanvasImageData: () => (/* binding */ getCanvasImageData),\n/* harmony export */ getImageData: () => (/* binding */ getImageData),\n/* harmony export */ getTextData: () => (/* binding */ getTextData),\n/* harmony export */ loadFont: () => (/* binding */ loadFont)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultWidth = 0;\nfunction drawLine(context, begin, end) {\n context.beginPath();\n context.moveTo(begin.x, begin.y);\n context.lineTo(end.x, end.y);\n context.closePath();\n}\nfunction getCanvasImageData(ctx, size, offset, clear = true) {\n const imageData = ctx.getImageData(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height).data;\n if (clear) {\n ctx.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height);\n }\n const pixels = [];\n for(let i = 0; i < imageData.length; i += offset){\n const idx = i / offset, pos = {\n x: idx % size.width,\n y: Math.floor(idx / size.width)\n };\n pixels[pos.y] ??= [];\n const indexesOffset = {\n r: 0,\n g: 1,\n b: 2,\n a: 3\n }, alphaFactor = 255, row = pixels[pos.y];\n if (!row) {\n continue;\n }\n row[pos.x] = {\n r: imageData[i + indexesOffset.r] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n g: imageData[i + indexesOffset.g] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n b: imageData[i + indexesOffset.b] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n a: (imageData[i + indexesOffset.a] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha) / alphaFactor\n };\n }\n return {\n pixels,\n width: Math.min(...pixels.map((row)=>row.length)),\n height: pixels.length\n };\n}\nfunction getImageData(src, offset, canvasSettings) {\n const image = new Image();\n image.crossOrigin = \"Anonymous\";\n const p = new Promise((resolve, reject)=>{\n image.onerror = reject;\n image.onload = ()=>{\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n const context = canvas.getContext(\"2d\", canvasSettings);\n if (!context) {\n reject(new Error(\"Could not get canvas context\"));\n return;\n }\n context.drawImage(image, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, image.width, image.height, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, canvas.width, canvas.height);\n resolve(getCanvasImageData(context, canvas, offset));\n };\n });\n image.src = src;\n return p;\n}\nfunction getTextData(textOptions, offset, fill, canvasSettings) {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\"), context = canvas.getContext(\"2d\", canvasSettings), { font, text, lines: linesOptions, color } = textOptions;\n if (!text || !context) {\n return;\n }\n const lines = text.split(linesOptions.separator), fontSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(font.size) ? `${font.size.toString()}px` : font.size, linesData = [];\n let maxWidth = 0, totalHeight = 0;\n for (const line of lines){\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n const measure = context.measureText(line), lineData = {\n measure,\n text: line,\n height: measure.actualBoundingBoxAscent + measure.actualBoundingBoxDescent,\n width: measure.width\n };\n maxWidth = Math.max(maxWidth || defaultWidth, lineData.width);\n totalHeight += lineData.height + linesOptions.spacing;\n linesData.push(lineData);\n }\n canvas.width = maxWidth;\n canvas.height = totalHeight;\n let currentHeight = 0;\n for (const line of linesData){\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n if (fill) {\n context.fillStyle = color;\n context.fillText(line.text, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, currentHeight + line.measure.actualBoundingBoxAscent);\n } else {\n context.strokeStyle = color;\n context.strokeText(line.text, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, currentHeight + line.measure.actualBoundingBoxAscent);\n }\n currentHeight += line.height + linesOptions.spacing;\n }\n return getCanvasImageData(context, canvas, offset);\n}\nasync function loadFont(font, weight) {\n try {\n await (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().fonts.load(`${weight ?? \"400\"} 36px '${font ?? \"Verdana\"}'`);\n } catch {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../utils/canvasUtils/dist/browser/Utils.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "../../utils/canvasUtils/dist/browser/index.js"
51
+ /*!*****************************************************!*\
52
+ !*** ../../utils/canvasUtils/dist/browser/index.js ***!
53
+ \*****************************************************/
54
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
+
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawLine: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawLine),\n/* harmony export */ getCanvasImageData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getCanvasImageData),\n/* harmony export */ getImageData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getImageData),\n/* harmony export */ getTextData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getTextData),\n/* harmony export */ loadFont: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadFont)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../utils/canvasUtils/dist/browser/Utils.js\");\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../utils/canvasUtils/dist/browser/index.js?\n}");
37
57
 
38
58
  /***/ }
39
59
 
@@ -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.5
7
+ * v4.0.0-beta.0
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 */ CanvasMaskPlugin: () => (/* binding */ CanvasMaskPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_CanvasMask_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/CanvasMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMask.js\");\n\nclass CanvasMaskPlugin {\n constructor() {\n this.id = \"canvasMask\";\n }\n async getPlugin(container) {\n const {\n CanvasMaskPluginInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_canvasMask_dist_browser_CanvasMaskPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CanvasMaskPluginInstance.js */ \"../../plugins/canvasMask/dist/browser/CanvasMaskPluginInstance.js\"));\n return new CanvasMaskPluginInstance(container);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n let canvasMaskOptions = options.canvasMask;\n if (canvasMaskOptions?.load === undefined) {\n options.canvasMask = canvasMaskOptions = new _Options_Classes_CanvasMask_js__WEBPACK_IMPORTED_MODULE_0__.CanvasMask();\n }\n canvasMaskOptions.load(source?.canvasMask);\n }\n needsPlugin(options) {\n return options?.canvasMask?.enable ?? false;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/CanvasMaskPlugin.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskPlugin: () => (/* binding */ CanvasMaskPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_CanvasMask_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/CanvasMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMask.js\");\n\nclass CanvasMaskPlugin {\n id = \"canvas-mask\";\n async getPlugin(container) {\n const { CanvasMaskPluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_canvasMask_dist_browser_CanvasMaskPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CanvasMaskPluginInstance.js */ \"../../plugins/canvasMask/dist/browser/CanvasMaskPluginInstance.js\"));\n return new CanvasMaskPluginInstance(container);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n let canvasMaskOptions = options.canvasMask;\n if (canvasMaskOptions?.load === undefined) {\n options.canvasMask = canvasMaskOptions = new _Options_Classes_CanvasMask_js__WEBPACK_IMPORTED_MODULE_0__.CanvasMask();\n }\n canvasMaskOptions.load(source?.canvasMask);\n }\n needsPlugin(options) {\n return options?.canvasMask?.enable ?? false;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/CanvasMaskPlugin.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \***************************************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMask: () => (/* binding */ CanvasMask)\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 _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CanvasMaskOverride.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskOverride.js\");\n/* harmony import */ var _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CanvasMaskPixels.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskPixels.js\");\n/* harmony import */ var _ImageMask_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ImageMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/ImageMask.js\");\n/* harmony import */ var _TextMask_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TextMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/TextMask.js\");\n\n\n\n\n\nclass CanvasMask {\n constructor() {\n this.enable = false;\n this.override = new _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_1__.CanvasMaskOverride();\n this.pixels = new _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_2__.CanvasMaskPixels();\n this.position = {\n x: 50,\n y: 50\n };\n this.scale = 1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {\n this.element = data.element;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.image) {\n this.image ??= new _ImageMask_js__WEBPACK_IMPORTED_MODULE_3__.ImageMask();\n this.image.load(data.image);\n }\n this.pixels.load(data.pixels);\n if (data.position) {\n this.position = {\n x: data.position.x ?? this.position.x,\n y: data.position.y ?? this.position.y\n };\n }\n this.override.load(data.override);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.selector !== undefined) {\n this.selector = data.selector;\n }\n if (data.text) {\n this.text ??= new _TextMask_js__WEBPACK_IMPORTED_MODULE_4__.TextMask();\n this.text.load(data.text);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMask.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMask: () => (/* binding */ CanvasMask)\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 _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CanvasMaskOverride.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskOverride.js\");\n/* harmony import */ var _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CanvasMaskPixels.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskPixels.js\");\n/* harmony import */ var _ImageMask_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ImageMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/ImageMask.js\");\n/* harmony import */ var _TextMask_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TextMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/TextMask.js\");\n\n\n\n\n\nclass CanvasMask {\n element;\n enable;\n image;\n override;\n pixels;\n position;\n scale;\n selector;\n text;\n constructor(){\n this.enable = false;\n this.override = new _CanvasMaskOverride_js__WEBPACK_IMPORTED_MODULE_1__.CanvasMaskOverride();\n this.pixels = new _CanvasMaskPixels_js__WEBPACK_IMPORTED_MODULE_2__.CanvasMaskPixels();\n this.position = {\n x: 50,\n y: 50\n };\n this.scale = 1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.element !== undefined && data.element instanceof HTMLCanvasElement) {\n this.element = data.element;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.image) {\n this.image ??= new _ImageMask_js__WEBPACK_IMPORTED_MODULE_3__.ImageMask();\n this.image.load(data.image);\n }\n this.pixels.load(data.pixels);\n if (data.position) {\n this.position = {\n x: data.position.x ?? this.position.x,\n y: data.position.y ?? this.position.y\n };\n }\n this.override.load(data.override);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.selector !== undefined) {\n this.selector = data.selector;\n }\n if (data.text) {\n this.text ??= new _TextMask_js__WEBPACK_IMPORTED_MODULE_4__.TextMask();\n this.text.load(data.text);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMask.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \***********************************************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskOverride: () => (/* binding */ CanvasMaskOverride)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass CanvasMaskOverride {\n constructor() {\n this.color = true;\n this.opacity = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskOverride.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskOverride: () => (/* binding */ CanvasMaskOverride)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass CanvasMaskOverride {\n color;\n opacity;\n constructor(){\n this.color = true;\n this.opacity = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskOverride.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \*********************************************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskPixels: () => (/* binding */ CanvasMaskPixels)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minAlpha = 0;\nclass CanvasMaskPixels {\n constructor() {\n this.filter = pixel => pixel.a > minAlpha;\n this.offset = 4;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.filter !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(data.filter)) {\n if (Object.hasOwn(globalThis, data.filter)) {\n const filter = globalThis[data.filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(filter)) {\n this.filter = filter;\n }\n }\n } else {\n this.filter = data.filter;\n }\n }\n if (data.offset !== undefined) {\n this.offset = data.offset;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskPixels.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CanvasMaskPixels: () => (/* binding */ CanvasMaskPixels)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minAlpha = 0;\nclass CanvasMaskPixels {\n filter;\n offset;\n constructor(){\n this.filter = (pixel)=>pixel.a > minAlpha;\n this.offset = 4;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.filter !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(data.filter)) {\n if (data.filter in globalThis) {\n const filter = globalThis[data.filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(filter)) {\n this.filter = filter;\n }\n }\n } else {\n this.filter = data.filter;\n }\n }\n if (data.offset !== undefined) {\n this.offset = data.offset;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/CanvasMaskPixels.js?\n}");
57
57
 
58
58
  /***/ },
59
59
 
@@ -63,7 +63,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
63
63
  \*****************************************************************************/
64
64
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
65
 
66
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FontTextMask: () => (/* binding */ FontTextMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass FontTextMask {\n constructor() {\n this.family = \"sans-serif\";\n this.size = 100;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.family !== undefined) {\n this.family = data.family;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.style !== undefined) {\n this.style = data.style;\n }\n if (data.variant !== undefined) {\n this.variant = data.variant;\n }\n if (data.weight !== undefined) {\n this.weight = data.weight;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/FontTextMask.js?\n}");
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FontTextMask: () => (/* binding */ FontTextMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass FontTextMask {\n family;\n size;\n style;\n variant;\n weight;\n constructor(){\n this.family = \"sans-serif\";\n this.size = 100;\n this.style = \"\";\n this.variant = \"\";\n this.weight = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.family !== undefined) {\n this.family = data.family;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.style !== undefined) {\n this.style = data.style;\n }\n if (data.variant !== undefined) {\n this.variant = data.variant;\n }\n if (data.weight !== undefined) {\n this.weight = data.weight;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/FontTextMask.js?\n}");
67
67
 
68
68
  /***/ },
69
69
 
@@ -73,7 +73,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
73
73
  \**************************************************************************/
74
74
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
75
 
76
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageMask: () => (/* binding */ ImageMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass ImageMask {\n constructor() {\n this.src = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/ImageMask.js?\n}");
76
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageMask: () => (/* binding */ ImageMask)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass ImageMask {\n src;\n constructor(){\n this.src = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/ImageMask.js?\n}");
77
77
 
78
78
  /***/ },
79
79
 
@@ -83,7 +83,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
83
83
  \*************************************************************************/
84
84
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
85
85
 
86
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMask: () => (/* binding */ TextMask)\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 _FontTextMask_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FontTextMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/FontTextMask.js\");\n/* harmony import */ var _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TextMaskLine.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/TextMaskLine.js\");\n\n\n\nclass TextMask {\n constructor() {\n this.color = \"#000000\";\n this.font = new _FontTextMask_js__WEBPACK_IMPORTED_MODULE_1__.FontTextMask();\n this.lines = new _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_2__.TextMaskLine();\n this.text = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n this.font.load(data.font);\n this.lines.load(data.lines);\n if (data.text !== undefined) {\n this.text = data.text;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/TextMask.js?\n}");
86
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMask: () => (/* binding */ TextMask)\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 _FontTextMask_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FontTextMask.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/FontTextMask.js\");\n/* harmony import */ var _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TextMaskLine.js */ \"../../plugins/canvasMask/dist/browser/Options/Classes/TextMaskLine.js\");\n\n\n\nclass TextMask {\n color;\n fill;\n font;\n lines;\n text;\n constructor(){\n this.color = \"#000000\";\n this.fill = true;\n this.font = new _FontTextMask_js__WEBPACK_IMPORTED_MODULE_1__.FontTextMask();\n this.lines = new _TextMaskLine_js__WEBPACK_IMPORTED_MODULE_2__.TextMaskLine();\n this.text = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.font.load(data.font);\n this.lines.load(data.lines);\n if (data.text !== undefined) {\n this.text = data.text;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/TextMask.js?\n}");
87
87
 
88
88
  /***/ },
89
89
 
@@ -93,7 +93,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
93
93
  \*****************************************************************************/
94
94
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
95
 
96
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMaskLine: () => (/* binding */ TextMaskLine)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TextMaskLine {\n constructor() {\n this.separator = \"\\n\";\n this.spacing = 10;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.separator !== undefined) {\n this.separator = data.separator;\n }\n if (data.spacing !== undefined) {\n this.spacing = data.spacing;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/TextMaskLine.js?\n}");
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TextMaskLine: () => (/* binding */ TextMaskLine)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TextMaskLine {\n separator;\n spacing;\n constructor(){\n this.separator = \"\\n\";\n this.spacing = 10;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.separator !== undefined) {\n this.separator = data.separator;\n }\n if (data.spacing !== undefined) {\n this.spacing = data.spacing;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/canvasMask/dist/browser/Options/Classes/TextMaskLine.js?\n}");
97
97
 
98
98
  /***/ }
99
99