@tsparticles/confetti 4.0.0-alpha.0 → 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 (156) hide show
  1. package/1392.min.js +1 -1
  2. package/1392.min.js.LICENSE.txt +1 -1
  3. package/198.min.js +1 -1
  4. package/198.min.js.LICENSE.txt +1 -1
  5. package/2124.min.js.LICENSE.txt +1 -1
  6. package/2164.min.js +1 -1
  7. package/2164.min.js.LICENSE.txt +1 -1
  8. package/2201.min.js +1 -1
  9. package/2201.min.js.LICENSE.txt +1 -1
  10. package/2422.min.js +1 -1
  11. package/2422.min.js.LICENSE.txt +1 -1
  12. package/2554.min.js.LICENSE.txt +1 -1
  13. package/2636.min.js.LICENSE.txt +1 -1
  14. package/2885.min.js.LICENSE.txt +1 -1
  15. package/303.min.js.LICENSE.txt +1 -1
  16. package/3241.min.js +1 -1
  17. package/3241.min.js.LICENSE.txt +1 -1
  18. package/3309.min.js.LICENSE.txt +1 -1
  19. package/3493.min.js.LICENSE.txt +1 -1
  20. package/350.min.js +1 -1
  21. package/350.min.js.LICENSE.txt +1 -1
  22. package/3522.min.js.LICENSE.txt +1 -1
  23. package/3561.min.js.LICENSE.txt +1 -1
  24. package/3636.min.js.LICENSE.txt +1 -1
  25. package/3658.min.js.LICENSE.txt +1 -1
  26. package/3853.min.js.LICENSE.txt +1 -1
  27. package/3897.min.js.LICENSE.txt +1 -1
  28. package/4204.min.js +1 -1
  29. package/4204.min.js.LICENSE.txt +1 -1
  30. package/4231.min.js.LICENSE.txt +1 -1
  31. package/4493.min.js.LICENSE.txt +1 -1
  32. package/4565.min.js +1 -1
  33. package/4565.min.js.LICENSE.txt +1 -1
  34. package/4606.min.js.LICENSE.txt +1 -1
  35. package/4620.min.js +1 -1
  36. package/4620.min.js.LICENSE.txt +1 -1
  37. package/4688.min.js.LICENSE.txt +1 -1
  38. package/4743.min.js +1 -1
  39. package/4743.min.js.LICENSE.txt +1 -1
  40. package/4894.min.js.LICENSE.txt +1 -1
  41. package/491.min.js +1 -1
  42. package/491.min.js.LICENSE.txt +1 -1
  43. package/5627.min.js +1 -1
  44. package/5627.min.js.LICENSE.txt +1 -1
  45. package/5689.min.js.LICENSE.txt +1 -1
  46. package/5693.min.js +1 -1
  47. package/5693.min.js.LICENSE.txt +1 -1
  48. package/5711.min.js +1 -1
  49. package/5711.min.js.LICENSE.txt +1 -1
  50. package/582.min.js +1 -1
  51. package/582.min.js.LICENSE.txt +1 -1
  52. package/5885.min.js.LICENSE.txt +1 -1
  53. package/6137.min.js +1 -1
  54. package/6137.min.js.LICENSE.txt +1 -1
  55. package/6315.min.js +1 -1
  56. package/6315.min.js.LICENSE.txt +1 -1
  57. package/6416.min.js +1 -1
  58. package/6416.min.js.LICENSE.txt +1 -1
  59. package/6606.min.js.LICENSE.txt +1 -1
  60. package/6848.min.js +1 -1
  61. package/6848.min.js.LICENSE.txt +1 -1
  62. package/6866.min.js.LICENSE.txt +1 -1
  63. package/704.min.js.LICENSE.txt +1 -1
  64. package/731.min.js +1 -1
  65. package/731.min.js.LICENSE.txt +1 -1
  66. package/7321.min.js.LICENSE.txt +1 -1
  67. package/7358.min.js +1 -1
  68. package/7358.min.js.LICENSE.txt +1 -1
  69. package/7489.min.js +1 -1
  70. package/7489.min.js.LICENSE.txt +1 -1
  71. package/7571.min.js.LICENSE.txt +1 -1
  72. package/8182.min.js +1 -1
  73. package/8182.min.js.LICENSE.txt +1 -1
  74. package/8204.min.js.LICENSE.txt +1 -1
  75. package/8230.min.js.LICENSE.txt +1 -1
  76. package/8420.min.js +1 -1
  77. package/8420.min.js.LICENSE.txt +1 -1
  78. package/8440.min.js +1 -1
  79. package/8440.min.js.LICENSE.txt +1 -1
  80. package/869.min.js.LICENSE.txt +1 -1
  81. package/8930.min.js.LICENSE.txt +1 -1
  82. package/9287.min.js.LICENSE.txt +1 -1
  83. package/9661.min.js +1 -1
  84. package/9661.min.js.LICENSE.txt +1 -1
  85. package/9754.min.js.LICENSE.txt +1 -1
  86. package/9825.min.js.LICENSE.txt +1 -1
  87. package/9907.min.js +1 -1
  88. package/9907.min.js.LICENSE.txt +1 -1
  89. package/basic_dist_browser_index_js.js +2 -2
  90. package/browser/confetti.js +2 -2
  91. package/cjs/confetti.js +2 -2
  92. package/engine_dist_browser_Core_Container_js.js +1 -1
  93. package/esm/confetti.js +2 -2
  94. package/move_base_dist_browser_BaseMover_js.js +1 -1
  95. package/move_base_dist_browser_index_js.js +2 -2
  96. package/package.json +17 -17
  97. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  98. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  99. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  100. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  101. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  102. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  103. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  104. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  105. package/plugins_emitters_dist_browser_index_js.js +2 -2
  106. package/plugins_motion_dist_browser_MotionPlugin_js.js +1 -1
  107. package/plugins_motion_dist_browser_index_js.js +2 -2
  108. package/report.html +2 -2
  109. package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +1 -1
  110. package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +1 -1
  111. package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +1 -1
  112. package/shapes_cards_dist_browser_index_js.js +6 -6
  113. package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +1 -1
  114. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  115. package/shapes_circle_dist_browser_index_js.js +2 -2
  116. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  117. package/shapes_emoji_dist_browser_index_js.js +2 -2
  118. package/shapes_heart_dist_browser_HeartDrawer_js.js +1 -1
  119. package/shapes_heart_dist_browser_index_js.js +2 -2
  120. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  121. package/shapes_image_dist_browser_ImageDrawer_js.js +1 -1
  122. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  123. package/shapes_image_dist_browser_Utils_js.js +1 -1
  124. package/shapes_image_dist_browser_index_js.js +2 -2
  125. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  126. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  127. package/shapes_polygon_dist_browser_index_js.js +2 -2
  128. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  129. package/shapes_square_dist_browser_index_js.js +2 -2
  130. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  131. package/shapes_star_dist_browser_index_js.js +2 -2
  132. package/tsparticles.confetti.bundle.js +3 -3
  133. package/tsparticles.confetti.bundle.min.js +1 -1
  134. package/tsparticles.confetti.bundle.min.js.LICENSE.txt +1 -1
  135. package/tsparticles.confetti.js +2 -2
  136. package/tsparticles.confetti.min.js +1 -1
  137. package/tsparticles.confetti.min.js.LICENSE.txt +1 -1
  138. package/umd/confetti.js +2 -2
  139. package/updaters_color_dist_browser_ColorUpdater_js.js +1 -1
  140. package/updaters_color_dist_browser_index_js.js +2 -2
  141. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  142. package/updaters_life_dist_browser_index_js.js +2 -2
  143. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  144. package/updaters_opacity_dist_browser_index_js.js +2 -2
  145. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  146. package/updaters_outModes_dist_browser_index_js.js +2 -2
  147. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  148. package/updaters_roll_dist_browser_index_js.js +2 -2
  149. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  150. package/updaters_rotate_dist_browser_index_js.js +2 -2
  151. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  152. package/updaters_size_dist_browser_index_js.js +2 -2
  153. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  154. package/updaters_tilt_dist_browser_index_js.js +2 -2
  155. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +1 -1
  156. package/updaters_wobble_dist_browser_index_js.js +2 -2
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadClubsCardsShape: () => (/* binding */ loadClubsCardsShape)\n/* harmony export */ });\nfunction loadClubsCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n ClubDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_clubs_ClubDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ClubDrawer.js */ \"../../shapes/cards/dist/browser/clubs/ClubDrawer.js\"));\n e.addShape(new ClubDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/clubs/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadClubsCardsShape: () => (/* binding */ loadClubsCardsShape)\n/* harmony export */ });\nfunction loadClubsCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n ClubDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_clubs_ClubDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ClubDrawer.js */ \"../../shapes/cards/dist/browser/clubs/ClubDrawer.js\"));\n e.addShape(new ClubDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/clubs/index.js?\n}");
27
27
 
28
28
  /***/ },
29
29
 
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \*********************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadDiamondsCardsShape: () => (/* binding */ loadDiamondsCardsShape)\n/* harmony export */ });\nfunction loadDiamondsCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n DiamondDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_diamonds_DiamondDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./DiamondDrawer.js */ \"../../shapes/cards/dist/browser/diamonds/DiamondDrawer.js\"));\n e.addShape(new DiamondDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/diamonds/index.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadDiamondsCardsShape: () => (/* binding */ loadDiamondsCardsShape)\n/* harmony export */ });\nfunction loadDiamondsCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n DiamondDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_diamonds_DiamondDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./DiamondDrawer.js */ \"../../shapes/cards/dist/browser/diamonds/DiamondDrawer.js\"));\n e.addShape(new DiamondDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/diamonds/index.js?\n}");
37
37
 
38
38
  /***/ },
39
39
 
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
43
43
  \*******************************************************/
44
44
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
45
 
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHeartsCardsShape: () => (/* binding */ loadHeartsCardsShape)\n/* harmony export */ });\nfunction loadHeartsCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n HeartDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_hearts_HeartDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HeartDrawer.js */ \"../../shapes/cards/dist/browser/hearts/HeartDrawer.js\"));\n e.addShape(new HeartDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/hearts/index.js?\n}");
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHeartsCardsShape: () => (/* binding */ loadHeartsCardsShape)\n/* harmony export */ });\nfunction loadHeartsCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n HeartDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_hearts_HeartDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HeartDrawer.js */ \"../../shapes/cards/dist/browser/hearts/HeartDrawer.js\"));\n e.addShape(new HeartDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/hearts/index.js?\n}");
47
47
 
48
48
  /***/ },
49
49
 
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
53
53
  \************************************************/
54
54
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
55
 
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCardsShape: () => (/* binding */ loadCardsShape),\n/* harmony export */ loadClubsCardsShape: () => (/* reexport safe */ _clubs_index_js__WEBPACK_IMPORTED_MODULE_0__.loadClubsCardsShape),\n/* harmony export */ loadDiamondsCardsShape: () => (/* reexport safe */ _diamonds_index_js__WEBPACK_IMPORTED_MODULE_1__.loadDiamondsCardsShape),\n/* harmony export */ loadHeartsCardsShape: () => (/* reexport safe */ _hearts_index_js__WEBPACK_IMPORTED_MODULE_2__.loadHeartsCardsShape),\n/* harmony export */ loadSpadesCardsShape: () => (/* reexport safe */ _spades_index_js__WEBPACK_IMPORTED_MODULE_3__.loadSpadesCardsShape)\n/* harmony export */ });\n/* harmony import */ var _clubs_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clubs/index.js */ \"../../shapes/cards/dist/browser/clubs/index.js\");\n/* harmony import */ var _diamonds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./diamonds/index.js */ \"../../shapes/cards/dist/browser/diamonds/index.js\");\n/* harmony import */ var _hearts_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hearts/index.js */ \"../../shapes/cards/dist/browser/hearts/index.js\");\n/* harmony import */ var _spades_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./spades/index.js */ \"../../shapes/cards/dist/browser/spades/index.js\");\nfunction loadCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n loadClubsCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./clubs/index.js */ \"../../shapes/cards/dist/browser/clubs/index.js\")),\n {\n loadDiamondsCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./diamonds/index.js */ \"../../shapes/cards/dist/browser/diamonds/index.js\")),\n {\n loadHeartsCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./hearts/index.js */ \"../../shapes/cards/dist/browser/hearts/index.js\")),\n {\n loadSpadesCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./spades/index.js */ \"../../shapes/cards/dist/browser/spades/index.js\"));\n loadClubsCardsShape(e);\n loadDiamondsCardsShape(e);\n loadHeartsCardsShape(e);\n loadSpadesCardsShape(e);\n });\n}\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/index.js?\n}");
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCardsShape: () => (/* binding */ loadCardsShape),\n/* harmony export */ loadClubsCardsShape: () => (/* reexport safe */ _clubs_index_js__WEBPACK_IMPORTED_MODULE_0__.loadClubsCardsShape),\n/* harmony export */ loadDiamondsCardsShape: () => (/* reexport safe */ _diamonds_index_js__WEBPACK_IMPORTED_MODULE_1__.loadDiamondsCardsShape),\n/* harmony export */ loadHeartsCardsShape: () => (/* reexport safe */ _hearts_index_js__WEBPACK_IMPORTED_MODULE_2__.loadHeartsCardsShape),\n/* harmony export */ loadSpadesCardsShape: () => (/* reexport safe */ _spades_index_js__WEBPACK_IMPORTED_MODULE_3__.loadSpadesCardsShape)\n/* harmony export */ });\n/* harmony import */ var _clubs_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clubs/index.js */ \"../../shapes/cards/dist/browser/clubs/index.js\");\n/* harmony import */ var _diamonds_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./diamonds/index.js */ \"../../shapes/cards/dist/browser/diamonds/index.js\");\n/* harmony import */ var _hearts_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hearts/index.js */ \"../../shapes/cards/dist/browser/hearts/index.js\");\n/* harmony import */ var _spades_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./spades/index.js */ \"../../shapes/cards/dist/browser/spades/index.js\");\nfunction loadCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n loadClubsCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./clubs/index.js */ \"../../shapes/cards/dist/browser/clubs/index.js\")),\n {\n loadDiamondsCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./diamonds/index.js */ \"../../shapes/cards/dist/browser/diamonds/index.js\")),\n {\n loadHeartsCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./hearts/index.js */ \"../../shapes/cards/dist/browser/hearts/index.js\")),\n {\n loadSpadesCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./spades/index.js */ \"../../shapes/cards/dist/browser/spades/index.js\"));\n loadClubsCardsShape(e);\n loadDiamondsCardsShape(e);\n loadHeartsCardsShape(e);\n loadSpadesCardsShape(e);\n });\n}\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/index.js?\n}");
57
57
 
58
58
  /***/ },
59
59
 
@@ -63,7 +63,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
63
63
  \*******************************************************/
64
64
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
65
 
66
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSpadesCardsShape: () => (/* binding */ loadSpadesCardsShape)\n/* harmony export */ });\nfunction loadSpadesCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n SpadeDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_spades_SpadeDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SpadeDrawer.js */ \"../../shapes/cards/dist/browser/spades/SpadeDrawer.js\"));\n e.addShape(new SpadeDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/spades/index.js?\n}");
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSpadesCardsShape: () => (/* binding */ loadSpadesCardsShape)\n/* harmony export */ });\nfunction loadSpadesCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n SpadeDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_spades_SpadeDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SpadeDrawer.js */ \"../../shapes/cards/dist/browser/spades/SpadeDrawer.js\"));\n e.addShape(new SpadeDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/spades/index.js?\n}");
67
67
 
68
68
  /***/ }
69
69
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nfunction loadCircleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n CircleDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_CircleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\"));\n e.addShape(new CircleDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/circle/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nfunction loadCircleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n CircleDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_CircleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\"));\n e.addShape(new CircleDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/circle/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\nfunction loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n EmojiDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n e.addShape(new EmojiDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/emoji/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\nfunction loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n EmojiDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n e.addShape(new EmojiDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/emoji/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadHeartShape: () => (/* binding */ loadHeartShape)\n/* harmony export */ });\nfunction loadHeartShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n HeartDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_heart_dist_browser_HeartDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HeartDrawer.js */ \"../../shapes/heart/dist/browser/HeartDrawer.js\"));\n e.addShape(new HeartDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/heart/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHeartShape: () => (/* binding */ loadHeartShape)\n/* harmony export */ });\nfunction loadHeartShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n HeartDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_heart_dist_browser_HeartDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HeartDrawer.js */ \"../../shapes/heart/dist/browser/HeartDrawer.js\"));\n e.addShape(new HeartDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/heart/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\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(\"No image source provided\");\n }\n engine.images ??= [];\n if (engine.images.some(t => t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif,\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 if (data.replaceColor) {\n const {\n downloadSvgImage\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = downloadSvgImage;\n } else {\n const {\n loadImage\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${data.name ?? data.src} not found`);\n }\n };\n}\nfunction loadImageShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\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 {\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 addLoadImageToEngine(e);\n const preloader = new ImagePreloaderPlugin();\n e.addPlugin(preloader);\n e.addShape(new ImageDrawer(e));\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\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(\"No image source provided\");\n }\n engine.images ??= [];\n if (engine.images.some(t => t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif,\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 if (data.replaceColor) {\n const {\n downloadSvgImage\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = downloadSvgImage;\n } else {\n const {\n loadImage\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${data.name ?? data.src} not found`);\n }\n };\n}\nfunction loadImageShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\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 {\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 addLoadImageToEngine(e);\n const preloader = new ImagePreloaderPlugin();\n e.addPlugin(preloader);\n e.addShape(new ImageDrawer(e));\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadGenericPolygonShape: () => (/* binding */ loadGenericPolygonShape),\n/* harmony export */ loadPolygonShape: () => (/* binding */ loadPolygonShape),\n/* harmony export */ loadTriangleShape: () => (/* binding */ loadTriangleShape)\n/* harmony export */ });\nfunction loadGenericPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n PolygonDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_PolygonDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./PolygonDrawer.js */ \"../../shapes/polygon/dist/browser/PolygonDrawer.js\"));\n e.addShape(new PolygonDrawer());\n });\n}\nfunction loadTriangleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n TriangleDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_TriangleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TriangleDrawer.js */ \"../../shapes/polygon/dist/browser/TriangleDrawer.js\"));\n e.addShape(new TriangleDrawer());\n });\n}\nfunction loadPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(e => {\n loadGenericPolygonShape(e);\n loadTriangleShape(e);\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadGenericPolygonShape: () => (/* binding */ loadGenericPolygonShape),\n/* harmony export */ loadPolygonShape: () => (/* binding */ loadPolygonShape),\n/* harmony export */ loadTriangleShape: () => (/* binding */ loadTriangleShape)\n/* harmony export */ });\nfunction loadGenericPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n PolygonDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_PolygonDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./PolygonDrawer.js */ \"../../shapes/polygon/dist/browser/PolygonDrawer.js\"));\n e.addShape(new PolygonDrawer());\n });\n}\nfunction loadTriangleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n TriangleDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_TriangleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TriangleDrawer.js */ \"../../shapes/polygon/dist/browser/TriangleDrawer.js\"));\n e.addShape(new TriangleDrawer());\n });\n}\nfunction loadPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(e => {\n loadGenericPolygonShape(e);\n loadTriangleShape(e);\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadSquareShape: () => (/* binding */ loadSquareShape)\n/* harmony export */ });\nfunction loadSquareShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n SquareDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_SquareDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SquareDrawer.js */ \"../../shapes/square/dist/browser/SquareDrawer.js\"));\n e.addShape(new SquareDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/square/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSquareShape: () => (/* binding */ loadSquareShape)\n/* harmony export */ });\nfunction loadSquareShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n SquareDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_SquareDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SquareDrawer.js */ \"../../shapes/square/dist/browser/SquareDrawer.js\"));\n e.addShape(new SquareDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/square/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
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 */ loadStarShape: () => (/* binding */ loadStarShape)\n/* harmony export */ });\nfunction loadStarShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n StarDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_StarDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./StarDrawer.js */ \"../../shapes/star/dist/browser/StarDrawer.js\"));\n e.addShape(new StarDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/star/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadStarShape: () => (/* binding */ loadStarShape)\n/* harmony export */ });\nfunction loadStarShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n StarDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_StarDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./StarDrawer.js */ \"../../shapes/star/dist/browser/StarDrawer.js\"));\n e.addShape(new StarDrawer());\n });\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/star/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.0
7
+ * v4.0.0-alpha.1
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -34,7 +34,7 @@ return /******/ (() => { // webpackBootstrap
34
34
  \************************************************/
35
35
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
36
36
 
37
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\nasync function getItemsFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n res = await Promise.all([...initializers.values()].map(t => t(container)));\n map.set(container, res);\n }\n return res;\n}\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)().error(`${response.status.toString()} while retrieving config file`);\n return data.fallback;\n}\nconst getCanvasFromContainer = domContainer => {\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag) {\n canvasEl = domContainer;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] ??= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n const existingCanvases = domContainer.getElementsByTagName(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag),\n foundCanvas = existingCanvases[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasFirstIndex];\n if (foundCanvas) {\n canvasEl = foundCanvas;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n canvasEl = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().createElement(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n const fullPercent = \"100%\";\n if (!canvasEl.style.width) {\n canvasEl.style.width = fullPercent;\n }\n if (!canvasEl.style.height) {\n canvasEl.style.height = fullPercent;\n }\n return canvasEl;\n },\n getDomContainer = (id, source) => {\n let domContainer = source ?? (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().createElement(\"div\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().body.append(domContainer);\n return domContainer;\n };\nclass Engine {\n constructor() {\n this._configs = new Map();\n this._domArray = [];\n this._eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__.EventDispatcher();\n this._initialized = false;\n this._loadPromises = new Set();\n this.plugins = [];\n this.colorManagers = new Map();\n this.easingFunctions = new Map();\n this._initializers = {\n interactors: new Map(),\n movers: new Map(),\n updaters: new Map()\n };\n this.interactors = new Map();\n this.movers = new Map();\n this.updaters = new Map();\n this.presets = new Map();\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.pathGenerators = new Map();\n }\n get configs() {\n const res = {};\n for (const [name, config] of this._configs) {\n res[name] = config;\n }\n return res;\n }\n get items() {\n return this._domArray;\n }\n get version() {\n return \"4.0.0-alpha.0\";\n }\n addColorManager(manager) {\n this.colorManagers.set(manager.key, manager);\n }\n addConfig(config) {\n const key = config.key ?? config.name ?? \"default\";\n this._configs.set(key, config);\n this._eventDispatcher.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_3__.EventType.configAdded, {\n data: {\n name: key,\n config\n }\n });\n }\n addEasing(name, easing) {\n if (this.easingFunctions.get(name)) {\n return;\n }\n this.easingFunctions.set(name, easing);\n }\n addEffect(effect, drawer) {\n if (this.getEffectDrawer(effect)) {\n return;\n }\n this.effectDrawers.set(effect, drawer);\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n addInteractor(name, interactorInitializer) {\n this._initializers.interactors.set(name, interactorInitializer);\n }\n addMover(name, moverInitializer) {\n this._initializers.movers.set(name, moverInitializer);\n }\n addParticleUpdater(name, updaterInitializer) {\n this._initializers.updaters.set(name, updaterInitializer);\n }\n addPathGenerator(name, generator) {\n if (this.getPathGenerator(name)) {\n return;\n }\n this.pathGenerators.set(name, generator);\n }\n addPlugin(plugin) {\n if (this.getPlugin(plugin.id)) {\n return;\n }\n this.plugins.push(plugin);\n }\n addPreset(preset, options, override = false) {\n if (!(override || !this.getPreset(preset))) {\n return;\n }\n this.presets.set(preset, options);\n }\n addShape(drawer) {\n for (const validType of drawer.validTypes) {\n if (this.getShapeDrawer(validType)) {\n continue;\n }\n this.shapeDrawers.set(validType, drawer);\n }\n }\n checkVersion(pluginVersion) {\n if (this.version === pluginVersion) {\n return;\n }\n throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${pluginVersion}`);\n }\n clearPlugins(container) {\n this.updaters.delete(container);\n this.movers.delete(container);\n this.interactors.delete(container);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n dom() {\n return this.items;\n }\n domItem(index) {\n return this.item(index);\n }\n async getAvailablePlugins(container) {\n const res = new Map();\n for (const plugin of this.plugins) {\n if (plugin.needsPlugin(container.actualOptions)) {\n res.set(plugin.id, await plugin.getPlugin(container));\n }\n }\n return res;\n }\n getEasing(name) {\n return this.easingFunctions.get(name) ?? (value => value);\n }\n getEffectDrawer(type) {\n return this.effectDrawers.get(type);\n }\n async getInteractors(container, force = false) {\n return getItemsFromInitializer(container, this.interactors, this._initializers.interactors, force);\n }\n async getMovers(container, force = false) {\n return getItemsFromInitializer(container, this.movers, this._initializers.movers, force);\n }\n getPathGenerator(type) {\n return this.pathGenerators.get(type);\n }\n getPlugin(plugin) {\n return this.plugins.find(t => t.id === plugin);\n }\n getPreset(preset) {\n return this.presets.get(preset);\n }\n getShapeDrawer(type) {\n return this.shapeDrawers.get(type);\n }\n getSupportedEffects() {\n return this.effectDrawers.keys();\n }\n getSupportedShapes() {\n return this.shapeDrawers.keys();\n }\n async getUpdaters(container, force = false) {\n return getItemsFromInitializer(container, this.updaters, this._initializers.updaters, force);\n }\n async init() {\n if (this._initialized) {\n return;\n }\n for (const loadPromise of this._loadPromises) {\n await loadPromise(this);\n }\n this._loadPromises.clear();\n this._initialized = true;\n }\n item(index) {\n const {\n items\n } = this,\n item = items[index];\n if (item?.destroyed) {\n items.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n await this.init();\n const {\n Container\n } = await __webpack_require__.e(/*! import() */ \"engine_dist_browser_Core_Container_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\")),\n id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadRandomFactor).toString()}`,\n {\n index,\n url\n } = params,\n options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options,\n currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index),\n {\n items\n } = this,\n oldIndex = items.findIndex(v => v.id.description === id),\n newItem = new Container(this, id, currentOptions);\n if (oldIndex >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadMinIndex) {\n const old = this.item(oldIndex),\n deleteCount = old ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.one : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element),\n canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n loadOptions(options, sourceOptions) {\n this.plugins.forEach(plugin => {\n plugin.loadOptions(options, sourceOptions);\n });\n }\n loadParticlesOptions(container, options, ...sourceOptions) {\n const updaters = this.updaters.get(container);\n if (!updaters) {\n return;\n }\n updaters.forEach(updater => updater.loadOptions?.(options, ...sourceOptions));\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map(t => t.refresh()));\n }\n register(...loadPromises) {\n if (this._initialized) {\n throw new Error(`Register plugins can only be done before calling tsParticles.load()`);\n }\n for (const loadPromise of loadPromises) {\n this._loadPromises.add(loadPromise);\n }\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n setOnClickHandler(callback) {\n const {\n items\n } = this;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach(item => {\n item.addClickHandler(callback);\n });\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Engine.js?\n}");
37
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\nasync function getItemsFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n res = await Promise.all([...initializers.values()].map(t => t(container)));\n map.set(container, res);\n }\n return res;\n}\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)().error(`${response.status.toString()} while retrieving config file`);\n return data.fallback;\n}\nconst getCanvasFromContainer = domContainer => {\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag) {\n canvasEl = domContainer;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] ??= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n const existingCanvases = domContainer.getElementsByTagName(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag),\n foundCanvas = existingCanvases[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasFirstIndex];\n if (foundCanvas) {\n canvasEl = foundCanvas;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n canvasEl = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().createElement(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n const fullPercent = \"100%\";\n if (!canvasEl.style.width) {\n canvasEl.style.width = fullPercent;\n }\n if (!canvasEl.style.height) {\n canvasEl.style.height = fullPercent;\n }\n return canvasEl;\n },\n getDomContainer = (id, source) => {\n let domContainer = source ?? (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().createElement(\"div\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)().body.append(domContainer);\n return domContainer;\n };\nclass Engine {\n constructor() {\n this._configs = new Map();\n this._domArray = [];\n this._eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__.EventDispatcher();\n this._initialized = false;\n this._loadPromises = new Set();\n this.plugins = [];\n this.colorManagers = new Map();\n this.easingFunctions = new Map();\n this._initializers = {\n interactors: new Map(),\n movers: new Map(),\n updaters: new Map()\n };\n this.interactors = new Map();\n this.movers = new Map();\n this.updaters = new Map();\n this.presets = new Map();\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.pathGenerators = new Map();\n }\n get configs() {\n const res = {};\n for (const [name, config] of this._configs) {\n res[name] = config;\n }\n return res;\n }\n get items() {\n return this._domArray;\n }\n get version() {\n return \"4.0.0-alpha.1\";\n }\n addColorManager(manager) {\n this.colorManagers.set(manager.key, manager);\n }\n addConfig(config) {\n const key = config.key ?? config.name ?? \"default\";\n this._configs.set(key, config);\n this._eventDispatcher.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_3__.EventType.configAdded, {\n data: {\n name: key,\n config\n }\n });\n }\n addEasing(name, easing) {\n if (this.easingFunctions.get(name)) {\n return;\n }\n this.easingFunctions.set(name, easing);\n }\n addEffect(effect, drawer) {\n if (this.getEffectDrawer(effect)) {\n return;\n }\n this.effectDrawers.set(effect, drawer);\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n addInteractor(name, interactorInitializer) {\n this._initializers.interactors.set(name, interactorInitializer);\n }\n addMover(name, moverInitializer) {\n this._initializers.movers.set(name, moverInitializer);\n }\n addParticleUpdater(name, updaterInitializer) {\n this._initializers.updaters.set(name, updaterInitializer);\n }\n addPathGenerator(name, generator) {\n if (this.getPathGenerator(name)) {\n return;\n }\n this.pathGenerators.set(name, generator);\n }\n addPlugin(plugin) {\n if (this.getPlugin(plugin.id)) {\n return;\n }\n this.plugins.push(plugin);\n }\n addPreset(preset, options, override = false) {\n if (!(override || !this.getPreset(preset))) {\n return;\n }\n this.presets.set(preset, options);\n }\n addShape(drawer) {\n for (const validType of drawer.validTypes) {\n if (this.getShapeDrawer(validType)) {\n continue;\n }\n this.shapeDrawers.set(validType, drawer);\n }\n }\n checkVersion(pluginVersion) {\n if (this.version === pluginVersion) {\n return;\n }\n throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${pluginVersion}`);\n }\n clearPlugins(container) {\n this.updaters.delete(container);\n this.movers.delete(container);\n this.interactors.delete(container);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n dom() {\n return this.items;\n }\n domItem(index) {\n return this.item(index);\n }\n async getAvailablePlugins(container) {\n const res = new Map();\n for (const plugin of this.plugins) {\n if (plugin.needsPlugin(container.actualOptions)) {\n res.set(plugin.id, await plugin.getPlugin(container));\n }\n }\n return res;\n }\n getEasing(name) {\n return this.easingFunctions.get(name) ?? (value => value);\n }\n getEffectDrawer(type) {\n return this.effectDrawers.get(type);\n }\n async getInteractors(container, force = false) {\n return getItemsFromInitializer(container, this.interactors, this._initializers.interactors, force);\n }\n async getMovers(container, force = false) {\n return getItemsFromInitializer(container, this.movers, this._initializers.movers, force);\n }\n getPathGenerator(type) {\n return this.pathGenerators.get(type);\n }\n getPlugin(plugin) {\n return this.plugins.find(t => t.id === plugin);\n }\n getPreset(preset) {\n return this.presets.get(preset);\n }\n getShapeDrawer(type) {\n return this.shapeDrawers.get(type);\n }\n getSupportedEffects() {\n return this.effectDrawers.keys();\n }\n getSupportedShapes() {\n return this.shapeDrawers.keys();\n }\n async getUpdaters(container, force = false) {\n return getItemsFromInitializer(container, this.updaters, this._initializers.updaters, force);\n }\n async init() {\n if (this._initialized) {\n return;\n }\n for (const loadPromise of this._loadPromises) {\n await loadPromise(this);\n }\n this._loadPromises.clear();\n this._initialized = true;\n }\n item(index) {\n const {\n items\n } = this,\n item = items[index];\n if (item?.destroyed) {\n items.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n await this.init();\n const {\n Container\n } = await __webpack_require__.e(/*! import() */ \"engine_dist_browser_Core_Container_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\")),\n id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadRandomFactor).toString()}`,\n {\n index,\n url\n } = params,\n options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options,\n currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index),\n {\n items\n } = this,\n oldIndex = items.findIndex(v => v.id.description === id),\n newItem = new Container(this, id, currentOptions);\n if (oldIndex >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadMinIndex) {\n const old = this.item(oldIndex),\n deleteCount = old ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.one : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element),\n canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n loadOptions(options, sourceOptions) {\n this.plugins.forEach(plugin => {\n plugin.loadOptions(options, sourceOptions);\n });\n }\n loadParticlesOptions(container, options, ...sourceOptions) {\n const updaters = this.updaters.get(container);\n if (!updaters) {\n return;\n }\n updaters.forEach(updater => updater.loadOptions?.(options, ...sourceOptions));\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map(t => t.refresh()));\n }\n register(...loadPromises) {\n if (this._initialized) {\n throw new Error(`Register plugins can only be done before calling tsParticles.load()`);\n }\n for (const loadPromise of loadPromises) {\n this._loadPromises.add(loadPromise);\n }\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n setOnClickHandler(callback) {\n const {\n items\n } = this;\n if (!items.length) {\n throw new Error(\"Click handlers can only be set after calling tsParticles.load()\");\n }\n items.forEach(item => {\n item.addClickHandler(callback);\n });\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Engine.js?\n}");
38
38
 
39
39
  /***/ },
40
40
 
@@ -874,7 +874,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
874
874
  \**********************************/
875
875
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
876
876
 
877
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ confetti: () => (/* binding */ confetti)\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 _ConfettiOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ConfettiOptions.js */ \"./dist/browser/ConfettiOptions.js\");\n\n\nconst defaultGravity = 9.81,\n sizeFactor = 5,\n speedFactor = 3,\n decayOffset = 1,\n disableRotate = 0,\n disableTilt = 0;\nlet initialized = false;\nlet initializing = false;\nconst ids = new Map();\nasync function initPlugins(engine) {\n if (initialized) {\n return;\n }\n if (initializing) {\n return new Promise(resolve => {\n const timeout = 100,\n interval = setInterval(() => {\n if (!initialized) {\n return;\n }\n clearInterval(interval);\n resolve();\n }, timeout);\n });\n }\n initializing = true;\n engine.checkVersion(\"4.0.0-alpha.0\");\n engine.register(async e => {\n const {\n loadEmittersPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\")),\n {\n loadMotionPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_motion_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-motion */ \"../../plugins/motion/dist/browser/index.js\")),\n {\n loadCardsShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-cards */ \"../../shapes/cards/dist/browser/index.js\")),\n {\n loadHeartShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_heart_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-heart */ \"../../shapes/heart/dist/browser/index.js\")),\n {\n loadImageShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-image */ \"../../shapes/image/dist/browser/index.js\")),\n {\n loadPolygonShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-polygon */ \"../../shapes/polygon/dist/browser/index.js\")),\n {\n loadSquareShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-square */ \"../../shapes/square/dist/browser/index.js\")),\n {\n loadStarShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-star */ \"../../shapes/star/dist/browser/index.js\")),\n {\n loadEmojiShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-emoji */ \"../../shapes/emoji/dist/browser/index.js\")),\n {\n loadRotateUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_rotate_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-rotate */ \"../../updaters/rotate/dist/browser/index.js\")),\n {\n loadLifeUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_life_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-life */ \"../../updaters/life/dist/browser/index.js\")),\n {\n loadRollUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-roll */ \"../../updaters/roll/dist/browser/index.js\")),\n {\n loadTiltUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_tilt_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-tilt */ \"../../updaters/tilt/dist/browser/index.js\")),\n {\n loadWobbleUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_wobble_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-wobble */ \"../../updaters/wobble/dist/browser/index.js\")),\n {\n loadBasic\n } = await __webpack_require__.e(/*! import() */ \"basic_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/basic */ \"../basic/dist/browser/index.js\"));\n loadEmittersPlugin(e);\n loadMotionPlugin(e);\n loadCardsShape(e);\n loadHeartShape(e);\n loadImageShape(e);\n loadPolygonShape(e);\n loadSquareShape(e);\n loadStarShape(e);\n loadEmojiShape(e);\n loadRotateUpdater(e);\n loadLifeUpdater(e);\n loadRollUpdater(e);\n loadTiltUpdater(e);\n loadWobbleUpdater(e);\n loadBasic(e);\n });\n initializing = false;\n initialized = true;\n}\nasync function setConfetti(params) {\n const actualOptions = new _ConfettiOptions_js__WEBPACK_IMPORTED_MODULE_1__.ConfettiOptions();\n actualOptions.load(params.options);\n let container;\n const fpsLimit = 120,\n fpsLimitFactor = 3.6,\n opacitySpeed = actualOptions.ticks * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / (fpsLimitFactor * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds * fpsLimit);\n if (ids.has(params.id)) {\n container = ids.get(params.id);\n if (container && !container.destroyed) {\n const alias = container;\n if (Object.hasOwn(alias, \"addEmitter\")) {\n await alias.addEmitter({\n startCount: actualOptions.count,\n position: actualOptions.position,\n size: {\n width: 0,\n height: 0\n },\n rate: {\n delay: 0,\n quantity: 0\n },\n life: {\n duration: 0.1,\n count: 1\n },\n particles: {\n color: {\n value: actualOptions.colors\n },\n shape: {\n type: actualOptions.shapes,\n options: actualOptions.shapeOptions\n },\n life: {\n count: 1\n },\n opacity: {\n value: {\n min: 0,\n max: 1\n },\n animation: {\n enable: true,\n sync: true,\n speed: opacitySpeed,\n startValue: \"max\",\n destroy: \"min\"\n }\n },\n size: {\n value: sizeFactor * actualOptions.scalar\n },\n move: {\n angle: {\n value: actualOptions.spread,\n offset: 0\n },\n drift: {\n min: -actualOptions.drift,\n max: actualOptions.drift\n },\n gravity: {\n acceleration: actualOptions.gravity * defaultGravity\n },\n speed: actualOptions.startVelocity * speedFactor,\n decay: decayOffset - actualOptions.decay,\n direction: -actualOptions.angle\n },\n rotate: {\n value: actualOptions.flat ? disableRotate : {\n min: 0,\n max: 360\n },\n direction: \"random\",\n animation: {\n enable: !actualOptions.flat,\n speed: 60\n }\n },\n tilt: {\n direction: \"random\",\n enable: !actualOptions.flat,\n value: actualOptions.flat ? disableTilt : {\n min: 0,\n max: 360\n },\n animation: {\n enable: true,\n speed: 60\n }\n },\n roll: {\n darken: {\n enable: true,\n value: 25\n },\n enable: !actualOptions.flat,\n speed: {\n min: 15,\n max: 25\n }\n },\n wobble: {\n distance: 30,\n enable: !actualOptions.flat,\n speed: {\n min: -15,\n max: 15\n }\n }\n }\n });\n return;\n }\n }\n }\n const particlesOptions = {\n fullScreen: {\n enable: !params.canvas,\n zIndex: actualOptions.zIndex\n },\n fpsLimit: 120,\n particles: {\n number: {\n value: 0\n },\n color: {\n value: actualOptions.colors\n },\n shape: {\n type: actualOptions.shapes,\n options: actualOptions.shapeOptions\n },\n opacity: {\n value: {\n min: 0,\n max: 1\n },\n animation: {\n enable: true,\n sync: true,\n speed: opacitySpeed,\n startValue: \"max\",\n destroy: \"min\"\n }\n },\n size: {\n value: sizeFactor * actualOptions.scalar\n },\n links: {\n enable: false\n },\n life: {\n count: 1\n },\n move: {\n angle: {\n value: actualOptions.spread,\n offset: 0\n },\n drift: {\n min: -actualOptions.drift,\n max: actualOptions.drift\n },\n enable: true,\n gravity: {\n enable: true,\n acceleration: actualOptions.gravity * defaultGravity\n },\n speed: actualOptions.startVelocity * speedFactor,\n decay: decayOffset - actualOptions.decay,\n direction: -actualOptions.angle,\n random: true,\n straight: false,\n outModes: {\n default: \"none\",\n bottom: \"destroy\"\n }\n },\n rotate: {\n value: actualOptions.flat ? disableRotate : {\n min: 0,\n max: 360\n },\n direction: \"random\",\n animation: {\n enable: !actualOptions.flat,\n speed: 60\n }\n },\n tilt: {\n direction: \"random\",\n enable: !actualOptions.flat,\n value: actualOptions.flat ? disableTilt : {\n min: 0,\n max: 360\n },\n animation: {\n enable: true,\n speed: 60\n }\n },\n roll: {\n darken: {\n enable: true,\n value: 25\n },\n enable: !actualOptions.flat,\n speed: {\n min: 15,\n max: 25\n }\n },\n wobble: {\n distance: 30,\n enable: !actualOptions.flat,\n speed: {\n min: -15,\n max: 15\n }\n }\n },\n motion: {\n disable: actualOptions.disableForReducedMotion\n },\n emitters: {\n name: \"confetti\",\n startCount: actualOptions.count,\n position: actualOptions.position,\n size: {\n width: 0,\n height: 0\n },\n rate: {\n delay: 0,\n quantity: 0\n },\n life: {\n duration: 0.1,\n count: 1\n }\n }\n };\n container = await _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.load({\n id: params.id,\n element: params.canvas,\n options: particlesOptions\n });\n ids.set(params.id, container);\n return container;\n}\nasync function confetti(idOrOptions, confettiOptions) {\n await initPlugins(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles);\n let options;\n let id;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(idOrOptions)) {\n id = idOrOptions;\n options = confettiOptions ?? {};\n } else {\n id = \"confetti\";\n options = idOrOptions;\n }\n return setConfetti({\n id,\n options\n });\n}\nconfetti.create = async (canvas, options) => {\n await initPlugins(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles);\n const id = canvas.getAttribute(\"id\") ?? \"confetti\";\n canvas.setAttribute(\"id\", id);\n return async (idOrOptions, confettiOptions) => {\n let subOptions;\n let subId;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(idOrOptions)) {\n subId = idOrOptions;\n subOptions = confettiOptions ?? options;\n } else {\n subId = id;\n subOptions = idOrOptions;\n }\n return setConfetti({\n id: subId,\n canvas,\n options: subOptions\n });\n };\n};\nconfetti.init = async () => {\n await initPlugins(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles);\n};\nconfetti.version = \"4.0.0-alpha.0\";\nglobalThis.confetti = confetti;\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/confetti.js?\n}");
877
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ confetti: () => (/* binding */ confetti)\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 _ConfettiOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ConfettiOptions.js */ \"./dist/browser/ConfettiOptions.js\");\n\n\nconst defaultGravity = 9.81,\n sizeFactor = 5,\n speedFactor = 3,\n decayOffset = 1,\n disableRotate = 0,\n disableTilt = 0;\nlet initialized = false;\nlet initializing = false;\nconst ids = new Map();\nasync function initPlugins(engine) {\n if (initialized) {\n return;\n }\n if (initializing) {\n return new Promise(resolve => {\n const timeout = 100,\n interval = setInterval(() => {\n if (!initialized) {\n return;\n }\n clearInterval(interval);\n resolve();\n }, timeout);\n });\n }\n initializing = true;\n engine.checkVersion(\"4.0.0-alpha.1\");\n engine.register(async e => {\n const {\n loadEmittersPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\")),\n {\n loadMotionPlugin\n } = await __webpack_require__.e(/*! import() */ \"plugins_motion_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-motion */ \"../../plugins/motion/dist/browser/index.js\")),\n {\n loadCardsShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_cards_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-cards */ \"../../shapes/cards/dist/browser/index.js\")),\n {\n loadHeartShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_heart_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-heart */ \"../../shapes/heart/dist/browser/index.js\")),\n {\n loadImageShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-image */ \"../../shapes/image/dist/browser/index.js\")),\n {\n loadPolygonShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-polygon */ \"../../shapes/polygon/dist/browser/index.js\")),\n {\n loadSquareShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-square */ \"../../shapes/square/dist/browser/index.js\")),\n {\n loadStarShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-star */ \"../../shapes/star/dist/browser/index.js\")),\n {\n loadEmojiShape\n } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-emoji */ \"../../shapes/emoji/dist/browser/index.js\")),\n {\n loadRotateUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_rotate_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-rotate */ \"../../updaters/rotate/dist/browser/index.js\")),\n {\n loadLifeUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_life_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-life */ \"../../updaters/life/dist/browser/index.js\")),\n {\n loadRollUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_roll_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-roll */ \"../../updaters/roll/dist/browser/index.js\")),\n {\n loadTiltUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_tilt_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-tilt */ \"../../updaters/tilt/dist/browser/index.js\")),\n {\n loadWobbleUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_wobble_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-wobble */ \"../../updaters/wobble/dist/browser/index.js\")),\n {\n loadBasic\n } = await __webpack_require__.e(/*! import() */ \"basic_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/basic */ \"../basic/dist/browser/index.js\"));\n loadEmittersPlugin(e);\n loadMotionPlugin(e);\n loadCardsShape(e);\n loadHeartShape(e);\n loadImageShape(e);\n loadPolygonShape(e);\n loadSquareShape(e);\n loadStarShape(e);\n loadEmojiShape(e);\n loadRotateUpdater(e);\n loadLifeUpdater(e);\n loadRollUpdater(e);\n loadTiltUpdater(e);\n loadWobbleUpdater(e);\n loadBasic(e);\n });\n initializing = false;\n initialized = true;\n}\nasync function setConfetti(params) {\n const actualOptions = new _ConfettiOptions_js__WEBPACK_IMPORTED_MODULE_1__.ConfettiOptions();\n actualOptions.load(params.options);\n let container;\n const fpsLimit = 120,\n fpsLimitFactor = 3.6,\n opacitySpeed = actualOptions.ticks * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / (fpsLimitFactor * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds * fpsLimit);\n if (ids.has(params.id)) {\n container = ids.get(params.id);\n if (container && !container.destroyed) {\n const alias = container;\n if (Object.hasOwn(alias, \"addEmitter\")) {\n await alias.addEmitter({\n startCount: actualOptions.count,\n position: actualOptions.position,\n size: {\n width: 0,\n height: 0\n },\n rate: {\n delay: 0,\n quantity: 0\n },\n life: {\n duration: 0.1,\n count: 1\n },\n particles: {\n color: {\n value: actualOptions.colors\n },\n shape: {\n type: actualOptions.shapes,\n options: actualOptions.shapeOptions\n },\n life: {\n count: 1\n },\n opacity: {\n value: {\n min: 0,\n max: 1\n },\n animation: {\n enable: true,\n sync: true,\n speed: opacitySpeed,\n startValue: \"max\",\n destroy: \"min\"\n }\n },\n size: {\n value: sizeFactor * actualOptions.scalar\n },\n move: {\n angle: {\n value: actualOptions.spread,\n offset: 0\n },\n drift: {\n min: -actualOptions.drift,\n max: actualOptions.drift\n },\n gravity: {\n acceleration: actualOptions.gravity * defaultGravity\n },\n speed: actualOptions.startVelocity * speedFactor,\n decay: decayOffset - actualOptions.decay,\n direction: -actualOptions.angle\n },\n rotate: {\n value: actualOptions.flat ? disableRotate : {\n min: 0,\n max: 360\n },\n direction: \"random\",\n animation: {\n enable: !actualOptions.flat,\n speed: 60\n }\n },\n tilt: {\n direction: \"random\",\n enable: !actualOptions.flat,\n value: actualOptions.flat ? disableTilt : {\n min: 0,\n max: 360\n },\n animation: {\n enable: true,\n speed: 60\n }\n },\n roll: {\n darken: {\n enable: true,\n value: 25\n },\n enable: !actualOptions.flat,\n speed: {\n min: 15,\n max: 25\n }\n },\n wobble: {\n distance: 30,\n enable: !actualOptions.flat,\n speed: {\n min: -15,\n max: 15\n }\n }\n }\n });\n return;\n }\n }\n }\n const particlesOptions = {\n fullScreen: {\n enable: !params.canvas,\n zIndex: actualOptions.zIndex\n },\n fpsLimit: 120,\n particles: {\n number: {\n value: 0\n },\n color: {\n value: actualOptions.colors\n },\n shape: {\n type: actualOptions.shapes,\n options: actualOptions.shapeOptions\n },\n opacity: {\n value: {\n min: 0,\n max: 1\n },\n animation: {\n enable: true,\n sync: true,\n speed: opacitySpeed,\n startValue: \"max\",\n destroy: \"min\"\n }\n },\n size: {\n value: sizeFactor * actualOptions.scalar\n },\n links: {\n enable: false\n },\n life: {\n count: 1\n },\n move: {\n angle: {\n value: actualOptions.spread,\n offset: 0\n },\n drift: {\n min: -actualOptions.drift,\n max: actualOptions.drift\n },\n enable: true,\n gravity: {\n enable: true,\n acceleration: actualOptions.gravity * defaultGravity\n },\n speed: actualOptions.startVelocity * speedFactor,\n decay: decayOffset - actualOptions.decay,\n direction: -actualOptions.angle,\n random: true,\n straight: false,\n outModes: {\n default: \"none\",\n bottom: \"destroy\"\n }\n },\n rotate: {\n value: actualOptions.flat ? disableRotate : {\n min: 0,\n max: 360\n },\n direction: \"random\",\n animation: {\n enable: !actualOptions.flat,\n speed: 60\n }\n },\n tilt: {\n direction: \"random\",\n enable: !actualOptions.flat,\n value: actualOptions.flat ? disableTilt : {\n min: 0,\n max: 360\n },\n animation: {\n enable: true,\n speed: 60\n }\n },\n roll: {\n darken: {\n enable: true,\n value: 25\n },\n enable: !actualOptions.flat,\n speed: {\n min: 15,\n max: 25\n }\n },\n wobble: {\n distance: 30,\n enable: !actualOptions.flat,\n speed: {\n min: -15,\n max: 15\n }\n }\n },\n motion: {\n disable: actualOptions.disableForReducedMotion\n },\n emitters: {\n name: \"confetti\",\n startCount: actualOptions.count,\n position: actualOptions.position,\n size: {\n width: 0,\n height: 0\n },\n rate: {\n delay: 0,\n quantity: 0\n },\n life: {\n duration: 0.1,\n count: 1\n }\n }\n };\n container = await _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.load({\n id: params.id,\n element: params.canvas,\n options: particlesOptions\n });\n ids.set(params.id, container);\n return container;\n}\nasync function confetti(idOrOptions, confettiOptions) {\n await initPlugins(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles);\n let options;\n let id;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(idOrOptions)) {\n id = idOrOptions;\n options = confettiOptions ?? {};\n } else {\n id = \"confetti\";\n options = idOrOptions;\n }\n return setConfetti({\n id,\n options\n });\n}\nconfetti.create = async (canvas, options) => {\n await initPlugins(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles);\n const id = canvas.getAttribute(\"id\") ?? \"confetti\";\n canvas.setAttribute(\"id\", id);\n return async (idOrOptions, confettiOptions) => {\n let subOptions;\n let subId;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isString)(idOrOptions)) {\n subId = idOrOptions;\n subOptions = confettiOptions ?? options;\n } else {\n subId = id;\n subOptions = idOrOptions;\n }\n return setConfetti({\n id: subId,\n canvas,\n options: subOptions\n });\n };\n};\nconfetti.init = async () => {\n await initPlugins(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles);\n};\nconfetti.version = \"4.0.0-alpha.1\";\nglobalThis.confetti = confetti;\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/confetti.js?\n}");
878
878
 
879
879
  /***/ },
880
880