@tsparticles/confetti 3.2.1 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/2043.min.js +2 -0
  2. package/2043.min.js.LICENSE.txt +1 -0
  3. package/2112.min.js +2 -0
  4. package/2112.min.js.LICENSE.txt +1 -0
  5. package/2136.min.js +2 -0
  6. package/2136.min.js.LICENSE.txt +1 -0
  7. package/2284.min.js +2 -0
  8. package/2284.min.js.LICENSE.txt +1 -0
  9. package/2370.min.js +2 -0
  10. package/2370.min.js.LICENSE.txt +1 -0
  11. package/2497.min.js +2 -0
  12. package/2497.min.js.LICENSE.txt +1 -0
  13. package/286.min.js +2 -0
  14. package/286.min.js.LICENSE.txt +1 -0
  15. package/3237.min.js +2 -0
  16. package/3237.min.js.LICENSE.txt +1 -0
  17. package/335.min.js +2 -0
  18. package/335.min.js.LICENSE.txt +1 -0
  19. package/3416.min.js +2 -0
  20. package/3416.min.js.LICENSE.txt +1 -0
  21. package/344.min.js +2 -0
  22. package/344.min.js.LICENSE.txt +1 -0
  23. package/357.min.js +2 -0
  24. package/357.min.js.LICENSE.txt +1 -0
  25. package/3622.min.js +2 -0
  26. package/3622.min.js.LICENSE.txt +1 -0
  27. package/3632.min.js +2 -0
  28. package/3632.min.js.LICENSE.txt +1 -0
  29. package/3695.min.js +2 -0
  30. package/3695.min.js.LICENSE.txt +1 -0
  31. package/401.min.js +2 -0
  32. package/401.min.js.LICENSE.txt +1 -0
  33. package/4036.min.js +2 -0
  34. package/4036.min.js.LICENSE.txt +1 -0
  35. package/4154.min.js +2 -0
  36. package/4154.min.js.LICENSE.txt +1 -0
  37. package/4264.min.js +2 -0
  38. package/4264.min.js.LICENSE.txt +1 -0
  39. package/4302.min.js +2 -0
  40. package/4302.min.js.LICENSE.txt +1 -0
  41. package/439.min.js +2 -0
  42. package/439.min.js.LICENSE.txt +1 -0
  43. package/449.min.js +2 -0
  44. package/449.min.js.LICENSE.txt +1 -0
  45. package/4512.min.js +2 -0
  46. package/4512.min.js.LICENSE.txt +1 -0
  47. package/4924.min.js +2 -0
  48. package/4924.min.js.LICENSE.txt +1 -0
  49. package/5201.min.js +2 -0
  50. package/5201.min.js.LICENSE.txt +1 -0
  51. package/5369.min.js +2 -0
  52. package/5369.min.js.LICENSE.txt +1 -0
  53. package/561.min.js +2 -0
  54. package/561.min.js.LICENSE.txt +1 -0
  55. package/5775.min.js +2 -0
  56. package/5775.min.js.LICENSE.txt +1 -0
  57. package/5808.min.js +2 -0
  58. package/5808.min.js.LICENSE.txt +1 -0
  59. package/5814.min.js +2 -0
  60. package/5814.min.js.LICENSE.txt +1 -0
  61. package/6119.min.js +2 -0
  62. package/6119.min.js.LICENSE.txt +1 -0
  63. package/6493.min.js +2 -0
  64. package/6493.min.js.LICENSE.txt +1 -0
  65. package/6520.min.js +2 -0
  66. package/6520.min.js.LICENSE.txt +1 -0
  67. package/66.min.js +2 -0
  68. package/66.min.js.LICENSE.txt +1 -0
  69. package/6732.min.js +2 -0
  70. package/6732.min.js.LICENSE.txt +1 -0
  71. package/6735.min.js +2 -0
  72. package/6735.min.js.LICENSE.txt +1 -0
  73. package/6974.min.js +2 -0
  74. package/6974.min.js.LICENSE.txt +1 -0
  75. package/705.min.js +2 -0
  76. package/705.min.js.LICENSE.txt +1 -0
  77. package/7306.min.js +2 -0
  78. package/7306.min.js.LICENSE.txt +1 -0
  79. package/7528.min.js +2 -0
  80. package/7528.min.js.LICENSE.txt +1 -0
  81. package/7774.min.js +2 -0
  82. package/7774.min.js.LICENSE.txt +1 -0
  83. package/8125.min.js +2 -0
  84. package/8125.min.js.LICENSE.txt +1 -0
  85. package/{3733.min.js → 8155.min.js} +2 -2
  86. package/8155.min.js.LICENSE.txt +1 -0
  87. package/823.min.js +2 -0
  88. package/823.min.js.LICENSE.txt +1 -0
  89. package/8469.min.js +2 -0
  90. package/8469.min.js.LICENSE.txt +1 -0
  91. package/{4595.min.js → 8656.min.js} +2 -2
  92. package/8656.min.js.LICENSE.txt +1 -0
  93. package/8746.min.js +2 -0
  94. package/8746.min.js.LICENSE.txt +1 -0
  95. package/9151.min.js +2 -0
  96. package/9151.min.js.LICENSE.txt +1 -0
  97. package/94.min.js +2 -0
  98. package/94.min.js.LICENSE.txt +1 -0
  99. package/9487.min.js +2 -0
  100. package/9487.min.js.LICENSE.txt +1 -0
  101. package/{5742.min.js → 9581.min.js} +2 -2
  102. package/9581.min.js.LICENSE.txt +1 -0
  103. package/9946.min.js +2 -0
  104. package/9946.min.js.LICENSE.txt +1 -0
  105. package/basic_dist_browser_index_js.js +1 -1
  106. package/cjs/confetti.js +1 -24
  107. package/engine_dist_browser_Core_Container_js.js +17 -7
  108. package/move_base_dist_browser_BaseMover_js.js +12 -2
  109. package/move_base_dist_browser_index_js.js +1 -1
  110. package/package.json +17 -17
  111. package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
  112. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  113. package/plugins_emitters_dist_browser_Emitters_js.js +2 -2
  114. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  115. package/plugins_emitters_dist_browser_index_js.js +1 -1
  116. package/plugins_motion_dist_browser_MotionInstance_js.js +1 -1
  117. package/plugins_motion_dist_browser_MotionPlugin_js.js +1 -1
  118. package/plugins_motion_dist_browser_index_js.js +1 -1
  119. package/report.html +1 -1
  120. package/shapes_cards_dist_browser_ClubDrawer_js.js +12 -2
  121. package/shapes_cards_dist_browser_DiamondDrawer_js.js +12 -2
  122. package/shapes_cards_dist_browser_HeartDrawer_js.js +12 -2
  123. package/shapes_cards_dist_browser_SpadeDrawer_js.js +12 -2
  124. package/shapes_cards_dist_browser_index_js.js +1 -1
  125. package/shapes_circle_dist_browser_CircleDrawer_js.js +12 -2
  126. package/shapes_circle_dist_browser_index_js.js +1 -1
  127. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +12 -2
  128. package/shapes_emoji_dist_browser_index_js.js +1 -1
  129. package/shapes_heart_dist_browser_HeartDrawer_js.js +12 -2
  130. package/shapes_heart_dist_browser_index_js.js +1 -1
  131. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  132. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  133. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  134. package/shapes_image_dist_browser_index_js.js +2 -2
  135. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +12 -2
  136. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +12 -2
  137. package/shapes_polygon_dist_browser_index_js.js +1 -1
  138. package/shapes_square_dist_browser_SquareDrawer_js.js +12 -2
  139. package/shapes_square_dist_browser_index_js.js +1 -1
  140. package/shapes_star_dist_browser_StarDrawer_js.js +12 -2
  141. package/shapes_star_dist_browser_index_js.js +1 -1
  142. package/tsparticles.confetti.bundle.js +33 -53
  143. package/tsparticles.confetti.bundle.min.js +1 -1
  144. package/tsparticles.confetti.bundle.min.js.LICENSE.txt +1 -1
  145. package/tsparticles.confetti.js +1 -1
  146. package/tsparticles.confetti.min.js +1 -1
  147. package/tsparticles.confetti.min.js.LICENSE.txt +1 -1
  148. package/updaters_color_dist_browser_ColorUpdater_js.js +2 -2
  149. package/updaters_color_dist_browser_index_js.js +1 -1
  150. package/updaters_life_dist_browser_LifeUpdater_js.js +12 -2
  151. package/updaters_life_dist_browser_index_js.js +1 -1
  152. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  153. package/updaters_opacity_dist_browser_index_js.js +1 -1
  154. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +52 -2
  155. package/updaters_outModes_dist_browser_index_js.js +1 -1
  156. package/updaters_roll_dist_browser_RollUpdater_js.js +12 -2
  157. package/updaters_roll_dist_browser_index_js.js +1 -1
  158. package/updaters_rotate_dist_browser_RotateUpdater_js.js +2 -2
  159. package/updaters_rotate_dist_browser_index_js.js +1 -1
  160. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  161. package/updaters_size_dist_browser_index_js.js +1 -1
  162. package/updaters_tilt_dist_browser_TiltUpdater_js.js +2 -2
  163. package/updaters_tilt_dist_browser_index_js.js +1 -1
  164. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +12 -2
  165. package/updaters_wobble_dist_browser_index_js.js +1 -1
  166. package/1308.min.js +0 -2
  167. package/1308.min.js.LICENSE.txt +0 -1
  168. package/1472.min.js +0 -2
  169. package/1472.min.js.LICENSE.txt +0 -1
  170. package/1513.min.js +0 -2
  171. package/1513.min.js.LICENSE.txt +0 -1
  172. package/1705.min.js +0 -2
  173. package/1705.min.js.LICENSE.txt +0 -1
  174. package/1810.min.js +0 -2
  175. package/1810.min.js.LICENSE.txt +0 -1
  176. package/196.min.js +0 -2
  177. package/196.min.js.LICENSE.txt +0 -1
  178. package/2124.min.js +0 -2
  179. package/2124.min.js.LICENSE.txt +0 -1
  180. package/2173.min.js +0 -2
  181. package/2173.min.js.LICENSE.txt +0 -1
  182. package/2580.min.js +0 -2
  183. package/2580.min.js.LICENSE.txt +0 -1
  184. package/2720.min.js +0 -2
  185. package/2720.min.js.LICENSE.txt +0 -1
  186. package/2765.min.js +0 -2
  187. package/2765.min.js.LICENSE.txt +0 -1
  188. package/3141.min.js +0 -2
  189. package/3141.min.js.LICENSE.txt +0 -1
  190. package/3261.min.js +0 -2
  191. package/3261.min.js.LICENSE.txt +0 -1
  192. package/3473.min.js +0 -2
  193. package/3473.min.js.LICENSE.txt +0 -1
  194. package/3610.min.js +0 -2
  195. package/3610.min.js.LICENSE.txt +0 -1
  196. package/3629.min.js +0 -2
  197. package/3629.min.js.LICENSE.txt +0 -1
  198. package/3648.min.js +0 -2
  199. package/3648.min.js.LICENSE.txt +0 -1
  200. package/3733.min.js.LICENSE.txt +0 -1
  201. package/3862.min.js +0 -2
  202. package/3862.min.js.LICENSE.txt +0 -1
  203. package/3869.min.js +0 -2
  204. package/3869.min.js.LICENSE.txt +0 -1
  205. package/409.min.js +0 -2
  206. package/409.min.js.LICENSE.txt +0 -1
  207. package/4245.min.js +0 -2
  208. package/4245.min.js.LICENSE.txt +0 -1
  209. package/4328.min.js +0 -2
  210. package/4328.min.js.LICENSE.txt +0 -1
  211. package/4396.min.js +0 -2
  212. package/4396.min.js.LICENSE.txt +0 -1
  213. package/4547.min.js +0 -2
  214. package/4547.min.js.LICENSE.txt +0 -1
  215. package/4595.min.js.LICENSE.txt +0 -1
  216. package/4794.min.js +0 -2
  217. package/4794.min.js.LICENSE.txt +0 -1
  218. package/482.min.js +0 -2
  219. package/482.min.js.LICENSE.txt +0 -1
  220. package/4866.min.js +0 -2
  221. package/4866.min.js.LICENSE.txt +0 -1
  222. package/4973.min.js +0 -2
  223. package/4973.min.js.LICENSE.txt +0 -1
  224. package/4994.min.js +0 -2
  225. package/4994.min.js.LICENSE.txt +0 -1
  226. package/5092.min.js +0 -2
  227. package/5092.min.js.LICENSE.txt +0 -1
  228. package/5120.min.js +0 -2
  229. package/5120.min.js.LICENSE.txt +0 -1
  230. package/5245.min.js +0 -2
  231. package/5245.min.js.LICENSE.txt +0 -1
  232. package/5308.min.js +0 -2
  233. package/5308.min.js.LICENSE.txt +0 -1
  234. package/5329.min.js +0 -2
  235. package/5329.min.js.LICENSE.txt +0 -1
  236. package/5437.min.js +0 -2
  237. package/5437.min.js.LICENSE.txt +0 -1
  238. package/5444.min.js +0 -2
  239. package/5444.min.js.LICENSE.txt +0 -1
  240. package/5534.min.js +0 -2
  241. package/5534.min.js.LICENSE.txt +0 -1
  242. package/560.min.js +0 -2
  243. package/560.min.js.LICENSE.txt +0 -1
  244. package/5647.min.js +0 -2
  245. package/5647.min.js.LICENSE.txt +0 -1
  246. package/571.min.js +0 -2
  247. package/571.min.js.LICENSE.txt +0 -1
  248. package/5742.min.js.LICENSE.txt +0 -1
  249. package/6004.min.js +0 -2
  250. package/6004.min.js.LICENSE.txt +0 -1
  251. package/6132.min.js +0 -2
  252. package/6132.min.js.LICENSE.txt +0 -1
  253. package/6551.min.js +0 -2
  254. package/6551.min.js.LICENSE.txt +0 -1
  255. package/6772.min.js +0 -2
  256. package/6772.min.js.LICENSE.txt +0 -1
  257. package/7031.min.js +0 -2
  258. package/7031.min.js.LICENSE.txt +0 -1
  259. package/7049.min.js +0 -2
  260. package/7049.min.js.LICENSE.txt +0 -1
  261. package/7108.min.js +0 -2
  262. package/7108.min.js.LICENSE.txt +0 -1
  263. package/7331.min.js +0 -2
  264. package/7331.min.js.LICENSE.txt +0 -1
  265. package/7517.min.js +0 -2
  266. package/7517.min.js.LICENSE.txt +0 -1
  267. package/7687.min.js +0 -2
  268. package/7687.min.js.LICENSE.txt +0 -1
  269. package/7725.min.js +0 -2
  270. package/7725.min.js.LICENSE.txt +0 -1
  271. package/7757.min.js +0 -2
  272. package/7757.min.js.LICENSE.txt +0 -1
  273. package/7835.min.js +0 -2
  274. package/7835.min.js.LICENSE.txt +0 -1
  275. package/7859.min.js +0 -2
  276. package/7859.min.js.LICENSE.txt +0 -1
  277. package/7886.min.js +0 -2
  278. package/7886.min.js.LICENSE.txt +0 -1
  279. package/7890.min.js +0 -2
  280. package/7890.min.js.LICENSE.txt +0 -1
  281. package/8060.min.js +0 -2
  282. package/8060.min.js.LICENSE.txt +0 -1
  283. package/9062.min.js +0 -2
  284. package/9062.min.js.LICENSE.txt +0 -1
  285. package/9126.min.js +0 -2
  286. package/9126.min.js.LICENSE.txt +0 -1
  287. package/9331.min.js +0 -2
  288. package/9331.min.js.LICENSE.txt +0 -1
  289. package/9376.min.js +0 -2
  290. package/9376.min.js.LICENSE.txt +0 -1
  291. package/95.min.js +0 -2
  292. package/95.min.js.LICENSE.txt +0 -1
  293. package/9530.min.js +0 -2
  294. package/9530.min.js.LICENSE.txt +0 -1
  295. package/9532.min.js +0 -2
  296. package/9532.min.js.LICENSE.txt +0 -1
  297. package/9836.min.js +0 -2
  298. package/9836.min.js.LICENSE.txt +0 -1
  299. package/9921.min.js +0 -2
  300. package/9921.min.js.LICENSE.txt +0 -1
  301. package/engine_dist_browser_Core_Particle_js.js +0 -30
  302. package/move_base_dist_browser_Utils_js.js +0 -30
  303. package/shapes_cards_dist_browser_Utils_js.js +0 -30
  304. package/shapes_circle_dist_browser_Utils_js.js +0 -30
  305. package/shapes_emoji_dist_browser_Utils_js.js +0 -30
  306. package/shapes_heart_dist_browser_Utils_js.js +0 -30
  307. package/shapes_polygon_dist_browser_Utils_js.js +0 -30
  308. package/shapes_square_dist_browser_Utils_js.js +0 -30
  309. package/shapes_star_dist_browser_Utils_js.js +0 -30
  310. package/updaters_life_dist_browser_Utils_js.js +0 -30
  311. package/updaters_outModes_dist_browser_BounceOutMode_js.js +0 -30
  312. package/updaters_outModes_dist_browser_DestroyOutMode_js.js +0 -30
  313. package/updaters_outModes_dist_browser_NoneOutMode_js.js +0 -30
  314. package/updaters_outModes_dist_browser_OutOutMode_js.js +0 -30
  315. package/updaters_outModes_dist_browser_Utils_js.js +0 -30
  316. package/updaters_roll_dist_browser_Utils_js.js +0 -30
  317. package/updaters_wobble_dist_browser_Utils_js.js +0 -30
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,17 @@
23
23
  \******************************************************/
24
24
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
25
 
26
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeartDrawer: () => (/* binding */ HeartDrawer)\n/* harmony export */ });\nclass HeartDrawer {\n async draw(data) {\n const {\n drawHeart\n } = await __webpack_require__.e(/*! import() */ \"shapes_heart_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/heart/dist/browser/Utils.js\"));\n drawHeart(data);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/heart/dist/browser/HeartDrawer.js?");
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeartDrawer: () => (/* binding */ HeartDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/heart/dist/browser/Utils.js\");\n\nclass HeartDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawHeart)(data);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/heart/dist/browser/HeartDrawer.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../shapes/heart/dist/browser/Utils.js":
31
+ /*!************************************************!*\
32
+ !*** ../../shapes/heart/dist/browser/Utils.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 */ drawHeart: () => (/* binding */ drawHeart)\n/* harmony export */ });\nconst half = 0.5,\n double = 2;\nfunction drawHeart(data) {\n const {\n context,\n radius\n } = data,\n diameter = radius * double,\n halfRadius = radius * half,\n radiusAndHalf = radius + halfRadius,\n x = -radius,\n y = -radius;\n context.moveTo(x, y + halfRadius);\n context.quadraticCurveTo(x, y, x + halfRadius, y);\n context.quadraticCurveTo(x + radius, y, x + radius, y + halfRadius);\n context.quadraticCurveTo(x + radius, y, x + radiusAndHalf, y);\n context.quadraticCurveTo(x + diameter, y, x + diameter, y + halfRadius);\n context.quadraticCurveTo(x + diameter, y + radius, x + radiusAndHalf, y + radiusAndHalf);\n context.lineTo(x + radius, y + diameter);\n context.lineTo(x + halfRadius, y + radiusAndHalf);\n context.quadraticCurveTo(x, y + radius, x, y + halfRadius);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/heart/dist/browser/Utils.js?");
27
37
 
28
38
  /***/ })
29
39
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \******************************************************/
24
24
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
25
 
26
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageDrawer: () => (/* binding */ ImageDrawer)\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 defaultAlpha = 1,\n sides = 12,\n defaultRatio = 1;\nclass ImageDrawer {\n constructor(engine) {\n this.loadImageShape = async imageShape => {\n if (!this._engine.loadImage) {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.errorPrefix} image shape not initialized`);\n }\n await this._engine.loadImage({\n gif: imageShape.gif,\n name: imageShape.name,\n replaceColor: imageShape.replaceColor ?? false,\n src: imageShape.src\n });\n };\n this._engine = engine;\n }\n addImage(image) {\n if (!this._engine.images) {\n this._engine.images = [];\n }\n this._engine.images.push(image);\n }\n async draw(data) {\n const {\n context,\n radius,\n particle,\n opacity\n } = data,\n image = particle.image,\n element = image?.element;\n if (!image) {\n return;\n }\n context.globalAlpha = opacity;\n if (image.gif && image.gifData) {\n const {\n drawGif\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_GifUtils_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\"));\n drawGif(data);\n } else if (element) {\n const ratio = image.ratio,\n pos = {\n x: -radius,\n y: -radius\n },\n diameter = radius * double;\n context.drawImage(element, pos.x, pos.y, diameter, diameter / ratio);\n }\n context.globalAlpha = defaultAlpha;\n }\n getSidesCount() {\n return sides;\n }\n async init(container) {\n const options = container.actualOptions;\n if (!options.preload || !this._engine.loadImage) {\n return;\n }\n for (const imageData of options.preload) {\n await this._engine.loadImage(imageData);\n }\n }\n async loadShape(particle) {\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n if (!this._engine.images) {\n this._engine.images = [];\n }\n const imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const image = this._engine.images.find(t => t.name === imageData.name || t.source === imageData.src);\n if (!image) {\n await this.loadImageShape(imageData);\n await this.loadShape(particle);\n }\n }\n async particleInit(container, particle) {\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n if (!this._engine.images) {\n this._engine.images = [];\n }\n const images = this._engine.images,\n imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const color = particle.getFillColor(),\n image = images.find(t => t.name === imageData.name || t.source === imageData.src);\n if (!image) {\n return;\n }\n const replaceColor = imageData.replaceColor ?? image.replaceColor;\n if (image.loading) {\n setTimeout(() => {\n void this.particleInit(container, particle);\n });\n return;\n }\n let imageRes;\n if (image.svgData && color) {\n const {\n replaceImageColor\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageRes = await replaceImageColor(image, imageData, color, particle);\n } else {\n imageRes = {\n color,\n data: image,\n element: image.element,\n gif: image.gif,\n gifData: image.gifData,\n gifLoopCount: image.gifLoopCount,\n loaded: true,\n ratio: imageData.width && imageData.height ? imageData.width / imageData.height : image.ratio ?? defaultRatio,\n replaceColor: replaceColor,\n source: imageData.src\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const fill = imageData.fill ?? particle.shapeFill,\n close = imageData.close ?? particle.shapeClose,\n imageShape = {\n image: imageRes,\n fill,\n close\n };\n particle.image = imageShape.image;\n particle.shapeFill = imageShape.fill;\n particle.shapeClose = imageShape.close;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/ImageDrawer.js?");
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageDrawer: () => (/* binding */ ImageDrawer)\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 _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\");\n\n\n\nconst double = 2,\n defaultAlpha = 1,\n sides = 12,\n defaultRatio = 1;\nclass ImageDrawer {\n constructor(engine) {\n this.loadImageShape = async imageShape => {\n if (!this._engine.loadImage) {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.errorPrefix} image shape not initialized`);\n }\n await this._engine.loadImage({\n gif: imageShape.gif,\n name: imageShape.name,\n replaceColor: imageShape.replaceColor ?? false,\n src: imageShape.src\n });\n };\n this._engine = engine;\n }\n addImage(image) {\n if (!this._engine.images) {\n this._engine.images = [];\n }\n this._engine.images.push(image);\n }\n draw(data) {\n const {\n context,\n radius,\n particle,\n opacity\n } = data,\n image = particle.image,\n element = image?.element;\n if (!image) {\n return;\n }\n context.globalAlpha = opacity;\n if (image.gif && image.gifData) {\n (0,_GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.drawGif)(data);\n } else if (element) {\n const ratio = image.ratio,\n pos = {\n x: -radius,\n y: -radius\n },\n diameter = radius * double;\n context.drawImage(element, pos.x, pos.y, diameter, diameter / ratio);\n }\n context.globalAlpha = defaultAlpha;\n }\n getSidesCount() {\n return sides;\n }\n async init(container) {\n const options = container.actualOptions;\n if (!options.preload || !this._engine.loadImage) {\n return;\n }\n for (const imageData of options.preload) {\n await this._engine.loadImage(imageData);\n }\n }\n loadShape(particle) {\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n if (!this._engine.images) {\n this._engine.images = [];\n }\n const imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const image = this._engine.images.find(t => t.name === imageData.name || t.source === imageData.src);\n if (!image) {\n void this.loadImageShape(imageData).then(() => {\n this.loadShape(particle);\n });\n }\n }\n particleInit(container, particle) {\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n if (!this._engine.images) {\n this._engine.images = [];\n }\n const images = this._engine.images,\n imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const color = particle.getFillColor(),\n image = images.find(t => t.name === imageData.name || t.source === imageData.src);\n if (!image) {\n return;\n }\n const replaceColor = imageData.replaceColor ?? image.replaceColor;\n if (image.loading) {\n setTimeout(() => {\n this.particleInit(container, particle);\n });\n return;\n }\n void (async () => {\n let imageRes;\n if (image.svgData && color) {\n imageRes = await (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.replaceImageColor)(image, imageData, color, particle);\n } else {\n imageRes = {\n color,\n data: image,\n element: image.element,\n gif: image.gif,\n gifData: image.gifData,\n gifLoopCount: image.gifLoopCount,\n loaded: true,\n ratio: imageData.width && imageData.height ? imageData.width / imageData.height : image.ratio ?? defaultRatio,\n replaceColor: replaceColor,\n source: imageData.src\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const fill = imageData.fill ?? particle.shapeFill,\n close = imageData.close ?? particle.shapeClose,\n imageShape = {\n image: imageRes,\n fill,\n close\n };\n particle.image = imageShape.image;\n particle.shapeFill = imageShape.fill;\n particle.shapeClose = imageShape.close;\n })();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/ImageDrawer.js?");
27
27
 
28
28
  /***/ })
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -33,7 +33,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33
33
  \************************************************/
34
34
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
35
 
36
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n if (engine.loadImage) {\n return;\n }\n engine.loadImage = async data => {\n if (!data.name && !data.src) {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} no image source provided`);\n }\n if (!engine.images) {\n engine.images = [];\n }\n if (engine.images.find(t => t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif ?? false,\n name: data.name ?? data.src,\n source: data.src,\n type: data.src.substring(data.src.length - extLength),\n error: false,\n loading: true,\n replaceColor: data.replaceColor,\n ratio: data.width && data.height ? data.width / data.height : undefined\n };\n engine.images.push(image);\n let imageFunc;\n if (data.gif) {\n const {\n loadGifImage\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_GifUtils_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\"));\n imageFunc = loadGifImage;\n } else {\n imageFunc = data.replaceColor ? _Utils_js__WEBPACK_IMPORTED_MODULE_0__.downloadSvgImage : _Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} ${data.name ?? data.src} not found`);\n }\n };\n}\nasync function loadImageShape(engine, refresh = true) {\n addLoadImageToEngine(engine);\n const {\n ImagePreloaderPlugin\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImagePreloader_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImagePreloader.js */ \"../../shapes/image/dist/browser/ImagePreloader.js\")),\n {\n ImageDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImageDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImageDrawer.js */ \"../../shapes/image/dist/browser/ImageDrawer.js\"));\n const preloader = new ImagePreloaderPlugin(engine);\n await engine.addPlugin(preloader, refresh);\n await engine.addShape([\"image\", \"images\"], new ImageDrawer(engine), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/index.js?");
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n if (engine.loadImage) {\n return;\n }\n engine.loadImage = async data => {\n if (!data.name && !data.src) {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} no image source provided`);\n }\n if (!engine.images) {\n engine.images = [];\n }\n if (engine.images.find(t => t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif ?? false,\n name: data.name ?? data.src,\n source: data.src,\n type: data.src.substring(data.src.length - extLength),\n error: false,\n loading: true,\n replaceColor: data.replaceColor,\n ratio: data.width && data.height ? data.width / data.height : undefined\n };\n engine.images.push(image);\n let imageFunc;\n if (data.gif) {\n const {\n loadGifImage\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_GifUtils_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\"));\n imageFunc = loadGifImage;\n } else {\n imageFunc = data.replaceColor ? _Utils_js__WEBPACK_IMPORTED_MODULE_0__.downloadSvgImage : _Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} ${data.name ?? data.src} not found`);\n }\n };\n}\nasync function loadImageShape(engine, refresh = true) {\n addLoadImageToEngine(engine);\n const {\n ImagePreloaderPlugin\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImagePreloader_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImagePreloader.js */ \"../../shapes/image/dist/browser/ImagePreloader.js\")),\n {\n ImageDrawer\n } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_image_dist_browser_GifUtils_Utils_js\"), __webpack_require__.e(\"shapes_image_dist_browser_ImageDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./ImageDrawer.js */ \"../../shapes/image/dist/browser/ImageDrawer.js\"));\n const preloader = new ImagePreloaderPlugin(engine);\n await engine.addPlugin(preloader, refresh);\n await engine.addShape([\"image\", \"images\"], new ImageDrawer(engine), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/index.js?");
37
37
 
38
38
  /***/ })
39
39
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -33,7 +33,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
33
33
  \**************************************************************/
34
34
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
35
 
36
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PolygonDrawerBase: () => (/* binding */ PolygonDrawerBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultSides = 5;\nclass PolygonDrawerBase {\n async draw(data) {\n const {\n particle,\n radius\n } = data,\n start = this.getCenter(particle, radius),\n side = this.getSidesData(particle, radius),\n {\n drawPolygon\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/polygon/dist/browser/Utils.js\"));\n drawPolygon(data, start, side);\n }\n getSidesCount(particle) {\n const polygon = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(polygon?.sides ?? defaultSides));\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/PolygonDrawerBase.js?");
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PolygonDrawerBase: () => (/* binding */ PolygonDrawerBase)\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 _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/polygon/dist/browser/Utils.js\");\n\n\nconst defaultSides = 5;\nclass PolygonDrawerBase {\n draw(data) {\n const {\n particle,\n radius\n } = data,\n start = this.getCenter(particle, radius),\n side = this.getSidesData(particle, radius);\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawPolygon)(data, start, side);\n }\n getSidesCount(particle) {\n const polygon = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(polygon?.sides ?? defaultSides));\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/PolygonDrawerBase.js?");
37
+
38
+ /***/ }),
39
+
40
+ /***/ "../../shapes/polygon/dist/browser/Utils.js":
41
+ /*!**************************************************!*\
42
+ !*** ../../shapes/polygon/dist/browser/Utils.js ***!
43
+ \**************************************************/
44
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
45
+
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawPolygon: () => (/* binding */ drawPolygon)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst piDeg = 180,\n origin = {\n x: 0,\n y: 0\n },\n sidesOffset = 2;\nfunction drawPolygon(data, start, side) {\n const {\n context\n } = data,\n sideCount = side.count.numerator * side.count.denominator,\n decimalSides = side.count.numerator / side.count.denominator,\n interiorAngleDegrees = piDeg * (decimalSides - sidesOffset) / decimalSides,\n interiorAngle = Math.PI - (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(interiorAngleDegrees);\n if (!context) {\n return;\n }\n context.beginPath();\n context.translate(start.x, start.y);\n context.moveTo(origin.x, origin.y);\n for (let i = 0; i < sideCount; i++) {\n context.lineTo(side.length, origin.y);\n context.translate(side.length, origin.y);\n context.rotate(interiorAngle);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/Utils.js?");
37
47
 
38
48
  /***/ })
39
49
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
23
  \**************************************************************/
24
24
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
25
 
26
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PolygonDrawerBase: () => (/* binding */ PolygonDrawerBase)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultSides = 5;\nclass PolygonDrawerBase {\n async draw(data) {\n const {\n particle,\n radius\n } = data,\n start = this.getCenter(particle, radius),\n side = this.getSidesData(particle, radius),\n {\n drawPolygon\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/polygon/dist/browser/Utils.js\"));\n drawPolygon(data, start, side);\n }\n getSidesCount(particle) {\n const polygon = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(polygon?.sides ?? defaultSides));\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/PolygonDrawerBase.js?");
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PolygonDrawerBase: () => (/* binding */ PolygonDrawerBase)\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 _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/polygon/dist/browser/Utils.js\");\n\n\nconst defaultSides = 5;\nclass PolygonDrawerBase {\n draw(data) {\n const {\n particle,\n radius\n } = data,\n start = this.getCenter(particle, radius),\n side = this.getSidesData(particle, radius);\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawPolygon)(data, start, side);\n }\n getSidesCount(particle) {\n const polygon = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(polygon?.sides ?? defaultSides));\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/PolygonDrawerBase.js?");
27
27
 
28
28
  /***/ }),
29
29
 
@@ -35,6 +35,16 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
35
35
 
36
36
  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TriangleDrawer: () => (/* binding */ TriangleDrawer)\n/* harmony export */ });\n/* harmony import */ var _PolygonDrawerBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PolygonDrawerBase.js */ \"../../shapes/polygon/dist/browser/PolygonDrawerBase.js\");\n\nconst yFactor = 1.66,\n sides = 3,\n double = 2;\nclass TriangleDrawer extends _PolygonDrawerBase_js__WEBPACK_IMPORTED_MODULE_0__.PolygonDrawerBase {\n getCenter(particle, radius) {\n return {\n x: -radius,\n y: radius / yFactor\n };\n }\n getSidesCount() {\n return sides;\n }\n getSidesData(particle, radius) {\n const diameter = radius * double;\n return {\n count: {\n denominator: 2,\n numerator: 3\n },\n length: diameter\n };\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/TriangleDrawer.js?");
37
37
 
38
+ /***/ }),
39
+
40
+ /***/ "../../shapes/polygon/dist/browser/Utils.js":
41
+ /*!**************************************************!*\
42
+ !*** ../../shapes/polygon/dist/browser/Utils.js ***!
43
+ \**************************************************/
44
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
45
+
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawPolygon: () => (/* binding */ drawPolygon)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst piDeg = 180,\n origin = {\n x: 0,\n y: 0\n },\n sidesOffset = 2;\nfunction drawPolygon(data, start, side) {\n const {\n context\n } = data,\n sideCount = side.count.numerator * side.count.denominator,\n decimalSides = side.count.numerator / side.count.denominator,\n interiorAngleDegrees = piDeg * (decimalSides - sidesOffset) / decimalSides,\n interiorAngle = Math.PI - (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(interiorAngleDegrees);\n if (!context) {\n return;\n }\n context.beginPath();\n context.translate(start.x, start.y);\n context.moveTo(origin.x, origin.y);\n for (let i = 0; i < sideCount; i++) {\n context.lineTo(side.length, origin.y);\n context.translate(side.length, origin.y);\n context.rotate(interiorAngle);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/Utils.js?");
47
+
38
48
  /***/ })
39
49
 
40
50
  }]);
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,17 @@
23
23
  \********************************************************/
24
24
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
25
 
26
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SquareDrawer: () => (/* binding */ SquareDrawer)\n/* harmony export */ });\nconst sides = 4;\nclass SquareDrawer {\n async draw(data) {\n const {\n drawSquare\n } = await __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/square/dist/browser/Utils.js\"));\n drawSquare(data);\n }\n getSidesCount() {\n return sides;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/square/dist/browser/SquareDrawer.js?");
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SquareDrawer: () => (/* binding */ SquareDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/square/dist/browser/Utils.js\");\n\nconst sides = 4;\nclass SquareDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawSquare)(data);\n }\n getSidesCount() {\n return sides;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/square/dist/browser/SquareDrawer.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../shapes/square/dist/browser/Utils.js":
31
+ /*!*************************************************!*\
32
+ !*** ../../shapes/square/dist/browser/Utils.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 */ drawSquare: () => (/* binding */ drawSquare)\n/* harmony export */ });\nconst fixFactorSquared = 2,\n fixFactor = Math.sqrt(fixFactorSquared),\n double = 2;\nfunction drawSquare(data) {\n const {\n context,\n radius\n } = data,\n fixedRadius = radius / fixFactor,\n fixedDiameter = fixedRadius * double;\n context.rect(-fixedRadius, -fixedRadius, fixedDiameter, fixedDiameter);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/square/dist/browser/Utils.js?");
27
37
 
28
38
  /***/ })
29
39
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,17 @@
23
23
  \****************************************************/
24
24
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
25
 
26
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StarDrawer: () => (/* binding */ StarDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultInset = 2,\n defaultSides = 5;\nclass StarDrawer {\n async draw(data) {\n const {\n drawStar\n } = await __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/star/dist/browser/Utils.js\"));\n drawStar(data);\n }\n getSidesCount(particle) {\n const star = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(star?.sides ?? defaultSides));\n }\n async particleInit(container, particle) {\n const star = particle.shapeData;\n particle.starInset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(star?.inset ?? defaultInset);\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/star/dist/browser/StarDrawer.js?");
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ StarDrawer: () => (/* binding */ StarDrawer)\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 _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/star/dist/browser/Utils.js\");\n\n\nconst defaultInset = 2,\n defaultSides = 5;\nclass StarDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawStar)(data);\n }\n getSidesCount(particle) {\n const star = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(star?.sides ?? defaultSides));\n }\n particleInit(container, particle) {\n const star = particle.shapeData;\n particle.starInset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(star?.inset ?? defaultInset);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/star/dist/browser/StarDrawer.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../shapes/star/dist/browser/Utils.js":
31
+ /*!***********************************************!*\
32
+ !*** ../../shapes/star/dist/browser/Utils.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 */ drawStar: () => (/* binding */ drawStar)\n/* harmony export */ });\nconst defaultInset = 2,\n origin = {\n x: 0,\n y: 0\n };\nfunction drawStar(data) {\n const {\n context,\n particle,\n radius\n } = data,\n sides = particle.sides,\n inset = particle.starInset ?? defaultInset;\n context.moveTo(origin.x, origin.y - radius);\n for (let i = 0; i < sides; i++) {\n context.rotate(Math.PI / sides);\n context.lineTo(origin.x, origin.y - radius * inset);\n context.rotate(Math.PI / sides);\n context.lineTo(origin.x, origin.y - radius);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/star/dist/browser/Utils.js?");
27
37
 
28
38
  /***/ })
29
39
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.2.1
7
+ * v3.3.0
8
8
  */
9
9
  "use strict";
10
10
  /*