@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,130 @@
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_canvas_dist_browser_EmittersCanvasShapeGenerator_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/canvas/dist/browser/EmittersCanvasShape.js"
51
+ /*!*******************************************************************************!*\
52
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShape.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 */ EmittersCanvasShape: () => (/* binding */ EmittersCanvasShape)\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/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/emittersShapes/canvas/dist/browser/utils.js\");\n\n\n\nconst maxRetries = 100,\n half = 0.5;\nclass EmittersCanvasShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n const filter = options.filter,\n minAlpha = 0;\n let filterFunc = pixel => pixel.a > minAlpha;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isString)(filter)) {\n if (Object.hasOwn(globalThis, filter)) {\n const wndFilter = globalThis[filter];\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isFunction)(wndFilter)) {\n filterFunc = wndFilter;\n }\n }\n } else {\n filterFunc = filter;\n }\n this.filter = filterFunc;\n this.scale = options.scale;\n this.pixelData = {\n pixels: [],\n height: 0,\n width: 0\n };\n }\n async init() {\n let pixelData;\n const options = this.options,\n selector = options.selector,\n pixels = options.pixels,\n image = options.image,\n element = options.element,\n text = options.text,\n offset = pixels.offset;\n if (image) {\n const url = image.src;\n if (!url) {\n return;\n }\n pixelData = await (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getImageData)(url, offset);\n } else if (element ?? selector) {\n const canvas = element ?? (selector && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().querySelector(selector));\n if (!canvas) {\n return;\n }\n const context = canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n pixelData = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getCanvasImageData)(context, canvas, offset);\n } else {\n const data = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTextData)(text, offset, this.fill);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n pixelData = data;\n }\n this.pixelData = pixelData;\n }\n randomPosition() {\n const {\n height,\n width\n } = this.pixelData,\n data = this.pixelData,\n position = this.position,\n scale = this.scale,\n positionOffset = {\n x: position.x - width * scale * half,\n y: position.y - height * scale * half\n };\n for (let i = 0; i < maxRetries; i++) {\n const nextIndex = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() * width * height),\n pixelPos = {\n x: nextIndex % width,\n y: Math.floor(nextIndex / width)\n },\n row = data.pixels[pixelPos.y];\n if (!row) {\n continue;\n }\n const pixel = row[pixelPos.x];\n if (!pixel) {\n continue;\n }\n const shouldCreateParticle = this.filter(pixel);\n if (!shouldCreateParticle) {\n continue;\n }\n return {\n position: {\n x: pixelPos.x * scale + positionOffset.x,\n y: pixelPos.y * scale + positionOffset.y\n },\n color: {\n ...pixel\n },\n opacity: pixel.a\n };\n }\n return null;\n }\n resize(position, size) {\n super.resize(position, size);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShape.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShapeGenerator.js"
61
+ /*!****************************************************************************************!*\
62
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShapeGenerator.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 */ EmittersCanvasShapeGenerator: () => (/* binding */ EmittersCanvasShapeGenerator)\n/* harmony export */ });\n/* harmony import */ var _EmittersCanvasShape_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmittersCanvasShape.js */ \"../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShape.js\");\n/* harmony import */ var _Options_Classes_EmittersCanvasShapeOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/EmittersCanvasShapeOptions.js */ \"../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/EmittersCanvasShapeOptions.js\");\n\n\nclass EmittersCanvasShapeGenerator {\n generate(position, size, fill, options) {\n const shapeOptions = new _Options_Classes_EmittersCanvasShapeOptions_js__WEBPACK_IMPORTED_MODULE_1__.EmittersCanvasShapeOptions();\n shapeOptions.load(options);\n return new _EmittersCanvasShape_js__WEBPACK_IMPORTED_MODULE_0__.EmittersCanvasShape(position, size, fill, shapeOptions);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShapeGenerator.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/EmittersCanvasShapeOptions.js"
71
+ /*!******************************************************************************************************!*\
72
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/EmittersCanvasShapeOptions.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 */ EmittersCanvasShapeOptions: () => (/* binding */ EmittersCanvasShapeOptions)\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 _PixelsOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PixelsOptions.js */ \"../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/PixelsOptions.js\");\n/* harmony import */ var _TextOptions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TextOptions.js */ \"../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextOptions.js\");\n\n\n\nconst minAlpha = 0;\nclass EmittersCanvasShapeOptions {\n constructor() {\n this.filter = pixel => pixel.a > minAlpha;\n this.pixels = new _PixelsOptions_js__WEBPACK_IMPORTED_MODULE_1__.PixelsOptions();\n this.scale = 1;\n this.selector = \"\";\n this.text = new _TextOptions_js__WEBPACK_IMPORTED_MODULE_2__.TextOptions();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.element !== undefined) {\n this.element = data.element;\n }\n if (data.filter !== undefined) {\n this.filter = data.filter;\n }\n this.pixels.load(data.pixels);\n if (data.scale !== undefined) {\n this.scale = data.scale;\n }\n if (data.selector !== undefined) {\n this.selector = data.selector;\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n this.text.load(data.text);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/EmittersCanvasShapeOptions.js?\n}");
77
+
78
+ /***/ },
79
+
80
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/PixelsOptions.js"
81
+ /*!*****************************************************************************************!*\
82
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/PixelsOptions.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 */ PixelsOptions: () => (/* binding */ PixelsOptions)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass PixelsOptions {\n constructor() {\n this.offset = 4;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = data.offset;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/PixelsOptions.js?\n}");
87
+
88
+ /***/ },
89
+
90
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextFontOptions.js"
91
+ /*!*******************************************************************************************!*\
92
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextFontOptions.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 */ TextFontOptions: () => (/* binding */ TextFontOptions)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TextFontOptions {\n constructor() {\n this.family = \"Verdana\";\n this.size = 32;\n this.style = \"\";\n this.variant = \"\";\n this.weight = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.family !== undefined) {\n this.family = data.family;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.style !== undefined) {\n this.style = data.style;\n }\n if (data.variant !== undefined) {\n this.variant = data.variant;\n }\n if (data.weight !== undefined) {\n this.weight = data.weight;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextFontOptions.js?\n}");
97
+
98
+ /***/ },
99
+
100
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextLinesOptions.js"
101
+ /*!********************************************************************************************!*\
102
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextLinesOptions.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 */ TextLinesOptions: () => (/* binding */ TextLinesOptions)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TextLinesOptions {\n constructor() {\n this.separator = \"\\n\";\n this.spacing = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.separator !== undefined) {\n this.separator = data.separator;\n }\n if (data.spacing !== undefined) {\n this.spacing = data.spacing;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextLinesOptions.js?\n}");
107
+
108
+ /***/ },
109
+
110
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextOptions.js"
111
+ /*!***************************************************************************************!*\
112
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextOptions.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 */ TextOptions: () => (/* binding */ TextOptions)\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 _TextFontOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TextFontOptions.js */ \"../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextFontOptions.js\");\n/* harmony import */ var _TextLinesOptions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TextLinesOptions.js */ \"../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextLinesOptions.js\");\n\n\n\nclass TextOptions {\n constructor() {\n this.color = \"#000000\";\n this.font = new _TextFontOptions_js__WEBPACK_IMPORTED_MODULE_1__.TextFontOptions();\n this.lines = new _TextLinesOptions_js__WEBPACK_IMPORTED_MODULE_2__.TextLinesOptions();\n this.text = \"\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n this.font.load(data.font);\n this.lines.load(data.lines);\n if (data.text !== undefined) {\n this.text = data.text;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/Options/Classes/TextOptions.js?\n}");
117
+
118
+ /***/ },
119
+
120
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/utils.js"
121
+ /*!*****************************************************************!*\
122
+ !*** ../../plugins/emittersShapes/canvas/dist/browser/utils.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 */ getCanvasImageData: () => (/* binding */ getCanvasImageData),\n/* harmony export */ getImageData: () => (/* binding */ getImageData),\n/* harmony export */ getTextData: () => (/* binding */ getTextData)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst origin = {\n x: 0,\n y: 0\n },\n minWidth = 0,\n defaultRgbValue = 0,\n defaultAlphaValue = 1;\nfunction getCanvasImageData(ctx, size, offset, clear = true) {\n const imageData = ctx.getImageData(origin.x, origin.y, size.width, size.height).data;\n if (clear) {\n ctx.clearRect(origin.x, origin.y, size.width, size.height);\n }\n const pixels = [];\n for (let i = 0; i < imageData.length; i += offset) {\n const idx = i / offset,\n pos = {\n x: idx % size.width,\n y: Math.floor(idx / size.width)\n };\n pixels[pos.y] ??= [];\n const indexesOffset = {\n r: 0,\n g: 1,\n b: 2,\n a: 3\n },\n alphaFactor = 255,\n row = pixels[pos.y];\n if (!row) {\n continue;\n }\n row[pos.x] = {\n r: imageData[i + indexesOffset.r] ?? defaultRgbValue,\n g: imageData[i + indexesOffset.g] ?? defaultRgbValue,\n b: imageData[i + indexesOffset.b] ?? defaultRgbValue,\n a: (imageData[i + indexesOffset.a] ?? defaultAlphaValue) / alphaFactor\n };\n }\n return {\n pixels,\n width: Math.min(...pixels.map(row => row.length)),\n height: pixels.length\n };\n}\nfunction getImageData(src, offset) {\n const image = new Image();\n image.crossOrigin = \"Anonymous\";\n const p = new Promise((resolve, reject) => {\n image.onerror = reject;\n image.onload = () => {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n const context = canvas.getContext(\"2d\");\n if (!context) {\n reject(new Error(\"Could not get canvas context\"));\n return;\n }\n context.drawImage(image, origin.x, origin.y, image.width, image.height, origin.x, origin.y, canvas.width, canvas.height);\n resolve(getCanvasImageData(context, canvas, offset));\n };\n });\n image.src = src;\n return p;\n}\nfunction getTextData(textOptions, offset, fill) {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\"),\n context = canvas.getContext(\"2d\"),\n {\n font,\n text,\n lines: linesOptions,\n color\n } = textOptions;\n if (!text || !context) {\n return;\n }\n const lines = text.split(linesOptions.separator),\n fontSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(font.size) ? `${font.size.toString()}px` : font.size,\n linesData = [];\n let maxWidth = 0,\n totalHeight = 0;\n for (const line of lines) {\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n const measure = context.measureText(line),\n lineData = {\n measure,\n text: line,\n height: measure.actualBoundingBoxAscent + measure.actualBoundingBoxDescent,\n width: measure.width\n };\n maxWidth = Math.max(maxWidth || minWidth, lineData.width);\n totalHeight += lineData.height + linesOptions.spacing;\n linesData.push(lineData);\n }\n canvas.width = maxWidth;\n canvas.height = totalHeight;\n let currentHeight = 0;\n for (const line of linesData) {\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n if (fill) {\n context.fillStyle = color;\n context.fillText(line.text, origin.x, currentHeight + line.measure.actualBoundingBoxAscent);\n } else {\n context.strokeStyle = color;\n context.strokeText(line.text, origin.x, currentHeight + line.measure.actualBoundingBoxAscent);\n }\n currentHeight += line.height + linesOptions.spacing;\n }\n return getCanvasImageData(context, canvas, offset);\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/utils.js?\n}");
127
+
128
+ /***/ }
129
+
130
+ }]);
@@ -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_canvas_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/emittersShapes/canvas/dist/browser/index.js"
21
+ /*!*****************************************************************!*\
22
+ !*** ../../plugins/emittersShapes/canvas/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 */ loadEmittersShapeCanvas: () => (/* binding */ loadEmittersShapeCanvas)\n/* harmony export */ });\nfunction loadEmittersShapeCanvas(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async emittersEngine => {\n const {\n EmittersCanvasShapeGenerator\n } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCanvasShapeGenerator.js */ \"../../plugins/emittersShapes/canvas/dist/browser/EmittersCanvasShapeGenerator.js\"));\n emittersEngine.addEmitterShapeGenerator?.(\"canvas\", new EmittersCanvasShapeGenerator());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/canvas/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);
@@ -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_circle_dist_browser_EmittersCircleShapeGenerator_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/circle/dist/browser/EmittersCircleShape.js"
51
+ /*!*******************************************************************************!*\
52
+ !*** ../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShape.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 */ EmittersCircleShape: () => (/* binding */ EmittersCircleShape)\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 quarter = 0.25,\n double = 2,\n doublePI = Math.PI * double,\n squareExp = 2,\n half = 0.5;\nclass EmittersCircleShape 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 size = this.size,\n fill = this.fill,\n position = this.position,\n generateTheta = (x, y) => {\n const u = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() * quarter,\n theta = Math.atan(y / x * Math.tan(doublePI * u)),\n v = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)();\n if (v < quarter) {\n return theta;\n } else if (v < double * quarter) {\n return Math.PI - theta;\n } else if (v < double * quarter + quarter) {\n return Math.PI + theta;\n } else {\n return -theta;\n }\n },\n radius = (x, y, theta) => x * y / Math.sqrt((y * Math.cos(theta)) ** squareExp + (x * Math.sin(theta)) ** squareExp),\n [a, b] = [size.width * half, size.height * half],\n randomTheta = generateTheta(a, b),\n maxRadius = radius(a, b, randomTheta),\n randomRadius = fill ? maxRadius * Math.sqrt((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)()) : maxRadius;\n return {\n position: {\n x: position.x + randomRadius * Math.cos(randomTheta),\n y: position.y + randomRadius * Math.sin(randomTheta)\n }\n };\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShape.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.js"
61
+ /*!****************************************************************************************!*\
62
+ !*** ../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.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 */ EmittersCircleShapeGenerator: () => (/* binding */ EmittersCircleShapeGenerator)\n/* harmony export */ });\n/* harmony import */ var _EmittersCircleShape_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmittersCircleShape.js */ \"../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShape.js\");\n\nclass EmittersCircleShapeGenerator {\n generate(position, size, fill, options) {\n return new _EmittersCircleShape_js__WEBPACK_IMPORTED_MODULE_0__.EmittersCircleShape(position, size, fill, options);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.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_circle_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/emittersShapes/circle/dist/browser/index.js"
21
+ /*!*****************************************************************!*\
22
+ !*** ../../plugins/emittersShapes/circle/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 */ loadEmittersShapeCircle: () => (/* binding */ loadEmittersShapeCircle)\n/* harmony export */ });\nfunction loadEmittersShapeCircle(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async emittersEngine => {\n const {\n EmittersCircleShapeGenerator\n } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersCircleShapeGenerator.js */ \"../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShapeGenerator.js\"));\n emittersEngine.addEmitterShapeGenerator?.(\"circle\", new EmittersCircleShapeGenerator());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/circle/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);
@@ -0,0 +1,90 @@
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_path_dist_browser_EmittersPathShapeGenerator_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/path/dist/browser/EmittersPathShape.js"
51
+ /*!***************************************************************************!*\
52
+ !*** ../../plugins/emittersShapes/path/dist/browser/EmittersPathShape.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 */ EmittersPathShape: () => (/* binding */ EmittersPathShape)\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/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/emittersShapes/path/dist/browser/utils.js\");\n\n\n\nconst half = 0.5;\nclass EmittersPathShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n const ctx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().createElement(\"canvas\").getContext(\"2d\");\n if (!ctx) {\n throw new Error(`No 2d context available`);\n }\n this.checkContext = ctx;\n this.points = options.points;\n const pathData = this.points,\n path = new Path2D(),\n offset = {\n x: position.x - size.width * half,\n y: position.y - size.height * half\n };\n for (const [index, point] of pathData.entries()) {\n const coords = {\n x: offset.x + point.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator,\n y: offset.y + point.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator\n };\n if (!index) {\n path.moveTo(coords.x, coords.y);\n } else {\n path.lineTo(coords.x, coords.y);\n }\n }\n const firstIndex = 0,\n firstPathData = pathData[firstIndex];\n if (!firstPathData) {\n throw new Error(`No path data available`);\n }\n const coords = {\n x: offset.x + firstPathData.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator,\n y: offset.y + firstPathData.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator\n };\n path.lineTo(coords.x, coords.y);\n this.path = path;\n }\n async init() {}\n randomPosition() {\n const ctx = this.checkContext,\n position = this.position,\n size = this.size,\n fill = this.fill,\n path = this.path,\n res = fill ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointWithinPath)(ctx, path, position, size) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointOnPathPerimeter)(ctx, path, position, size);\n return res ? {\n position: res\n } : null;\n }\n resize(position, size) {\n super.resize(position, size);\n const pathData = this.points,\n path = new Path2D(),\n offset = {\n x: position.x - size.width * half,\n y: position.y - size.height * half\n };\n for (const [index, point] of pathData.entries()) {\n const coords = {\n x: offset.x + point.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator,\n y: offset.y + point.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator\n };\n if (!index) {\n path.moveTo(coords.x, coords.y);\n } else {\n path.lineTo(coords.x, coords.y);\n }\n }\n const firstIndex = 0,\n firstPathData = pathData[firstIndex];\n if (!firstPathData) {\n throw new Error(`No path data available`);\n }\n const coords = {\n x: offset.x + firstPathData.x * size.width / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator,\n y: offset.y + firstPathData.y * size.height / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator\n };\n path.lineTo(coords.x, coords.y);\n this.path = path;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/EmittersPathShape.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emittersShapes/path/dist/browser/EmittersPathShapeGenerator.js"
61
+ /*!************************************************************************************!*\
62
+ !*** ../../plugins/emittersShapes/path/dist/browser/EmittersPathShapeGenerator.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 */ EmittersPathShapeGenerator: () => (/* binding */ EmittersPathShapeGenerator)\n/* harmony export */ });\n/* harmony import */ var _EmittersPathShape_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmittersPathShape.js */ \"../../plugins/emittersShapes/path/dist/browser/EmittersPathShape.js\");\n/* harmony import */ var _Options_Classes_EmittersPathShapeOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/EmittersPathShapeOptions.js */ \"../../plugins/emittersShapes/path/dist/browser/Options/Classes/EmittersPathShapeOptions.js\");\n\n\nclass EmittersPathShapeGenerator {\n generate(position, size, fill, options) {\n const shapeOptions = new _Options_Classes_EmittersPathShapeOptions_js__WEBPACK_IMPORTED_MODULE_1__.EmittersPathShapeOptions();\n shapeOptions.load(options);\n return new _EmittersPathShape_js__WEBPACK_IMPORTED_MODULE_0__.EmittersPathShape(position, size, fill, shapeOptions);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/EmittersPathShapeGenerator.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/emittersShapes/path/dist/browser/Options/Classes/EmittersPathShapeOptions.js"
71
+ /*!**************************************************************************************************!*\
72
+ !*** ../../plugins/emittersShapes/path/dist/browser/Options/Classes/EmittersPathShapeOptions.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 */ EmittersPathShapeOptions: () => (/* binding */ EmittersPathShapeOptions)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultPosition = {\n x: 50,\n y: 50\n};\nclass EmittersPathShapeOptions {\n constructor() {\n this.points = [];\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.points !== undefined) {\n this.points = data.points.map(t => ({\n x: t.x ?? defaultPosition.x,\n y: t.y ?? defaultPosition.y\n }));\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/Options/Classes/EmittersPathShapeOptions.js?\n}");
77
+
78
+ /***/ },
79
+
80
+ /***/ "../../plugins/emittersShapes/path/dist/browser/utils.js"
81
+ /*!***************************************************************!*\
82
+ !*** ../../plugins/emittersShapes/path/dist/browser/utils.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 */ generateRandomPointOnPathPerimeter: () => (/* binding */ generateRandomPointOnPathPerimeter),\n/* harmony export */ generateRandomPointWithinPath: () => (/* binding */ generateRandomPointWithinPath)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst maxAttempts = 100,\n half = 0.5;\nfunction generateRandomPointWithinPath(ctx, path, center, size) {\n let randomPoint = null;\n for (let attempts = 0; attempts < maxAttempts; attempts++) {\n const tmpPoint = {\n x: center.x + (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * size.width - size.width * half,\n y: center.y + (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * size.height - size.height * half\n };\n if (ctx.isPointInPath(path, tmpPoint.x, tmpPoint.y)) {\n randomPoint = tmpPoint;\n break;\n }\n }\n return randomPoint;\n}\nfunction generateRandomPointOnPathPerimeter(ctx, path, center, size) {\n let randomPoint = null;\n for (let attempts = 0; attempts < maxAttempts; attempts++) {\n const tmpPoint = {\n x: center.x + (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * size.width - size.width * half,\n y: center.y + (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * size.height - size.height * half\n };\n if (ctx.isPointInStroke(path, tmpPoint.x, tmpPoint.y)) {\n randomPoint = tmpPoint;\n break;\n }\n }\n return randomPoint;\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/utils.js?\n}");
87
+
88
+ /***/ }
89
+
90
+ }]);
@@ -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_path_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/emittersShapes/path/dist/browser/index.js"
21
+ /*!***************************************************************!*\
22
+ !*** ../../plugins/emittersShapes/path/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 */ loadEmittersShapePath: () => (/* binding */ loadEmittersShapePath)\n/* harmony export */ });\nfunction loadEmittersShapePath(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async emittersEngine => {\n const {\n EmittersPathShapeGenerator\n } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPathShapeGenerator.js */ \"../../plugins/emittersShapes/path/dist/browser/EmittersPathShapeGenerator.js\"));\n emittersEngine.addEmitterShapeGenerator?.(\"path\", new EmittersPathShapeGenerator());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/path/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);
@@ -0,0 +1,90 @@
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_polygon_dist_browser_EmittersPolygonShapeGenerator_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/polygon/dist/browser/EmittersPolygonShape.js"
51
+ /*!*********************************************************************************!*\
52
+ !*** ../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShape.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 */ EmittersPolygonShape: () => (/* binding */ EmittersPolygonShape)\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/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils.js */ \"../../plugins/emittersShapes/polygon/dist/browser/utils.js\");\n\n\n\nconst half = 0.5;\nclass EmittersPolygonShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n this.sides = options.sides;\n this.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.degToRad)(options.angle);\n this.polygon = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPolygon)(position, this.sides, size.width * half, this.angle);\n }\n async init() {}\n randomPosition() {\n const fill = this.fill,\n polygon = this.polygon,\n res = fill ? (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointWithinPolygon)(polygon) : (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPointOnPolygonPerimeter)(polygon);\n return res ? {\n position: res\n } : null;\n }\n resize(position, size) {\n super.resize(position, size);\n this.polygon = (0,_utils_js__WEBPACK_IMPORTED_MODULE_2__.generateRandomPolygon)(position, this.sides, size.width * half, this.angle);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShape.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShapeGenerator.js"
61
+ /*!******************************************************************************************!*\
62
+ !*** ../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShapeGenerator.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 */ EmittersPolygonShapeGenerator: () => (/* binding */ EmittersPolygonShapeGenerator)\n/* harmony export */ });\n/* harmony import */ var _EmittersPolygonShape_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmittersPolygonShape.js */ \"../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShape.js\");\n/* harmony import */ var _Options_Classes_EmittersPolygonShapeOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/EmittersPolygonShapeOptions.js */ \"../../plugins/emittersShapes/polygon/dist/browser/Options/Classes/EmittersPolygonShapeOptions.js\");\n\n\nclass EmittersPolygonShapeGenerator {\n generate(position, size, fill, options) {\n const shapeOptions = new _Options_Classes_EmittersPolygonShapeOptions_js__WEBPACK_IMPORTED_MODULE_1__.EmittersPolygonShapeOptions();\n shapeOptions.load(options);\n return new _EmittersPolygonShape_js__WEBPACK_IMPORTED_MODULE_0__.EmittersPolygonShape(position, size, fill, shapeOptions);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShapeGenerator.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../plugins/emittersShapes/polygon/dist/browser/Options/Classes/EmittersPolygonShapeOptions.js"
71
+ /*!********************************************************************************************************!*\
72
+ !*** ../../plugins/emittersShapes/polygon/dist/browser/Options/Classes/EmittersPolygonShapeOptions.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 */ EmittersPolygonShapeOptions: () => (/* binding */ EmittersPolygonShapeOptions)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmittersPolygonShapeOptions {\n constructor() {\n this.angle = 0;\n this.sides = 5;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.angle !== undefined) {\n this.angle = data.angle;\n }\n if (data.sides !== undefined) {\n this.sides = data.sides;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/polygon/dist/browser/Options/Classes/EmittersPolygonShapeOptions.js?\n}");
77
+
78
+ /***/ },
79
+
80
+ /***/ "../../plugins/emittersShapes/polygon/dist/browser/utils.js"
81
+ /*!******************************************************************!*\
82
+ !*** ../../plugins/emittersShapes/polygon/dist/browser/utils.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 */ generateRandomPointOnPolygonPerimeter: () => (/* binding */ generateRandomPointOnPolygonPerimeter),\n/* harmony export */ generateRandomPointWithinPolygon: () => (/* binding */ generateRandomPointWithinPolygon),\n/* harmony export */ generateRandomPolygon: () => (/* binding */ generateRandomPolygon),\n/* harmony export */ isPointInPolygon: () => (/* binding */ isPointInPolygon)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst double = 2,\n doublePI = Math.PI * double,\n defaultRotation = 0,\n maxAttempts = 100;\nfunction generateRandomPolygon(position, sides, radius, rotationAngle = defaultRotation) {\n const polygon = [],\n angle = doublePI / sides;\n for (let i = 0; i < sides; i++) {\n const currentAngle = angle * i + rotationAngle;\n polygon.push({\n x: position.x + radius * Math.cos(currentAngle),\n y: position.y + radius * Math.sin(currentAngle)\n });\n }\n return polygon;\n}\nfunction generateRandomPointWithinPolygon(polygon) {\n const firstIndex = 0,\n firstPoint = polygon[firstIndex];\n if (!firstPoint) {\n return null;\n }\n const min = {\n ...firstPoint\n },\n max = {\n ...firstPoint\n };\n for (const point of polygon) {\n if (point.x < min.x) {\n min.x = point.x;\n }\n if (point.x > max.x) {\n max.x = point.x;\n }\n if (point.y < min.y) {\n min.y = point.y;\n }\n if (point.y > max.y) {\n max.y = point.y;\n }\n }\n let randomPoint = null;\n for (let attempts = 0; attempts < maxAttempts; attempts++) {\n const tmpPoint = {\n x: min.x + (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * (max.x - min.x),\n y: min.y + (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * (max.y - min.y)\n };\n if (isPointInPolygon(tmpPoint, polygon)) {\n randomPoint = tmpPoint;\n break;\n }\n }\n return randomPoint;\n}\nfunction generateRandomPointOnPolygonPerimeter(polygon) {\n const sideIndex = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * polygon.length),\n startPoint = polygon[sideIndex];\n if (!startPoint) {\n return;\n }\n const offset = 1,\n endPoint = polygon[(sideIndex + offset) % polygon.length];\n if (!endPoint) {\n return;\n }\n const t = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n return {\n x: startPoint.x + (endPoint.x - startPoint.x) * t,\n y: startPoint.y + (endPoint.y - startPoint.y) * t\n };\n}\nfunction isPointInPolygon(point, polygon) {\n let inside = false;\n const offset = 1;\n for (let i = 0, j = polygon.length - offset; i < polygon.length; j = i++) {\n const pi = polygon[i],\n pj = polygon[j];\n if (!pi || !pj) {\n continue;\n }\n const intersect = pi.y > point.y !== pj.y > point.y && point.x < (pj.x - pi.x) * (point.y - pi.y) / (pj.y - pi.y) + pi.x;\n if (intersect) {\n inside = !inside;\n }\n }\n return inside;\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/polygon/dist/browser/utils.js?\n}");
87
+
88
+ /***/ }
89
+
90
+ }]);
@@ -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_polygon_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/emittersShapes/polygon/dist/browser/index.js"
21
+ /*!******************************************************************!*\
22
+ !*** ../../plugins/emittersShapes/polygon/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 */ loadEmittersShapePolygon: () => (/* binding */ loadEmittersShapePolygon)\n/* harmony export */ });\nfunction loadEmittersShapePolygon(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async emittersEngine => {\n const {\n EmittersPolygonShapeGenerator\n } = await __webpack_require__.e(/*! import() */ \"plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmittersPolygonShapeGenerator.js */ \"../../plugins/emittersShapes/polygon/dist/browser/EmittersPolygonShapeGenerator.js\"));\n emittersEngine.addEmitterShapeGenerator?.(\"polygon\", new EmittersPolygonShapeGenerator());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/emittersShapes/polygon/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);