@tsparticles/confetti 3.3.0 → 3.4.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 (169) hide show
  1. package/browser/confetti.js +65 -2
  2. package/cjs/confetti.js +80 -17
  3. package/esm/confetti.js +65 -2
  4. package/package.json +17 -17
  5. package/report.html +1 -1
  6. package/tsparticles.confetti.bundle.js +1214 -302
  7. package/tsparticles.confetti.bundle.min.js +1 -1
  8. package/tsparticles.confetti.bundle.min.js.LICENSE.txt +1 -1
  9. package/tsparticles.confetti.js +6 -36
  10. package/tsparticles.confetti.min.js +1 -1
  11. package/tsparticles.confetti.min.js.LICENSE.txt +1 -1
  12. package/types/confetti.d.ts +2 -0
  13. package/umd/confetti.js +81 -42
  14. package/2043.min.js +0 -2
  15. package/2043.min.js.LICENSE.txt +0 -1
  16. package/2112.min.js +0 -2
  17. package/2112.min.js.LICENSE.txt +0 -1
  18. package/2136.min.js +0 -2
  19. package/2136.min.js.LICENSE.txt +0 -1
  20. package/2284.min.js +0 -2
  21. package/2284.min.js.LICENSE.txt +0 -1
  22. package/2370.min.js +0 -2
  23. package/2370.min.js.LICENSE.txt +0 -1
  24. package/2497.min.js +0 -2
  25. package/2497.min.js.LICENSE.txt +0 -1
  26. package/286.min.js +0 -2
  27. package/286.min.js.LICENSE.txt +0 -1
  28. package/3237.min.js +0 -2
  29. package/3237.min.js.LICENSE.txt +0 -1
  30. package/335.min.js +0 -2
  31. package/335.min.js.LICENSE.txt +0 -1
  32. package/3416.min.js +0 -2
  33. package/3416.min.js.LICENSE.txt +0 -1
  34. package/344.min.js +0 -2
  35. package/344.min.js.LICENSE.txt +0 -1
  36. package/357.min.js +0 -2
  37. package/357.min.js.LICENSE.txt +0 -1
  38. package/3622.min.js +0 -2
  39. package/3622.min.js.LICENSE.txt +0 -1
  40. package/3632.min.js +0 -2
  41. package/3632.min.js.LICENSE.txt +0 -1
  42. package/3695.min.js +0 -2
  43. package/3695.min.js.LICENSE.txt +0 -1
  44. package/401.min.js +0 -2
  45. package/401.min.js.LICENSE.txt +0 -1
  46. package/4036.min.js +0 -2
  47. package/4036.min.js.LICENSE.txt +0 -1
  48. package/4154.min.js +0 -2
  49. package/4154.min.js.LICENSE.txt +0 -1
  50. package/4264.min.js +0 -2
  51. package/4264.min.js.LICENSE.txt +0 -1
  52. package/4302.min.js +0 -2
  53. package/4302.min.js.LICENSE.txt +0 -1
  54. package/439.min.js +0 -2
  55. package/439.min.js.LICENSE.txt +0 -1
  56. package/449.min.js +0 -2
  57. package/449.min.js.LICENSE.txt +0 -1
  58. package/4512.min.js +0 -2
  59. package/4512.min.js.LICENSE.txt +0 -1
  60. package/4924.min.js +0 -2
  61. package/4924.min.js.LICENSE.txt +0 -1
  62. package/5201.min.js +0 -2
  63. package/5201.min.js.LICENSE.txt +0 -1
  64. package/5369.min.js +0 -2
  65. package/5369.min.js.LICENSE.txt +0 -1
  66. package/561.min.js +0 -2
  67. package/561.min.js.LICENSE.txt +0 -1
  68. package/5775.min.js +0 -2
  69. package/5775.min.js.LICENSE.txt +0 -1
  70. package/5808.min.js +0 -2
  71. package/5808.min.js.LICENSE.txt +0 -1
  72. package/5814.min.js +0 -2
  73. package/5814.min.js.LICENSE.txt +0 -1
  74. package/6119.min.js +0 -2
  75. package/6119.min.js.LICENSE.txt +0 -1
  76. package/6493.min.js +0 -2
  77. package/6493.min.js.LICENSE.txt +0 -1
  78. package/6520.min.js +0 -2
  79. package/6520.min.js.LICENSE.txt +0 -1
  80. package/66.min.js +0 -2
  81. package/66.min.js.LICENSE.txt +0 -1
  82. package/6732.min.js +0 -2
  83. package/6732.min.js.LICENSE.txt +0 -1
  84. package/6735.min.js +0 -2
  85. package/6735.min.js.LICENSE.txt +0 -1
  86. package/6974.min.js +0 -2
  87. package/6974.min.js.LICENSE.txt +0 -1
  88. package/705.min.js +0 -2
  89. package/705.min.js.LICENSE.txt +0 -1
  90. package/7306.min.js +0 -2
  91. package/7306.min.js.LICENSE.txt +0 -1
  92. package/7528.min.js +0 -2
  93. package/7528.min.js.LICENSE.txt +0 -1
  94. package/7774.min.js +0 -2
  95. package/7774.min.js.LICENSE.txt +0 -1
  96. package/8125.min.js +0 -2
  97. package/8125.min.js.LICENSE.txt +0 -1
  98. package/8155.min.js +0 -2
  99. package/8155.min.js.LICENSE.txt +0 -1
  100. package/823.min.js +0 -2
  101. package/823.min.js.LICENSE.txt +0 -1
  102. package/8469.min.js +0 -2
  103. package/8469.min.js.LICENSE.txt +0 -1
  104. package/8656.min.js +0 -2
  105. package/8656.min.js.LICENSE.txt +0 -1
  106. package/8746.min.js +0 -2
  107. package/8746.min.js.LICENSE.txt +0 -1
  108. package/9151.min.js +0 -2
  109. package/9151.min.js.LICENSE.txt +0 -1
  110. package/94.min.js +0 -2
  111. package/94.min.js.LICENSE.txt +0 -1
  112. package/9487.min.js +0 -2
  113. package/9487.min.js.LICENSE.txt +0 -1
  114. package/9581.min.js +0 -2
  115. package/9581.min.js.LICENSE.txt +0 -1
  116. package/9946.min.js +0 -2
  117. package/9946.min.js.LICENSE.txt +0 -1
  118. package/basic_dist_browser_index_js.js +0 -30
  119. package/engine_dist_browser_Core_Container_js.js +0 -100
  120. package/move_base_dist_browser_BaseMover_js.js +0 -40
  121. package/move_base_dist_browser_index_js.js +0 -30
  122. package/plugins_emitters_dist_browser_EmitterInstance_js.js +0 -30
  123. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +0 -90
  124. package/plugins_emitters_dist_browser_Emitters_js.js +0 -30
  125. package/plugins_emitters_dist_browser_ShapeManager_js.js +0 -30
  126. package/plugins_emitters_dist_browser_index_js.js +0 -100
  127. package/plugins_motion_dist_browser_MotionInstance_js.js +0 -30
  128. package/plugins_motion_dist_browser_MotionPlugin_js.js +0 -50
  129. package/plugins_motion_dist_browser_index_js.js +0 -30
  130. package/shapes_cards_dist_browser_ClubDrawer_js.js +0 -40
  131. package/shapes_cards_dist_browser_DiamondDrawer_js.js +0 -40
  132. package/shapes_cards_dist_browser_HeartDrawer_js.js +0 -40
  133. package/shapes_cards_dist_browser_SpadeDrawer_js.js +0 -40
  134. package/shapes_cards_dist_browser_index_js.js +0 -30
  135. package/shapes_circle_dist_browser_CircleDrawer_js.js +0 -40
  136. package/shapes_circle_dist_browser_index_js.js +0 -30
  137. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +0 -40
  138. package/shapes_emoji_dist_browser_index_js.js +0 -40
  139. package/shapes_heart_dist_browser_HeartDrawer_js.js +0 -40
  140. package/shapes_heart_dist_browser_index_js.js +0 -30
  141. package/shapes_image_dist_browser_GifUtils_Utils_js.js +0 -50
  142. package/shapes_image_dist_browser_ImageDrawer_js.js +0 -30
  143. package/shapes_image_dist_browser_ImagePreloader_js.js +0 -40
  144. package/shapes_image_dist_browser_index_js.js +0 -40
  145. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +0 -50
  146. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +0 -50
  147. package/shapes_polygon_dist_browser_index_js.js +0 -30
  148. package/shapes_square_dist_browser_SquareDrawer_js.js +0 -40
  149. package/shapes_square_dist_browser_index_js.js +0 -30
  150. package/shapes_star_dist_browser_StarDrawer_js.js +0 -40
  151. package/shapes_star_dist_browser_index_js.js +0 -30
  152. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
  153. package/updaters_color_dist_browser_index_js.js +0 -30
  154. package/updaters_life_dist_browser_LifeUpdater_js.js +0 -70
  155. package/updaters_life_dist_browser_index_js.js +0 -30
  156. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +0 -30
  157. package/updaters_opacity_dist_browser_index_js.js +0 -30
  158. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +0 -80
  159. package/updaters_outModes_dist_browser_index_js.js +0 -30
  160. package/updaters_roll_dist_browser_RollUpdater_js.js +0 -60
  161. package/updaters_roll_dist_browser_index_js.js +0 -30
  162. package/updaters_rotate_dist_browser_RotateUpdater_js.js +0 -50
  163. package/updaters_rotate_dist_browser_index_js.js +0 -30
  164. package/updaters_size_dist_browser_SizeUpdater_js.js +0 -30
  165. package/updaters_size_dist_browser_index_js.js +0 -30
  166. package/updaters_tilt_dist_browser_TiltUpdater_js.js +0 -50
  167. package/updaters_tilt_dist_browser_index_js.js +0 -30
  168. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +0 -60
  169. package/updaters_wobble_dist_browser_index_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.3.0
7
+ * v3.4.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -16,14 +16,14 @@
16
16
  */
17
17
  (function webpackUniversalModuleDefinition(root, factory) {
18
18
  if(typeof exports === 'object' && typeof module === 'object')
19
- module.exports = factory(require("@tsparticles/engine"), require("@tsparticles/basic"), require("@tsparticles/updater-wobble"), require("@tsparticles/updater-tilt"), require("@tsparticles/updater-roll"), require("@tsparticles/updater-life"), require("@tsparticles/updater-rotate"), require("@tsparticles/shape-emoji"), require("@tsparticles/shape-star"), require("@tsparticles/shape-square"), require("@tsparticles/shape-polygon"), require("@tsparticles/shape-image"), require("@tsparticles/shape-heart"), require("@tsparticles/shape-cards"), require("@tsparticles/plugin-motion"), require("@tsparticles/plugin-emitters"));
19
+ module.exports = factory(require("@tsparticles/engine"), require("@tsparticles/plugin-emitters"), require("@tsparticles/basic"), require("@tsparticles/shape-cards"), require("@tsparticles/shape-emoji"), require("@tsparticles/shape-heart"), require("@tsparticles/shape-image"), require("@tsparticles/updater-life"), require("@tsparticles/plugin-motion"), require("@tsparticles/shape-polygon"), require("@tsparticles/updater-roll"), require("@tsparticles/updater-rotate"), require("@tsparticles/shape-square"), require("@tsparticles/shape-star"), require("@tsparticles/updater-tilt"), require("@tsparticles/updater-wobble"));
20
20
  else if(typeof define === 'function' && define.amd)
21
- define(["@tsparticles/engine", "@tsparticles/basic", "@tsparticles/updater-wobble", "@tsparticles/updater-tilt", "@tsparticles/updater-roll", "@tsparticles/updater-life", "@tsparticles/updater-rotate", "@tsparticles/shape-emoji", "@tsparticles/shape-star", "@tsparticles/shape-square", "@tsparticles/shape-polygon", "@tsparticles/shape-image", "@tsparticles/shape-heart", "@tsparticles/shape-cards", "@tsparticles/plugin-motion", "@tsparticles/plugin-emitters"], factory);
21
+ define(["@tsparticles/engine", "@tsparticles/plugin-emitters", "@tsparticles/basic", "@tsparticles/shape-cards", "@tsparticles/shape-emoji", "@tsparticles/shape-heart", "@tsparticles/shape-image", "@tsparticles/updater-life", "@tsparticles/plugin-motion", "@tsparticles/shape-polygon", "@tsparticles/updater-roll", "@tsparticles/updater-rotate", "@tsparticles/shape-square", "@tsparticles/shape-star", "@tsparticles/updater-tilt", "@tsparticles/updater-wobble"], factory);
22
22
  else {
23
- var a = typeof exports === 'object' ? factory(require("@tsparticles/engine"), require("@tsparticles/basic"), require("@tsparticles/updater-wobble"), require("@tsparticles/updater-tilt"), require("@tsparticles/updater-roll"), require("@tsparticles/updater-life"), require("@tsparticles/updater-rotate"), require("@tsparticles/shape-emoji"), require("@tsparticles/shape-star"), require("@tsparticles/shape-square"), require("@tsparticles/shape-polygon"), require("@tsparticles/shape-image"), require("@tsparticles/shape-heart"), require("@tsparticles/shape-cards"), require("@tsparticles/plugin-motion"), require("@tsparticles/plugin-emitters")) : factory(root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"]);
23
+ var a = typeof exports === 'object' ? factory(require("@tsparticles/engine"), require("@tsparticles/plugin-emitters"), require("@tsparticles/basic"), require("@tsparticles/shape-cards"), require("@tsparticles/shape-emoji"), require("@tsparticles/shape-heart"), require("@tsparticles/shape-image"), require("@tsparticles/updater-life"), require("@tsparticles/plugin-motion"), require("@tsparticles/shape-polygon"), require("@tsparticles/updater-roll"), require("@tsparticles/updater-rotate"), require("@tsparticles/shape-square"), require("@tsparticles/shape-star"), require("@tsparticles/updater-tilt"), require("@tsparticles/updater-wobble")) : factory(root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"], root["window"]);
24
24
  for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
25
25
  }
26
- })(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_engine__, __WEBPACK_EXTERNAL_MODULE__tsparticles_basic__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_wobble__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_tilt__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_roll__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_life__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_rotate__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_emoji__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_star__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_square__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_polygon__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_image__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_heart__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_cards__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_motion__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_emitters__) => {
26
+ })(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_engine__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_emitters__, __WEBPACK_EXTERNAL_MODULE__tsparticles_basic__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_cards__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_emoji__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_heart__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_image__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_life__, __WEBPACK_EXTERNAL_MODULE__tsparticles_plugin_motion__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_polygon__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_roll__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_rotate__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_square__, __WEBPACK_EXTERNAL_MODULE__tsparticles_shape_star__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_tilt__, __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_wobble__) => {
27
27
  return /******/ (() => { // webpackBootstrap
28
28
  /******/ "use strict";
29
29
  /******/ var __webpack_modules__ = ({
@@ -44,7 +44,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
44
44
  \**********************************/
45
45
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
46
46
 
47
- 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 */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\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 const {\n loadEmittersPlugin\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-emitters */ \"@tsparticles/plugin-emitters\", 23)),\n {\n loadMotionPlugin\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/plugin-motion */ \"@tsparticles/plugin-motion\", 23)),\n {\n loadCardsShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/shape-cards */ \"@tsparticles/shape-cards\", 23)),\n {\n loadHeartShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/shape-heart */ \"@tsparticles/shape-heart\", 23)),\n {\n loadImageShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/shape-image */ \"@tsparticles/shape-image\", 23)),\n {\n loadPolygonShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/shape-polygon */ \"@tsparticles/shape-polygon\", 23)),\n {\n loadSquareShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/shape-square */ \"@tsparticles/shape-square\", 23)),\n {\n loadStarShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/shape-star */ \"@tsparticles/shape-star\", 23)),\n {\n loadEmojiShape\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/shape-emoji */ \"@tsparticles/shape-emoji\", 23)),\n {\n loadRotateUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-rotate */ \"@tsparticles/updater-rotate\", 23)),\n {\n loadLifeUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-life */ \"@tsparticles/updater-life\", 23)),\n {\n loadRollUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-roll */ \"@tsparticles/updater-roll\", 23)),\n {\n loadTiltUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-tilt */ \"@tsparticles/updater-tilt\", 23)),\n {\n loadWobbleUpdater\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/updater-wobble */ \"@tsparticles/updater-wobble\", 23)),\n {\n loadBasic\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/basic */ \"@tsparticles/basic\", 23));\n await loadEmittersPlugin(engine, false);\n await loadMotionPlugin(engine, false);\n await loadCardsShape(engine, false);\n await loadHeartShape(engine, false);\n await loadImageShape(engine, false);\n await loadPolygonShape(engine, false);\n await loadSquareShape(engine, false);\n await loadStarShape(engine, false);\n await loadEmojiShape(engine, false);\n await loadRotateUpdater(engine, false);\n await loadLifeUpdater(engine, false);\n await loadRollUpdater(engine, false);\n await loadTiltUpdater(engine, false);\n await loadWobbleUpdater(engine, false);\n await loadBasic(engine);\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 (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 }\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 detectRetina: true,\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 if (!canvas) {\n return confetti;\n }\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.version = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.version;\nif (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isSsr)()) {\n window.confetti = confetti;\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/confetti.js?");
47
+ 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 */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"@tsparticles/plugin-emitters\");\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _ConfettiOptions_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ConfettiOptions.js */ \"./dist/browser/ConfettiOptions.js\");\n/* harmony import */ var _tsparticles_basic__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/basic */ \"@tsparticles/basic\");\n/* harmony import */ var _tsparticles_basic__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_basic__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _tsparticles_shape_cards__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/shape-cards */ \"@tsparticles/shape-cards\");\n/* harmony import */ var _tsparticles_shape_cards__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_shape_cards__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _tsparticles_shape_emoji__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tsparticles/shape-emoji */ \"@tsparticles/shape-emoji\");\n/* harmony import */ var _tsparticles_shape_emoji__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_shape_emoji__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _tsparticles_shape_heart__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tsparticles/shape-heart */ \"@tsparticles/shape-heart\");\n/* harmony import */ var _tsparticles_shape_heart__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_shape_heart__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _tsparticles_shape_image__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tsparticles/shape-image */ \"@tsparticles/shape-image\");\n/* harmony import */ var _tsparticles_shape_image__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_shape_image__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @tsparticles/updater-life */ \"@tsparticles/updater-life\");\n/* harmony import */ var _tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _tsparticles_plugin_motion__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @tsparticles/plugin-motion */ \"@tsparticles/plugin-motion\");\n/* harmony import */ var _tsparticles_plugin_motion__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_plugin_motion__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _tsparticles_shape_polygon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @tsparticles/shape-polygon */ \"@tsparticles/shape-polygon\");\n/* harmony import */ var _tsparticles_shape_polygon__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_shape_polygon__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _tsparticles_updater_roll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @tsparticles/updater-roll */ \"@tsparticles/updater-roll\");\n/* harmony import */ var _tsparticles_updater_roll__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_roll__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @tsparticles/updater-rotate */ \"@tsparticles/updater-rotate\");\n/* harmony import */ var _tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _tsparticles_shape_square__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @tsparticles/shape-square */ \"@tsparticles/shape-square\");\n/* harmony import */ var _tsparticles_shape_square__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_shape_square__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _tsparticles_shape_star__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @tsparticles/shape-star */ \"@tsparticles/shape-star\");\n/* harmony import */ var _tsparticles_shape_star__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_shape_star__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony import */ var _tsparticles_updater_tilt__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @tsparticles/updater-tilt */ \"@tsparticles/updater-tilt\");\n/* harmony import */ var _tsparticles_updater_tilt__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_tilt__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _tsparticles_updater_wobble__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @tsparticles/updater-wobble */ \"@tsparticles/updater-wobble\");\n/* harmony import */ var _tsparticles_updater_wobble__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_updater_wobble__WEBPACK_IMPORTED_MODULE_15__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 await (0,_tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__.loadEmittersPlugin)(engine, false);\n await (0,_tsparticles_plugin_motion__WEBPACK_IMPORTED_MODULE_8__.loadMotionPlugin)(engine, false);\n await (0,_tsparticles_shape_cards__WEBPACK_IMPORTED_MODULE_3__.loadCardsShape)(engine, false);\n await (0,_tsparticles_shape_heart__WEBPACK_IMPORTED_MODULE_5__.loadHeartShape)(engine, false);\n await (0,_tsparticles_shape_image__WEBPACK_IMPORTED_MODULE_6__.loadImageShape)(engine, false);\n await (0,_tsparticles_shape_polygon__WEBPACK_IMPORTED_MODULE_9__.loadPolygonShape)(engine, false);\n await (0,_tsparticles_shape_square__WEBPACK_IMPORTED_MODULE_12__.loadSquareShape)(engine, false);\n await (0,_tsparticles_shape_star__WEBPACK_IMPORTED_MODULE_13__.loadStarShape)(engine, false);\n await (0,_tsparticles_shape_emoji__WEBPACK_IMPORTED_MODULE_4__.loadEmojiShape)(engine, false);\n await (0,_tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_11__.loadRotateUpdater)(engine, false);\n await (0,_tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_7__.loadLifeUpdater)(engine, false);\n await (0,_tsparticles_updater_roll__WEBPACK_IMPORTED_MODULE_10__.loadRollUpdater)(engine, false);\n await (0,_tsparticles_updater_tilt__WEBPACK_IMPORTED_MODULE_14__.loadTiltUpdater)(engine, false);\n await (0,_tsparticles_updater_wobble__WEBPACK_IMPORTED_MODULE_15__.loadWobbleUpdater)(engine, false);\n await (0,_tsparticles_basic__WEBPACK_IMPORTED_MODULE_2__.loadBasic)(engine);\n initializing = false;\n initialized = true;\n}\nasync function setConfetti(params) {\n const actualOptions = new _ConfettiOptions_js__WEBPACK_IMPORTED_MODULE_16__.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 (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 detectRetina: true,\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 if (!canvas) {\n return confetti;\n }\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 = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.tsParticles.version;\nif (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isSsr)()) {\n window.confetti = confetti;\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/confetti.js?");
48
48
 
49
49
  /***/ }),
50
50
 
@@ -257,36 +257,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_updater_wobble__;
257
257
  /******/ };
258
258
  /******/ })();
259
259
  /******/
260
- /******/ /* webpack/runtime/create fake namespace object */
261
- /******/ (() => {
262
- /******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
263
- /******/ var leafPrototypes;
264
- /******/ // create a fake namespace object
265
- /******/ // mode & 1: value is a module id, require it
266
- /******/ // mode & 2: merge all properties of value into the ns
267
- /******/ // mode & 4: return value when already ns object
268
- /******/ // mode & 16: return value when it's Promise-like
269
- /******/ // mode & 8|1: behave like require
270
- /******/ __webpack_require__.t = function(value, mode) {
271
- /******/ if(mode & 1) value = this(value);
272
- /******/ if(mode & 8) return value;
273
- /******/ if(typeof value === 'object' && value) {
274
- /******/ if((mode & 4) && value.__esModule) return value;
275
- /******/ if((mode & 16) && typeof value.then === 'function') return value;
276
- /******/ }
277
- /******/ var ns = Object.create(null);
278
- /******/ __webpack_require__.r(ns);
279
- /******/ var def = {};
280
- /******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
281
- /******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {
282
- /******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
283
- /******/ }
284
- /******/ def['default'] = () => (value);
285
- /******/ __webpack_require__.d(ns, def);
286
- /******/ return ns;
287
- /******/ };
288
- /******/ })();
289
- /******/
290
260
  /******/ /* webpack/runtime/define property getters */
291
261
  /******/ (() => {
292
262
  /******/ // define getter functions for harmony exports
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.confetti.min.js.LICENSE.txt */
2
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"),require("@tsparticles/basic"),require("@tsparticles/updater-wobble"),require("@tsparticles/updater-tilt"),require("@tsparticles/updater-roll"),require("@tsparticles/updater-life"),require("@tsparticles/updater-rotate"),require("@tsparticles/shape-emoji"),require("@tsparticles/shape-star"),require("@tsparticles/shape-square"),require("@tsparticles/shape-polygon"),require("@tsparticles/shape-image"),require("@tsparticles/shape-heart"),require("@tsparticles/shape-cards"),require("@tsparticles/plugin-motion"),require("@tsparticles/plugin-emitters"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine","@tsparticles/basic","@tsparticles/updater-wobble","@tsparticles/updater-tilt","@tsparticles/updater-roll","@tsparticles/updater-life","@tsparticles/updater-rotate","@tsparticles/shape-emoji","@tsparticles/shape-star","@tsparticles/shape-square","@tsparticles/shape-polygon","@tsparticles/shape-image","@tsparticles/shape-heart","@tsparticles/shape-cards","@tsparticles/plugin-motion","@tsparticles/plugin-emitters"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine"),require("@tsparticles/basic"),require("@tsparticles/updater-wobble"),require("@tsparticles/updater-tilt"),require("@tsparticles/updater-roll"),require("@tsparticles/updater-life"),require("@tsparticles/updater-rotate"),require("@tsparticles/shape-emoji"),require("@tsparticles/shape-star"),require("@tsparticles/shape-square"),require("@tsparticles/shape-polygon"),require("@tsparticles/shape-image"),require("@tsparticles/shape-heart"),require("@tsparticles/shape-cards"),require("@tsparticles/plugin-motion"),require("@tsparticles/plugin-emitters")):t(e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window);for(var a in i)("object"==typeof exports?exports:e)[a]=i[a]}}(this,((e,t,i,a,s,r,o,n,l,p,d,c,u,h,f,m)=>(()=>{var v,w,y={145:e=>{e.exports=t},303:t=>{t.exports=e},526:e=>{e.exports=m},235:e=>{e.exports=f},720:e=>{e.exports=h},109:e=>{e.exports=n},899:e=>{e.exports=u},162:e=>{e.exports=c},73:e=>{e.exports=d},400:e=>{e.exports=p},29:e=>{e.exports=l},75:e=>{e.exports=r},544:e=>{e.exports=s},668:e=>{e.exports=o},844:e=>{e.exports=a},238:e=>{e.exports=i}},b={};function g(e){var t=b[e];if(void 0!==t)return t.exports;var i=b[e]={exports:{}};return y[e](i,i.exports,g),i.exports}w=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,g.t=function(e,t){if(1&t&&(e=this(e)),8&t)return e;if("object"==typeof e&&e){if(4&t&&e.__esModule)return e;if(16&t&&"function"==typeof e.then)return e}var i=Object.create(null);g.r(i);var a={};v=v||[null,w({}),w([]),w(w)];for(var s=2&t&&e;"object"==typeof s&&!~v.indexOf(s);s=w(s))Object.getOwnPropertyNames(s).forEach((t=>a[t]=()=>e[t]));return a.default=()=>e,g.d(i,a),i},g.d=(e,t)=>{for(var i in t)g.o(t,i)&&!g.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},g.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),g.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var x={};return(()=>{g.r(x),g.d(x,{confetti:()=>h});var e=g(303);class t{constructor(){this.angle=90,this.count=50,this.spread=45,this.startVelocity=45,this.decay=.9,this.gravity=1,this.drift=0,this.ticks=200,this.position={x:50,y:50},this.colors=["#26ccff","#a25afd","#ff5e7e","#88ff5a","#fcff42","#ffa62d","#ff36ff"],this.shapes=["square","circle"],this.scalar=1,this.zIndex=100,this.disableForReducedMotion=!0,this.flat=!1,this.shapeOptions={}}get origin(){return{x:this.position.x/e.percentDenominator,y:this.position.y/e.percentDenominator}}set origin(t){this.position.x=t.x*e.percentDenominator,this.position.y=t.y*e.percentDenominator}get particleCount(){return this.count}set particleCount(e){this.count=e}load(t){if(!t)return;void 0!==t.angle&&(this.angle=t.angle);const i=t.count??t.particleCount;void 0!==i&&(this.count=i),void 0!==t.spread&&(this.spread=t.spread),void 0!==t.startVelocity&&(this.startVelocity=t.startVelocity),void 0!==t.decay&&(this.decay=t.decay),void 0!==t.flat&&(this.flat=t.flat),void 0!==t.gravity&&(this.gravity=t.gravity),void 0!==t.drift&&(this.drift=t.drift),void 0!==t.ticks&&(this.ticks=t.ticks);const a=t.origin;a&&!t.position&&(t.position={x:void 0!==a.x?a.x*e.percentDenominator:void 0,y:void 0!==a.y?a.y*e.percentDenominator:void 0});const s=t.position;s&&(void 0!==s.x&&(this.position.x=s.x),void 0!==s.y&&(this.position.y=s.y)),void 0!==t.colors&&((0,e.isArray)(t.colors)?this.colors=[...t.colors]:this.colors=t.colors);const r=t.shapeOptions;if(void 0!==r)for(const t in r){const i=r[t];i&&(this.shapeOptions[t]=(0,e.deepExtend)(this.shapeOptions[t]??{},i))}void 0!==t.shapes&&((0,e.isArray)(t.shapes)?this.shapes=[...t.shapes]:this.shapes=t.shapes),void 0!==t.scalar&&(this.scalar=t.scalar),void 0!==t.zIndex&&(this.zIndex=t.zIndex),void 0!==t.disableForReducedMotion&&(this.disableForReducedMotion=t.disableForReducedMotion)}}const i=9.81,a=5,s=3,r=1,o=0,n=0;let l=!1,p=!1;const d=new Map;async function c(e){if(l)return;if(p)return new Promise((e=>{const t=setInterval((()=>{l&&(clearInterval(t),e())}),100)}));p=!0;const{loadEmittersPlugin:t}=await Promise.resolve().then(g.t.bind(g,526,23)),{loadMotionPlugin:i}=await Promise.resolve().then(g.t.bind(g,235,23)),{loadCardsShape:a}=await Promise.resolve().then(g.t.bind(g,720,23)),{loadHeartShape:s}=await Promise.resolve().then(g.t.bind(g,899,23)),{loadImageShape:r}=await Promise.resolve().then(g.t.bind(g,162,23)),{loadPolygonShape:o}=await Promise.resolve().then(g.t.bind(g,73,23)),{loadSquareShape:n}=await Promise.resolve().then(g.t.bind(g,400,23)),{loadStarShape:d}=await Promise.resolve().then(g.t.bind(g,29,23)),{loadEmojiShape:c}=await Promise.resolve().then(g.t.bind(g,109,23)),{loadRotateUpdater:u}=await Promise.resolve().then(g.t.bind(g,668,23)),{loadLifeUpdater:h}=await Promise.resolve().then(g.t.bind(g,75,23)),{loadRollUpdater:f}=await Promise.resolve().then(g.t.bind(g,544,23)),{loadTiltUpdater:m}=await Promise.resolve().then(g.t.bind(g,844,23)),{loadWobbleUpdater:v}=await Promise.resolve().then(g.t.bind(g,238,23)),{loadBasic:w}=await Promise.resolve().then(g.t.bind(g,145,23));await t(e,!1),await i(e,!1),await a(e,!1),await s(e,!1),await r(e,!1),await o(e,!1),await n(e,!1),await d(e,!1),await c(e,!1),await u(e,!1),await h(e,!1),await f(e,!1),await m(e,!1),await v(e,!1),await w(e),p=!1,l=!0}async function u(l){const p=new t;let c;p.load(l.options);const u=p.ticks*e.millisecondsToSeconds/(3.6*e.millisecondsToSeconds*120);if(d.has(l.id)&&(c=d.get(l.id),c&&!c.destroyed)){const e=c;if(e.addEmitter)return void await e.addEmitter({startCount:p.count,position:p.position,size:{width:0,height:0},rate:{delay:0,quantity:0},life:{duration:.1,count:1},particles:{color:{value:p.colors},shape:{type:p.shapes,options:p.shapeOptions},life:{count:1},opacity:{value:{min:0,max:1},animation:{enable:!0,sync:!0,speed:u,startValue:"max",destroy:"min"}},size:{value:a*p.scalar},move:{angle:{value:p.spread,offset:0},drift:{min:-p.drift,max:p.drift},gravity:{acceleration:p.gravity*i},speed:p.startVelocity*s,decay:r-p.decay,direction:-p.angle}}})}const h={fullScreen:{enable:!l.canvas,zIndex:p.zIndex},fpsLimit:120,particles:{number:{value:0},color:{value:p.colors},shape:{type:p.shapes,options:p.shapeOptions},opacity:{value:{min:0,max:1},animation:{enable:!0,sync:!0,speed:u,startValue:"max",destroy:"min"}},size:{value:a*p.scalar},links:{enable:!1},life:{count:1},move:{angle:{value:p.spread,offset:0},drift:{min:-p.drift,max:p.drift},enable:!0,gravity:{enable:!0,acceleration:p.gravity*i},speed:p.startVelocity*s,decay:r-p.decay,direction:-p.angle,random:!0,straight:!1,outModes:{default:"none",bottom:"destroy"}},rotate:{value:p.flat?o:{min:0,max:360},direction:"random",animation:{enable:!p.flat,speed:60}},tilt:{direction:"random",enable:!p.flat,value:p.flat?n:{min:0,max:360},animation:{enable:!0,speed:60}},roll:{darken:{enable:!0,value:25},enable:!p.flat,speed:{min:15,max:25}},wobble:{distance:30,enable:!p.flat,speed:{min:-15,max:15}}},detectRetina:!0,motion:{disable:p.disableForReducedMotion},emitters:{name:"confetti",startCount:p.count,position:p.position,size:{width:0,height:0},rate:{delay:0,quantity:0},life:{duration:.1,count:1}}};return c=await e.tsParticles.load({id:l.id,element:l.canvas,options:h}),d.set(l.id,c),c}async function h(t,i){let a,s;return await c(e.tsParticles),(0,e.isString)(t)?(s=t,a=i??{}):(s="confetti",a=t),u({id:s,options:a})}h.create=async(t,i)=>{if(!t)return h;await c(e.tsParticles);const a=t.getAttribute("id")??"confetti";return t.setAttribute("id",a),async(s,r)=>{let o,n;return(0,e.isString)(s)?(n=s,o=r??i):(n=a,o=s),u({id:n,canvas:t,options:o})}},h.version=e.tsParticles.version,(0,e.isSsr)()||(window.confetti=h)})(),x})()));
2
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/engine"),require("@tsparticles/plugin-emitters"),require("@tsparticles/basic"),require("@tsparticles/shape-cards"),require("@tsparticles/shape-emoji"),require("@tsparticles/shape-heart"),require("@tsparticles/shape-image"),require("@tsparticles/updater-life"),require("@tsparticles/plugin-motion"),require("@tsparticles/shape-polygon"),require("@tsparticles/updater-roll"),require("@tsparticles/updater-rotate"),require("@tsparticles/shape-square"),require("@tsparticles/shape-star"),require("@tsparticles/updater-tilt"),require("@tsparticles/updater-wobble"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine","@tsparticles/plugin-emitters","@tsparticles/basic","@tsparticles/shape-cards","@tsparticles/shape-emoji","@tsparticles/shape-heart","@tsparticles/shape-image","@tsparticles/updater-life","@tsparticles/plugin-motion","@tsparticles/shape-polygon","@tsparticles/updater-roll","@tsparticles/updater-rotate","@tsparticles/shape-square","@tsparticles/shape-star","@tsparticles/updater-tilt","@tsparticles/updater-wobble"],t);else{var i="object"==typeof exports?t(require("@tsparticles/engine"),require("@tsparticles/plugin-emitters"),require("@tsparticles/basic"),require("@tsparticles/shape-cards"),require("@tsparticles/shape-emoji"),require("@tsparticles/shape-heart"),require("@tsparticles/shape-image"),require("@tsparticles/updater-life"),require("@tsparticles/plugin-motion"),require("@tsparticles/shape-polygon"),require("@tsparticles/updater-roll"),require("@tsparticles/updater-rotate"),require("@tsparticles/shape-square"),require("@tsparticles/shape-star"),require("@tsparticles/updater-tilt"),require("@tsparticles/updater-wobble")):t(e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window,e.window);for(var a in i)("object"==typeof exports?exports:e)[a]=i[a]}}(this,((e,t,i,a,s,r,o,n,l,p,d,c,u,h,f,m)=>(()=>{var y={145:e=>{e.exports=i},303:t=>{t.exports=e},526:e=>{e.exports=t},235:e=>{e.exports=l},720:e=>{e.exports=a},109:e=>{e.exports=s},899:e=>{e.exports=r},162:e=>{e.exports=o},73:e=>{e.exports=p},400:e=>{e.exports=u},29:e=>{e.exports=h},75:e=>{e.exports=n},544:e=>{e.exports=d},668:e=>{e.exports=c},844:e=>{e.exports=f},238:e=>{e.exports=m}},v={};function w(e){var t=v[e];if(void 0!==t)return t.exports;var i=v[e]={exports:{}};return y[e](i,i.exports,w),i.exports}w.d=(e,t)=>{for(var i in t)w.o(t,i)&&!w.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},w.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),w.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var x={};return(()=>{w.r(x),w.d(x,{confetti:()=>k});var e=w(303),t=w(526);class i{constructor(){this.angle=90,this.count=50,this.spread=45,this.startVelocity=45,this.decay=.9,this.gravity=1,this.drift=0,this.ticks=200,this.position={x:50,y:50},this.colors=["#26ccff","#a25afd","#ff5e7e","#88ff5a","#fcff42","#ffa62d","#ff36ff"],this.shapes=["square","circle"],this.scalar=1,this.zIndex=100,this.disableForReducedMotion=!0,this.flat=!1,this.shapeOptions={}}get origin(){return{x:this.position.x/e.percentDenominator,y:this.position.y/e.percentDenominator}}set origin(t){this.position.x=t.x*e.percentDenominator,this.position.y=t.y*e.percentDenominator}get particleCount(){return this.count}set particleCount(e){this.count=e}load(t){if(!t)return;void 0!==t.angle&&(this.angle=t.angle);const i=t.count??t.particleCount;void 0!==i&&(this.count=i),void 0!==t.spread&&(this.spread=t.spread),void 0!==t.startVelocity&&(this.startVelocity=t.startVelocity),void 0!==t.decay&&(this.decay=t.decay),void 0!==t.flat&&(this.flat=t.flat),void 0!==t.gravity&&(this.gravity=t.gravity),void 0!==t.drift&&(this.drift=t.drift),void 0!==t.ticks&&(this.ticks=t.ticks);const a=t.origin;a&&!t.position&&(t.position={x:void 0!==a.x?a.x*e.percentDenominator:void 0,y:void 0!==a.y?a.y*e.percentDenominator:void 0});const s=t.position;s&&(void 0!==s.x&&(this.position.x=s.x),void 0!==s.y&&(this.position.y=s.y)),void 0!==t.colors&&((0,e.isArray)(t.colors)?this.colors=[...t.colors]:this.colors=t.colors);const r=t.shapeOptions;if(void 0!==r)for(const t in r){const i=r[t];i&&(this.shapeOptions[t]=(0,e.deepExtend)(this.shapeOptions[t]??{},i))}void 0!==t.shapes&&((0,e.isArray)(t.shapes)?this.shapes=[...t.shapes]:this.shapes=t.shapes),void 0!==t.scalar&&(this.scalar=t.scalar),void 0!==t.zIndex&&(this.zIndex=t.zIndex),void 0!==t.disableForReducedMotion&&(this.disableForReducedMotion=t.disableForReducedMotion)}}var a=w(145),s=w(720),r=w(109),o=w(899),n=w(162),l=w(75),p=w(235),d=w(73),c=w(544),u=w(668),h=w(400),f=w(29),m=w(844),y=w(238);const v=9.81,b=5,g=3,q=1,S=0,P=0;let j=!1,O=!1;const z=new Map;async function M(e){if(!j){if(O)return new Promise((e=>{const t=setInterval((()=>{j&&(clearInterval(t),e())}),100)}));O=!0,await(0,t.loadEmittersPlugin)(e,!1),await(0,p.loadMotionPlugin)(e,!1),await(0,s.loadCardsShape)(e,!1),await(0,o.loadHeartShape)(e,!1),await(0,n.loadImageShape)(e,!1),await(0,d.loadPolygonShape)(e,!1),await(0,h.loadSquareShape)(e,!1),await(0,f.loadStarShape)(e,!1),await(0,r.loadEmojiShape)(e,!1),await(0,u.loadRotateUpdater)(e,!1),await(0,l.loadLifeUpdater)(e,!1),await(0,c.loadRollUpdater)(e,!1),await(0,m.loadTiltUpdater)(e,!1),await(0,y.loadWobbleUpdater)(e,!1),await(0,a.loadBasic)(e),O=!1,j=!0}}async function I(t){const a=new i;let s;a.load(t.options);const r=a.ticks*e.millisecondsToSeconds/(3.6*e.millisecondsToSeconds*120);if(z.has(t.id)&&(s=z.get(t.id),s&&!s.destroyed)){const e=s;if(e.addEmitter)return void await e.addEmitter({startCount:a.count,position:a.position,size:{width:0,height:0},rate:{delay:0,quantity:0},life:{duration:.1,count:1},particles:{color:{value:a.colors},shape:{type:a.shapes,options:a.shapeOptions},life:{count:1},opacity:{value:{min:0,max:1},animation:{enable:!0,sync:!0,speed:r,startValue:"max",destroy:"min"}},size:{value:b*a.scalar},move:{angle:{value:a.spread,offset:0},drift:{min:-a.drift,max:a.drift},gravity:{acceleration:a.gravity*v},speed:a.startVelocity*g,decay:q-a.decay,direction:-a.angle},rotate:{value:a.flat?S:{min:0,max:360},direction:"random",animation:{enable:!a.flat,speed:60}},tilt:{direction:"random",enable:!a.flat,value:a.flat?P:{min:0,max:360},animation:{enable:!0,speed:60}},roll:{darken:{enable:!0,value:25},enable:!a.flat,speed:{min:15,max:25}},wobble:{distance:30,enable:!a.flat,speed:{min:-15,max:15}}}})}const o={fullScreen:{enable:!t.canvas,zIndex:a.zIndex},fpsLimit:120,particles:{number:{value:0},color:{value:a.colors},shape:{type:a.shapes,options:a.shapeOptions},opacity:{value:{min:0,max:1},animation:{enable:!0,sync:!0,speed:r,startValue:"max",destroy:"min"}},size:{value:b*a.scalar},links:{enable:!1},life:{count:1},move:{angle:{value:a.spread,offset:0},drift:{min:-a.drift,max:a.drift},enable:!0,gravity:{enable:!0,acceleration:a.gravity*v},speed:a.startVelocity*g,decay:q-a.decay,direction:-a.angle,random:!0,straight:!1,outModes:{default:"none",bottom:"destroy"}},rotate:{value:a.flat?S:{min:0,max:360},direction:"random",animation:{enable:!a.flat,speed:60}},tilt:{direction:"random",enable:!a.flat,value:a.flat?P:{min:0,max:360},animation:{enable:!0,speed:60}},roll:{darken:{enable:!0,value:25},enable:!a.flat,speed:{min:15,max:25}},wobble:{distance:30,enable:!a.flat,speed:{min:-15,max:15}}},detectRetina:!0,motion:{disable:a.disableForReducedMotion},emitters:{name:"confetti",startCount:a.count,position:a.position,size:{width:0,height:0},rate:{delay:0,quantity:0},life:{duration:.1,count:1}}};return s=await e.tsParticles.load({id:t.id,element:t.canvas,options:o}),z.set(t.id,s),s}async function k(t,i){let a,s;return await M(e.tsParticles),(0,e.isString)(t)?(s=t,a=i??{}):(s="confetti",a=t),I({id:s,options:a})}k.create=async(t,i)=>{if(!t)return k;await M(e.tsParticles);const a=t.getAttribute("id")??"confetti";return t.setAttribute("id",a),async(s,r)=>{let o,n;return(0,e.isString)(s)?(n=s,o=r??i):(n=a,o=s),I({id:n,canvas:t,options:o})}},k.init=async()=>{await M(e.tsParticles)},k.version=e.tsParticles.version,(0,e.isSsr)()||(window.confetti=k)})(),x})()));
@@ -1 +1 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
1
+ /*! tsParticles Confetti v3.4.0 by Matteo Bruni */
@@ -5,6 +5,7 @@ declare global {
5
5
  interface Window {
6
6
  confetti: ConfettiFunc & {
7
7
  create: (canvas: HTMLCanvasElement, options: RecursivePartial<IConfettiOptions>) => Promise<ConfettiFunc>;
8
+ init: () => Promise<void>;
8
9
  version: string;
9
10
  };
10
11
  }
@@ -18,6 +19,7 @@ type ConfettiFunc = (idOrOptions: ConfettiFirstParam, confettiOptions?: Recursiv
18
19
  export declare function confetti(idOrOptions: ConfettiFirstParam, confettiOptions?: RecursivePartial<IConfettiOptions>): Promise<Container | undefined>;
19
20
  export declare namespace confetti {
20
21
  var create: (canvas: HTMLCanvasElement, options: RecursivePartial<IConfettiOptions>) => Promise<ConfettiFunc>;
22
+ var init: () => Promise<void>;
21
23
  var version: string;
22
24
  }
23
25
  export {};
package/umd/confetti.js CHANGED
@@ -1,41 +1,32 @@
1
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
- if (k2 === undefined) k2 = k;
3
- var desc = Object.getOwnPropertyDescriptor(m, k);
4
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
5
- desc = { enumerable: true, get: function() { return m[k]; } };
6
- }
7
- Object.defineProperty(o, k2, desc);
8
- }) : (function(o, m, k, k2) {
9
- if (k2 === undefined) k2 = k;
10
- o[k2] = m[k];
11
- }));
12
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
13
- Object.defineProperty(o, "default", { enumerable: true, value: v });
14
- }) : function(o, v) {
15
- o["default"] = v;
16
- });
17
- var __importStar = (this && this.__importStar) || function (mod) {
18
- if (mod && mod.__esModule) return mod;
19
- var result = {};
20
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
- __setModuleDefault(result, mod);
22
- return result;
23
- };
24
1
  (function (factory) {
25
2
  if (typeof module === "object" && typeof module.exports === "object") {
26
3
  var v = factory(require, exports);
27
4
  if (v !== undefined) module.exports = v;
28
5
  }
29
6
  else if (typeof define === "function" && define.amd) {
30
- define(["require", "exports", "@tsparticles/engine", "./ConfettiOptions.js"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "@tsparticles/plugin-emitters", "./ConfettiOptions.js", "@tsparticles/basic", "@tsparticles/shape-cards", "@tsparticles/shape-emoji", "@tsparticles/shape-heart", "@tsparticles/shape-image", "@tsparticles/updater-life", "@tsparticles/plugin-motion", "@tsparticles/shape-polygon", "@tsparticles/updater-roll", "@tsparticles/updater-rotate", "@tsparticles/shape-square", "@tsparticles/shape-star", "@tsparticles/updater-tilt", "@tsparticles/updater-wobble"], factory);
31
8
  }
32
9
  })(function (require, exports) {
33
10
  "use strict";
34
- var __syncRequire = typeof module === "object" && typeof module.exports === "object";
35
11
  Object.defineProperty(exports, "__esModule", { value: true });
36
12
  exports.confetti = void 0;
37
13
  const engine_1 = require("@tsparticles/engine");
14
+ const plugin_emitters_1 = require("@tsparticles/plugin-emitters");
38
15
  const ConfettiOptions_js_1 = require("./ConfettiOptions.js");
16
+ const basic_1 = require("@tsparticles/basic");
17
+ const shape_cards_1 = require("@tsparticles/shape-cards");
18
+ const shape_emoji_1 = require("@tsparticles/shape-emoji");
19
+ const shape_heart_1 = require("@tsparticles/shape-heart");
20
+ const shape_image_1 = require("@tsparticles/shape-image");
21
+ const updater_life_1 = require("@tsparticles/updater-life");
22
+ const plugin_motion_1 = require("@tsparticles/plugin-motion");
23
+ const shape_polygon_1 = require("@tsparticles/shape-polygon");
24
+ const updater_roll_1 = require("@tsparticles/updater-roll");
25
+ const updater_rotate_1 = require("@tsparticles/updater-rotate");
26
+ const shape_square_1 = require("@tsparticles/shape-square");
27
+ const shape_star_1 = require("@tsparticles/shape-star");
28
+ const updater_tilt_1 = require("@tsparticles/updater-tilt");
29
+ const updater_wobble_1 = require("@tsparticles/updater-wobble");
39
30
  const defaultGravity = 9.81, sizeFactor = 5, speedFactor = 3, decayOffset = 1, disableRotate = 0, disableTilt = 0;
40
31
  let initialized = false;
41
32
  let initializing = false;
@@ -45,7 +36,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
45
36
  return;
46
37
  }
47
38
  if (initializing) {
48
- return new Promise((resolve) => {
39
+ return new Promise(resolve => {
49
40
  const timeout = 100, interval = setInterval(() => {
50
41
  if (!initialized) {
51
42
  return;
@@ -56,22 +47,21 @@ var __importStar = (this && this.__importStar) || function (mod) {
56
47
  });
57
48
  }
58
49
  initializing = true;
59
- const { loadEmittersPlugin } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-emitters"))) : new Promise((resolve_1, reject_1) => { require(["@tsparticles/plugin-emitters"], resolve_1, reject_1); }).then(__importStar)), { loadMotionPlugin } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/plugin-motion"))) : new Promise((resolve_2, reject_2) => { require(["@tsparticles/plugin-motion"], resolve_2, reject_2); }).then(__importStar)), { loadCardsShape } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/shape-cards"))) : new Promise((resolve_3, reject_3) => { require(["@tsparticles/shape-cards"], resolve_3, reject_3); }).then(__importStar)), { loadHeartShape } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/shape-heart"))) : new Promise((resolve_4, reject_4) => { require(["@tsparticles/shape-heart"], resolve_4, reject_4); }).then(__importStar)), { loadImageShape } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/shape-image"))) : new Promise((resolve_5, reject_5) => { require(["@tsparticles/shape-image"], resolve_5, reject_5); }).then(__importStar)), { loadPolygonShape } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/shape-polygon"))) : new Promise((resolve_6, reject_6) => { require(["@tsparticles/shape-polygon"], resolve_6, reject_6); }).then(__importStar)), { loadSquareShape } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/shape-square"))) : new Promise((resolve_7, reject_7) => { require(["@tsparticles/shape-square"], resolve_7, reject_7); }).then(__importStar)), { loadStarShape } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/shape-star"))) : new Promise((resolve_8, reject_8) => { require(["@tsparticles/shape-star"], resolve_8, reject_8); }).then(__importStar)), { loadEmojiShape } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/shape-emoji"))) : new Promise((resolve_9, reject_9) => { require(["@tsparticles/shape-emoji"], resolve_9, reject_9); }).then(__importStar)), { loadRotateUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-rotate"))) : new Promise((resolve_10, reject_10) => { require(["@tsparticles/updater-rotate"], resolve_10, reject_10); }).then(__importStar)), { loadLifeUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-life"))) : new Promise((resolve_11, reject_11) => { require(["@tsparticles/updater-life"], resolve_11, reject_11); }).then(__importStar)), { loadRollUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-roll"))) : new Promise((resolve_12, reject_12) => { require(["@tsparticles/updater-roll"], resolve_12, reject_12); }).then(__importStar)), { loadTiltUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-tilt"))) : new Promise((resolve_13, reject_13) => { require(["@tsparticles/updater-tilt"], resolve_13, reject_13); }).then(__importStar)), { loadWobbleUpdater } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/updater-wobble"))) : new Promise((resolve_14, reject_14) => { require(["@tsparticles/updater-wobble"], resolve_14, reject_14); }).then(__importStar)), { loadBasic } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("@tsparticles/basic"))) : new Promise((resolve_15, reject_15) => { require(["@tsparticles/basic"], resolve_15, reject_15); }).then(__importStar));
60
- await loadEmittersPlugin(engine, false);
61
- await loadMotionPlugin(engine, false);
62
- await loadCardsShape(engine, false);
63
- await loadHeartShape(engine, false);
64
- await loadImageShape(engine, false);
65
- await loadPolygonShape(engine, false);
66
- await loadSquareShape(engine, false);
67
- await loadStarShape(engine, false);
68
- await loadEmojiShape(engine, false);
69
- await loadRotateUpdater(engine, false);
70
- await loadLifeUpdater(engine, false);
71
- await loadRollUpdater(engine, false);
72
- await loadTiltUpdater(engine, false);
73
- await loadWobbleUpdater(engine, false);
74
- await loadBasic(engine);
50
+ await (0, plugin_emitters_1.loadEmittersPlugin)(engine, false);
51
+ await (0, plugin_motion_1.loadMotionPlugin)(engine, false);
52
+ await (0, shape_cards_1.loadCardsShape)(engine, false);
53
+ await (0, shape_heart_1.loadHeartShape)(engine, false);
54
+ await (0, shape_image_1.loadImageShape)(engine, false);
55
+ await (0, shape_polygon_1.loadPolygonShape)(engine, false);
56
+ await (0, shape_square_1.loadSquareShape)(engine, false);
57
+ await (0, shape_star_1.loadStarShape)(engine, false);
58
+ await (0, shape_emoji_1.loadEmojiShape)(engine, false);
59
+ await (0, updater_rotate_1.loadRotateUpdater)(engine, false);
60
+ await (0, updater_life_1.loadLifeUpdater)(engine, false);
61
+ await (0, updater_roll_1.loadRollUpdater)(engine, false);
62
+ await (0, updater_tilt_1.loadTiltUpdater)(engine, false);
63
+ await (0, updater_wobble_1.loadWobbleUpdater)(engine, false);
64
+ await (0, basic_1.loadBasic)(engine);
75
65
  initializing = false;
76
66
  initialized = true;
77
67
  }
@@ -140,6 +130,52 @@ var __importStar = (this && this.__importStar) || function (mod) {
140
130
  decay: decayOffset - actualOptions.decay,
141
131
  direction: -actualOptions.angle,
142
132
  },
133
+ rotate: {
134
+ value: actualOptions.flat
135
+ ? disableRotate
136
+ : {
137
+ min: 0,
138
+ max: 360,
139
+ },
140
+ direction: "random",
141
+ animation: {
142
+ enable: !actualOptions.flat,
143
+ speed: 60,
144
+ },
145
+ },
146
+ tilt: {
147
+ direction: "random",
148
+ enable: !actualOptions.flat,
149
+ value: actualOptions.flat
150
+ ? disableTilt
151
+ : {
152
+ min: 0,
153
+ max: 360,
154
+ },
155
+ animation: {
156
+ enable: true,
157
+ speed: 60,
158
+ },
159
+ },
160
+ roll: {
161
+ darken: {
162
+ enable: true,
163
+ value: 25,
164
+ },
165
+ enable: !actualOptions.flat,
166
+ speed: {
167
+ min: 15,
168
+ max: 25,
169
+ },
170
+ },
171
+ wobble: {
172
+ distance: 30,
173
+ enable: !actualOptions.flat,
174
+ speed: {
175
+ min: -15,
176
+ max: 15,
177
+ },
178
+ },
143
179
  },
144
180
  });
145
181
  return;
@@ -322,6 +358,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
322
358
  });
323
359
  };
324
360
  };
361
+ confetti.init = async () => {
362
+ await initPlugins(engine_1.tsParticles);
363
+ };
325
364
  confetti.version = engine_1.tsParticles.version;
326
365
  if (!(0, engine_1.isSsr)()) {
327
366
  window.confetti = confetti;
package/2043.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 2043.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2043],{2043:(t,i,e)=>{e.d(i,{Container:()=>D});var s=e(751),n=e(3393),o=e(1813),a=e(7422);function r(t,i,e){const s=i[e];void 0!==s&&(t[e]=(t[e]??1)*s)}function h(t,i,e=!1){if(!i)return;if(!t)return;const s=t.style;if(s)for(const t in i){const n=i[t];n&&s.setProperty(t,n,e?"important":"")}}class c{constructor(t){this.container=t,this._applyPostDrawUpdaters=t=>{for(const i of this._postDrawUpdaters)i.afterDraw?.(t)},this._applyPreDrawUpdaters=(t,i,e,s,n,o)=>{for(const a of this._preDrawUpdaters){if(a.getColorStyles){const{fill:o,stroke:r}=a.getColorStyles(i,t,e,s);o&&(n.fill=o),r&&(n.stroke=r)}if(a.getTransformValues){const t=a.getTransformValues(i);for(const i in t)r(o,t,i)}a.beforeDraw?.(i)}},this._applyResizePlugins=()=>{for(const t of this._resizePlugins)t.resize?.()},this._getPluginParticleColors=t=>{let i,e;for(const s of this._colorPlugins)if(!i&&s.particleFillColor&&(i=(0,a.R5)(s.particleFillColor(t))),!e&&s.particleStrokeColor&&(e=(0,a.R5)(s.particleStrokeColor(t))),i&&e)break;return[i,e]},this._initCover=async()=>{const t=this.container.actualOptions.backgroundMask.cover,i=t.color;if(i){const e=(0,a.BN)(i);if(e){const i={...e,a:t.opacity};this._coverColorStyle=(0,a.xx)(i,i.a)}}else await new Promise(((i,e)=>{if(!t.image)return;const s=document.createElement("img");s.addEventListener("load",(()=>{this._coverImage={image:s,opacity:t.opacity},i()})),s.addEventListener("error",(t=>{e(t.error)})),s.src=t.image}))},this._initStyle=()=>{const t=this.element,i=this.container.actualOptions;if(t){this._fullScreen?(this._originalStyle=(0,n.zw)({},t.style),this._setFullScreenStyle()):this._resetOriginalStyle();for(const e in i.style){if(!e||!i.style)continue;const s=i.style[e];s&&t.style.setProperty(e,s,"important")}}},this._initTrail=async()=>{const t=this.container.actualOptions.particles.move.trail,i=t.fill;if(!t.enable)return;const e=1/t.length;if(i.color){const t=(0,a.BN)(i.color);if(!t)return;this._trailFill={color:{...t},opacity:e}}else await new Promise(((t,s)=>{if(!i.image)return;const n=document.createElement("img");n.addEventListener("load",(()=>{this._trailFill={image:n,opacity:e},t()})),n.addEventListener("error",(t=>{s(t.error)})),n.src=i.image}))},this._paintBase=t=>{this.draw((i=>(0,o.Sn)(i,this.size,t)))},this._paintImage=(t,i)=>{this.draw((e=>(0,o.Md)(e,this.size,t,i)))},this._repairStyle=()=>{const t=this.element;t&&(this._safeMutationObserver((t=>t.disconnect())),this._initStyle(),this.initBackground(),this._safeMutationObserver((i=>i.observe(t,{attributes:!0}))))},this._resetOriginalStyle=()=>{const t=this.element,i=this._originalStyle;t&&i&&h(t,i)},this._safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)},this._setFullScreenStyle=()=>{const t=this.element;if(!t)return;h(t,{position:"fixed",zIndex:this.container.actualOptions.fullScreen.zIndex.toString(10),top:"0",left:"0",width:"100%",height:"100%"},!0)},this.size={height:0,width:0},this._context=null,this._generated=!1,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}get _fullScreen(){return this.container.actualOptions.fullScreen.enable}clear(){const t=this.container.actualOptions,i=t.particles.move.trail,e=this._trailFill;t.backgroundMask.enable?this.paint():i.enable&&i.length>0&&e?e.color?this._paintBase((0,a.xx)(e.color,e.opacity)):e.image&&this._paintImage(e.image,e.opacity):t.clear&&this.draw((t=>{(0,o.IU)(t,this.size)}))}destroy(){if(this.stop(),this._generated){const t=this.element;t?.remove()}else this._resetOriginalStyle();this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._resizePlugins=[],this._colorPlugins=[]}draw(t){const i=this._context;if(i)return t(i)}drawAsync(t){const i=this._context;if(i)return t(i)}drawParticle(t,i){if(t.spawning||t.destroyed)return;const e=t.getRadius();if(e<=0)return;const s=t.getFillColor(),n=t.getStrokeColor()??s;let[r,h]=this._getPluginParticleColors(t);r||(r=s),h||(h=n),(r||h)&&this.draw((s=>{const n=this.container,c=n.actualOptions,l=t.options.zIndex,d=1-t.zIndexFactor,u=d**l.opacityRate,p=t.bubble.opacity??t.opacity?.value??1,f=p*u,_=(t.strokeOpacity??p)*u,g={},m={fill:r?(0,a.LC)(r,f):void 0};m.stroke=h?(0,a.LC)(h,_):m.fill,this._applyPreDrawUpdaters(s,t,e,f,m,g),(0,o.p0)({container:n,context:s,particle:t,delta:i,colorStyles:m,backgroundMask:c.backgroundMask.enable,composite:c.backgroundMask.composite,radius:e*d**l.sizeRate,opacity:f,shadow:t.options.shadow,transform:g}),this._applyPostDrawUpdaters(t)}))}drawParticlePlugin(t,i,e){this.draw((s=>(0,o.Wb)(s,t,i,e)))}drawPlugin(t,i){this.draw((e=>(0,o.e_)(e,t,i)))}async init(){this._safeMutationObserver((t=>t.disconnect())),this._mutationObserver=(0,n.tG)((t=>{for(const i of t)"attributes"===i.type&&"style"===i.attributeName&&this._repairStyle()})),this.resize(),this._initStyle(),await this._initCover();try{await this._initTrail()}catch(t){(0,n.tZ)().error(t)}this.initBackground(),this._safeMutationObserver((t=>{this.element&&t.observe(this.element,{attributes:!0})})),this.initUpdaters(),this.initPlugins(),this.paint()}initBackground(){const t=this.container.actualOptions.background,i=this.element;if(!i)return;const e=i.style;if(e){if(t.color){const i=(0,a.BN)(t.color);e.backgroundColor=i?(0,a.xx)(i,t.opacity):""}else e.backgroundColor="";e.backgroundImage=t.image||"",e.backgroundPosition=t.position||"",e.backgroundRepeat=t.repeat||"",e.backgroundSize=t.size||""}}initPlugins(){this._resizePlugins=[];for(const[,t]of this.container.plugins)t.resize&&this._resizePlugins.push(t),(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t)}initUpdaters(){this._preDrawUpdaters=[],this._postDrawUpdaters=[];for(const t of this.container.particles.updaters)t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove(),this._generated=t.dataset&&s.eb in t.dataset?"true"===t.dataset[s.eb]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=(0,n.zw)({},this.element.style),this.size.height=t.offsetHeight,this.size.width=t.offsetWidth,this._context=this.element.getContext("2d"),this._safeMutationObserver((t=>{this.element&&t.observe(this.element,{attributes:!0})})),this.container.retina.init(),this.initBackground()}paint(){const t=this.container.actualOptions;this.draw((i=>{t.backgroundMask.enable&&t.backgroundMask.cover?((0,o.IU)(i,this.size),this._coverImage?this._paintImage(this._coverImage.image,this._coverImage.opacity):this._coverColorStyle?this._paintBase(this._coverColorStyle):this._paintBase()):this._paintBase()}))}resize(){if(!this.element)return!1;const t=this.container,i=t.retina.pixelRatio,e=t.canvas.size,s=this.element.offsetWidth*i,n=this.element.offsetHeight*i;if(n===e.height&&s===e.width&&n===this.element.height&&s===this.element.width)return!1;const o={...e};return this.element.width=e.width=this.element.offsetWidth*i,this.element.height=e.height=this.element.offsetHeight*i,this.container.started&&t.particles.setResizeFactor({width:e.width/o.width,height:e.height/o.height}),!0}stop(){this._safeMutationObserver((t=>t.disconnect())),this._mutationObserver=void 0,this.draw((t=>(0,o.IU)(t,this.size)))}async windowResize(){if(!this.element||!this.resize())return;const t=this.container,i=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),i&&await t.refresh()}}var l=e(2457);function d(t,i,e,s,n){if(s){let s={passive:!0};(0,l.Lm)(n)?s.capture=n:void 0!==n&&(s=n),t.addEventListener(i,e,s)}else{const s=n;t.removeEventListener(i,e,s)}}class u{constructor(t){this.container=t,this._doMouseTouchClick=t=>{const i=this.container,e=i.actualOptions;if(this._canPush){const t=i.interactivity.mouse,s=t.position;if(!s)return;t.clickPosition={...s},t.clickTime=(new Date).getTime();const o=e.interactivity.events.onClick;(0,n.wJ)(o.mode,(t=>this.container.handleClickMode(t)))}if("touchend"===t.type){setTimeout((()=>this._mouseTouchFinish()),500)}},this._handleThemeChange=t=>{const i=t,e=this.container,s=e.options,n=s.defaultThemes,o=i.matches?n.dark:n.light,a=s.themes.find((t=>t.name===o));a&&a.default.auto&&e.loadTheme(o)},this._handleVisibilityChange=()=>{const t=this.container,i=t.actualOptions;this._mouseTouchFinish(),i.pauseOnBlur&&(document&&document.hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))},this._handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);const t=async()=>{const t=this.container.canvas;await(t?.windowResize())};this._resizeTimeout=setTimeout((()=>{t()}),this.container.actualOptions.interactivity.events.resize.delay*s.Xu)},this._manageInteractivityListeners=(t,i)=>{const e=this._handlers,n=this.container,o=n.actualOptions,a=n.interactivity.element;if(!a)return;const r=a,h=n.canvas.element;h&&(h.style.pointerEvents=r===h?"initial":"none"),(o.interactivity.events.onHover.enable||o.interactivity.events.onClick.enable)&&(d(a,s.Rb,e.mouseMove,i),d(a,s.s7,e.touchStart,i),d(a,s.DG,e.touchMove,i),o.interactivity.events.onClick.enable?(d(a,s.Bp,e.touchEndClick,i),d(a,s.vo,e.mouseUp,i),d(a,s.ms,e.mouseDown,i)):d(a,s.Bp,e.touchEnd,i),d(a,t,e.mouseLeave,i),d(a,s.G3,e.touchCancel,i))},this._manageListeners=t=>{const i=this._handlers,e=this.container,n=e.actualOptions.interactivity.detectsOn,o=e.canvas.element;let a=s.Z0;"window"===n?(e.interactivity.element=window,a=s.sf):e.interactivity.element="parent"===n&&o?o.parentElement??o.parentNode:o,this._manageMediaMatch(t),this._manageResize(t),this._manageInteractivityListeners(a,t),document&&d(document,s.nK,i.visibilityChange,t,!1)},this._manageMediaMatch=t=>{const i=this._handlers,e=(0,n.lV)("(prefers-color-scheme: dark)");e&&(void 0===e.addEventListener?void 0!==e.addListener&&(t?e.addListener(i.oldThemeChange):e.removeListener(i.oldThemeChange)):d(e,"change",i.themeChange,t))},this._manageResize=t=>{const i=this._handlers,e=this.container;if(!e.actualOptions.interactivity.events.resize)return;if("undefined"==typeof ResizeObserver)return void d(window,s.NF,i.resize,t);const n=e.canvas.element;this._resizeObserver&&!t?(n&&this._resizeObserver.unobserve(n),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&n&&(this._resizeObserver=new ResizeObserver((t=>{t.find((t=>t.target===n))&&this._handleWindowResize()})),this._resizeObserver.observe(n))},this._mouseDown=()=>{const{interactivity:t}=this.container;if(!t)return;const{mouse:i}=t;i.clicking=!0,i.downPosition=i.position},this._mouseTouchClick=t=>{const i=this.container,e=i.actualOptions,{mouse:s}=i.interactivity;s.inside=!0;let n=!1;const o=s.position;if(o&&e.interactivity.events.onClick.enable){for(const[,t]of i.plugins)if(t.clickPositionValid&&(n=t.clickPositionValid(o),n))break;n||this._doMouseTouchClick(t),s.clicking=!1}},this._mouseTouchFinish=()=>{const t=this.container.interactivity;if(!t)return;const i=t.mouse;delete i.position,delete i.clickPosition,delete i.downPosition,t.status=s.Z0,i.inside=!1,i.clicking=!1},this._mouseTouchMove=t=>{const i=this.container,e=i.actualOptions,n=i.interactivity,o=i.canvas.element;if(!n?.element)return;let a;if(n.mouse.inside=!0,t.type.startsWith("pointer")){this._canPush=!0;const i=t;if(n.element===window){if(o){const t=o.getBoundingClientRect();a={x:i.clientX-t.left,y:i.clientY-t.top}}}else if("parent"===e.interactivity.detectsOn){const t=i.target,e=i.currentTarget;if(t&&e&&o){const s=t.getBoundingClientRect(),n=e.getBoundingClientRect(),r=o.getBoundingClientRect();a={x:i.offsetX+2*s.left-(n.left+r.left),y:i.offsetY+2*s.top-(n.top+r.top)}}else a={x:i.offsetX??i.clientX,y:i.offsetY??i.clientY}}else i.target===o&&(a={x:i.offsetX??i.clientX,y:i.offsetY??i.clientY})}else if(this._canPush="touchmove"!==t.type,o){const i=t,e=1,s=i.touches[i.touches.length-e],n=o.getBoundingClientRect(),r=0;a={x:s.clientX-(n.left??r),y:s.clientY-(n.top??r)}}const r=i.retina.pixelRatio;a&&(a.x*=r,a.y*=r),n.mouse.position=a,n.status=s.Rb},this._touchEnd=t=>{const i=t,e=Array.from(i.changedTouches);for(const t of e)this._touches.delete(t.identifier);this._mouseTouchFinish()},this._touchEndClick=t=>{const i=t,e=Array.from(i.changedTouches);for(const t of e)this._touches.delete(t.identifier);this._mouseTouchClick(t)},this._touchStart=t=>{const i=t,e=Array.from(i.changedTouches);for(const t of e)this._touches.set(t.identifier,performance.now());this._mouseTouchMove(t)},this._canPush=!0,this._touches=new Map,this._handlers={mouseDown:()=>this._mouseDown(),mouseLeave:()=>this._mouseTouchFinish(),mouseMove:t=>this._mouseTouchMove(t),mouseUp:t=>this._mouseTouchClick(t),touchStart:t=>this._touchStart(t),touchMove:t=>this._mouseTouchMove(t),touchEnd:t=>this._touchEnd(t),touchCancel:t=>this._touchEnd(t),touchEndClick:t=>this._touchEndClick(t),visibilityChange:()=>this._handleVisibilityChange(),themeChange:t=>this._handleThemeChange(t),oldThemeChange:t=>this._handleThemeChange(t),resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}}var p=e(4126);class f{constructor(t,i){this.container=i,this._engine=t,this._interactors=[],this._externalInteractors=[],this._particleInteractors=[]}externalInteract(t){for(const i of this._externalInteractors)i.isEnabled()&&i.interact(t)}handleClickMode(t){for(const i of this._externalInteractors)i.handleClickMode?.(t)}async init(){this._interactors=await this._engine.getInteractors(this.container,!0),this._externalInteractors=[],this._particleInteractors=[];for(const t of this._interactors){switch(t.type){case"external":this._externalInteractors.push(t);break;case"particles":this._particleInteractors.push(t)}t.init()}}particlesInteract(t,i){for(const e of this._externalInteractors)e.clear(t,i);for(const e of this._particleInteractors)e.isEnabled(t)&&e.interact(t,i)}reset(t){for(const i of this._externalInteractors)i.isEnabled()&&i.reset(t);for(const i of this._particleInteractors)i.isEnabled(t)&&i.reset(t)}}var _=e(4798),g=e(2646),m=e(7287),v=e(8761);const y=.5;function w(t){if(!(0,n.hn)(t.outMode,t.checkModes))return;const i=2*t.radius;t.coord>t.maxCoord-i?t.setCb(-t.radius):t.coord<i&&t.setCb(t.radius)}class b{constructor(t,i){this.container=i,this._calcPosition=(t,i,e,s=0)=>{for(const[,s]of t.plugins){const t=void 0!==s.particlePosition?s.particlePosition(i,this):void 0;if(t)return _.p.create(t.x,t.y,e)}const n=t.canvas.size,o=(0,g.Nx)({size:n,position:i}),a=_.p.create(o.x,o.y,e),r=this.getRadius(),h=this.options.move.outModes,c=i=>{w({outMode:i,checkModes:["bounce"],coord:a.x,maxCoord:t.canvas.size.width,setCb:t=>a.x+=t,radius:r})},l=i=>{w({outMode:i,checkModes:["bounce"],coord:a.y,maxCoord:t.canvas.size.height,setCb:t=>a.y+=t,radius:r})};if(c(h.left??h.default),c(h.right??h.default),l(h.top??h.default),l(h.bottom??h.default),this._checkOverlap(a,s)){const i=1;return this._calcPosition(t,void 0,e,s+i)}return a},this._calculateVelocity=()=>{const t=(0,g.$m)(this.direction).copy(),i=this.options.move;if("inside"===i.direction||"outside"===i.direction)return t;const e=(0,g.pu)((0,g.VG)(i.angle.value)),s=(0,g.pu)((0,g.VG)(i.angle.offset)),n={left:s-e*y,right:s+e*y};return i.straight||(t.angle+=(0,g.U4)((0,g.DT)(n.left,n.right))),i.random&&"number"==typeof i.speed&&(t.length*=(0,g.G0)()),t},this._checkOverlap=(t,i=0)=>{const e=this.options.collisions,n=this.getRadius();if(!e.enable)return!1;const o=e.overlap;if(o.enable)return!1;const a=o.retries;if(a>=0&&i>a)throw new Error(`${s.dI} particle is overlapping and can't be placed`);return!!this.container.particles.find((i=>(0,g.Yf)(t,i.position)<n+i.getRadius()))},this._getRollColor=t=>{if(!t||!this.roll||!this.backColor&&!this.roll.alter)return t;const i=this.roll.horizontal&&this.roll.vertical?2:1,e=this.roll.horizontal?Math.PI*y:0;return Math.floor(((this.roll.angle??0)+e)/(Math.PI/i))%2?this.backColor?this.backColor:this.roll.alter?(0,o.yx)(t,this.roll.alter.type,this.roll.alter.value):t:t},this._initPosition=t=>{const i=this.container,e=(0,g.VG)(this.options.zIndex.value);this.position=this._calcPosition(i,t,(0,g.qE)(e,0,i.zLayers)),this.initialPosition=this.position.copy();const s=i.canvas.size;switch(this.moveCenter={...(0,n.E9)(this.options.move.center,s),radius:this.options.move.center.radius??0,mode:this.options.move.center.mode??"percent"},this.direction=(0,g.JY)(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case"inside":this.outType="inside";break;case"outside":this.outType="outside"}this.offset=_.M.origin},this._engine=t}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;const i=this.container,e=this.pathGenerator,s=i.shapeDrawers.get(this.shape);s?.particleDestroy?.(this);for(const[,e]of i.plugins)e.particleDestroyed?.(this,t);for(const e of i.particles.updaters)e.particleDestroyed?.(this,t);e?.reset(this),this._engine.dispatchEvent("particleDestroyed",{container:this.container,data:{particle:this}})}draw(t){const i=this.container,e=i.canvas;for(const[,s]of i.plugins)e.drawParticlePlugin(s,this,t);e.drawParticle(this,t)}getFillColor(){return this._getRollColor(this.bubble.color??(0,a.O_)(this.color))}getMass(){return this.getRadius()**2*Math.PI*y}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){return this.bubble.radius??this.size.value}getStrokeColor(){return this._getRollColor(this.bubble.color??(0,a.O_)(this.strokeColor))}init(t,i,e,o){const r=this.container,h=this._engine;this.id=t,this.group=o,this.effectClose=!0,this.effectFill=!0,this.shapeClose=!0,this.shapeFill=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{}},this.outType="normal",this.ignoresResizeRatio=!0;const c=r.retina.pixelRatio,l=r.actualOptions,d=(0,v.y)(this._engine,r,l.particles),u=d.effect.type,p=d.shape.type,{reduceDuplicates:f}=d;this.effect=(0,n.TA)(u,this.id,f),this.shape=(0,n.TA)(p,this.id,f);const _=d.effect,y=d.shape;if(e){if(e.effect?.type){const t=e.effect.type,i=(0,n.TA)(t,this.id,f);i&&(this.effect=i,_.load(e.effect))}if(e.shape?.type){const t=e.shape.type,i=(0,n.TA)(t,this.id,f);i&&(this.shape=i,y.load(e.shape))}}this.effectData=function(t,i,e,s){const o=i.options[t];if(o)return(0,n.zw)({close:i.close,fill:i.fill},(0,n.TA)(o,e,s))}(this.effect,_,this.id,f),this.shapeData=function(t,i,e,s){const o=i.options[t];if(o)return(0,n.zw)({close:i.close,fill:i.fill},(0,n.TA)(o,e,s))}(this.shape,y,this.id,f),d.load(e);const w=this.effectData;w&&d.load(w.particles);const b=this.shapeData;b&&d.load(b.particles);const z=new m.k(h,r);z.load(r.actualOptions.interactivity),z.load(d.interactivity),this.interactivity=z,this.effectFill=w?.fill??d.effect.fill,this.effectClose=w?.close??d.effect.close,this.shapeFill=b?.fill??d.shape.fill,this.shapeClose=b?.close??d.shape.close,this.options=d;const C=this.options.move.path;this.pathDelay=(0,g.VG)(C.delay.value)*s.Xu,C.generator&&(this.pathGenerator=this._engine.getPathGenerator(C.generator),this.pathGenerator&&r.addPath(C.generator,this.pathGenerator)&&this.pathGenerator.init(r)),r.retina.initParticle(this),this.size=(0,n.Xs)(this.options.size,c),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(i),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy();this.moveDecay=1-(0,g.VG)(this.options.move.decay);const x=r.particles;x.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/r.zLayers,this.sides=24;let k=r.effectDrawers.get(this.effect);k||(k=this._engine.getEffectDrawer(this.effect),k&&r.effectDrawers.set(this.effect,k)),k?.loadEffect&&k.loadEffect(this);let P=r.shapeDrawers.get(this.shape);P||(P=this._engine.getShapeDrawer(this.shape),P&&r.shapeDrawers.set(this.shape,P)),P?.loadShape&&P.loadShape(this);const O=P?.getSidesCount;O&&(this.sides=O(this)),this.spawning=!1,this.shadowColor=(0,a.BN)(this.options.shadow.color);for(const t of x.updaters)t.init(this);for(const t of x.movers)t.init?.(this);k?.particleInit?.(r,this),P?.particleInit?.(r,this);for(const[,t]of r.plugins)t.particleCreated?.(this)}isInsideCanvas(){const t=this.getRadius(),i=this.container.canvas.size,e=this.position;return e.x>=-t&&e.y>=-t&&e.y<=i.height+t&&e.x<=i.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(const t of this.container.particles.updaters)t.reset?.(this)}}var z=e(2284),C=e(694);const x=.5;class k{constructor(t,i){this.rectangle=t,this.capacity=i,this._subdivide=()=>{const{x:t,y:i}=this.rectangle.position,{width:e,height:s}=this.rectangle.size,{capacity:n}=this;for(let o=0;o<4;o++){const a=o%2;this._subs.push(new k(new C.M_(t+e*x*a,i+s*x*(Math.round(o*x)-a),e*x,s*x),n))}this._divided=!0},this._points=[],this._divided=!1,this._subs=[]}insert(t){return!!this.rectangle.contains(t.position)&&(this._points.length<this.capacity?(this._points.push(t),!0):(this._divided||this._subdivide(),this._subs.some((i=>i.insert(t)))))}query(t,i){const e=[];if(!t.intersects(this.rectangle))return[];for(const s of this._points)!t.contains(s.position)&&(0,g.Yf)(t.position,s.position)>s.particle.getRadius()&&(!i||i(s.particle))||e.push(s.particle);if(this._divided)for(const s of this._subs)e.push(...s.query(t,i));return e}queryCircle(t,i,e){return this.query(new C.jl(t.x,t.y,i),e)}queryRectangle(t,i,e){return this.query(new C.M_(t.x,t.y,i.width,i.height),e)}}const P=t=>{const{height:i,width:e}=t;return new C.M_(-.25*e,-.25*i,1.5*e,1.5*i)};class O{constructor(t,i){this._addToPool=(...t)=>{for(const i of t)this._pool.push(i)},this._applyDensity=(t,i,e)=>{const s=t.number;if(!t.number.density?.enable)return void(void 0===e?this._limit=s.limit.value:s.limit&&this._groupLimits.set(e,s.limit.value));const n=this._initDensityFactor(s.density),o=s.value,a=s.limit.value>0?s.limit.value:o,r=Math.min(o,a)*n+i,h=Math.min(this.count,this.filter((t=>t.group===e)).length);void 0===e?this._limit=s.limit.value*n:this._groupLimits.set(e,s.limit.value*n),h<r?this.push(Math.abs(r-h),void 0,t,e):h>r&&this.removeQuantity(h-r,e)},this._initDensityFactor=t=>{const i=this._container;if(!i.canvas.element||!t.enable)return 1;const e=i.canvas.element,s=i.retina.pixelRatio;return e.width*e.height/(t.height*t.width*s**2)},this._pushParticle=(t,i,e,o)=>{try{let s=this._pool.pop();s||(s=new b(this._engine,this._container)),s.init(this._nextId,t,i,e);let n=!0;if(o&&(n=o(s)),!n)return;return this._array.push(s),this._zArray.push(s),this._nextId++,this._engine.dispatchEvent("particleAdded",{container:this._container,data:{particle:s}}),s}catch(t){(0,n.tZ)().warning(`${s.dI} adding particle: ${t}`)}},this._removeParticle=(t,i,e)=>{const s=this._array[t];if(!s||s.group!==i)return!1;const n=this._zArray.indexOf(s);return this._array.splice(t,1),this._zArray.splice(n,1),s.destroy(e),this._engine.dispatchEvent("particleRemoved",{container:this._container,data:{particle:s}}),this._addToPool(s),!0},this._engine=t,this._container=i,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._lastZIndex=0,this._interactionManager=new f(t,i),this._pluginsInitialized=!1;const e=i.canvas.size;this.quadTree=new k(P(e),4),this.movers=[],this.updaters=[]}get count(){return this._array.length}addManualParticles(){const t=this._container,i=t.actualOptions;for(const e of i.manualParticles)this.addParticle(e.position?(0,n.E9)(e.position,t.canvas.size):void 0,e.options)}addParticle(t,i,e,s){const n=this._container.actualOptions.particles.number.limit,o=void 0===e?this._limit:this._groupLimits.get(e)??this._limit,a=this.count;if(o>0)if("delete"===n.mode){const t=a+1-o;t>0&&this.removeQuantity(t)}else if("wait"===n.mode&&a>=o)return;return this._pushParticle(t,i,e,s)}clear(){this._array=[],this._zArray=[],this._pluginsInitialized=!1}destroy(){this._array=[],this._zArray=[],this.movers=[],this.updaters=[]}draw(t){const i=this._container,e=i.canvas;e.clear(),this.update(t);for(const[,s]of i.plugins)e.drawPlugin(s,t);for(const i of this._zArray)i.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}handleClickMode(t){this._interactionManager.handleClickMode(t)}async init(){const t=this._container,i=t.actualOptions;this._lastZIndex=0,this._needsSort=!1,await this.initPlugins();let e=!1;for(const[,i]of t.plugins)if(void 0!==i.particlesInitialization&&(e=i.particlesInitialization()),e)break;if(this.addManualParticles(),!e){const t=i.particles,e=t.groups;for(const i in e){const s=e[i];for(let e=this.count,n=0;n<s.number?.value&&e<t.number.value;e++,n++)this.addParticle(void 0,s,i)}for(let i=this.count;i<t.number.value;i++)this.addParticle()}}async initPlugins(){if(this._pluginsInitialized)return;const t=this._container;this.movers=await this._engine.getMovers(t,!0),this.updaters=await this._engine.getUpdaters(t,!0),await this._interactionManager.init();for(const[,i]of t.pathGenerators)i.init(t)}push(t,i,e,s){for(let n=0;n<t;n++)this.addParticle(i?.position,e,s)}async redraw(){this.clear(),await this.init(),this.draw({value:0,factor:0})}remove(t,i,e){this.removeAt(this._array.indexOf(t),void 0,i,e)}removeAt(t,i=1,e,s){if(t<0||t>this.count)return;let n=0;for(let o=t;n<i&&o<this.count;o++)this._removeParticle(o--,e,s)&&n++}removeQuantity(t,i){this.removeAt(0,t,i)}setDensity(){const t=this._container.actualOptions,i=t.particles.groups;for(const t in i)this._applyDensity(i[t],0,t);this._applyDensity(t.particles,t.manualParticles.length)}setLastZIndex(t){this._lastZIndex=t,this._needsSort=this._needsSort||this._lastZIndex<t}setResizeFactor(t){this._resizeFactor=t}update(t){const i=this._container,e=new Set;this.quadTree=new k(P(i.canvas.size),4);for(const[,t]of i.pathGenerators)t.update();for(const[,e]of i.plugins)e.update?.(t);const s=this._resizeFactor;for(const i of this._array){s&&!i.ignoresResizeRatio&&(i.position.x*=s.width,i.position.y*=s.height,i.initialPosition.x*=s.width,i.initialPosition.y*=s.height),i.ignoresResizeRatio=!1,this._interactionManager.reset(i);for(const[,e]of this._container.plugins){if(i.destroyed)break;e.particleUpdate?.(i,t)}for(const e of this.movers)e.isEnabled(i)&&e.move(i,t);i.destroyed?e.add(i):this.quadTree.insert(new z.b(i.getPosition(),i))}if(e.size){const t=t=>!e.has(t);this._array=this.filter(t),this._zArray=this._zArray.filter(t);for(const t of e)this._engine.dispatchEvent("particleRemoved",{container:this._container,data:{particle:t}});this._addToPool(...e)}this._interactionManager.externalInteract(t);for(const i of this._array){for(const e of this.updaters)e.update(i,t);i.destroyed||i.spawning||this._interactionManager.particlesInteract(i,t)}if(delete this._resizeFactor,this._needsSort){const t=this._zArray;t.sort(((t,i)=>i.position.z-t.position.z||t.id-i.id));const i=1;this._lastZIndex=t[t.length-i].position.z,this._needsSort=!1}}}class T{constructor(t){this.container=t,this.pixelRatio=1,this.reduceFactor=1}init(){const t=this.container,i=t.actualOptions;this.pixelRatio=!i.detectRetina||(0,n.B9)()?1:window.devicePixelRatio,this.reduceFactor=1;const e=this.pixelRatio,s=t.canvas;if(s.element){const t=s.element;s.size.width=t.offsetWidth*e,s.size.height=t.offsetHeight*e}const o=i.particles,a=o.move;this.maxSpeed=(0,g.VG)(a.gravity.maxSpeed)*e,this.sizeAnimationSpeed=(0,g.VG)(o.size.animation.speed)*e}initParticle(t){const i=t.options,e=this.pixelRatio,s=i.move,n=s.distance,o=t.retina;o.moveDrift=(0,g.VG)(s.drift)*e,o.moveSpeed=(0,g.VG)(s.speed)*e,o.sizeAnimationSpeed=(0,g.VG)(i.size.animation.speed)*e;const a=o.maxDistance;a.horizontal=void 0!==n.horizontal?n.horizontal*e:void 0,a.vertical=void 0!==n.vertical?n.vertical*e:void 0,o.maxSpeed=(0,g.VG)(s.gravity.maxSpeed)*e}}function M(t){return t&&!t.destroyed}function S(t,i,...e){const s=new p.J(t,i);return(0,v.Z)(s,...e),s}class D{constructor(t,i,e){this._intersectionManager=t=>{if(M(this)&&this.actualOptions.pauseOnOutsideViewport)for(const i of t)i.target===this.interactivity.element&&(i.isIntersecting?this.play():this.pause())},this._nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+s.Xu/this.fpsLimit)return void this.draw(!1);this._lastFrameTime??=t;const i=function(t,i=60,e=!1){return{value:t,factor:e?60/i:60*t/s.Xu}}(t-this._lastFrameTime,this.fpsLimit,this._smooth);if(this.addLifeTime(i.value),this._lastFrameTime=t,i.value>s.Xu)return void this.draw(!1);if(this.particles.draw(i),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){(0,n.tZ)().error(`${s.dI} in animation loop`,t)}},this._engine=t,this.id=Symbol(i),this.fpsLimit=120,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._sourceOptions=e,this._initialSourceOptions=e,this.retina=new T(this),this.canvas=new c(this),this.particles=new O(this._engine,this),this.pathGenerators=new Map,this.interactivity={mouse:{clicking:!1,inside:!1}},this.plugins=new Map,this.effectDrawers=new Map,this.shapeDrawers=new Map,this._options=S(this._engine,this),this.actualOptions=S(this._engine,this),this._eventListeners=new u(this),this._intersectionObserver=(0,n.BR)((t=>this._intersectionManager(t))),this._engine.dispatchEvent("containerBuilt",{container:this})}get animationStatus(){return!this._paused&&!this.pageHidden&&M(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addClickHandler(t){if(!M(this))return;const i=this.interactivity.element;if(!i)return;const e=(i,e,s)=>{if(!M(this))return;const n=this.retina.pixelRatio,o={x:e.x*n,y:e.y*n},a=this.particles.quadTree.queryCircle(o,s*n);t(i,a)};let s=!1,n=!1;i.addEventListener("click",(t=>{if(!M(this))return;const i=t,s={x:i.offsetX||i.clientX,y:i.offsetY||i.clientY};e(t,s,1)})),i.addEventListener("touchstart",(()=>{M(this)&&(s=!0,n=!1)})),i.addEventListener("touchmove",(()=>{M(this)&&(n=!0)})),i.addEventListener("touchend",(t=>{if(M(this)){if(s&&!n){const i=t,s=1;let n=i.touches[i.touches.length-s];if(!n&&(n=i.changedTouches[i.changedTouches.length-s],!n))return;const o=this.canvas.element,a=o?o.getBoundingClientRect():void 0,r=0,h={x:n.clientX-(a?a.left:r),y:n.clientY-(a?a.top:r)};e(t,h,Math.max(n.radiusX,n.radiusY))}s=!1,n=!1}})),i.addEventListener("touchcancel",(()=>{M(this)&&(s=!1,n=!1)}))}addLifeTime(t){this._lifeTime+=t}addPath(t,i,e=!1){return!(!M(this)||!e&&this.pathGenerators.has(t))&&(this.pathGenerators.set(t,i),!0)}alive(){return!this._duration||this._lifeTime<=this._duration}destroy(){if(!M(this))return;this.stop(),this.particles.destroy(),this.canvas.destroy();for(const[,t]of this.effectDrawers)t.destroy?.(this);for(const[,t]of this.shapeDrawers)t.destroy?.(this);for(const t of this.effectDrawers.keys())this.effectDrawers.delete(t);for(const t of this.shapeDrawers.keys())this.shapeDrawers.delete(t);this._engine.clearPlugins(this),this.destroyed=!0;const t=this._engine.dom(),i=t.findIndex((t=>t===this));if(i>=0){const e=1;t.splice(i,e)}this._engine.dispatchEvent("containerDestroyed",{container:this})}draw(t){if(!M(this))return;let i=t;const e=t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)};this._drawAnimationFrame=requestAnimationFrame((t=>e(t)))}async export(t,i={}){for(const[,e]of this.plugins){if(!e.export)continue;const s=await e.export(t,i);if(s.supported)return s.blob}(0,n.tZ)().error(`${s.dI} - Export plugin with type ${t} not found`)}handleClickMode(t){if(M(this)){this.particles.handleClickMode(t);for(const[,i]of this.plugins)i.handleClickMode?.(t)}}async init(){if(!M(this))return;const t=this._engine.getSupportedEffects();for(const i of t){const t=this._engine.getEffectDrawer(i);t&&this.effectDrawers.set(i,t)}const i=this._engine.getSupportedShapes();for(const t of i){const i=this._engine.getShapeDrawer(t);i&&this.shapeDrawers.set(t,i)}await this.particles.initPlugins(),this._options=S(this._engine,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=S(this._engine,this,this._options);const e=await this._engine.getAvailablePlugins(this);for(const[t,i]of e)this.plugins.set(t,i);this.retina.init(),await this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize(),this.zLayers=this.actualOptions.zLayers,this._duration=(0,g.VG)(this.actualOptions.duration)*s.Xu,this._delay=(0,g.VG)(this.actualOptions.delay)*s.Xu,this._lifeTime=0;this.fpsLimit=this.actualOptions.fpsLimit>0?this.actualOptions.fpsLimit:120,this._smooth=this.actualOptions.smooth;for(const[,t]of this.effectDrawers)await(t.init?.(this));for(const[,t]of this.shapeDrawers)await(t.init?.(this));for(const[,t]of this.plugins)await(t.init?.());this._engine.dispatchEvent("containerInit",{container:this}),await this.particles.init(),this.particles.setDensity();for(const[,t]of this.plugins)t.particlesSetup?.();this._engine.dispatchEvent("particlesSetup",{container:this})}async loadTheme(t){M(this)&&(this._currentTheme=t,await this.refresh())}pause(){if(M(this)&&(void 0!==this._drawAnimationFrame&&(cancelAnimationFrame(this._drawAnimationFrame),delete this._drawAnimationFrame),!this._paused)){for(const[,t]of this.plugins)t.pause?.();this.pageHidden||(this._paused=!0),this._engine.dispatchEvent("containerPaused",{container:this})}}play(t){if(!M(this))return;const i=this._paused||t;if(!this._firstStart||this.actualOptions.autoPlay){if(this._paused&&(this._paused=!1),i)for(const[,t]of this.plugins)t.play&&t.play();this._engine.dispatchEvent("containerPlay",{container:this}),this.draw(i??!1)}else this._firstStart=!1}async refresh(){if(M(this))return this.stop(),this.start()}async reset(){if(M(this))return this._initialSourceOptions=void 0,this._options=S(this._engine,this),this.actualOptions=S(this._engine,this,this._options),this.refresh()}async start(){M(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise((t=>{const i=async()=>{this._eventListeners.addListeners(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.observe(this.interactivity.element);for(const[,t]of this.plugins)await(t.start?.());this._engine.dispatchEvent("containerStarted",{container:this}),this.play(),t()};this._delayTimeout=setTimeout((()=>{i()}),this._delay)})))}stop(){if(M(this)&&this.started){this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.interactivity.element instanceof HTMLElement&&this._intersectionObserver&&this._intersectionObserver.unobserve(this.interactivity.element);for(const[,t]of this.plugins)t.stop?.();for(const t of this.plugins.keys())this.plugins.delete(t);this._sourceOptions=this._options,this._engine.dispatchEvent("containerStopped",{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];const t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,this._options);return this.actualOptions.setTheme(this._currentTheme),this._responsiveMaxWidth!==t&&(this._responsiveMaxWidth=t,!0)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/2112.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 2112.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2112],{2112:(t,i,e)=>{e.d(i,{EmittersPlugin:()=>n});var o=e(5540),s=e(6491);class n{constructor(t){this._engine=t,this.id="emitters"}async getPlugin(t){const{Emitters:i}=await e.e(823).then(e.bind(e,823));return new i(this._engine,t)}loadOptions(t,i){if(!this.needsPlugin(t)&&!this.needsPlugin(i))return;i?.emitters&&(t.emitters=(0,o.wJ)(i.emitters,(t=>{const i=new s.Emitter;return i.load(t),i})));const e=i?.interactivity?.modes?.emitters;if(e)if((0,o.cy)(e))t.interactivity.modes.emitters={random:{count:1,enable:!0},value:e.map((t=>{const i=new s.Emitter;return i.load(t),i}))};else{const i=e;if(void 0!==i.value){const e=1;if((0,o.cy)(i.value))t.interactivity.modes.emitters={random:{count:i.random.count??e,enable:i.random.enable??!1},value:i.value.map((t=>{const i=new s.Emitter;return i.load(t),i}))};else{const o=new s.Emitter;o.load(i.value),t.interactivity.modes.emitters={random:{count:i.random.count??e,enable:i.random.enable??!1},value:o}}}else{(t.interactivity.modes.emitters={random:{count:1,enable:!1},value:new s.Emitter}).value.load(e)}}}needsPlugin(t){if(!t)return!1;const i=t.emitters;return(0,o.cy)(i)&&!!i.length||void 0!==i||!!t.interactivity?.events?.onClick?.mode&&(0,o.hn)("emitter",t.interactivity.events.onClick.mode)}}},6491:(t,i,e)=>{e.d(i,{Emitter:()=>l});var o=e(5540);class s{constructor(){this.wait=!1}load(t){t&&(void 0!==t.count&&(this.count=t.count),void 0!==t.delay&&(this.delay=(0,o.DT)(t.delay)),void 0!==t.duration&&(this.duration=(0,o.DT)(t.duration)),void 0!==t.wait&&(this.wait=t.wait))}}class n{constructor(){this.quantity=1,this.delay=.1}load(t){void 0!==t&&(void 0!==t.quantity&&(this.quantity=(0,o.DT)(t.quantity)),void 0!==t.delay&&(this.delay=(0,o.DT)(t.delay)))}}class a{constructor(){this.color=!1,this.opacity=!1}load(t){t&&(void 0!==t.color&&(this.color=t.color),void 0!==t.opacity&&(this.opacity=t.opacity))}}class r{constructor(){this.options={},this.replace=new a,this.type="square"}load(t){t&&(void 0!==t.options&&(this.options=(0,o.zw)({},t.options??{})),this.replace.load(t.replace),void 0!==t.type&&(this.type=t.type))}}var d=e(3839);class l{constructor(){this.autoPlay=!0,this.fill=!0,this.life=new s,this.rate=new n,this.shape=new r,this.startCount=0}load(t){t&&(void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay),void 0!==t.size&&(this.size||(this.size=new d.G),this.size.load(t.size)),void 0!==t.direction&&(this.direction=t.direction),this.domId=t.domId,void 0!==t.fill&&(this.fill=t.fill),this.life.load(t.life),this.name=t.name,this.particles=(0,o.wJ)(t.particles,(t=>(0,o.zw)({},t))),this.rate.load(t.rate),this.shape.load(t.shape),void 0!==t.position&&(this.position={},void 0!==t.position.x&&(this.position.x=(0,o.DT)(t.position.x)),void 0!==t.position.y&&(this.position.y=(0,o.DT)(t.position.y))),void 0!==t.spawnColor&&(void 0===this.spawnColor&&(this.spawnColor=new o.A9),this.spawnColor.load(t.spawnColor)),void 0!==t.startCount&&(this.startCount=t.startCount))}}},3839:(t,i,e)=>{e.d(i,{G:()=>o});class o{constructor(){this.mode="percent",this.height=0,this.width=0}load(t){void 0!==t&&(void 0!==t.mode&&(this.mode=t.mode),void 0!==t.height&&(this.height=t.height),void 0!==t.width&&(this.width=t.width))}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/2136.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 2136.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2136],{9729:(e,a,r)=>{r.d(a,{a:()=>c,d:()=>d,loadImage:()=>s});var n=r(5540);const t=0,o=1,i=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function s(e){return new Promise((a=>{e.loading=!0;const r=new Image;e.element=r,r.addEventListener("load",(()=>{e.loading=!1,a()})),r.addEventListener("error",(()=>{e.element=void 0,e.error=!0,e.loading=!1,(0,n.tZ)().error(`${n.dI} loading image: ${e.source}`),a()})),r.src=e.source}))}async function c(e){if("svg"!==e.type)return void await s(e);e.loading=!0;const a=await fetch(e.source);a.ok?e.svgData=await a.text():((0,n.tZ)().error(`${n.dI} Image not found`),e.error=!0),e.loading=!1}function d(e,a,r,c){const d=function(e,a,r){const{svgData:o}=e;if(!o)return"";const s=(0,n.LC)(a,r);if(o.includes("fill"))return o.replace(i,(()=>s));const c=o.indexOf(">");return`${o.substring(t,c)} fill="${s}"${o.substring(c)}`}(e,r,c.opacity?.value??o),l={color:r,gif:a.gif,data:{...e,svgData:d},loaded:!1,ratio:a.width/a.height,replaceColor:a.replaceColor,source:a.src};return new Promise((a=>{const r=new Blob([d],{type:"image/svg+xml"}),n=URL||window.URL||window.webkitURL||window,t=n.createObjectURL(r),o=new Image;o.addEventListener("load",(()=>{l.loaded=!0,l.element=o,a(l),n.revokeObjectURL(t)}));o.addEventListener("error",(()=>{(async()=>{n.revokeObjectURL(t);const r={...e,error:!1,loading:!0};await s(r),l.loaded=!0,l.element=r.element,a(l)})()})),o.src=t}))}},2136:(e,a,r)=>{r.d(a,{loadImageShape:()=>i});var n=r(9729),t=r(5540);const o=3;async function i(e,a=!0){!function(e){e.loadImage||(e.loadImage=async a=>{if(!a.name&&!a.src)throw new Error(`${t.dI} no image source provided`);if(e.images||(e.images=[]),!e.images.find((e=>e.name===a.name||e.source===a.src)))try{const t={gif:a.gif??!1,name:a.name??a.src,source:a.src,type:a.src.substring(a.src.length-o),error:!1,loading:!0,replaceColor:a.replaceColor,ratio:a.width&&a.height?a.width/a.height:void 0};let i;if(e.images.push(t),a.gif){const{loadGifImage:e}=await r.e(4302).then(r.bind(r,4302));i=e}else i=a.replaceColor?n.a:n.loadImage;await i(t)}catch{throw new Error(`${t.dI} ${a.name??a.src} not found`)}})}(e);const{ImagePreloaderPlugin:i}=await r.e(8155).then(r.bind(r,8155)),{ImageDrawer:s}=await r.e(6520).then(r.bind(r,6520)),c=new i(e);await e.addPlugin(c,a),await e.addShape(["image","images"],new s(e),a)}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/2284.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 2284.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2284],{9903:(a,e,t)=>{async function n(a,e=!0){const{SquareDrawer:n}=await t.e(3695).then(t.bind(t,3695));await a.addShape(["edge","square"],new n,e)}t.d(e,{loadSquareShape:()=>n})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/2370.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 2370.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2370],{2370:(e,t,a)=>{async function n(e,t=!0){if(!e.emitterShapeManager){const{ShapeManager:t}=await a.e(4512).then(a.bind(a,4512));e.emitterShapeManager=new t(e)}e.addEmitterShapeGenerator||(e.addEmitterShapeGenerator=(t,a)=>{e.emitterShapeManager?.addShapeGenerator(t,a)});const{EmittersPlugin:n}=await a.e(2112).then(a.bind(a,2112)),i=new n(e);await e.addPlugin(i,t)}a.d(t,{loadEmittersPlugin:()=>n})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/2497.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 2497.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[2497],{2497:(t,n,i)=>{async function a(t,n=!0){const{MotionPlugin:a}=await i.e(9581).then(i.bind(i,9581));await t.addPlugin(new a(t),n)}i.d(n,{loadMotionPlugin:()=>a})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/286.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 286.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[286],{7905:(a,t,r)=>{r.d(t,{HeartDrawer:()=>e});class e{draw(a){!function(a){const{context:t,radius:r}=a,e=2*r,u=.5*r,c=r+u,i=-r,o=-r;t.moveTo(i,o+u),t.quadraticCurveTo(i,o,i+u,o),t.quadraticCurveTo(i+r,o,i+r,o+u),t.quadraticCurveTo(i+r,o,i+c,o),t.quadraticCurveTo(i+e,o,i+e,o+u),t.quadraticCurveTo(i+e,o+r,i+c,o+c),t.lineTo(i+r,o+e),t.lineTo(i+u,o+c),t.quadraticCurveTo(i,o+r,i,o+u)}(a)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/3237.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 3237.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3237],{3237:(e,l,a)=>{a.d(l,{RollUpdater:()=>r});var n=a(5540);const o=2*Math.PI;class t{constructor(){this.enable=!1,this.value=0}load(e){e&&(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.value&&(this.value=(0,n.DT)(e.value)))}}class i{constructor(){this.darken=new t,this.enable=!1,this.enlighten=new t,this.mode="vertical",this.speed=25}load(e){e&&(void 0!==e.backColor&&(this.backColor=n.Oi.create(this.backColor,e.backColor)),this.darken.load(e.darken),void 0!==e.enable&&(this.enable=e.enable),this.enlighten.load(e.enlighten),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.speed&&(this.speed=(0,n.DT)(e.speed)))}}class r{getTransformValues(e){const l=e.roll?.enable&&e.roll,a=l&&l.horizontal,n=l&&l.vertical;return{a:a?Math.cos(l.angle):void 0,d:n?Math.sin(l.angle):void 0}}init(e){!function(e){const l=e.options.roll;if(l?.enable)if(e.roll={enable:l.enable,horizontal:"horizontal"===l.mode||"both"===l.mode,vertical:"vertical"===l.mode||"both"===l.mode,angle:(0,n.G0)()*o,speed:(0,n.VG)(l.speed)/360},l.backColor)e.backColor=(0,n.R5)(l.backColor);else if(l.darken.enable&&l.enlighten.enable){const a=(0,n.G0)()>=n.N3?"darken":"enlighten";e.roll.alter={type:a,value:(0,n.VG)("darken"===a?l.darken.value:l.enlighten.value)}}else l.darken.enable?e.roll.alter={type:"darken",value:(0,n.VG)(l.darken.value)}:l.enlighten.enable&&(e.roll.alter={type:"enlighten",value:(0,n.VG)(l.enlighten.value)});else e.roll={enable:!1,horizontal:!1,vertical:!1,angle:0,speed:0}}(e)}isEnabled(e){const l=e.options.roll;return!e.destroyed&&!e.spawning&&!!l?.enable}loadOptions(e,...l){e.roll||(e.roll=new i);for(const a of l)e.roll.load(a?.roll)}update(e,l){this.isEnabled(e)&&function(e,l){const a=e.options.roll,n=e.roll;if(!n||!a?.enable)return;const t=n.speed*l.factor,i=o;n.angle+=t,n.angle>i&&(n.angle-=i)}(e,l)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/335.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 335.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[335],{335:(e,x,y)=>{y.d(x,{HeartDrawer:()=>a});var s=y(9543);class a{draw(e){(0,s.k)(e,s.f.heart)}}},9543:(e,x,y)=>{function s(e,x){if(!x.segments.length||!x.segments[0].values.length)return;const{context:y,radius:s}=e;y.moveTo(x.segments[0].values[0].x*s,x.segments[0].values[0].y*s);for(const e of x.segments)y.bezierCurveTo(e.values[1].x*s,e.values[1].y*s,e.values[2].x*s,e.values[2].y*s,e.values[3].x*s,e.values[3].y*s);for(let e=x.segments.length-1;e>=0;e--){const a=x.segments[e];y.bezierCurveTo(-a.values[2].x*s,a.values[2].y*s,-a.values[1].x*s,a.values[1].y*s,-a.values[0].x*s,a.values[0].y*s)}}y.d(x,{f:()=>u,k:()=>s});const a=.5,u={heart:{segments:[{values:[{x:0,y:a},{x:0,y:a},{x:a,y:0},{x:a,y:-a/2}]},{values:[{x:a,y:-a/2},{x:a,y:-a/2},{x:a,y:-a},{x:a/2,y:-a}]},{values:[{x:a/2,y:-a},{x:a/2,y:-a},{x:0,y:-a},{x:0,y:-a/2}]}]},diamond:{segments:[{values:[{x:0,y:a},{x:0,y:a},{x:.375,y:0},{x:.375,y:0}]},{values:[{x:.375,y:0},{x:.375,y:0},{x:0,y:-a},{x:0,y:-a}]}]},club:{segments:[{values:[{x:0,y:-a},{x:0,y:-a},{x:a/2,y:-a},{x:a/2,y:-a/2}]},{values:[{x:a/2,y:-a/2},{x:a/2,y:-a/2},{x:a,y:-a/2},{x:a,y:0}]},{values:[{x:a,y:0},{x:a,y:0},{x:a,y:a/2},{x:a/2,y:a/2}]},{values:[{x:a/2,y:a/2},{x:a/2,y:a/2},{x:a/8,y:a/2},{x:a/8,y:a/8}]},{values:[{x:a/8,y:a/8},{x:a/8,y:a/2},{x:a/2,y:a},{x:a/2,y:a}]},{values:[{x:a/2,y:a},{x:a/2,y:a},{x:0,y:a},{x:0,y:a}]}]},spade:{segments:[{values:[{x:0,y:-a},{x:0,y:-a},{x:a,y:-a/2},{x:a,y:0}]},{values:[{x:a,y:0},{x:a,y:0},{x:a,y:a/2},{x:a/2,y:a/2}]},{values:[{x:a/2,y:a/2},{x:a/2,y:a/2},{x:a/8,y:a/2},{x:a/8,y:a/8}]},{values:[{x:a/8,y:a/8},{x:a/8,y:a/2},{x:a/2,y:a},{x:a/2,y:a}]},{values:[{x:a/2,y:a},{x:a/2,y:a},{x:0,y:a},{x:0,y:a}]}]}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/3416.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 3416.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[3416],{3416:(t,a,e)=>{async function i(t,a=!0){await t.addParticleUpdater("tilt",(async t=>{const{TiltUpdater:a}=await e.e(7306).then(e.bind(e,7306));return new a(t)}),a)}e.d(a,{loadTiltUpdater:()=>i})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Confetti v3.3.0 by Matteo Bruni */
package/344.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 344.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_confetti=this.webpackChunk_tsparticles_confetti||[]).push([[344],{344:(e,i,s)=>{s.d(i,{SizeUpdater:()=>n});var t=s(5540);class n{init(e){const i=e.container,s=e.options.size.animation;s.enable&&(e.size.velocity=(e.retina.sizeAnimationSpeed??i.retina.sizeAnimationSpeed)/t.a5*i.retina.reduceFactor,s.sync||(e.size.velocity*=(0,t.G0)()))}isEnabled(e){return!e.destroyed&&!e.spawning&&e.size.enable&&((e.size.maxLoops??0)<=0||(e.size.maxLoops??0)>0&&(e.size.loops??0)<(e.size.maxLoops??0))}reset(e){e.size.loops=0}update(e,i){this.isEnabled(e)&&(0,t.UC)(e,e.size,!0,e.options.size.animation.destroy,i)}}}}]);