@tsparticles/all 3.9.1 → 4.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,140 @@
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.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["plugins_sounds_dist_browser_SoundsPlugin_js"],{
19
+
20
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/Sounds.js"
21
+ /*!*******************************************************************!*\
22
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/Sounds.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 */ Sounds: () => (/* binding */ Sounds)\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 _SoundsEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SoundsEvent.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsEvent.js\");\n/* harmony import */ var _SoundsIcons_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SoundsIcons.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsIcons.js\");\n/* harmony import */ var _SoundsVolume_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SoundsVolume.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsVolume.js\");\n\n\n\n\nclass Sounds {\n constructor() {\n this.autoPlay = true;\n this.enable = false;\n this.events = [];\n this.icons = new _SoundsIcons_js__WEBPACK_IMPORTED_MODULE_2__.SoundsIcons();\n this.volume = new _SoundsVolume_js__WEBPACK_IMPORTED_MODULE_3__.SoundsVolume();\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.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.events !== undefined) {\n this.events = data.events.map(t => {\n const event = new _SoundsEvent_js__WEBPACK_IMPORTED_MODULE_1__.SoundsEvent();\n event.load(t);\n return event;\n });\n }\n this.icons.load(data.icons);\n if (data.volume !== undefined) {\n this.volume.load(data.volume);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/Sounds.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/SoundsAudio.js"
31
+ /*!************************************************************************!*\
32
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/SoundsAudio.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 */ SoundsAudio: () => (/* binding */ SoundsAudio)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass SoundsAudio {\n constructor() {\n this.loop = false;\n this.source = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isObject)(data)) {\n if (data.loop !== undefined) {\n this.loop = data.loop;\n }\n if (data.source !== undefined) {\n this.source = data.source;\n }\n } else {\n this.source = data;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/SoundsAudio.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/SoundsEvent.js"
41
+ /*!************************************************************************!*\
42
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/SoundsEvent.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 */ SoundsEvent: () => (/* binding */ SoundsEvent)\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 _SoundsAudio_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SoundsAudio.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsAudio.js\");\n/* harmony import */ var _SoundsMelody_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SoundsMelody.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsMelody.js\");\n/* harmony import */ var _SoundsNote_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SoundsNote.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsNote.js\");\n\n\n\n\nclass SoundsEvent {\n constructor() {\n this.event = [];\n this.notes = [];\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.event !== undefined) {\n this.event = data.event;\n }\n if (data.audio !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(data.audio)) {\n this.audio = data.audio.map(s => {\n const tmp = new _SoundsAudio_js__WEBPACK_IMPORTED_MODULE_1__.SoundsAudio();\n tmp.load(s);\n return tmp;\n });\n } else {\n this.audio = new _SoundsAudio_js__WEBPACK_IMPORTED_MODULE_1__.SoundsAudio();\n this.audio.load(data.audio);\n }\n }\n if (data.notes !== undefined) {\n this.notes = data.notes.map(t => {\n const tmp = new _SoundsNote_js__WEBPACK_IMPORTED_MODULE_3__.SoundsNote();\n tmp.load(t);\n return tmp;\n });\n }\n if (data.melodies !== undefined) {\n this.melodies = data.melodies.map(t => {\n const tmp = new _SoundsMelody_js__WEBPACK_IMPORTED_MODULE_2__.SoundsMelody();\n tmp.load(t);\n return tmp;\n });\n }\n if (data.filter) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(data.filter)) {\n const filterFunc = globalThis[data.filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isFunction)(filterFunc)) {\n this.filter = filterFunc;\n }\n } else {\n this.filter = data.filter;\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/SoundsEvent.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/SoundsIcon.js"
51
+ /*!***********************************************************************!*\
52
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/SoundsIcon.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 */ SoundsIcon: () => (/* binding */ SoundsIcon)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass SoundsIcon {\n constructor() {\n this.width = 24;\n this.height = 24;\n this.style = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.path !== undefined) {\n this.path = data.path;\n }\n if (data.svg !== undefined) {\n this.svg = data.svg;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/SoundsIcon.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/SoundsIcons.js"
61
+ /*!************************************************************************!*\
62
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/SoundsIcons.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 */ SoundsIcons: () => (/* binding */ SoundsIcons)\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 _SoundsIcon_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SoundsIcon.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsIcon.js\");\n\n\nclass SoundsIcons {\n constructor() {\n this.mute = new _SoundsIcon_js__WEBPACK_IMPORTED_MODULE_1__.SoundsIcon();\n this.unmute = new _SoundsIcon_js__WEBPACK_IMPORTED_MODULE_1__.SoundsIcon();\n this.volumeDown = new _SoundsIcon_js__WEBPACK_IMPORTED_MODULE_1__.SoundsIcon();\n this.volumeUp = new _SoundsIcon_js__WEBPACK_IMPORTED_MODULE_1__.SoundsIcon();\n this.enable = false;\n this.mute.svg = `<?xml version=\"1.0\"?>\n<svg baseProfile=\"tiny\" height=\"24px\" version=\"1.2\" viewBox=\"0 0 24 24\" width=\"24px\"\n xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <g id=\"Layer_1\">\n <path fill=\"#fff\" d=\"M19.707,5.293c-0.391-0.391-1.023-0.391-1.414,0l-1.551,1.551c-0.345-0.688-0.987-1.02-1.604-1.02c-0.449,0-0.905,0.152-1.356,0.453l-2.672,1.781C10.357,8.561,8.904,9,8,9c-1.654,0-3,1.346-3,3v2c0,1.237,0.754,2.302,1.826,2.76l-1.533,1.533c-0.391,0.391-0.391,1.023,0,1.414C5.488,19.902,5.744,20,6,20s0.512-0.098,0.707-0.293l2.527-2.527c0.697,0.174,1.416,0.455,1.875,0.762l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C16.035,20.176,17,19.495,17,18V9.414l2.707-2.707C20.098,6.316,20.098,5.684,19.707,5.293z M14.891,7.941c0.038-0.025,0.073-0.046,0.104-0.062C14.998,7.914,15,7.954,15,8v1.293l-2,2V9.202L14.891,7.941z M7,12c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146v2.439l-2.83,2.83C8.757,15.046,8.356,15,8,15c-0.552,0-1-0.448-1-1V12z M10.301,15.406L12,13.707v2.439C11.519,15.859,10.925,15.604,10.301,15.406z M14.994,18.12c-0.03-0.016-0.065-0.036-0.104-0.062L13,16.798v-4.091l2-2V18C15,18.046,14.998,18.086,14.994,18.12z\"/>\n </g>\n</svg>`;\n this.unmute.svg = `<?xml version=\"1.0\"?>\n<svg baseProfile=\"tiny\" height=\"24px\" version=\"1.2\" viewBox=\"0 0 24 24\" width=\"24px\"\n xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <g id=\"Layer_1\">\n <path fill=\"#fff\" d=\"M17.138,5.824c-0.449,0-0.905,0.152-1.356,0.453l-2.672,1.781C12.357,8.561,10.904,9,10,9c-1.654,0-3,1.346-3,3v2c0,1.654,1.346,3,3,3c0.904,0,2.357,0.439,3.109,0.941l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C18.035,20.176,19,19.495,19,18V8C19,6.505,18.035,5.824,17.138,5.824z M14,16.146C12.907,15.495,11.211,15,10,15c-0.552,0-1-0.448-1-1v-2c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146V16.146z M17,18c0,0.046-0.002,0.086-0.006,0.12c-0.03-0.016-0.065-0.036-0.104-0.062L15,16.798V9.202l1.891-1.261c0.038-0.025,0.073-0.046,0.104-0.062C16.998,7.914,17,7.954,17,8V18z\"/>\n </g>\n</svg>`;\n this.volumeDown.svg = `<?xml version=\"1.0\"?>\n<svg baseProfile=\"tiny\" height=\"24px\" version=\"1.2\" viewBox=\"0 0 24 24\" width=\"24px\"\n xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <g id=\"Layer_1\">\n <path fill=\"#fff\" d=\"M15.138,5.824c-0.449,0-0.905,0.152-1.356,0.453l-2.672,1.781C10.357,8.561,8.904,9,8,9c-1.654,0-3,1.346-3,3v2c0,1.654,1.346,3,3,3c0.904,0,2.357,0.439,3.109,0.941l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C16.035,20.176,17,19.495,17,18V8C17,6.505,16.035,5.824,15.138,5.824z M8,15c-0.552,0-1-0.448-1-1v-2c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146v6.293C10.907,15.495,9.211,15,8,15z M15,18c0,0.046-0.002,0.086-0.006,0.12c-0.03-0.016-0.065-0.036-0.104-0.062L13,16.798V9.202l1.891-1.261c0.038-0.025,0.073-0.046,0.104-0.062C14.998,7.914,15,7.954,15,8V18z\"/>\n <path fill=\"#fff\" d=\"M18.292,10.294c-0.39,0.391-0.39,1.023,0.002,1.414c0.345,0.345,0.535,0.803,0.535,1.291c0,0.489-0.19,0.948-0.536,1.294c-0.391,0.39-0.391,1.023,0,1.414C18.488,15.902,18.744,16,19,16s0.512-0.098,0.707-0.293c0.724-0.723,1.122-1.685,1.122-2.708s-0.398-1.984-1.123-2.707C19.317,9.903,18.683,9.901,18.292,10.294z\"/>\n </g>\n</svg>`;\n this.volumeUp.svg = `<?xml version=\"1.0\"?>\n<svg baseProfile=\"tiny\" height=\"24px\" version=\"1.2\" viewBox=\"0 0 24 24\" width=\"24px\"\n xml:space=\"preserve\" xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <g id=\"Layer_1\">\n <path fill=\"#fff\" d=\"M16.706,10.292c-0.389-0.389-1.023-0.391-1.414,0.002c-0.39,0.391-0.39,1.023,0.002,1.414c0.345,0.345,0.535,0.803,0.535,1.291c0,0.489-0.19,0.948-0.536,1.294c-0.391,0.39-0.391,1.023,0,1.414C15.488,15.902,15.744,16,16,16s0.512-0.098,0.707-0.293c0.724-0.723,1.122-1.685,1.122-2.708S17.431,11.015,16.706,10.292z\"/>\n <path fill=\"#fff\" d=\"M18.706,8.292c-0.391-0.389-1.023-0.39-1.414,0.002c-0.39,0.391-0.39,1.024,0.002,1.414c0.879,0.877,1.363,2.044,1.364,3.287c0.001,1.246-0.484,2.417-1.365,3.298c-0.391,0.391-0.391,1.023,0,1.414C17.488,17.902,17.744,18,18,18s0.512-0.098,0.707-0.293c1.259-1.259,1.952-2.933,1.951-4.713C20.657,11.217,19.964,9.547,18.706,8.292z\"/>\n <path fill=\"#fff\" d=\"M20.706,6.292c-0.391-0.389-1.023-0.39-1.414,0.002c-0.39,0.391-0.39,1.024,0.002,1.414c1.412,1.409,2.191,3.285,2.192,5.284c0.002,2.002-0.777,3.885-2.193,5.301c-0.391,0.391-0.391,1.023,0,1.414C19.488,19.902,19.744,20,20,20s0.512-0.098,0.707-0.293c1.794-1.794,2.781-4.18,2.779-6.717C23.485,10.457,22.497,8.078,20.706,6.292z\"/>\n <path fill=\"#fff\" d=\"M12.138,5.824c-0.449,0-0.905,0.152-1.356,0.453L8.109,8.059C7.357,8.561,5.904,9,5,9c-1.654,0-3,1.346-3,3v2c0,1.654,1.346,3,3,3c0.904,0,2.357,0.439,3.109,0.941l2.672,1.781c0.451,0.301,0.907,0.453,1.356,0.453C13.035,20.176,14,19.495,14,18V8C14,6.505,13.035,5.824,12.138,5.824z M5,15c-0.552,0-1-0.448-1-1v-2c0-0.552,0.448-1,1-1c1.211,0,2.907-0.495,4-1.146v6.293C7.907,15.495,6.211,15,5,15z M12,18c0,0.046-0.002,0.086-0.006,0.12c-0.03-0.016-0.065-0.036-0.104-0.062L10,16.798V9.202l1.891-1.261c0.038-0.025,0.073-0.046,0.104-0.062C11.998,7.914,12,7.954,12,8V18z\"/>\n </g>\n</svg>`;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.mute.load(data.mute);\n this.unmute.load(data.unmute);\n this.volumeDown.load(data.volumeDown);\n this.volumeUp.load(data.volumeUp);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/SoundsIcons.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/SoundsMelody.js"
71
+ /*!*************************************************************************!*\
72
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/SoundsMelody.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 */ SoundsMelody: () => (/* binding */ SoundsMelody)\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 _SoundsNote_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SoundsNote.js */ \"../../plugins/sounds/dist/browser/Options/Classes/SoundsNote.js\");\n\n\nclass SoundsMelody {\n constructor() {\n this.loop = false;\n this.melodies = [];\n this.notes = [];\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.loop !== undefined) {\n this.loop = data.loop;\n }\n if (data.melodies !== undefined) {\n this.melodies = data.melodies.map(s => {\n const tmp = new SoundsMelody();\n tmp.load(s);\n return tmp;\n });\n }\n if (data.notes !== undefined) {\n this.notes = data.notes.map(s => {\n const tmp = new _SoundsNote_js__WEBPACK_IMPORTED_MODULE_1__.SoundsNote();\n tmp.load(s);\n return tmp;\n });\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/SoundsMelody.js?\n}");
77
+
78
+ /***/ },
79
+
80
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/SoundsNote.js"
81
+ /*!***********************************************************************!*\
82
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/SoundsNote.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 */ SoundsNote: () => (/* binding */ SoundsNote)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass SoundsNote {\n constructor() {\n this.duration = 500;\n this.value = [];\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.duration !== undefined) {\n this.duration = data.duration;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/SoundsNote.js?\n}");
87
+
88
+ /***/ },
89
+
90
+ /***/ "../../plugins/sounds/dist/browser/Options/Classes/SoundsVolume.js"
91
+ /*!*************************************************************************!*\
92
+ !*** ../../plugins/sounds/dist/browser/Options/Classes/SoundsVolume.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 */ SoundsVolume: () => (/* binding */ SoundsVolume)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass SoundsVolume {\n constructor() {\n this.value = 100;\n this.max = 100;\n this.min = 0;\n this.step = 10;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isObject)(data)) {\n if (data.max !== undefined) {\n this.max = data.max;\n }\n if (data.min !== undefined) {\n this.min = data.min;\n }\n if (data.step !== undefined) {\n this.step = data.step;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n } else {\n this.value = data;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/Options/Classes/SoundsVolume.js?\n}");
97
+
98
+ /***/ },
99
+
100
+ /***/ "../../plugins/sounds/dist/browser/SoundsInstance.js"
101
+ /*!***********************************************************!*\
102
+ !*** ../../plugins/sounds/dist/browser/SoundsInstance.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 */ SoundsInstance: () => (/* binding */ SoundsInstance)\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 _enums_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./enums.js */ \"../../plugins/sounds/dist/browser/enums.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/sounds/dist/browser/utils.js\");\n\n\n\nconst zIndexOffset = 1,\n rightOffset = 1,\n minVolume = 0;\nfunction initImage(data) {\n const img = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"img\"),\n {\n clickCb,\n container,\n display,\n iconOptions,\n margin,\n options,\n pos,\n rightOffsets\n } = data,\n {\n width,\n path,\n style,\n svg\n } = iconOptions,\n defaultAccumulator = 0;\n setIconStyle(img, pos.top + margin, pos.right - (margin * (rightOffsets.length + rightOffset) + width + rightOffsets.reduce((a, b) => a + b, defaultAccumulator)), display, options.fullScreen.zIndex + zIndexOffset, width, margin, style);\n img.src = path ?? (svg ? `data:image/svg+xml;base64,${btoa(svg)}` : \"\");\n const parent = container.canvas.element?.parentNode ?? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().body;\n parent.append(img);\n img.addEventListener(\"click\", () => {\n void clickCb();\n });\n return img;\n}\nfunction removeImage(image) {\n if (!image) {\n return;\n }\n image.remove();\n}\nfunction setIconStyle(icon, top, left, display, zIndex, width, margin, style) {\n icon.style.userSelect = \"none\";\n icon.style.position = \"absolute\";\n icon.style.top = `${(top + margin).toString()}px`;\n icon.style.left = `${(left - margin - width).toString()}px`;\n icon.style.display = display;\n icon.style.zIndex = (zIndex + zIndexOffset).toString();\n icon.style.cssText += style;\n}\nclass SoundsInstance {\n constructor(container, engine) {\n this._addBuffer = audioCtx => {\n const buffer = audioCtx.createBufferSource();\n this._audioSources.push(buffer);\n return buffer;\n };\n this._addOscillator = audioCtx => {\n const oscillator = audioCtx.createOscillator();\n this._audioSources.push(oscillator);\n return oscillator;\n };\n this._initEvents = () => {\n const container = this._container,\n soundsOptions = container.actualOptions.sounds;\n if (!soundsOptions?.enable || !container.canvas.element) {\n return;\n }\n for (const event of soundsOptions.events) {\n const cb = args => {\n void (async () => {\n const filterNotValid = event.filter && !event.filter(args);\n if (this._container !== args.container) {\n return;\n }\n if (!!this._container.muted || this._container.destroyed) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(event.event, item => {\n this._engine.removeEventListener(item, cb);\n });\n return;\n }\n if (filterNotValid) {\n return;\n }\n const defaultNoteIndex = 0;\n if (event.audio) {\n const audio = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(event.audio);\n if (!audio) {\n return;\n }\n this._playBuffer(audio);\n } else if (event.melodies) {\n const melody = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromArray)(event.melodies);\n if (!melody) {\n return;\n }\n if (melody.melodies.length) {\n await Promise.allSettled(melody.melodies.map(m => this._playNote(m.notes, defaultNoteIndex, melody.loop)));\n } else {\n await this._playNote(melody.notes, defaultNoteIndex, melody.loop);\n }\n } else if (event.notes) {\n const note = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromArray)(event.notes);\n if (!note) {\n return;\n }\n await this._playNote([note], defaultNoteIndex, false);\n }\n })();\n };\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(event.event, item => {\n this._engine.addEventListener(item, cb);\n });\n }\n };\n this._mute = async () => {\n const container = this._container,\n audioContext = this._getAudioContext();\n for (const source of this._audioSources) {\n this._removeAudioSource(source);\n }\n if (this._gain) {\n this._gain.disconnect();\n }\n await audioContext.close();\n container.audioContext = undefined;\n this._engine.dispatchEvent(_enums_js__WEBPACK_IMPORTED_MODULE_1__.SoundsEventType.mute, {\n container: this._container\n });\n };\n this._playBuffer = audio => {\n const audioBuffer = this._audioMap.get(audio.source);\n if (!audioBuffer) {\n return;\n }\n const audioCtx = this._container.audioContext;\n if (!audioCtx) {\n return;\n }\n const source = this._addBuffer(audioCtx);\n source.loop = audio.loop;\n source.buffer = audioBuffer;\n source.connect(this._gain ?? audioCtx.destination);\n source.start();\n };\n this._playFrequency = async (frequency, duration) => {\n if (!this._gain || this._container.muted) {\n return;\n }\n const audioContext = this._getAudioContext(),\n oscillator = this._addOscillator(audioContext);\n oscillator.connect(this._gain);\n oscillator.type = \"sine\";\n oscillator.frequency.value = frequency;\n oscillator.start();\n return new Promise(resolve => {\n setTimeout(() => {\n this._removeAudioSource(oscillator);\n resolve();\n }, duration);\n });\n };\n this._playMuteSound = () => {\n if (this._container.muted) {\n return;\n }\n const audioContext = this._getAudioContext(),\n gain = audioContext.createGain();\n gain.connect(audioContext.destination);\n gain.gain.value = 0;\n const oscillator = audioContext.createOscillator();\n oscillator.connect(gain);\n oscillator.type = \"sine\";\n oscillator.frequency.value = 1;\n oscillator.start();\n setTimeout(() => {\n oscillator.stop();\n oscillator.disconnect();\n gain.disconnect();\n });\n };\n this._playNote = async (notes, noteIdx, loop) => {\n if (this._container.muted) {\n return;\n }\n const note = notes[noteIdx];\n if (!note) {\n return;\n }\n const value = note.value,\n promises = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(value, async (_, idx) => {\n return this._playNoteValue(notes, noteIdx, idx);\n });\n await ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(promises) ? Promise.allSettled(promises) : promises);\n const indexOffset = 1;\n let nextNoteIdx = noteIdx + indexOffset;\n if (loop && nextNoteIdx >= notes.length) {\n nextNoteIdx = nextNoteIdx % notes.length;\n }\n await this._playNote(notes, nextNoteIdx, loop);\n };\n this._playNoteValue = async (notes, noteIdx, valueIdx) => {\n const note = notes[noteIdx];\n if (!note) {\n return;\n }\n const value = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(note.value, valueIdx, true);\n if (!value) {\n return;\n }\n try {\n const freq = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getNoteFrequency)(value);\n if (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(freq)) {\n return;\n }\n await this._playFrequency(freq, note.duration);\n } catch (e) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(e);\n }\n };\n this._removeAudioSource = source => {\n source.stop();\n source.disconnect();\n const deleteCount = 1;\n this._audioSources.splice(this._audioSources.indexOf(source), deleteCount);\n };\n this._unmute = () => {\n const container = this._container,\n options = container.actualOptions,\n soundsOptions = options.sounds;\n if (!soundsOptions) {\n return;\n }\n const audioContext = this._getAudioContext(),\n gain = audioContext.createGain();\n gain.connect(audioContext.destination);\n gain.gain.value = soundsOptions.volume.value / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator;\n this._gain = gain;\n this._initEvents();\n this._engine.dispatchEvent(_enums_js__WEBPACK_IMPORTED_MODULE_1__.SoundsEventType.unmute, {\n container: this._container\n });\n };\n this._updateMuteIcons = () => {\n const container = this._container,\n soundsOptions = container.actualOptions.sounds;\n if (!soundsOptions?.enable || !soundsOptions.icons.enable) {\n return;\n }\n const muteImg = this._muteImg,\n unmuteImg = this._unmuteImg;\n if (muteImg) {\n muteImg.style.display = container.muted ? \"block\" : \"none\";\n }\n if (unmuteImg) {\n unmuteImg.style.display = container.muted ? \"none\" : \"block\";\n }\n };\n this._updateMuteStatus = async () => {\n const container = this._container,\n audioContext = this._getAudioContext();\n if (container.muted) {\n await audioContext.suspend();\n await this._mute();\n } else {\n await audioContext.resume();\n this._unmute();\n this._playMuteSound();\n }\n };\n this._updateVolume = async () => {\n const container = this._container,\n soundsOptions = container.actualOptions.sounds;\n if (!soundsOptions?.enable) {\n return;\n }\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.clamp)(this._volume, soundsOptions.volume.min, soundsOptions.volume.max);\n let stateChanged = false;\n if (this._volume <= minVolume && !container.muted) {\n this._volume = 0;\n container.muted = true;\n stateChanged = true;\n } else if (this._volume > minVolume && container.muted) {\n container.muted = false;\n stateChanged = true;\n }\n if (stateChanged) {\n this._updateMuteIcons();\n await this._updateMuteStatus();\n }\n if (this._gain?.gain) {\n this._gain.gain.value = this._volume / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator;\n }\n };\n this._container = container;\n this._engine = engine;\n this._volume = 0;\n this._audioSources = [];\n this._audioMap = new Map();\n }\n async init() {\n const container = this._container,\n options = container.actualOptions,\n soundsOptions = options.sounds;\n if (!soundsOptions?.enable) {\n return;\n }\n if (soundsOptions.autoPlay && (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.isWindowMuted)()) {\n const firstClickHandler = () => {\n removeEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.mouseDownEvent, firstClickHandler);\n removeEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.touchStartEvent, firstClickHandler);\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.unmuteWindow)();\n void this.unmute();\n };\n const listenerOptions = {\n capture: true,\n once: true\n };\n addEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.mouseDownEvent, firstClickHandler, listenerOptions);\n addEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.touchStartEvent, firstClickHandler, listenerOptions);\n }\n this._volume = soundsOptions.volume.value;\n const events = soundsOptions.events;\n this._audioMap = new Map();\n for (const event of events) {\n if (!event.audio) {\n continue;\n }\n const promises = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(event.audio, async audio => {\n const response = await fetch(audio.source);\n if (!response.ok) {\n return;\n }\n const arrayBuffer = await response.arrayBuffer(),\n audioContext = this._getAudioContext(),\n audioBuffer = await audioContext.decodeAudioData(arrayBuffer);\n this._audioMap.set(audio.source, audioBuffer);\n });\n if (promises instanceof Promise) {\n await promises;\n } else {\n await Promise.allSettled(promises);\n }\n }\n }\n async mute() {\n if (!this._container.muted) {\n await this.toggleMute();\n }\n }\n async start() {\n const container = this._container,\n options = container.actualOptions,\n soundsOptions = options.sounds;\n if (!soundsOptions?.enable || !container.canvas.element) {\n return;\n }\n container.muted = true;\n const canvas = container.canvas.element,\n pos = {\n top: canvas.offsetTop,\n right: canvas.offsetLeft + canvas.offsetWidth\n },\n {\n mute,\n unmute,\n volumeDown,\n volumeUp\n } = soundsOptions.icons,\n margin = 10,\n toggleMute = async () => {\n await this.toggleMute();\n },\n enableIcons = soundsOptions.icons.enable,\n display = enableIcons ? _enums_js__WEBPACK_IMPORTED_MODULE_1__.ImageDisplay.Block : _enums_js__WEBPACK_IMPORTED_MODULE_1__.ImageDisplay.None;\n this._muteImg = initImage({\n container,\n options,\n pos,\n display,\n iconOptions: mute,\n margin,\n rightOffsets: [volumeDown.width, volumeUp.width],\n clickCb: toggleMute\n });\n this._unmuteImg = initImage({\n container,\n options,\n pos,\n display: _enums_js__WEBPACK_IMPORTED_MODULE_1__.ImageDisplay.None,\n iconOptions: unmute,\n margin,\n rightOffsets: [volumeDown.width, volumeUp.width],\n clickCb: toggleMute\n });\n this._volumeDownImg = initImage({\n container,\n options,\n pos,\n display,\n iconOptions: volumeDown,\n margin,\n rightOffsets: [volumeUp.width],\n clickCb: async () => {\n await this.volumeDown();\n }\n });\n this._volumeUpImg = initImage({\n container,\n options,\n pos,\n display,\n iconOptions: volumeUp,\n margin,\n rightOffsets: [],\n clickCb: async () => {\n await this.volumeUp();\n }\n });\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.isWindowMuted)() && soundsOptions.autoPlay) {\n await this.unmute();\n }\n }\n stop() {\n this._container.muted = true;\n void (async () => {\n await this._mute();\n removeImage(this._muteImg);\n removeImage(this._unmuteImg);\n removeImage(this._volumeDownImg);\n removeImage(this._volumeUpImg);\n })();\n }\n async toggleMute() {\n const container = this._container;\n container.muted = !container.muted;\n this._updateMuteIcons();\n await this._updateMuteStatus();\n }\n async unmute() {\n if (this._container.muted) {\n await this.toggleMute();\n }\n }\n async volumeDown() {\n const container = this._container,\n soundsOptions = container.actualOptions.sounds;\n if (!soundsOptions?.enable) {\n return;\n }\n if (container.muted) {\n this._volume = 0;\n }\n this._volume -= soundsOptions.volume.step;\n await this._updateVolume();\n }\n async volumeUp() {\n const container = this._container,\n soundsOptions = container.actualOptions.sounds;\n if (!soundsOptions?.enable) {\n return;\n }\n this._volume += soundsOptions.volume.step;\n await this._updateVolume();\n }\n _getAudioContext() {\n const container = this._container;\n container.audioContext ??= new AudioContext();\n return container.audioContext;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/SoundsInstance.js?\n}");
107
+
108
+ /***/ },
109
+
110
+ /***/ "../../plugins/sounds/dist/browser/SoundsPlugin.js"
111
+ /*!*********************************************************!*\
112
+ !*** ../../plugins/sounds/dist/browser/SoundsPlugin.js ***!
113
+ \*********************************************************/
114
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
115
+
116
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SoundsPlugin: () => (/* binding */ SoundsPlugin)\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_Sounds_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Sounds.js */ \"../../plugins/sounds/dist/browser/Options/Classes/Sounds.js\");\n/* harmony import */ var _SoundsInstance_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SoundsInstance.js */ \"../../plugins/sounds/dist/browser/SoundsInstance.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/sounds/dist/browser/utils.js\");\n\n\n\n\nconst generalFirstClickHandler = () => {\n removeEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.mouseDownEvent, generalFirstClickHandler);\n removeEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.touchStartEvent, generalFirstClickHandler);\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_3__.unmuteWindow)();\n};\nclass SoundsPlugin {\n constructor(engine) {\n this.id = \"sounds\";\n this._engine = engine;\n const listenerOptions = {\n capture: true,\n once: true\n };\n addEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.mouseDownEvent, generalFirstClickHandler, listenerOptions);\n addEventListener(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.touchStartEvent, generalFirstClickHandler, listenerOptions);\n }\n getPlugin(container) {\n return Promise.resolve(new _SoundsInstance_js__WEBPACK_IMPORTED_MODULE_2__.SoundsInstance(container, this._engine));\n }\n loadOptions(options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n let soundsOptions = options.sounds;\n if (soundsOptions?.load === undefined) {\n options.sounds = soundsOptions = new _Options_Classes_Sounds_js__WEBPACK_IMPORTED_MODULE_1__.Sounds();\n }\n soundsOptions.load(source?.sounds);\n }\n needsPlugin(options) {\n return options?.sounds?.enable ?? false;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/SoundsPlugin.js?\n}");
117
+
118
+ /***/ },
119
+
120
+ /***/ "../../plugins/sounds/dist/browser/enums.js"
121
+ /*!**************************************************!*\
122
+ !*** ../../plugins/sounds/dist/browser/enums.js ***!
123
+ \**************************************************/
124
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
125
+
126
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageDisplay: () => (/* binding */ ImageDisplay),\n/* harmony export */ SoundsEventType: () => (/* binding */ SoundsEventType)\n/* harmony export */ });\nvar SoundsEventType;\n(function (SoundsEventType) {\n SoundsEventType[\"mute\"] = \"soundsMuted\";\n SoundsEventType[\"unmute\"] = \"soundsUnmuted\";\n})(SoundsEventType || (SoundsEventType = {}));\nvar ImageDisplay;\n(function (ImageDisplay) {\n ImageDisplay[\"Block\"] = \"block\";\n ImageDisplay[\"None\"] = \"none\";\n})(ImageDisplay || (ImageDisplay = {}));\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/enums.js?\n}");
127
+
128
+ /***/ },
129
+
130
+ /***/ "../../plugins/sounds/dist/browser/utils.js"
131
+ /*!**************************************************!*\
132
+ !*** ../../plugins/sounds/dist/browser/utils.js ***!
133
+ \**************************************************/
134
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
135
+
136
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getNoteFrequency: () => (/* binding */ getNoteFrequency),\n/* harmony export */ isWindowMuted: () => (/* binding */ isWindowMuted),\n/* harmony export */ unmuteWindow: () => (/* binding */ unmuteWindow)\n/* harmony export */ });\nconst notes = new Map();\nnotes.set(\"C\", [16.35, 32.7, 65.41, 130.81, 261.63, 523.25, 1046.5, 2093.0, 4186.01]);\nnotes.set(\"Db\", [17.32, 34.65, 69.3, 138.59, 277.18, 554.37, 1108.73, 2217.46, 4434.92]);\nnotes.set(\"D\", [18.35, 36.71, 73.42, 146.83, 293.66, 587.33, 1174.66, 2349.32, 4698.63]);\nnotes.set(\"Eb\", [19.45, 38.89, 77.78, 155.56, 311.13, 622.25, 1244.51, 2489.02, 4978.03]);\nnotes.set(\"E\", [20.6, 41.2, 82.41, 164.81, 329.63, 659.25, 1318.51, 2637.02, 5274.04]);\nnotes.set(\"F\", [21.83, 43.65, 87.31, 174.61, 349.23, 698.46, 1396.91, 2793.83, 5587.65]);\nnotes.set(\"Gb\", [23.12, 46.25, 92.5, 185.0, 369.99, 739.99, 1479.98, 2959.96, 5919.91]);\nnotes.set(\"G\", [24.5, 49.0, 98.0, 196.0, 392.0, 783.99, 1567.98, 3135.96, 6271.93]);\nnotes.set(\"Ab\", [25.96, 51.91, 103.83, 207.65, 415.3, 830.61, 1661.22, 3322.44, 6644.88]);\nnotes.set(\"A\", [27.5, 55.0, 110.0, 220.0, 440.0, 880.0, 1760.0, 3520.0, 7040.0]);\nnotes.set(\"Bb\", [29.14, 58.27, 116.54, 233.08, 466.16, 932.33, 1864.66, 3729.31, 7458.62]);\nnotes.set(\"B\", [30.87, 61.74, 123.47, 246.94, 493.88, 987.77, 1975.53, 3951.07, 7902.13]);\nnotes.set(\"pause\", [0]);\nfunction getNoteFrequency(note) {\n const regex = /(([A-G]b?)(\\d))|pause/i,\n result = regex.exec(note),\n groupKey = 2,\n defaultMatchKey = 0,\n innerGroupKey = 3;\n if (!result?.length) {\n return;\n }\n const noteKey = result[groupKey] ?? result[defaultMatchKey],\n noteItem = notes.get(noteKey);\n if (!noteItem) {\n return;\n }\n return noteItem[parseInt(result[innerGroupKey] ?? \"0\")];\n}\nlet muted = true;\nconst isWindowMuted = () => {\n return muted;\n};\nconst unmuteWindow = () => {\n muted = false;\n};\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/utils.js?\n}");
137
+
138
+ /***/ }
139
+
140
+ }]);
@@ -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.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["plugins_sounds_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/sounds/dist/browser/index.js"
21
+ /*!**************************************************!*\
22
+ !*** ../../plugins/sounds/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 */ loadSoundsPlugin: () => (/* binding */ loadSoundsPlugin)\n/* harmony export */ });\nfunction loadSoundsPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n SoundsPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_sounds_dist_browser_SoundsPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SoundsPlugin.js */ \"../../plugins/sounds/dist/browser/SoundsPlugin.js\"));\n e.addPlugin(new SoundsPlugin(engine));\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/sounds/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);
@@ -0,0 +1,60 @@
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.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["plugins_trail_dist_browser_TrailPlugin_js"],{
19
+
20
+ /***/ "../../plugins/trail/dist/browser/Options/Classes/Trail.js"
21
+ /*!*****************************************************************!*\
22
+ !*** ../../plugins/trail/dist/browser/Options/Classes/Trail.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 */ Trail: () => (/* binding */ Trail)\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 _TrailFill_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TrailFill.js */ \"../../plugins/trail/dist/browser/Options/Classes/TrailFill.js\");\n\n\nclass Trail {\n constructor() {\n this.enable = false;\n this.length = 10;\n this.fill = new _TrailFill_js__WEBPACK_IMPORTED_MODULE_1__.TrailFill();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.fill !== undefined) {\n this.fill.load(data.fill);\n }\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/trail/dist/browser/Options/Classes/Trail.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/trail/dist/browser/Options/Classes/TrailFill.js"
31
+ /*!*********************************************************************!*\
32
+ !*** ../../plugins/trail/dist/browser/Options/Classes/TrailFill.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 */ TrailFill: () => (/* binding */ TrailFill)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TrailFill {\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/trail/dist/browser/Options/Classes/TrailFill.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../plugins/trail/dist/browser/TrailInstance.js"
41
+ /*!*********************************************************!*\
42
+ !*** ../../plugins/trail/dist/browser/TrailInstance.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 */ TrailInstance: () => (/* binding */ TrailInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minimumLength = 0;\nclass TrailInstance {\n constructor(container, engine) {\n this._initTrail = async () => {\n const options = this._container.actualOptions,\n trail = options.trail;\n if (!trail?.enable) {\n return;\n }\n const trailFill = trail.fill,\n opacity = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.inverseFactorNumerator / trail.length;\n if (trailFill.color) {\n const fillColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, trailFill.color);\n if (!fillColor) {\n return;\n }\n this._trailFill = {\n color: {\n ...fillColor\n },\n opacity\n };\n } else {\n await new Promise((resolve, reject) => {\n if (!trailFill.image) {\n return;\n }\n const img = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._trailFill = {\n image: img,\n opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(evt);\n reject(new Error(\"Error loading image\"));\n });\n img.src = trailFill.image;\n });\n }\n };\n this._container = container;\n this._engine = engine;\n }\n canvasClear() {\n const container = this._container,\n trail = container.actualOptions.trail,\n trailFill = this._trailFill;\n if (!trail?.enable || !trailFill || trail.length <= minimumLength) {\n return false;\n }\n let handled = false;\n const canvas = container.canvas;\n if (trailFill.color) {\n canvas.paintBase((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(trailFill.color, container.hdr, trailFill.opacity));\n handled = true;\n } else if (trailFill.image) {\n canvas.paintImage(trailFill.image, trailFill.opacity);\n handled = true;\n }\n return handled;\n }\n async init() {\n try {\n await this._initTrail();\n } catch (e) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(e);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/trail/dist/browser/TrailInstance.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "../../plugins/trail/dist/browser/TrailPlugin.js"
51
+ /*!*******************************************************!*\
52
+ !*** ../../plugins/trail/dist/browser/TrailPlugin.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 */ TrailPlugin: () => (/* binding */ TrailPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Trail_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Trail.js */ \"../../plugins/trail/dist/browser/Options/Classes/Trail.js\");\n/* harmony import */ var _TrailInstance_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TrailInstance.js */ \"../../plugins/trail/dist/browser/TrailInstance.js\");\n\n\nclass TrailPlugin {\n constructor(engine) {\n this.id = \"trail\";\n this._engine = engine;\n }\n getPlugin(container) {\n return Promise.resolve(new _TrailInstance_js__WEBPACK_IMPORTED_MODULE_1__.TrailInstance(container, this._engine));\n }\n loadOptions(options, source) {\n if (!this.needsPlugin()) {\n return;\n }\n let trailOptions = options.trail;\n if (!trailOptions?.load) {\n options.trail = trailOptions = new _Options_Classes_Trail_js__WEBPACK_IMPORTED_MODULE_0__.Trail();\n }\n trailOptions.load(source?.trail);\n }\n needsPlugin() {\n return true;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/trail/dist/browser/TrailPlugin.js?\n}");
57
+
58
+ /***/ }
59
+
60
+ }]);
@@ -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.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["plugins_trail_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/trail/dist/browser/index.js"
21
+ /*!*************************************************!*\
22
+ !*** ../../plugins/trail/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 */ loadTrailPlugin: () => (/* binding */ loadTrailPlugin)\n/* harmony export */ });\nfunction loadTrailPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n TrailPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_trail_dist_browser_TrailPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TrailPlugin.js */ \"../../plugins/trail/dist/browser/TrailPlugin.js\"));\n e.addPlugin(new TrailPlugin(engine));\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/trail/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);