@tsparticles/all 3.9.1 → 4.0.0-alpha.1

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 (653) hide show
  1. package/1013.min.js +2 -0
  2. package/1013.min.js.LICENSE.txt +1 -0
  3. package/1080.min.js +2 -0
  4. package/1080.min.js.LICENSE.txt +1 -0
  5. package/1081.min.js +2 -0
  6. package/1081.min.js.LICENSE.txt +1 -0
  7. package/1143.min.js +2 -0
  8. package/1143.min.js.LICENSE.txt +1 -0
  9. package/1392.min.js +2 -0
  10. package/1392.min.js.LICENSE.txt +1 -0
  11. package/1406.min.js +2 -0
  12. package/1406.min.js.LICENSE.txt +1 -0
  13. package/1581.min.js +2 -0
  14. package/1581.min.js.LICENSE.txt +1 -0
  15. package/1761.min.js +2 -0
  16. package/1761.min.js.LICENSE.txt +1 -0
  17. package/1816.min.js +2 -0
  18. package/1816.min.js.LICENSE.txt +1 -0
  19. package/1842.min.js +2 -0
  20. package/1842.min.js.LICENSE.txt +1 -0
  21. package/1866.min.js +2 -0
  22. package/1866.min.js.LICENSE.txt +1 -0
  23. package/1872.min.js +2 -0
  24. package/1872.min.js.LICENSE.txt +1 -0
  25. package/1878.min.js +2 -0
  26. package/1878.min.js.LICENSE.txt +1 -0
  27. package/1887.min.js +2 -0
  28. package/1887.min.js.LICENSE.txt +1 -0
  29. package/1916.min.js +2 -0
  30. package/1916.min.js.LICENSE.txt +1 -0
  31. package/198.min.js +2 -0
  32. package/198.min.js.LICENSE.txt +1 -0
  33. package/201.min.js +2 -0
  34. package/201.min.js.LICENSE.txt +1 -0
  35. package/2058.min.js +2 -0
  36. package/2058.min.js.LICENSE.txt +1 -0
  37. package/2124.min.js +2 -0
  38. package/2124.min.js.LICENSE.txt +1 -0
  39. package/2126.min.js +2 -0
  40. package/2126.min.js.LICENSE.txt +1 -0
  41. package/2142.min.js +2 -0
  42. package/2142.min.js.LICENSE.txt +1 -0
  43. package/2164.min.js +2 -0
  44. package/2164.min.js.LICENSE.txt +1 -0
  45. package/2175.min.js +2 -0
  46. package/2175.min.js.LICENSE.txt +1 -0
  47. package/2201.min.js +2 -0
  48. package/2201.min.js.LICENSE.txt +1 -0
  49. package/2243.min.js +2 -0
  50. package/2243.min.js.LICENSE.txt +1 -0
  51. package/2264.min.js +2 -0
  52. package/2264.min.js.LICENSE.txt +1 -0
  53. package/2370.min.js +2 -0
  54. package/2370.min.js.LICENSE.txt +1 -0
  55. package/2399.min.js +2 -0
  56. package/2399.min.js.LICENSE.txt +1 -0
  57. package/2422.min.js +2 -0
  58. package/2422.min.js.LICENSE.txt +1 -0
  59. package/2534.min.js +2 -0
  60. package/2534.min.js.LICENSE.txt +1 -0
  61. package/2554.min.js +2 -0
  62. package/2554.min.js.LICENSE.txt +1 -0
  63. package/2572.min.js +2 -0
  64. package/2572.min.js.LICENSE.txt +1 -0
  65. package/262.min.js +2 -0
  66. package/262.min.js.LICENSE.txt +1 -0
  67. package/2636.min.js +2 -0
  68. package/2636.min.js.LICENSE.txt +1 -0
  69. package/2739.min.js +2 -0
  70. package/2739.min.js.LICENSE.txt +1 -0
  71. package/2745.min.js +2 -0
  72. package/2745.min.js.LICENSE.txt +1 -0
  73. package/276.min.js +2 -0
  74. package/276.min.js.LICENSE.txt +1 -0
  75. package/2819.min.js +2 -0
  76. package/2819.min.js.LICENSE.txt +1 -0
  77. package/2885.min.js +2 -0
  78. package/2885.min.js.LICENSE.txt +1 -0
  79. package/29.min.js +2 -0
  80. package/29.min.js.LICENSE.txt +1 -0
  81. package/2953.min.js +2 -0
  82. package/2953.min.js.LICENSE.txt +1 -0
  83. package/3017.min.js +2 -0
  84. package/3017.min.js.LICENSE.txt +1 -0
  85. package/303.min.js +2 -0
  86. package/303.min.js.LICENSE.txt +1 -0
  87. package/3089.min.js +2 -0
  88. package/3089.min.js.LICENSE.txt +1 -0
  89. package/3101.min.js +2 -0
  90. package/3101.min.js.LICENSE.txt +1 -0
  91. package/3156.min.js +2 -0
  92. package/3156.min.js.LICENSE.txt +1 -0
  93. package/3206.min.js +2 -0
  94. package/3206.min.js.LICENSE.txt +1 -0
  95. package/3214.min.js +2 -0
  96. package/3214.min.js.LICENSE.txt +1 -0
  97. package/3225.min.js +2 -0
  98. package/3225.min.js.LICENSE.txt +1 -0
  99. package/3241.min.js +2 -0
  100. package/3241.min.js.LICENSE.txt +1 -0
  101. package/3289.min.js +2 -0
  102. package/3289.min.js.LICENSE.txt +1 -0
  103. package/3309.min.js +2 -0
  104. package/3309.min.js.LICENSE.txt +1 -0
  105. package/3435.min.js +2 -0
  106. package/3435.min.js.LICENSE.txt +1 -0
  107. package/3465.min.js +2 -0
  108. package/3465.min.js.LICENSE.txt +1 -0
  109. package/3493.min.js +2 -0
  110. package/3493.min.js.LICENSE.txt +1 -0
  111. package/350.min.js +2 -0
  112. package/350.min.js.LICENSE.txt +1 -0
  113. package/3522.min.js +2 -0
  114. package/3522.min.js.LICENSE.txt +1 -0
  115. package/3561.min.js +2 -0
  116. package/3561.min.js.LICENSE.txt +1 -0
  117. package/3595.min.js +2 -0
  118. package/3595.min.js.LICENSE.txt +1 -0
  119. package/3636.min.js +2 -0
  120. package/3636.min.js.LICENSE.txt +1 -0
  121. package/3658.min.js +2 -0
  122. package/3658.min.js.LICENSE.txt +1 -0
  123. package/368.min.js +2 -0
  124. package/368.min.js.LICENSE.txt +1 -0
  125. package/3710.min.js +2 -0
  126. package/3710.min.js.LICENSE.txt +1 -0
  127. package/3753.min.js +2 -0
  128. package/3753.min.js.LICENSE.txt +1 -0
  129. package/3809.min.js +2 -0
  130. package/3809.min.js.LICENSE.txt +1 -0
  131. package/3828.min.js +2 -0
  132. package/3828.min.js.LICENSE.txt +1 -0
  133. package/3853.min.js +2 -0
  134. package/3853.min.js.LICENSE.txt +1 -0
  135. package/3872.min.js +2 -0
  136. package/3872.min.js.LICENSE.txt +1 -0
  137. package/3897.min.js +2 -0
  138. package/3897.min.js.LICENSE.txt +1 -0
  139. package/3920.min.js +2 -0
  140. package/3920.min.js.LICENSE.txt +1 -0
  141. package/3922.min.js +2 -0
  142. package/3922.min.js.LICENSE.txt +1 -0
  143. package/404.min.js +2 -0
  144. package/404.min.js.LICENSE.txt +1 -0
  145. package/408.min.js +2 -0
  146. package/408.min.js.LICENSE.txt +1 -0
  147. package/41.min.js +2 -0
  148. package/41.min.js.LICENSE.txt +1 -0
  149. package/4125.min.js +2 -0
  150. package/4125.min.js.LICENSE.txt +1 -0
  151. package/4159.min.js +2 -0
  152. package/4159.min.js.LICENSE.txt +1 -0
  153. package/4204.min.js +2 -0
  154. package/4204.min.js.LICENSE.txt +1 -0
  155. package/4231.min.js +2 -0
  156. package/4231.min.js.LICENSE.txt +1 -0
  157. package/4242.min.js +2 -0
  158. package/4242.min.js.LICENSE.txt +1 -0
  159. package/4339.min.js +2 -0
  160. package/4339.min.js.LICENSE.txt +1 -0
  161. package/4398.min.js +2 -0
  162. package/4398.min.js.LICENSE.txt +1 -0
  163. package/4469.min.js +2 -0
  164. package/4469.min.js.LICENSE.txt +1 -0
  165. package/4482.min.js +2 -0
  166. package/4482.min.js.LICENSE.txt +1 -0
  167. package/4493.min.js +2 -0
  168. package/4493.min.js.LICENSE.txt +1 -0
  169. package/4510.min.js +2 -0
  170. package/4510.min.js.LICENSE.txt +1 -0
  171. package/4565.min.js +2 -0
  172. package/4565.min.js.LICENSE.txt +1 -0
  173. package/458.min.js +2 -0
  174. package/458.min.js.LICENSE.txt +1 -0
  175. package/4606.min.js +2 -0
  176. package/4606.min.js.LICENSE.txt +1 -0
  177. package/4620.min.js +2 -0
  178. package/4620.min.js.LICENSE.txt +1 -0
  179. package/4688.min.js +2 -0
  180. package/4688.min.js.LICENSE.txt +1 -0
  181. package/4717.min.js +2 -0
  182. package/4717.min.js.LICENSE.txt +1 -0
  183. package/4743.min.js +2 -0
  184. package/4743.min.js.LICENSE.txt +1 -0
  185. package/4817.min.js +2 -0
  186. package/4817.min.js.LICENSE.txt +1 -0
  187. package/4894.min.js +2 -0
  188. package/4894.min.js.LICENSE.txt +1 -0
  189. package/491.min.js +2 -0
  190. package/491.min.js.LICENSE.txt +1 -0
  191. package/4915.min.js +2 -0
  192. package/4915.min.js.LICENSE.txt +1 -0
  193. package/508.min.js +2 -0
  194. package/508.min.js.LICENSE.txt +1 -0
  195. package/5082.min.js +2 -0
  196. package/5082.min.js.LICENSE.txt +1 -0
  197. package/5090.min.js +2 -0
  198. package/5090.min.js.LICENSE.txt +1 -0
  199. package/5169.min.js +2 -0
  200. package/5169.min.js.LICENSE.txt +1 -0
  201. package/5187.min.js +2 -0
  202. package/5187.min.js.LICENSE.txt +1 -0
  203. package/5202.min.js +2 -0
  204. package/5202.min.js.LICENSE.txt +1 -0
  205. package/5226.min.js +2 -0
  206. package/5226.min.js.LICENSE.txt +1 -0
  207. package/5243.min.js +2 -0
  208. package/5243.min.js.LICENSE.txt +1 -0
  209. package/5322.min.js +2 -0
  210. package/5322.min.js.LICENSE.txt +1 -0
  211. package/5367.min.js +2 -0
  212. package/5367.min.js.LICENSE.txt +1 -0
  213. package/5433.min.js +2 -0
  214. package/5433.min.js.LICENSE.txt +1 -0
  215. package/5504.min.js +2 -0
  216. package/5504.min.js.LICENSE.txt +1 -0
  217. package/5563.min.js +2 -0
  218. package/5563.min.js.LICENSE.txt +1 -0
  219. package/5627.min.js +2 -0
  220. package/5627.min.js.LICENSE.txt +1 -0
  221. package/5635.min.js +2 -0
  222. package/5635.min.js.LICENSE.txt +1 -0
  223. package/5689.min.js +2 -0
  224. package/5689.min.js.LICENSE.txt +1 -0
  225. package/5693.min.js +2 -0
  226. package/5693.min.js.LICENSE.txt +1 -0
  227. package/5711.min.js +2 -0
  228. package/5711.min.js.LICENSE.txt +1 -0
  229. package/5713.min.js +2 -0
  230. package/5713.min.js.LICENSE.txt +1 -0
  231. package/5727.min.js +2 -0
  232. package/5727.min.js.LICENSE.txt +1 -0
  233. package/5728.min.js +2 -0
  234. package/5728.min.js.LICENSE.txt +1 -0
  235. package/5749.min.js +2 -0
  236. package/5749.min.js.LICENSE.txt +1 -0
  237. package/5770.min.js +2 -0
  238. package/5770.min.js.LICENSE.txt +1 -0
  239. package/582.min.js +2 -0
  240. package/582.min.js.LICENSE.txt +1 -0
  241. package/5849.min.js +2 -0
  242. package/5849.min.js.LICENSE.txt +1 -0
  243. package/5885.min.js +2 -0
  244. package/5885.min.js.LICENSE.txt +1 -0
  245. package/5898.min.js +2 -0
  246. package/5898.min.js.LICENSE.txt +1 -0
  247. package/590.min.js +2 -0
  248. package/590.min.js.LICENSE.txt +1 -0
  249. package/5917.min.js +2 -0
  250. package/5917.min.js.LICENSE.txt +1 -0
  251. package/6024.min.js +2 -0
  252. package/6024.min.js.LICENSE.txt +1 -0
  253. package/6137.min.js +2 -0
  254. package/6137.min.js.LICENSE.txt +1 -0
  255. package/617.min.js +2 -0
  256. package/617.min.js.LICENSE.txt +1 -0
  257. package/6203.min.js +2 -0
  258. package/6203.min.js.LICENSE.txt +1 -0
  259. package/6284.min.js +2 -0
  260. package/6284.min.js.LICENSE.txt +1 -0
  261. package/6314.min.js +2 -0
  262. package/6314.min.js.LICENSE.txt +1 -0
  263. package/6315.min.js +2 -0
  264. package/6315.min.js.LICENSE.txt +1 -0
  265. package/6408.min.js +2 -0
  266. package/6408.min.js.LICENSE.txt +1 -0
  267. package/6416.min.js +2 -0
  268. package/6416.min.js.LICENSE.txt +1 -0
  269. package/6434.min.js +2 -0
  270. package/6434.min.js.LICENSE.txt +1 -0
  271. package/6528.min.js +2 -0
  272. package/6528.min.js.LICENSE.txt +1 -0
  273. package/6560.min.js +2 -0
  274. package/6560.min.js.LICENSE.txt +1 -0
  275. package/6573.min.js +2 -0
  276. package/6573.min.js.LICENSE.txt +1 -0
  277. package/6606.min.js +2 -0
  278. package/6606.min.js.LICENSE.txt +1 -0
  279. package/6625.min.js +2 -0
  280. package/6625.min.js.LICENSE.txt +1 -0
  281. package/6660.min.js +2 -0
  282. package/6660.min.js.LICENSE.txt +1 -0
  283. package/6674.min.js +2 -0
  284. package/6674.min.js.LICENSE.txt +1 -0
  285. package/6687.min.js +2 -0
  286. package/6687.min.js.LICENSE.txt +1 -0
  287. package/669.min.js +2 -0
  288. package/669.min.js.LICENSE.txt +1 -0
  289. package/6848.min.js +2 -0
  290. package/6848.min.js.LICENSE.txt +1 -0
  291. package/6866.min.js +2 -0
  292. package/6866.min.js.LICENSE.txt +1 -0
  293. package/7009.min.js +2 -0
  294. package/7009.min.js.LICENSE.txt +1 -0
  295. package/704.min.js +2 -0
  296. package/704.min.js.LICENSE.txt +1 -0
  297. package/7094.min.js +2 -0
  298. package/7094.min.js.LICENSE.txt +1 -0
  299. package/7146.min.js +2 -0
  300. package/7146.min.js.LICENSE.txt +1 -0
  301. package/7152.min.js +2 -0
  302. package/7152.min.js.LICENSE.txt +1 -0
  303. package/7278.min.js +2 -0
  304. package/7278.min.js.LICENSE.txt +1 -0
  305. package/7281.min.js +2 -0
  306. package/7281.min.js.LICENSE.txt +1 -0
  307. package/731.min.js +2 -0
  308. package/731.min.js.LICENSE.txt +1 -0
  309. package/7321.min.js +2 -0
  310. package/7321.min.js.LICENSE.txt +1 -0
  311. package/7342.min.js +2 -0
  312. package/7342.min.js.LICENSE.txt +1 -0
  313. package/7358.min.js +2 -0
  314. package/7358.min.js.LICENSE.txt +1 -0
  315. package/7406.min.js +2 -0
  316. package/7406.min.js.LICENSE.txt +1 -0
  317. package/7426.min.js +2 -0
  318. package/7426.min.js.LICENSE.txt +1 -0
  319. package/745.min.js +2 -0
  320. package/745.min.js.LICENSE.txt +1 -0
  321. package/7485.min.js +2 -0
  322. package/7485.min.js.LICENSE.txt +1 -0
  323. package/7489.min.js +2 -0
  324. package/7489.min.js.LICENSE.txt +1 -0
  325. package/7571.min.js +2 -0
  326. package/7571.min.js.LICENSE.txt +1 -0
  327. package/7586.min.js +2 -0
  328. package/7586.min.js.LICENSE.txt +1 -0
  329. package/7679.min.js +2 -0
  330. package/7679.min.js.LICENSE.txt +1 -0
  331. package/774.min.js +2 -0
  332. package/774.min.js.LICENSE.txt +1 -0
  333. package/7753.min.js +2 -0
  334. package/7753.min.js.LICENSE.txt +1 -0
  335. package/7839.min.js +2 -0
  336. package/7839.min.js.LICENSE.txt +1 -0
  337. package/7962.min.js +2 -0
  338. package/7962.min.js.LICENSE.txt +1 -0
  339. package/7998.min.js +2 -0
  340. package/7998.min.js.LICENSE.txt +1 -0
  341. package/8127.min.js +2 -0
  342. package/8127.min.js.LICENSE.txt +1 -0
  343. package/8182.min.js +2 -0
  344. package/8182.min.js.LICENSE.txt +1 -0
  345. package/8191.min.js +2 -0
  346. package/8191.min.js.LICENSE.txt +1 -0
  347. package/8204.min.js +2 -0
  348. package/8204.min.js.LICENSE.txt +1 -0
  349. package/8230.min.js +2 -0
  350. package/8230.min.js.LICENSE.txt +1 -0
  351. package/8245.min.js +2 -0
  352. package/8245.min.js.LICENSE.txt +1 -0
  353. package/8365.min.js +2 -0
  354. package/8365.min.js.LICENSE.txt +1 -0
  355. package/8404.min.js +2 -0
  356. package/8404.min.js.LICENSE.txt +1 -0
  357. package/8420.min.js +2 -0
  358. package/8420.min.js.LICENSE.txt +1 -0
  359. package/8440.min.js +2 -0
  360. package/8440.min.js.LICENSE.txt +1 -0
  361. package/8457.min.js +2 -0
  362. package/8457.min.js.LICENSE.txt +1 -0
  363. package/8470.min.js +2 -0
  364. package/8470.min.js.LICENSE.txt +1 -0
  365. package/8484.min.js +2 -0
  366. package/8484.min.js.LICENSE.txt +1 -0
  367. package/8520.min.js +2 -0
  368. package/8520.min.js.LICENSE.txt +1 -0
  369. package/8582.min.js +2 -0
  370. package/8582.min.js.LICENSE.txt +1 -0
  371. package/869.min.js +2 -0
  372. package/869.min.js.LICENSE.txt +1 -0
  373. package/8770.min.js +2 -0
  374. package/8770.min.js.LICENSE.txt +1 -0
  375. package/8848.min.js +2 -0
  376. package/8848.min.js.LICENSE.txt +1 -0
  377. package/8926.min.js +2 -0
  378. package/8926.min.js.LICENSE.txt +1 -0
  379. package/8930.min.js +2 -0
  380. package/8930.min.js.LICENSE.txt +1 -0
  381. package/8952.min.js +2 -0
  382. package/8952.min.js.LICENSE.txt +1 -0
  383. package/9076.min.js +2 -0
  384. package/9076.min.js.LICENSE.txt +1 -0
  385. package/9095.min.js +2 -0
  386. package/9095.min.js.LICENSE.txt +1 -0
  387. package/91.min.js +2 -0
  388. package/91.min.js.LICENSE.txt +1 -0
  389. package/9113.min.js +2 -0
  390. package/9113.min.js.LICENSE.txt +1 -0
  391. package/9149.min.js +2 -0
  392. package/9149.min.js.LICENSE.txt +1 -0
  393. package/917.min.js +2 -0
  394. package/917.min.js.LICENSE.txt +1 -0
  395. package/9213.min.js +2 -0
  396. package/9213.min.js.LICENSE.txt +1 -0
  397. package/9234.min.js +2 -0
  398. package/9234.min.js.LICENSE.txt +1 -0
  399. package/9287.min.js +2 -0
  400. package/9287.min.js.LICENSE.txt +1 -0
  401. package/9312.min.js +2 -0
  402. package/9312.min.js.LICENSE.txt +1 -0
  403. package/9438.min.js +2 -0
  404. package/9438.min.js.LICENSE.txt +1 -0
  405. package/9475.min.js +2 -0
  406. package/9475.min.js.LICENSE.txt +1 -0
  407. package/9648.min.js +2 -0
  408. package/9648.min.js.LICENSE.txt +1 -0
  409. package/9754.min.js +2 -0
  410. package/9754.min.js.LICENSE.txt +1 -0
  411. package/9825.min.js +2 -0
  412. package/9825.min.js.LICENSE.txt +1 -0
  413. package/986.min.js +2 -0
  414. package/986.min.js.LICENSE.txt +1 -0
  415. package/9907.min.js +2 -0
  416. package/9907.min.js.LICENSE.txt +1 -0
  417. package/9915.min.js +2 -0
  418. package/9915.min.js.LICENSE.txt +1 -0
  419. package/9944.min.js +2 -0
  420. package/9944.min.js.LICENSE.txt +1 -0
  421. package/9950.min.js +2 -0
  422. package/9950.min.js.LICENSE.txt +1 -0
  423. package/9965.min.js +2 -0
  424. package/9965.min.js.LICENSE.txt +1 -0
  425. package/9966.min.js +2 -0
  426. package/9966.min.js.LICENSE.txt +1 -0
  427. package/basic_dist_browser_index_js.js +30 -0
  428. package/browser/bundle.js +1 -1
  429. package/browser/index.js +62 -103
  430. package/cjs/bundle.js +3 -20
  431. package/cjs/index.js +62 -106
  432. package/effects_bubble_dist_browser_BubbleDrawer_js.js +30 -0
  433. package/effects_bubble_dist_browser_index_js.js +30 -0
  434. package/effects_shadow_dist_browser_ShadowDrawer_js.js +30 -0
  435. package/effects_shadow_dist_browser_index_js.js +30 -0
  436. package/effects_trail_dist_browser_TrailDrawer_js.js +30 -0
  437. package/effects_trail_dist_browser_index_js.js +30 -0
  438. package/engine_dist_browser_Core_Container_js.js +100 -0
  439. package/esm/bundle.js +1 -1
  440. package/esm/index.js +62 -103
  441. package/full_dist_browser_index_js.js +30 -0
  442. package/interactions_external_attract_dist_browser_Attractor_js.js +40 -0
  443. package/interactions_external_attract_dist_browser_index_js.js +40 -0
  444. package/interactions_external_bounce_dist_browser_Bouncer_js.js +40 -0
  445. package/interactions_external_bounce_dist_browser_index_js.js +40 -0
  446. package/interactions_external_bubble_dist_browser_Bubbler_js.js +50 -0
  447. package/interactions_external_bubble_dist_browser_index_js.js +60 -0
  448. package/interactions_external_connect_dist_browser_Connector_js.js +40 -0
  449. package/interactions_external_connect_dist_browser_index_js.js +50 -0
  450. package/interactions_external_grab_dist_browser_Grabber_js.js +40 -0
  451. package/interactions_external_grab_dist_browser_index_js.js +50 -0
  452. package/interactions_external_particle_dist_browser_InteractivityParticleMaker_js.js +40 -0
  453. package/interactions_external_particle_dist_browser_index_js.js +30 -0
  454. package/interactions_external_pause_dist_browser_Pauser_js.js +30 -0
  455. package/interactions_external_pause_dist_browser_index_js.js +30 -0
  456. package/interactions_external_pop_dist_browser_Popper_js.js +30 -0
  457. package/interactions_external_pop_dist_browser_index_js.js +30 -0
  458. package/interactions_external_push_dist_browser_Pusher_js.js +30 -0
  459. package/interactions_external_push_dist_browser_index_js.js +40 -0
  460. package/interactions_external_remove_dist_browser_Remover_js.js +30 -0
  461. package/interactions_external_remove_dist_browser_index_js.js +40 -0
  462. package/interactions_external_repulse_dist_browser_Repulser_js.js +30 -0
  463. package/interactions_external_repulse_dist_browser_index_js.js +60 -0
  464. package/interactions_external_slow_dist_browser_Slower_js.js +30 -0
  465. package/interactions_external_slow_dist_browser_index_js.js +40 -0
  466. package/interactions_external_trail_dist_browser_TrailMaker_js.js +30 -0
  467. package/interactions_external_trail_dist_browser_index_js.js +40 -0
  468. package/interactions_light_dist_browser_ExternalLighter_js.js +40 -0
  469. package/interactions_light_dist_browser_ParticlesLighter_js.js +40 -0
  470. package/interactions_light_dist_browser_index_js.js +70 -0
  471. package/interactions_particles_attract_dist_browser_Attractor_js.js +30 -0
  472. package/interactions_particles_attract_dist_browser_index_js.js +30 -0
  473. package/interactions_particles_collisions_dist_browser_Collider_js.js +110 -0
  474. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +40 -0
  475. package/interactions_particles_collisions_dist_browser_index_js.js +30 -0
  476. package/interactions_particles_links_dist_browser_Linker_js.js +40 -0
  477. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +50 -0
  478. package/interactions_particles_links_dist_browser_index_js.js +60 -0
  479. package/interactions_particles_links_dist_browser_interaction_js.js +30 -0
  480. package/interactions_particles_links_dist_browser_plugin_js.js +30 -0
  481. package/interactions_particles_repulse_dist_browser_Repulser_js.js +40 -0
  482. package/interactions_particles_repulse_dist_browser_index_js.js +30 -0
  483. package/move_base_dist_browser_BaseMover_js.js +40 -0
  484. package/move_base_dist_browser_index_js.js +30 -0
  485. package/move_parallax_dist_browser_ParallaxMover_js.js +30 -0
  486. package/move_parallax_dist_browser_index_js.js +30 -0
  487. package/package.json +61 -53
  488. package/paths_curlNoise_dist_browser_CurlNoiseGenerator_js.js +30 -0
  489. package/paths_curlNoise_dist_browser_index_js.js +30 -0
  490. package/paths_curves_dist_browser_CurvesPathGenerator_js.js +40 -0
  491. package/paths_curves_dist_browser_index_js.js +30 -0
  492. package/paths_fractalNoise_dist_browser_FractalNoiseGenerator_js.js +90 -0
  493. package/paths_fractalNoise_dist_browser_index_js.js +30 -0
  494. package/paths_perlinNoise_dist_browser_PerlinNoiseGenerator_js.js +80 -0
  495. package/paths_perlinNoise_dist_browser_index_js.js +30 -0
  496. package/paths_polygon_dist_browser_PolygonPathGenerator_js.js +30 -0
  497. package/paths_polygon_dist_browser_index_js.js +30 -0
  498. package/paths_simplexNoise_dist_browser_SimplexNoiseGenerator_js.js +50 -0
  499. package/paths_simplexNoise_dist_browser_index_js.js +30 -0
  500. package/paths_svg_dist_browser_SVGPathGenerator_js.js +30 -0
  501. package/paths_svg_dist_browser_index_js.js +30 -0
  502. package/paths_zigzag_dist_browser_ZigZagPathGenerator_js.js +30 -0
  503. package/paths_zigzag_dist_browser_index_js.js +30 -0
  504. package/pjs_dist_browser_index_js.js +50 -0
  505. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +80 -0
  506. package/plugins_absorbers_dist_browser_index_js.js +40 -0
  507. package/plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js.js +60 -0
  508. package/plugins_backgroundMask_dist_browser_index_js.js +30 -0
  509. package/plugins_canvasMask_dist_browser_CanvasMaskPlugin_js.js +120 -0
  510. package/plugins_canvasMask_dist_browser_index_js.js +30 -0
  511. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +30 -0
  512. package/plugins_colors_hex_dist_browser_index_js.js +30 -0
  513. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +30 -0
  514. package/plugins_colors_hsl_dist_browser_index_js.js +30 -0
  515. package/plugins_colors_hsv_dist_browser_HsvColorManager_js.js +40 -0
  516. package/plugins_colors_hsv_dist_browser_index_js.js +30 -0
  517. package/plugins_colors_hwb_dist_browser_HwbColorManager_js.js +30 -0
  518. package/plugins_colors_hwb_dist_browser_index_js.js +30 -0
  519. package/plugins_colors_lab_dist_browser_LabColorManager_js.js +40 -0
  520. package/plugins_colors_lab_dist_browser_index_js.js +30 -0
  521. package/plugins_colors_lch_dist_browser_LchColorManager_js.js +40 -0
  522. package/plugins_colors_lch_dist_browser_index_js.js +30 -0
  523. package/plugins_colors_named_dist_browser_NamedColorManager_js.js +30 -0
  524. package/plugins_colors_named_dist_browser_index_js.js +30 -0
  525. package/plugins_colors_oklab_dist_browser_OklabColorManager_js.js +40 -0
  526. package/plugins_colors_oklab_dist_browser_index_js.js +30 -0
  527. package/plugins_colors_oklch_dist_browser_OklchColorManager_js.js +40 -0
  528. package/plugins_colors_oklch_dist_browser_index_js.js +30 -0
  529. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +30 -0
  530. package/plugins_colors_rgb_dist_browser_index_js.js +30 -0
  531. package/plugins_easings_back_dist_browser_index_js.js +30 -0
  532. package/plugins_easings_circ_dist_browser_index_js.js +30 -0
  533. package/plugins_easings_cubic_dist_browser_index_js.js +30 -0
  534. package/plugins_easings_expo_dist_browser_index_js.js +30 -0
  535. package/plugins_easings_linear_dist_browser_index_js.js +30 -0
  536. package/plugins_easings_quad_dist_browser_index_js.js +30 -0
  537. package/plugins_easings_quart_dist_browser_index_js.js +30 -0
  538. package/plugins_easings_quint_dist_browser_index_js.js +30 -0
  539. package/plugins_easings_sine_dist_browser_index_js.js +30 -0
  540. package/plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js.js +130 -0
  541. package/plugins_emittersShapes_canvas_dist_browser_index_js.js +30 -0
  542. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +70 -0
  543. package/plugins_emittersShapes_circle_dist_browser_index_js.js +30 -0
  544. package/plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js.js +90 -0
  545. package/plugins_emittersShapes_path_dist_browser_index_js.js +30 -0
  546. package/plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js.js +90 -0
  547. package/plugins_emittersShapes_polygon_dist_browser_index_js.js +30 -0
  548. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +70 -0
  549. package/plugins_emittersShapes_square_dist_browser_index_js.js +30 -0
  550. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +110 -0
  551. package/plugins_emitters_dist_browser_ShapeManager_js.js +30 -0
  552. package/plugins_emitters_dist_browser_index_js.js +50 -0
  553. package/plugins_exports_image_dist_browser_ExportImagePlugin_js.js +40 -0
  554. package/plugins_exports_image_dist_browser_index_js.js +30 -0
  555. package/plugins_exports_json_dist_browser_ExportJSONPlugin_js.js +40 -0
  556. package/plugins_exports_json_dist_browser_index_js.js +30 -0
  557. package/plugins_exports_video_dist_browser_ExportVideoPlugin_js.js +40 -0
  558. package/plugins_exports_video_dist_browser_index_js.js +30 -0
  559. package/plugins_infection_dist_browser_InfectionPlugin_js.js +70 -0
  560. package/plugins_infection_dist_browser_ParticlesInfecter_js.js +30 -0
  561. package/plugins_infection_dist_browser_index_js.js +30 -0
  562. package/plugins_motion_dist_browser_MotionPlugin_js.js +60 -0
  563. package/plugins_motion_dist_browser_index_js.js +30 -0
  564. package/plugins_poisson_dist_browser_PoissonDiscPlugin_js.js +60 -0
  565. package/plugins_poisson_dist_browser_index_js.js +30 -0
  566. package/plugins_polygonMask_dist_browser_PolygonMaskPlugin_js.js +120 -0
  567. package/plugins_polygonMask_dist_browser_index_js.js +60 -0
  568. package/plugins_sounds_dist_browser_SoundsPlugin_js.js +140 -0
  569. package/plugins_sounds_dist_browser_index_js.js +30 -0
  570. package/plugins_trail_dist_browser_TrailPlugin_js.js +60 -0
  571. package/plugins_trail_dist_browser_index_js.js +30 -0
  572. package/report.html +5 -4
  573. package/shapes_arrow_dist_browser_ArrowDrawer_js.js +40 -0
  574. package/shapes_arrow_dist_browser_index_js.js +30 -0
  575. package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +40 -0
  576. package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +40 -0
  577. package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +40 -0
  578. package/shapes_cards_dist_browser_index_js.js +70 -0
  579. package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +40 -0
  580. package/shapes_circle_dist_browser_CircleDrawer_js.js +40 -0
  581. package/shapes_circle_dist_browser_index_js.js +30 -0
  582. package/shapes_cog_dist_browser_CogDrawer_js.js +40 -0
  583. package/shapes_cog_dist_browser_index_js.js +30 -0
  584. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +40 -0
  585. package/shapes_emoji_dist_browser_index_js.js +30 -0
  586. package/shapes_heart_dist_browser_HeartDrawer_js.js +40 -0
  587. package/shapes_heart_dist_browser_index_js.js +30 -0
  588. package/shapes_image_dist_browser_GifUtils_Utils_js.js +80 -0
  589. package/shapes_image_dist_browser_ImageDrawer_js.js +30 -0
  590. package/shapes_image_dist_browser_ImagePreloader_js.js +40 -0
  591. package/shapes_image_dist_browser_Utils_js.js +30 -0
  592. package/shapes_image_dist_browser_index_js.js +30 -0
  593. package/shapes_infinity_dist_browser_InfinityDrawer_js.js +40 -0
  594. package/shapes_infinity_dist_browser_index_js.js +30 -0
  595. package/shapes_line_dist_browser_LineDrawer_js.js +40 -0
  596. package/shapes_line_dist_browser_index_js.js +30 -0
  597. package/shapes_path_dist_browser_PathDrawer_js.js +50 -0
  598. package/shapes_path_dist_browser_index_js.js +30 -0
  599. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +50 -0
  600. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +50 -0
  601. package/shapes_polygon_dist_browser_index_js.js +30 -0
  602. package/shapes_rounded-polygon_dist_browser_RoundedPolygonDrawer_js.js +40 -0
  603. package/shapes_rounded-polygon_dist_browser_index_js.js +30 -0
  604. package/shapes_rounded-rect_dist_browser_RoundedRectDrawer_js.js +40 -0
  605. package/shapes_rounded-rect_dist_browser_index_js.js +30 -0
  606. package/shapes_spiral_dist_browser_SpiralDrawer_js.js +40 -0
  607. package/shapes_spiral_dist_browser_index_js.js +30 -0
  608. package/shapes_square_dist_browser_SquareDrawer_js.js +40 -0
  609. package/shapes_square_dist_browser_index_js.js +30 -0
  610. package/shapes_star_dist_browser_StarDrawer_js.js +40 -0
  611. package/shapes_star_dist_browser_index_js.js +30 -0
  612. package/shapes_text_dist_browser_TextDrawer_js.js +40 -0
  613. package/shapes_text_dist_browser_index_js.js +30 -0
  614. package/slim_dist_browser_index_js.js +30 -0
  615. package/tsparticles.all.bundle.js +536 -5705
  616. package/tsparticles.all.bundle.min.js +1 -1
  617. package/tsparticles.all.bundle.min.js.LICENSE.txt +1 -1
  618. package/tsparticles.all.js +261 -167
  619. package/tsparticles.all.min.js +1 -1
  620. package/tsparticles.all.min.js.LICENSE.txt +1 -1
  621. package/types/bundle.d.ts +1 -1
  622. package/types/index.d.ts +1 -1
  623. package/umd/bundle.js +3 -3
  624. package/umd/index.js +97 -104
  625. package/updaters_color_dist_browser_ColorUpdater_js.js +30 -0
  626. package/updaters_color_dist_browser_index_js.js +30 -0
  627. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +100 -0
  628. package/updaters_destroy_dist_browser_index_js.js +30 -0
  629. package/updaters_gradient_dist_browser_GradientUpdater_js.js +100 -0
  630. package/updaters_gradient_dist_browser_index_js.js +30 -0
  631. package/updaters_life_dist_browser_LifeUpdater_js.js +70 -0
  632. package/updaters_life_dist_browser_index_js.js +30 -0
  633. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +30 -0
  634. package/updaters_opacity_dist_browser_index_js.js +30 -0
  635. package/updaters_orbit_dist_browser_OrbitUpdater_js.js +70 -0
  636. package/updaters_orbit_dist_browser_index_js.js +30 -0
  637. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +80 -0
  638. package/updaters_outModes_dist_browser_index_js.js +30 -0
  639. package/updaters_roll_dist_browser_RollUpdater_js.js +70 -0
  640. package/updaters_roll_dist_browser_index_js.js +30 -0
  641. package/updaters_rotate_dist_browser_RotateUpdater_js.js +50 -0
  642. package/updaters_rotate_dist_browser_index_js.js +30 -0
  643. package/updaters_size_dist_browser_SizeUpdater_js.js +30 -0
  644. package/updaters_size_dist_browser_index_js.js +30 -0
  645. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +30 -0
  646. package/updaters_strokeColor_dist_browser_index_js.js +30 -0
  647. package/updaters_tilt_dist_browser_TiltUpdater_js.js +60 -0
  648. package/updaters_tilt_dist_browser_index_js.js +30 -0
  649. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +50 -0
  650. package/updaters_twinkle_dist_browser_index_js.js +30 -0
  651. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +60 -0
  652. package/updaters_wobble_dist_browser_index_js.js +30 -0
  653. package/utils_simplexNoise_dist_browser_index_js.js +80 -0
@@ -0,0 +1,70 @@
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-alpha.1
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_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js"],{
19
+
20
+ /***/ "../../plugins/emitters/dist/browser/EmitterShapeBase.js"
21
+ /*!***************************************************************!*\
22
+ !*** ../../plugins/emitters/dist/browser/EmitterShapeBase.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 */ EmitterShapeBase: () => (/* binding */ EmitterShapeBase)\n/* harmony export */ });\nclass EmitterShapeBase {\n constructor(position, size, fill, options) {\n this.position = position;\n this.size = size;\n this.fill = fill;\n this.options = options;\n }\n resize(position, size) {\n this.position = position;\n this.size = size;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmitterShapeBase.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js"
31
+ /*!*********************************************************************!*\
32
+ !*** ../../plugins/emitters/dist/browser/Enums/EmitterClickMode.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 */ EmitterClickMode: () => (/* binding */ EmitterClickMode)\n/* harmony export */ });\nvar EmitterClickMode;\n(function (EmitterClickMode) {\n EmitterClickMode[\"emitter\"] = \"emitter\";\n})(EmitterClickMode || (EmitterClickMode = {}));\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/emitters/dist/browser/index.js"
41
+ /*!****************************************************!*\
42
+ !*** ../../plugins/emitters/dist/browser/index.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 */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nfunction loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n ShapeManager\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n {\n EmittersPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"));\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator) => {\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n const plugin = new EmittersPlugin(e);\n e.addPlugin(plugin);\n });\n}\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "../../plugins/emittersShapes/square/dist/browser/EmittersSquareShape.js"
51
+ /*!*******************************************************************************!*\
52
+ !*** ../../plugins/emittersShapes/square/dist/browser/EmittersSquareShape.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 */ EmittersSquareShape: () => (/* binding */ EmittersSquareShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nconst sides = 4;\nvar Sides;\n(function (Sides) {\n Sides[Sides[\"TopLeft\"] = 0] = \"TopLeft\";\n Sides[Sides[\"TopRight\"] = 1] = \"TopRight\";\n Sides[Sides[\"BottomRight\"] = 2] = \"BottomRight\";\n Sides[Sides[\"BottomLeft\"] = 3] = \"BottomLeft\";\n})(Sides || (Sides = {}));\nfunction randomSquareCoordinate(position, offset) {\n return position + offset * ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() - _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half);\n}\nclass EmittersSquareShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n }\n async init() {}\n randomPosition() {\n const fill = this.fill,\n position = this.position,\n size = this.size;\n if (fill) {\n return {\n position: {\n x: randomSquareCoordinate(position.x, size.width),\n y: randomSquareCoordinate(position.y, size.height)\n }\n };\n } else {\n const halfW = size.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half,\n halfH = size.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half,\n side = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() * sides),\n v = ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() - _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.double;\n switch (side) {\n case Sides.TopLeft:\n return {\n position: {\n x: position.x + v * halfW,\n y: position.y - halfH\n }\n };\n case Sides.TopRight:\n return {\n position: {\n x: position.x - halfW,\n y: position.y + v * halfH\n }\n };\n case Sides.BottomRight:\n return {\n position: {\n x: position.x + v * halfW,\n y: position.y + halfH\n }\n };\n case Sides.BottomLeft:\n default:\n return {\n position: {\n x: position.x + halfW,\n y: position.y + v * halfH\n }\n };\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/square/dist/browser/EmittersSquareShape.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js"
61
+ /*!****************************************************************************************!*\
62
+ !*** ../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js ***!
63
+ \****************************************************************************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersSquareShapeGenerator: () => (/* binding */ EmittersSquareShapeGenerator)\n/* harmony export */ });\n/* harmony import */ var _EmittersSquareShape_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmittersSquareShape.js */ \"../../plugins/emittersShapes/square/dist/browser/EmittersSquareShape.js\");\n\nclass EmittersSquareShapeGenerator {\n generate(position, size, fill, options) {\n return new _EmittersSquareShape_js__WEBPACK_IMPORTED_MODULE_0__.EmittersSquareShape(position, size, fill, options);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js?\n}");
67
+
68
+ /***/ }
69
+
70
+ }]);
@@ -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-alpha.1
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_emittersShapes_square_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/emittersShapes/square/dist/browser/index.js"
21
+ /*!*****************************************************************!*\
22
+ !*** ../../plugins/emittersShapes/square/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 */ loadEmittersShapeSquare: () => (/* binding */ loadEmittersShapeSquare)\n/* harmony export */ });\nfunction loadEmittersShapeSquare(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async emittersEngine => {\n const {\n EmittersSquareShapeGenerator\n } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersSquareShapeGenerator.js */ \"../../plugins/emittersShapes/square/dist/browser/EmittersSquareShapeGenerator.js\"));\n emittersEngine.addEmitterShapeGenerator?.(\"square\", new EmittersSquareShapeGenerator());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/square/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);
@@ -0,0 +1,110 @@
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-alpha.1
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_emitters_dist_browser_EmittersPlugin_js"],{
19
+
20
+ /***/ "../../plugins/emitters/dist/browser/EmitterInstance.js"
21
+ /*!**************************************************************!*\
22
+ !*** ../../plugins/emitters/dist/browser/EmitterInstance.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 */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst defaultLifeDelay = 0,\n minLifeCount = 0,\n defaultSpawnDelay = 0,\n defaultEmitDelay = 0,\n defaultLifeCount = -1,\n defaultColorAnimationFactor = 1;\nfunction setParticlesOptionsColor(particlesOptions, color) {\n if (particlesOptions.color) {\n particlesOptions.color.value = color;\n } else {\n particlesOptions.color = {\n value: color\n };\n }\n}\nclass EmitterInstance {\n constructor(engine, emitters, container, options, position) {\n this.emitters = emitters;\n this.container = container;\n this._destroy = () => {\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.emitters.removeEmitter(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n this._prepareToDie = () => {\n if (this._paused) {\n return;\n }\n const duration = this.options.life.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined,\n minDuration = 0,\n minLifeCount = 0;\n if ((this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n this._setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor) => {\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)(animation.offset),\n delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay),\n emitFactor = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity,\n colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawnColor) {\n this.spawnColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(() => {\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(() => {\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"style\", \"width\", \"height\"]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape,\n shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!((this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n const container = this.container;\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = container.retina.reduceFactor ? delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition,\n container = this.container;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n const container = this.container;\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = container.retina.reduceFactor ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor : Infinity;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._currentSpawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(),\n pxRatio = container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio,\n y: (elRect.y + elRect.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.precise\n };\n }\n }\n return this.options.size ?? (() => {\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent,\n width: 0\n });\n return size;\n })();\n }\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions),\n reduceFactor = this.container.retina.reduceFactor;\n for (let i = 0; i < quantity * reduceFactor; i++) {\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions);\n if (this.spawnColor) {\n const hslAnimation = this.options.spawnColor?.animation;\n if (hslAnimation) {\n const maxValues = {\n h: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hMax,\n s: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.sMax,\n l: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.lMax\n },\n colorFactor = 3.6;\n this.spawnColor.h = this._setColorAnimation(hslAnimation.h, this.spawnColor.h, maxValues.h, colorFactor);\n this.spawnColor.s = this._setColorAnimation(hslAnimation.s, this.spawnColor.s, maxValues.s);\n this.spawnColor.l = this._setColorAnimation(hslAnimation.l, this.spawnColor.l, maxValues.l);\n }\n setParticlesOptionsColor(particlesOptions, this.spawnColor);\n }\n const shapeOptions = this.options.shape;\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsColor(particlesOptions, shapePosData.color);\n }\n if (replaceData.opacity) {\n if (particlesOptions.opacity) {\n particlesOptions.opacity.value = shapePosData.opacity;\n } else {\n particlesOptions.opacity = {\n value: shapePosData.opacity\n };\n }\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmitterInstance.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/emitters/dist/browser/Emitters.js"
31
+ /*!*******************************************************!*\
32
+ !*** ../../plugins/emitters/dist/browser/Emitters.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 */ Emitters: () => (/* binding */ Emitters)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\n/* harmony import */ var _EmitterInstance_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterInstance.js */ \"../../plugins/emitters/dist/browser/EmitterInstance.js\");\n\n\n\n\nclass Emitters {\n constructor(engine, container) {\n this.container = container;\n this._engine = engine;\n this.array = [];\n this.emitters = [];\n this.interactivityEmitters = {\n random: {\n count: 1,\n enable: false\n },\n value: []\n };\n const defaultIndex = 0;\n container.getEmitter = idxOrName => idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? this.array[idxOrName ?? defaultIndex] : this.array.find(t => t.name === idxOrName);\n container.addEmitter = async (options, position) => this.addEmitter(options, position);\n container.removeEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n this.removeEmitter(emitter);\n }\n };\n container.playEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n container.pauseEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n async addEmitter(options, position) {\n const emitterOptions = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n emitterOptions.load(options);\n const emitter = new _EmitterInstance_js__WEBPACK_IMPORTED_MODULE_3__.EmitterInstance(this._engine, this, this.container, emitterOptions, position);\n await emitter.init();\n this.array.push(emitter);\n return emitter;\n }\n handleClickMode(mode) {\n const modeEmitters = this.interactivityEmitters;\n if (mode !== _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_2__.EmitterClickMode.emitter) {\n return;\n }\n let emittersModeOptions;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(modeEmitters.value)) {\n const minLength = 0;\n if (modeEmitters.value.length > minLength && modeEmitters.random.enable) {\n emittersModeOptions = [];\n const usedIndexes = [];\n for (let i = 0; i < modeEmitters.random.count; i++) {\n const idx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.arrayRandomIndex)(modeEmitters.value);\n if (usedIndexes.includes(idx) && usedIndexes.length < modeEmitters.value.length) {\n i--;\n continue;\n }\n usedIndexes.push(idx);\n const selectedOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromArray)(modeEmitters.value, idx);\n if (!selectedOptions) {\n continue;\n }\n emittersModeOptions.push(selectedOptions);\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n const emittersOptions = emittersModeOptions,\n ePosition = this.container.interactivity.mouse.clickPosition;\n void (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(emittersOptions, async emitter => {\n await this.addEmitter(emitter, ePosition);\n });\n }\n async init() {\n this.emitters = this.container.actualOptions.emitters;\n this.interactivityEmitters = this.container.actualOptions.interactivity.modes.emitters;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(this.emitters)) {\n for (const emitterOptions of this.emitters) {\n await this.addEmitter(emitterOptions);\n }\n } else {\n await this.addEmitter(this.emitters);\n }\n }\n pause() {\n for (const emitter of this.array) {\n emitter.pause();\n }\n }\n play() {\n for (const emitter of this.array) {\n emitter.play();\n }\n }\n removeEmitter(emitter) {\n const index = this.array.indexOf(emitter),\n minIndex = 0,\n deleteCount = 1;\n if (index >= minIndex) {\n this.array.splice(index, deleteCount);\n }\n }\n resize() {\n for (const emitter of this.array) {\n emitter.resize();\n }\n }\n stop() {\n this.array = [];\n }\n update(delta) {\n for (const emitter of this.array) {\n emitter.update(delta);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Emitters.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/emitters/dist/browser/EmittersPlugin.js"
41
+ /*!*************************************************************!*\
42
+ !*** ../../plugins/emitters/dist/browser/EmittersPlugin.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 */ EmittersPlugin: () => (/* binding */ EmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\n/* harmony import */ var _Emitters_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Emitters.js */ \"../../plugins/emitters/dist/browser/Emitters.js\");\n\n\n\n\nclass EmittersPlugin {\n constructor(engine) {\n this._engine = engine;\n this.id = \"emitters\";\n }\n getPlugin(container) {\n return Promise.resolve(new _Emitters_js__WEBPACK_IMPORTED_MODULE_3__.Emitters(this._engine, container));\n }\n loadOptions(options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n if (source?.emitters) {\n options.emitters = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(source.emitters, emitter => {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n tmp.load(emitter);\n return tmp;\n });\n }\n const interactivityEmitters = source?.interactivity?.modes?.emitters;\n if (interactivityEmitters) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(interactivityEmitters)) {\n options.interactivity.modes.emitters = {\n random: {\n count: 1,\n enable: true\n },\n value: interactivityEmitters.map(s => {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n tmp.load(s);\n return tmp;\n })\n };\n } else {\n const emitterMode = interactivityEmitters;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(emitterMode.value)) {\n options.interactivity.modes.emitters = {\n random: {\n count: emitterMode.random.count,\n enable: emitterMode.random.enable\n },\n value: emitterMode.value.map(s => {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n tmp.load(s);\n return tmp;\n })\n };\n } else {\n const tmp = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n tmp.load(emitterMode.value);\n options.interactivity.modes.emitters = {\n random: {\n count: emitterMode.random.count,\n enable: emitterMode.random.enable\n },\n value: tmp\n };\n }\n }\n }\n }\n needsPlugin(options) {\n if (!options) {\n return false;\n }\n const emitters = options.emitters;\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(emitters) && !!emitters.length || emitters !== undefined || !!options.interactivity?.events?.onClick?.mode && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(_Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_2__.EmitterClickMode.emitter, options.interactivity.events.onClick.mode);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmittersPlugin.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/Emitter.js"
51
+ /*!**********************************************************************!*\
52
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/Emitter.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 */ Emitter: () => (/* binding */ Emitter)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\n\n\nclass Emitter {\n constructor() {\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n this.size ??= new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, particles => {\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n this.spawnColor ??= new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js"
61
+ /*!**************************************************************************!*\
62
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js ***!
63
+ \**************************************************************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterLife: () => (/* binding */ EmitterLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterLife {\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//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js"
71
+ /*!**************************************************************************!*\
72
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js ***!
73
+ \**************************************************************************/
74
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
+
76
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterRate: () => (/* binding */ EmitterRate)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterRate {\n constructor() {\n this.quantity = 1;\n this.delay = 0.1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.quantity !== undefined) {\n this.quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.quantity);\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js?\n}");
77
+
78
+ /***/ },
79
+
80
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js"
81
+ /*!***************************************************************************!*\
82
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js ***!
83
+ \***************************************************************************/
84
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
85
+
86
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShape: () => (/* binding */ EmitterShape)\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 _EmitterShapeReplace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterShapeReplace.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js\");\n\n\nclass EmitterShape {\n constructor() {\n this.options = {};\n this.replace = new _EmitterShapeReplace_js__WEBPACK_IMPORTED_MODULE_1__.EmitterShapeReplace();\n this.type = \"square\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.options !== undefined) {\n this.options = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.options ?? {});\n }\n this.replace.load(data.replace);\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js?\n}");
87
+
88
+ /***/ },
89
+
90
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js"
91
+ /*!**********************************************************************************!*\
92
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js ***!
93
+ \**********************************************************************************/
94
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
95
+
96
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShapeReplace: () => (/* binding */ EmitterShapeReplace)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterShapeReplace {\n constructor() {\n this.color = false;\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/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js?\n}");
97
+
98
+ /***/ },
99
+
100
+ /***/ "../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js"
101
+ /*!**************************************************************************!*\
102
+ !*** ../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js ***!
103
+ \**************************************************************************/
104
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
105
+
106
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSize: () => (/* binding */ EmitterSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSize {\n constructor() {\n this.mode = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js?\n}");
107
+
108
+ /***/ }
109
+
110
+ }]);
@@ -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-alpha.1
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_emitters_dist_browser_ShapeManager_js"],{
19
+
20
+ /***/ "../../plugins/emitters/dist/browser/ShapeManager.js"
21
+ /*!***********************************************************!*\
22
+ !*** ../../plugins/emitters/dist/browser/ShapeManager.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 */ ShapeManager: () => (/* binding */ ShapeManager)\n/* harmony export */ });\nconst shapeGeneratorss = new Map();\nclass ShapeManager {\n addShapeGenerator(name, generator) {\n if (!this.getShapeGenerator(name)) {\n shapeGeneratorss.set(name, generator);\n }\n }\n getShapeGenerator(name) {\n return shapeGeneratorss.get(name);\n }\n getSupportedShapeGenerators() {\n return shapeGeneratorss.keys();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/ShapeManager.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v4.0.0-alpha.1
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_emitters_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/emitters/dist/browser/EmitterShapeBase.js"
21
+ /*!***************************************************************!*\
22
+ !*** ../../plugins/emitters/dist/browser/EmitterShapeBase.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 */ EmitterShapeBase: () => (/* binding */ EmitterShapeBase)\n/* harmony export */ });\nclass EmitterShapeBase {\n constructor(position, size, fill, options) {\n this.position = position;\n this.size = size;\n this.fill = fill;\n this.options = options;\n }\n resize(position, size) {\n this.position = position;\n this.size = size;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/EmitterShapeBase.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js"
31
+ /*!*********************************************************************!*\
32
+ !*** ../../plugins/emitters/dist/browser/Enums/EmitterClickMode.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 */ EmitterClickMode: () => (/* binding */ EmitterClickMode)\n/* harmony export */ });\nvar EmitterClickMode;\n(function (EmitterClickMode) {\n EmitterClickMode[\"emitter\"] = \"emitter\";\n})(EmitterClickMode || (EmitterClickMode = {}));\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/emitters/dist/browser/index.js"
41
+ /*!****************************************************!*\
42
+ !*** ../../plugins/emitters/dist/browser/index.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 */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\nfunction loadEmittersPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n ShapeManager\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_ShapeManager_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\")),\n {\n EmittersPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmittersPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\"));\n e.emitterShapeManager ??= new ShapeManager();\n e.addEmitterShapeGenerator ??= (name, generator) => {\n e.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n const plugin = new EmittersPlugin(e);\n e.addPlugin(plugin);\n });\n}\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emitters/dist/browser/index.js?\n}");
47
+
48
+ /***/ }
49
+
50
+ }]);
@@ -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-alpha.1
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_exports_image_dist_browser_ExportImagePlugin_js"],{
19
+
20
+ /***/ "../../plugins/exports/image/dist/browser/ExportImageInstance.js"
21
+ /*!***********************************************************************!*\
22
+ !*** ../../plugins/exports/image/dist/browser/ExportImageInstance.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 */ ExportImageInstance: () => (/* binding */ ExportImageInstance)\n/* harmony export */ });\nclass ExportImageInstance {\n constructor(container) {\n this._exportImage = async data => {\n const element = this._container.canvas.element;\n if (!element) {\n return;\n }\n return new Promise(resolve => {\n element.toBlob(blob => {\n if (!blob) {\n resolve(undefined);\n return;\n }\n resolve(blob);\n }, data.type ?? \"image/png\", data.quality);\n });\n };\n this._container = container;\n }\n async export(type, data) {\n const res = {\n supported: false\n };\n switch (type) {\n case \"image\":\n res.supported = true;\n res.blob = await this._exportImage(data);\n break;\n }\n return res;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/image/dist/browser/ExportImageInstance.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/exports/image/dist/browser/ExportImagePlugin.js"
31
+ /*!*********************************************************************!*\
32
+ !*** ../../plugins/exports/image/dist/browser/ExportImagePlugin.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 */ ExportImagePlugin: () => (/* binding */ ExportImagePlugin)\n/* harmony export */ });\n/* harmony import */ var _ExportImageInstance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ExportImageInstance.js */ \"../../plugins/exports/image/dist/browser/ExportImageInstance.js\");\n\nclass ExportImagePlugin {\n constructor() {\n this.id = \"export-image\";\n }\n getPlugin(container) {\n return Promise.resolve(new _ExportImageInstance_js__WEBPACK_IMPORTED_MODULE_0__.ExportImageInstance(container));\n }\n loadOptions() {}\n needsPlugin() {\n return true;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/image/dist/browser/ExportImagePlugin.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-alpha.1
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_exports_image_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/exports/image/dist/browser/index.js"
21
+ /*!*********************************************************!*\
22
+ !*** ../../plugins/exports/image/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 */ loadExportImagePlugin: () => (/* binding */ loadExportImagePlugin)\n/* harmony export */ });\nfunction loadExportImagePlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n ExportImagePlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_exports_image_dist_browser_ExportImagePlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ExportImagePlugin.js */ \"../../plugins/exports/image/dist/browser/ExportImagePlugin.js\"));\n e.addPlugin(new ExportImagePlugin());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/image/dist/browser/index.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-alpha.1
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_exports_json_dist_browser_ExportJSONPlugin_js"],{
19
+
20
+ /***/ "../../plugins/exports/json/dist/browser/ExportJSONInstance.js"
21
+ /*!*********************************************************************!*\
22
+ !*** ../../plugins/exports/json/dist/browser/ExportJSONInstance.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 */ ExportJSONInstance: () => (/* binding */ ExportJSONInstance)\n/* harmony export */ });\nconst indent = 2;\nclass ExportJSONInstance {\n constructor(container) {\n this._exportJSON = async () => {\n const json = JSON.stringify(this._container.actualOptions, (key, value) => {\n if (key.startsWith(\"_\")) {\n return;\n }\n return value;\n }, indent);\n return Promise.resolve(new Blob([json], {\n type: \"application/json\"\n }));\n };\n this._container = container;\n }\n async export(type) {\n const res = {\n supported: false\n };\n switch (type) {\n case \"json\":\n res.supported = true;\n res.blob = await this._exportJSON();\n break;\n }\n return res;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/json/dist/browser/ExportJSONInstance.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/exports/json/dist/browser/ExportJSONPlugin.js"
31
+ /*!*******************************************************************!*\
32
+ !*** ../../plugins/exports/json/dist/browser/ExportJSONPlugin.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 */ ExportJSONPlugin: () => (/* binding */ ExportJSONPlugin)\n/* harmony export */ });\n/* harmony import */ var _ExportJSONInstance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ExportJSONInstance.js */ \"../../plugins/exports/json/dist/browser/ExportJSONInstance.js\");\n\nclass ExportJSONPlugin {\n constructor() {\n this.id = \"export-json\";\n }\n getPlugin(container) {\n return Promise.resolve(new _ExportJSONInstance_js__WEBPACK_IMPORTED_MODULE_0__.ExportJSONInstance(container));\n }\n loadOptions() {}\n needsPlugin() {\n return true;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/json/dist/browser/ExportJSONPlugin.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-alpha.1
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_exports_json_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/exports/json/dist/browser/index.js"
21
+ /*!********************************************************!*\
22
+ !*** ../../plugins/exports/json/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 */ loadExportJSONPlugin: () => (/* binding */ loadExportJSONPlugin)\n/* harmony export */ });\nfunction loadExportJSONPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n ExportJSONPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_exports_json_dist_browser_ExportJSONPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ExportJSONPlugin.js */ \"../../plugins/exports/json/dist/browser/ExportJSONPlugin.js\"));\n e.addPlugin(new ExportJSONPlugin());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/json/dist/browser/index.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-alpha.1
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_exports_video_dist_browser_ExportVideoPlugin_js"],{
19
+
20
+ /***/ "../../plugins/exports/video/dist/browser/ExportVideoInstance.js"
21
+ /*!***********************************************************************!*\
22
+ !*** ../../plugins/exports/video/dist/browser/ExportVideoInstance.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 */ ExportVideoInstance: () => (/* binding */ ExportVideoInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst videoTypes = [\"webm\", \"ogg\", \"mp4\", \"x-matroska\"],\n codecs = [\"vp9\", \"vp9.0\", \"vp8\", \"vp8.0\", \"avc1\", \"av1\", \"h265\", \"h.265\", \"h264\", \"h.264\", \"opus\", \"pcm\", \"aac\", \"mpeg\", \"mp4a\"];\nfunction getVideoSupportedMimeTypes() {\n const isSupported = type => MediaRecorder.isTypeSupported(type),\n supported = [];\n videoTypes.forEach(type => {\n const mimeType = `video/${type}`;\n codecs.forEach(codec => {\n [`${mimeType};codecs=${codec}`, `${mimeType};codecs=${codec.toUpperCase()}`].forEach(variation => {\n if (isSupported(variation)) {\n supported.push(variation);\n }\n });\n });\n if (isSupported(mimeType)) {\n supported.push(mimeType);\n }\n });\n return supported;\n}\nclass ExportVideoInstance {\n constructor(container) {\n this._supportedTypes = [];\n this._exportVideo = async data => {\n const element = this._container.canvas.element;\n if (!element) {\n return;\n }\n return new Promise(resolve => {\n const stream = element.captureStream(data.fps ?? this._container.actualOptions.fpsLimit),\n firstIndex = 0,\n mimeType = data.mimeType ?? this._supportedTypes[firstIndex],\n recorder = new MediaRecorder(stream, {\n mimeType\n }),\n chunks = [],\n defaultDuration = 5;\n recorder.addEventListener(\"dataavailable\", event => {\n chunks.push(event.data);\n });\n recorder.addEventListener(\"stop\", () => {\n resolve(new Blob(chunks, {\n type: mimeType\n }));\n });\n recorder.start();\n setTimeout(() => {\n recorder.stop();\n }, data.duration ?? defaultDuration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds);\n });\n };\n this._container = container;\n this._supportedTypes = getVideoSupportedMimeTypes();\n }\n async export(type, data) {\n const res = {\n supported: false\n };\n switch (type) {\n case \"video\":\n res.supported = true;\n res.blob = await this._exportVideo(data);\n break;\n }\n return res;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/video/dist/browser/ExportVideoInstance.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/exports/video/dist/browser/ExportVideoPlugin.js"
31
+ /*!*********************************************************************!*\
32
+ !*** ../../plugins/exports/video/dist/browser/ExportVideoPlugin.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 */ ExportVideoPlugin: () => (/* binding */ ExportVideoPlugin)\n/* harmony export */ });\n/* harmony import */ var _ExportVideoInstance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ExportVideoInstance.js */ \"../../plugins/exports/video/dist/browser/ExportVideoInstance.js\");\n\nclass ExportVideoPlugin {\n constructor() {\n this.id = \"export-video\";\n }\n getPlugin(container) {\n return Promise.resolve(new _ExportVideoInstance_js__WEBPACK_IMPORTED_MODULE_0__.ExportVideoInstance(container));\n }\n loadOptions() {}\n needsPlugin() {\n return true;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/exports/video/dist/browser/ExportVideoPlugin.js?\n}");
37
+
38
+ /***/ }
39
+
40
+ }]);