@tsparticles/confetti 3.6.0-beta.1 → 3.7.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.
@@ -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.6.0-beta.1
7
+ * v3.7.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -34,7 +34,7 @@ return /******/ (() => { // webpackBootstrap
34
34
  \*****************************************/
35
35
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
36
36
 
37
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfettiOptions: () => (/* binding */ ConfettiOptions)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass ConfettiOptions {\n constructor() {\n this.angle = 90;\n this.count = 50;\n this.spread = 45;\n this.startVelocity = 45;\n this.decay = 0.9;\n this.gravity = 1;\n this.drift = 0;\n this.ticks = 200;\n this.position = {\n x: 50,\n y: 50\n };\n this.colors = [\"#26ccff\", \"#a25afd\", \"#ff5e7e\", \"#88ff5a\", \"#fcff42\", \"#ffa62d\", \"#ff36ff\"];\n this.shapes = [\"square\", \"circle\"];\n this.scalar = 1;\n this.zIndex = 100;\n this.disableForReducedMotion = true;\n this.flat = false;\n this.shapeOptions = {};\n }\n get origin() {\n return {\n x: this.position.x / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: this.position.y / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n }\n set origin(value) {\n this.position.x = value.x * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator;\n this.position.y = value.y * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator;\n }\n get particleCount() {\n return this.count;\n }\n set particleCount(value) {\n this.count = value;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.angle !== undefined) {\n this.angle = data.angle;\n }\n const count = data.count ?? data.particleCount;\n if (count !== undefined) {\n this.count = count;\n }\n if (data.spread !== undefined) {\n this.spread = data.spread;\n }\n if (data.startVelocity !== undefined) {\n this.startVelocity = data.startVelocity;\n }\n if (data.decay !== undefined) {\n this.decay = data.decay;\n }\n if (data.flat !== undefined) {\n this.flat = data.flat;\n }\n if (data.gravity !== undefined) {\n this.gravity = data.gravity;\n }\n if (data.drift !== undefined) {\n this.drift = data.drift;\n }\n if (data.ticks !== undefined) {\n this.ticks = data.ticks;\n }\n const origin = data.origin;\n if (origin && !data.position) {\n data.position = {\n x: origin.x !== undefined ? origin.x * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator : undefined,\n y: origin.y !== undefined ? origin.y * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator : undefined\n };\n }\n const position = data.position;\n if (position) {\n if (position.x !== undefined) {\n this.position.x = position.x;\n }\n if (position.y !== undefined) {\n this.position.y = position.y;\n }\n }\n if (data.colors !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(data.colors)) {\n this.colors = [...data.colors];\n } else {\n this.colors = data.colors;\n }\n }\n const options = data.shapeOptions;\n if (options !== undefined) {\n for (const shape in options) {\n const item = options[shape];\n if (item) {\n this.shapeOptions[shape] = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.shapeOptions[shape] ?? {}, item);\n }\n }\n }\n if (data.shapes !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(data.shapes)) {\n this.shapes = [...data.shapes];\n } else {\n this.shapes = data.shapes;\n }\n }\n if (data.scalar !== undefined) {\n this.scalar = data.scalar;\n }\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n if (data.disableForReducedMotion !== undefined) {\n this.disableForReducedMotion = data.disableForReducedMotion;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/ConfettiOptions.js?");
37
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ConfettiOptions: () => (/* binding */ ConfettiOptions)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass ConfettiOptions {\n constructor() {\n this.angle = 90;\n this.count = 50;\n this.spread = 45;\n this.startVelocity = 45;\n this.decay = 0.9;\n this.gravity = 1;\n this.drift = 0;\n this.ticks = 200;\n this.position = {\n x: 50,\n y: 50\n };\n this.colors = [\"#26ccff\", \"#a25afd\", \"#ff5e7e\", \"#88ff5a\", \"#fcff42\", \"#ffa62d\", \"#ff36ff\"];\n this.shapes = [\"square\", \"circle\"];\n this.scalar = 1;\n this.zIndex = 100;\n this.disableForReducedMotion = true;\n this.flat = false;\n this.shapeOptions = {};\n }\n get origin() {\n return {\n x: this.position.x / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator,\n y: this.position.y / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator\n };\n }\n set origin(value) {\n this.position.x = value.x * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator;\n this.position.y = value.y * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator;\n }\n get particleCount() {\n return this.count;\n }\n set particleCount(value) {\n this.count = value;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.angle !== undefined) {\n this.angle = data.angle;\n }\n const count = data.count ?? data.particleCount;\n if (count !== undefined) {\n this.count = count;\n }\n if (data.spread !== undefined) {\n this.spread = data.spread;\n }\n if (data.startVelocity !== undefined) {\n this.startVelocity = data.startVelocity;\n }\n if (data.decay !== undefined) {\n this.decay = data.decay;\n }\n if (data.flat !== undefined) {\n this.flat = data.flat;\n }\n if (data.gravity !== undefined) {\n this.gravity = data.gravity;\n }\n if (data.drift !== undefined) {\n this.drift = data.drift;\n }\n if (data.ticks !== undefined) {\n this.ticks = data.ticks;\n }\n const origin = data.origin;\n if (origin && !data.position) {\n data.position = {\n x: origin.x !== undefined ? origin.x * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator : undefined,\n y: origin.y !== undefined ? origin.y * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator : undefined\n };\n }\n const position = data.position;\n if (position) {\n if (position.x !== undefined) {\n this.position.x = position.x;\n }\n if (position.y !== undefined) {\n this.position.y = position.y;\n }\n }\n if (data.colors !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(data.colors)) {\n this.colors = [...data.colors];\n } else {\n this.colors = data.colors;\n }\n }\n const options = data.shapeOptions;\n if (options !== undefined) {\n for (const shape in options) {\n const item = options[shape];\n if (item) {\n this.shapeOptions[shape] = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.shapeOptions[shape] ?? {}, item);\n }\n }\n }\n if (data.shapes !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(data.shapes)) {\n this.shapes = [...data.shapes];\n } else {\n this.shapes = data.shapes;\n }\n }\n if (data.scalar !== undefined) {\n this.scalar = data.scalar;\n }\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n if (data.disableForReducedMotion !== undefined) {\n this.disableForReducedMotion = data.disableForReducedMotion;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/ConfettiOptions.js?");
38
38
 
39
39
  /***/ }),
40
40
 
@@ -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 */ AlterType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AlterType),\n/* harmony export */ AnimatableColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimatableColor),\n/* harmony export */ AnimationMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationMode),\n/* harmony export */ AnimationOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationOptions),\n/* harmony export */ AnimationStatus: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationStatus),\n/* harmony export */ AnimationValueWithRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationValueWithRandom),\n/* harmony export */ Background: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Background),\n/* harmony export */ BackgroundMask: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.BackgroundMask),\n/* harmony export */ BackgroundMaskCover: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.BackgroundMaskCover),\n/* harmony export */ BaseRange: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.BaseRange),\n/* harmony export */ Circle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Circle),\n/* harmony export */ ClickEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ClickEvent),\n/* harmony export */ CollisionMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.CollisionMode),\n/* harmony export */ Collisions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Collisions),\n/* harmony export */ CollisionsAbsorb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.CollisionsAbsorb),\n/* harmony export */ CollisionsOverlap: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.CollisionsOverlap),\n/* harmony export */ ColorAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ColorAnimation),\n/* harmony export */ DestroyType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.DestroyType),\n/* harmony export */ DivEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.DivType),\n/* harmony export */ EasingType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.EasingType),\n/* harmony export */ EventType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.EventType),\n/* harmony export */ Events: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Events),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ FullScreen: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.FullScreen),\n/* harmony export */ GradientType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.GradientType),\n/* harmony export */ HoverEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.HoverEvent),\n/* harmony export */ HslAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.HslAnimation),\n/* harmony export */ HslColorManager: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.HslColorManager),\n/* harmony export */ Interactivity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Interactivity),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.InteractorType),\n/* harmony export */ LimitMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.LimitMode),\n/* harmony export */ ManualParticle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ManualParticle),\n/* harmony export */ Modes: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Modes),\n/* harmony export */ Move: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Move),\n/* harmony export */ MoveAngle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveAngle),\n/* harmony export */ MoveAttract: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveAttract),\n/* harmony export */ MoveCenter: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveCenter),\n/* harmony export */ MoveDirection: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveDirection),\n/* harmony export */ MoveGravity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveGravity),\n/* harmony export */ MovePath: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MovePath),\n/* harmony export */ MoveTrail: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveTrail),\n/* harmony export */ Opacity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Opacity),\n/* harmony export */ OpacityAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OpacityAnimation),\n/* harmony export */ Options: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Options),\n/* harmony export */ OptionsColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OptionsColor),\n/* harmony export */ OutMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OutMode),\n/* harmony export */ OutModeDirection: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OutModeDirection),\n/* harmony export */ OutModes: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OutModes),\n/* harmony export */ Parallax: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Parallax),\n/* harmony export */ ParticleOutType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticleOutType),\n/* harmony export */ ParticlesBounce: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesBounce),\n/* harmony export */ ParticlesBounceFactor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesBounceFactor),\n/* harmony export */ ParticlesDensity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesDensity),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesInteractorBase),\n/* harmony export */ ParticlesNumber: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesNumber),\n/* harmony export */ ParticlesNumberLimit: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesNumberLimit),\n/* harmony export */ ParticlesOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesOptions),\n/* harmony export */ PixelMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.PixelMode),\n/* harmony export */ Point: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Point),\n/* harmony export */ RangedAnimationOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationOptions),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationValueWithRandom),\n/* harmony export */ Rectangle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Rectangle),\n/* harmony export */ ResizeEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ResizeEvent),\n/* harmony export */ Responsive: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Responsive),\n/* harmony export */ ResponsiveMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode),\n/* harmony export */ RgbColorManager: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.RgbColorManager),\n/* harmony export */ RotateDirection: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.RotateDirection),\n/* harmony export */ Shadow: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Shadow),\n/* harmony export */ Shape: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Shape),\n/* harmony export */ Size: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Size),\n/* harmony export */ SizeAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.SizeAnimation),\n/* harmony export */ Spin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Spin),\n/* harmony export */ StartValueType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.StartValueType),\n/* harmony export */ Stroke: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Stroke),\n/* harmony export */ Theme: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Theme),\n/* harmony export */ ThemeDefault: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ThemeDefault),\n/* harmony export */ ThemeMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ThemeMode),\n/* harmony export */ ValueWithRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ValueWithRandom),\n/* harmony export */ Vector: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Vector),\n/* harmony export */ Vector3d: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Vector3d),\n/* harmony export */ ZIndex: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ZIndex),\n/* harmony export */ addColorManager: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.addColorManager),\n/* harmony export */ addEasing: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.addEasing),\n/* harmony export */ alterHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.alterHsl),\n/* harmony export */ animate: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.animate),\n/* harmony export */ areBoundsInside: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.arrayRandomIndex),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcPositionOrRandomFromSizeRanged),\n/* harmony export */ calculateBounds: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calculateBounds),\n/* harmony export */ cancelAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.cancelAnimation),\n/* harmony export */ circleBounce: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.circleBounceDataFromParticle),\n/* harmony export */ clamp: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.clamp),\n/* harmony export */ clear: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.clear),\n/* harmony export */ collisionVelocity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.collisionVelocity),\n/* harmony export */ colorMix: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.colorMix),\n/* harmony export */ colorToHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.colorToHsl),\n/* harmony export */ colorToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.colorToRgb),\n/* harmony export */ confetti: () => (/* reexport safe */ ___WEBPACK_IMPORTED_MODULE_0__.confetti),\n/* harmony export */ deepExtend: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.deepExtend),\n/* harmony export */ degToRad: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.degToRad),\n/* harmony export */ divMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.divModeExecute),\n/* harmony export */ drawEffect: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawEffect),\n/* harmony export */ drawLine: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawLine),\n/* harmony export */ drawParticle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawParticle),\n/* harmony export */ drawParticlePlugin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawParticlePlugin),\n/* harmony export */ drawPlugin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawPlugin),\n/* harmony export */ drawShape: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawShape),\n/* harmony export */ drawShapeAfterDraw: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawShapeAfterDraw),\n/* harmony export */ errorPrefix: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.findItemFromSingleOrMultiple),\n/* harmony export */ generatedAttribute: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.generatedAttribute),\n/* harmony export */ getDistance: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance),\n/* harmony export */ getDistances: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistances),\n/* harmony export */ getEasing: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getEasing),\n/* harmony export */ getHslAnimationFromHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getLinkRandomColor),\n/* harmony export */ getLogger: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getLogger),\n/* harmony export */ getParticleBaseVelocity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getParticleDirectionAngle),\n/* harmony export */ getPosition: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getPosition),\n/* harmony export */ getRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom),\n/* harmony export */ getRandomRgbColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandomRgbColor),\n/* harmony export */ getRangeMax: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRangeMax),\n/* harmony export */ getRangeMin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRangeMin),\n/* harmony export */ getRangeValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRangeValue),\n/* harmony export */ getSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getSize),\n/* harmony export */ getStyleFromHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getStyleFromRgb),\n/* harmony export */ halfRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.halfRandom),\n/* harmony export */ hasMatchMedia: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.hasMatchMedia),\n/* harmony export */ hslToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.hslaToRgba),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.initParticleNumericAnimationValue),\n/* harmony export */ isArray: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray),\n/* harmony export */ isBoolean: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isBoolean),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isDivModeEnabled),\n/* harmony export */ isFunction: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isFunction),\n/* harmony export */ isInArray: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isInArray),\n/* harmony export */ isNumber: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isNumber),\n/* harmony export */ isObject: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isObject),\n/* harmony export */ isPointInside: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isPointInside),\n/* harmony export */ isSsr: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isSsr),\n/* harmony export */ isString: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isString),\n/* harmony export */ itemFromArray: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.loadFont),\n/* harmony export */ loadOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.loadOptions),\n/* harmony export */ loadParticlesOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.loadParticlesOptions),\n/* harmony export */ millisecondsToSeconds: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds),\n/* harmony export */ mix: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mix),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseUpEvent),\n/* harmony export */ paintBase: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.paintBase),\n/* harmony export */ paintImage: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.paintImage),\n/* harmony export */ parseAlpha: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.parseAlpha),\n/* harmony export */ percentDenominator: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator),\n/* harmony export */ randomInRange: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.randomInRange),\n/* harmony export */ rangeColorToHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rangeColorToRgb),\n/* harmony export */ rectBounce: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rectBounce),\n/* harmony export */ resizeEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.resizeEvent),\n/* harmony export */ rgbToHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rgbToHsl),\n/* harmony export */ safeIntersectionObserver: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeMutationObserver),\n/* harmony export */ setAnimationFunctions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setAnimationFunctions),\n/* harmony export */ setLogger: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setLogger),\n/* harmony export */ setRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setRandom),\n/* harmony export */ setRangeValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setRangeValue),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.singleDivModeExecute),\n/* harmony export */ stringToAlpha: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.stringToRgb),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchStartEvent),\n/* harmony export */ tsParticles: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.tsParticles),\n/* harmony export */ updateAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.updateAnimation),\n/* harmony export */ updateColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.updateColor),\n/* harmony export */ updateColorValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.updateColorValue),\n/* harmony export */ visibilityChangeEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.visibilityChangeEvent)\n/* harmony export */ });\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ \"./dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/bundle.js?");
47
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AlterType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AlterType),\n/* harmony export */ AnimatableColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimatableColor),\n/* harmony export */ AnimationMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationMode),\n/* harmony export */ AnimationOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationOptions),\n/* harmony export */ AnimationStatus: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationStatus),\n/* harmony export */ AnimationValueWithRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.AnimationValueWithRandom),\n/* harmony export */ Background: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Background),\n/* harmony export */ BackgroundMask: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.BackgroundMask),\n/* harmony export */ BackgroundMaskCover: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.BackgroundMaskCover),\n/* harmony export */ BaseRange: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.BaseRange),\n/* harmony export */ Circle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Circle),\n/* harmony export */ ClickEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ClickEvent),\n/* harmony export */ CollisionMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.CollisionMode),\n/* harmony export */ Collisions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Collisions),\n/* harmony export */ CollisionsAbsorb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.CollisionsAbsorb),\n/* harmony export */ CollisionsOverlap: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.CollisionsOverlap),\n/* harmony export */ ColorAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ColorAnimation),\n/* harmony export */ DestroyType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.DestroyType),\n/* harmony export */ DivEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.DivType),\n/* harmony export */ EasingType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.EasingType),\n/* harmony export */ EventType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.EventType),\n/* harmony export */ Events: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Events),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ FullScreen: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.FullScreen),\n/* harmony export */ GradientType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.GradientType),\n/* harmony export */ HoverEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.HoverEvent),\n/* harmony export */ HslAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.HslAnimation),\n/* harmony export */ Interactivity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Interactivity),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.InteractorType),\n/* harmony export */ LimitMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.LimitMode),\n/* harmony export */ ManualParticle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ManualParticle),\n/* harmony export */ Modes: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Modes),\n/* harmony export */ Move: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Move),\n/* harmony export */ MoveAngle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveAngle),\n/* harmony export */ MoveAttract: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveAttract),\n/* harmony export */ MoveCenter: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveCenter),\n/* harmony export */ MoveDirection: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveDirection),\n/* harmony export */ MoveGravity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveGravity),\n/* harmony export */ MovePath: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MovePath),\n/* harmony export */ MoveTrail: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.MoveTrail),\n/* harmony export */ Opacity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Opacity),\n/* harmony export */ OpacityAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OpacityAnimation),\n/* harmony export */ Options: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Options),\n/* harmony export */ OptionsColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OptionsColor),\n/* harmony export */ OutMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OutMode),\n/* harmony export */ OutModeDirection: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OutModeDirection),\n/* harmony export */ OutModes: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.OutModes),\n/* harmony export */ Parallax: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Parallax),\n/* harmony export */ ParticleOutType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticleOutType),\n/* harmony export */ ParticlesBounce: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesBounce),\n/* harmony export */ ParticlesBounceFactor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesBounceFactor),\n/* harmony export */ ParticlesDensity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesDensity),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesInteractorBase),\n/* harmony export */ ParticlesNumber: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesNumber),\n/* harmony export */ ParticlesNumberLimit: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesNumberLimit),\n/* harmony export */ ParticlesOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ParticlesOptions),\n/* harmony export */ PixelMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.PixelMode),\n/* harmony export */ Point: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Point),\n/* harmony export */ RangedAnimationOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationOptions),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationValueWithRandom),\n/* harmony export */ Rectangle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Rectangle),\n/* harmony export */ ResizeEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ResizeEvent),\n/* harmony export */ Responsive: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Responsive),\n/* harmony export */ ResponsiveMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode),\n/* harmony export */ RotateDirection: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.RotateDirection),\n/* harmony export */ Shadow: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Shadow),\n/* harmony export */ Shape: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Shape),\n/* harmony export */ Size: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Size),\n/* harmony export */ SizeAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.SizeAnimation),\n/* harmony export */ Spin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Spin),\n/* harmony export */ StartValueType: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.StartValueType),\n/* harmony export */ Stroke: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Stroke),\n/* harmony export */ Theme: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Theme),\n/* harmony export */ ThemeDefault: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ThemeDefault),\n/* harmony export */ ThemeMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ThemeMode),\n/* harmony export */ ValueWithRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ValueWithRandom),\n/* harmony export */ Vector: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Vector),\n/* harmony export */ Vector3d: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.Vector3d),\n/* harmony export */ ZIndex: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.ZIndex),\n/* harmony export */ alterHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.alterHsl),\n/* harmony export */ animate: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.animate),\n/* harmony export */ areBoundsInside: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.arrayRandomIndex),\n/* harmony export */ assertValidVersion: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.assertValidVersion),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calcPositionOrRandomFromSizeRanged),\n/* harmony export */ calculateBounds: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.calculateBounds),\n/* harmony export */ cancelAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.cancelAnimation),\n/* harmony export */ circleBounce: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.circleBounceDataFromParticle),\n/* harmony export */ clamp: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.clamp),\n/* harmony export */ clear: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.clear),\n/* harmony export */ collisionVelocity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.collisionVelocity),\n/* harmony export */ colorMix: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.colorMix),\n/* harmony export */ colorToHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.colorToHsl),\n/* harmony export */ colorToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.colorToRgb),\n/* harmony export */ confetti: () => (/* reexport safe */ ___WEBPACK_IMPORTED_MODULE_0__.confetti),\n/* harmony export */ deepExtend: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.deepExtend),\n/* harmony export */ degToRad: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.degToRad),\n/* harmony export */ divMode: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.divModeExecute),\n/* harmony export */ drawEffect: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawEffect),\n/* harmony export */ drawLine: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawLine),\n/* harmony export */ drawParticle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawParticle),\n/* harmony export */ drawParticlePlugin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawParticlePlugin),\n/* harmony export */ drawPlugin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawPlugin),\n/* harmony export */ drawShape: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawShape),\n/* harmony export */ drawShapeAfterDraw: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.drawShapeAfterDraw),\n/* harmony export */ errorPrefix: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.findItemFromSingleOrMultiple),\n/* harmony export */ generatedAttribute: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.generatedAttribute),\n/* harmony export */ getDistance: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistance),\n/* harmony export */ getDistances: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getDistances),\n/* harmony export */ getHslAnimationFromHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getLinkRandomColor),\n/* harmony export */ getLogger: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getLogger),\n/* harmony export */ getParticleBaseVelocity: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getParticleDirectionAngle),\n/* harmony export */ getPosition: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getPosition),\n/* harmony export */ getRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom),\n/* harmony export */ getRandomRgbColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandomRgbColor),\n/* harmony export */ getRangeMax: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRangeMax),\n/* harmony export */ getRangeMin: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRangeMin),\n/* harmony export */ getRangeValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRangeValue),\n/* harmony export */ getSize: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getSize),\n/* harmony export */ getStyleFromHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getStyleFromRgb),\n/* harmony export */ halfRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.halfRandom),\n/* harmony export */ hasMatchMedia: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.hasMatchMedia),\n/* harmony export */ hslToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.hslaToRgba),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.initParticleNumericAnimationValue),\n/* harmony export */ isArray: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isArray),\n/* harmony export */ isBoolean: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isBoolean),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isDivModeEnabled),\n/* harmony export */ isFunction: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isFunction),\n/* harmony export */ isInArray: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isInArray),\n/* harmony export */ isNull: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isNull),\n/* harmony export */ isNumber: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isNumber),\n/* harmony export */ isObject: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isObject),\n/* harmony export */ isPointInside: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isPointInside),\n/* harmony export */ isSsr: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isSsr),\n/* harmony export */ isString: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.isString),\n/* harmony export */ itemFromArray: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.loadFont),\n/* harmony export */ loadOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.loadOptions),\n/* harmony export */ loadParticlesOptions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.loadParticlesOptions),\n/* harmony export */ millisecondsToSeconds: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds),\n/* harmony export */ mix: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mix),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.mouseUpEvent),\n/* harmony export */ paintBase: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.paintBase),\n/* harmony export */ paintImage: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.paintImage),\n/* harmony export */ parseAlpha: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.parseAlpha),\n/* harmony export */ percentDenominator: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.percentDenominator),\n/* harmony export */ randomInRange: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.randomInRange),\n/* harmony export */ rangeColorToHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rangeColorToRgb),\n/* harmony export */ rectBounce: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rectBounce),\n/* harmony export */ resizeEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.resizeEvent),\n/* harmony export */ rgbToHsl: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.rgbToHsl),\n/* harmony export */ safeIntersectionObserver: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.safeMutationObserver),\n/* harmony export */ setAnimationFunctions: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setAnimationFunctions),\n/* harmony export */ setLogger: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setLogger),\n/* harmony export */ setRandom: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setRandom),\n/* harmony export */ setRangeValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.setRangeValue),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.singleDivModeExecute),\n/* harmony export */ stringToAlpha: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.stringToRgb),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.touchStartEvent),\n/* harmony export */ tsParticles: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.tsParticles),\n/* harmony export */ updateAnimation: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.updateAnimation),\n/* harmony export */ updateColor: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.updateColor),\n/* harmony export */ updateColorValue: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.updateColorValue),\n/* harmony export */ visibilityChangeEvent: () => (/* reexport safe */ _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.visibilityChangeEvent)\n/* harmony export */ });\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! . */ \"./dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/bundle.js?");
48
48
 
49
49
  /***/ }),
50
50
 
@@ -54,7 +54,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
54
54
  \**********************************/
55
55
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
56
56
 
57
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ confetti: () => (/* binding */ confetti)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\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 */ \"../basic/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_cards__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/shape-cards */ \"../../shapes/cards/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_emoji__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tsparticles/shape-emoji */ \"../../shapes/emoji/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_heart__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tsparticles/shape-heart */ \"../../shapes/heart/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_image__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tsparticles/shape-image */ \"../../shapes/image/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @tsparticles/updater-life */ \"../../updaters/life/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_motion__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @tsparticles/plugin-motion */ \"../../plugins/motion/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_polygon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @tsparticles/shape-polygon */ \"../../shapes/polygon/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_roll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @tsparticles/updater-roll */ \"../../updaters/roll/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @tsparticles/updater-rotate */ \"../../updaters/rotate/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_square__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @tsparticles/shape-square */ \"../../shapes/square/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_star__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @tsparticles/shape-star */ \"../../shapes/star/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_tilt__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @tsparticles/updater-tilt */ \"../../updaters/tilt/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_wobble__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @tsparticles/updater-wobble */ \"../../updaters/wobble/dist/browser/index.js\");\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?");
57
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ confetti: () => (/* binding */ confetti)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\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 */ \"../basic/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_cards__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/shape-cards */ \"../../shapes/cards/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_emoji__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tsparticles/shape-emoji */ \"../../shapes/emoji/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_heart__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tsparticles/shape-heart */ \"../../shapes/heart/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_image__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tsparticles/shape-image */ \"../../shapes/image/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_life__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @tsparticles/updater-life */ \"../../updaters/life/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_motion__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @tsparticles/plugin-motion */ \"../../plugins/motion/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_polygon__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @tsparticles/shape-polygon */ \"../../shapes/polygon/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_roll__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @tsparticles/updater-roll */ \"../../updaters/roll/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_rotate__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @tsparticles/updater-rotate */ \"../../updaters/rotate/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_square__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @tsparticles/shape-square */ \"../../shapes/square/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_star__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @tsparticles/shape-star */ \"../../shapes/star/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_tilt__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @tsparticles/updater-tilt */ \"../../updaters/tilt/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_wobble__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @tsparticles/updater-wobble */ \"../../updaters/wobble/dist/browser/index.js\");\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 (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\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 = \"3.7.0\";\nif (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isSsr)()) {\n window.confetti = confetti;\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/./dist/browser/confetti.js?");
58
58
 
59
59
  /***/ }),
60
60
 
@@ -74,7 +74,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
74
74
  \**************************************/
75
75
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
76
76
 
77
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_move_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_circle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_color__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_opacity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_out_modes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_size__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\");\n\n\n\n\n\n\nasync function loadBasic(engine, refresh = true) {\n await (0,_tsparticles_move_base__WEBPACK_IMPORTED_MODULE_0__.loadBaseMover)(engine, false);\n await (0,_tsparticles_shape_circle__WEBPACK_IMPORTED_MODULE_1__.loadCircleShape)(engine, false);\n await (0,_tsparticles_updater_color__WEBPACK_IMPORTED_MODULE_2__.loadColorUpdater)(engine, false);\n await (0,_tsparticles_updater_opacity__WEBPACK_IMPORTED_MODULE_3__.loadOpacityUpdater)(engine, false);\n await (0,_tsparticles_updater_out_modes__WEBPACK_IMPORTED_MODULE_4__.loadOutModesUpdater)(engine, false);\n await (0,_tsparticles_updater_size__WEBPACK_IMPORTED_MODULE_5__.loadSizeUpdater)(engine, false);\n await engine.refresh(refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../basic/dist/browser/index.js?");
77
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBasic: () => (/* binding */ loadBasic)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_move_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/move-base */ \"../../move/base/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_shape_circle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/shape-circle */ \"../../shapes/circle/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_color__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/updater-color */ \"../../updaters/color/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_hex_color__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @tsparticles/plugin-hex-color */ \"../../plugins/colors/hexColor/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_hsl_color__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @tsparticles/plugin-hsl-color */ \"../../plugins/colors/hslColor/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_opacity__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @tsparticles/updater-opacity */ \"../../updaters/opacity/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_out_modes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @tsparticles/updater-out-modes */ \"../../updaters/outModes/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_plugin_rgb_color__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @tsparticles/plugin-rgb-color */ \"../../plugins/colors/rgbColor/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_updater_size__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @tsparticles/updater-size */ \"../../updaters/size/dist/browser/index.js\");\n\n\n\n\n\n\n\n\n\n\nasync function loadBasic(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await (0,_tsparticles_plugin_hex_color__WEBPACK_IMPORTED_MODULE_4__.loadHexColorPlugin)(engine, false);\n await (0,_tsparticles_plugin_hsl_color__WEBPACK_IMPORTED_MODULE_5__.loadHslColorPlugin)(engine, false);\n await (0,_tsparticles_plugin_rgb_color__WEBPACK_IMPORTED_MODULE_8__.loadRgbColorPlugin)(engine, false);\n await (0,_tsparticles_move_base__WEBPACK_IMPORTED_MODULE_1__.loadBaseMover)(engine, false);\n await (0,_tsparticles_shape_circle__WEBPACK_IMPORTED_MODULE_2__.loadCircleShape)(engine, false);\n await (0,_tsparticles_updater_color__WEBPACK_IMPORTED_MODULE_3__.loadColorUpdater)(engine, false);\n await (0,_tsparticles_updater_opacity__WEBPACK_IMPORTED_MODULE_6__.loadOpacityUpdater)(engine, false);\n await (0,_tsparticles_updater_out_modes__WEBPACK_IMPORTED_MODULE_7__.loadOutModesUpdater)(engine, false);\n await (0,_tsparticles_updater_size__WEBPACK_IMPORTED_MODULE_9__.loadSizeUpdater)(engine, false);\n await engine.refresh(refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../basic/dist/browser/index.js?");
78
78
 
79
79
  /***/ }),
80
80
 
@@ -84,7 +84,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
84
84
  \************************************************/
85
85
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
86
86
 
87
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Canvas: () => (/* binding */ Canvas)\n/* harmony export */ });\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n\n\n\n\nfunction setTransformValue(factor, newFactor, key) {\n const newValue = newFactor[key],\n defaultValue = 1;\n if (newValue !== undefined) {\n factor[key] = (factor[key] ?? defaultValue) * newValue;\n }\n}\nfunction setStyle(canvas, style, important = false) {\n if (!style) {\n return;\n }\n const element = canvas;\n if (!element) {\n return;\n }\n const elementStyle = element.style;\n if (!elementStyle) {\n return;\n }\n for (const key in style) {\n const value = style[key];\n elementStyle.setProperty(key, value, important ? \"important\" : \"\");\n }\n}\nclass Canvas {\n constructor(container) {\n this.container = container;\n this._applyPostDrawUpdaters = particle => {\n for (const updater of this._postDrawUpdaters) {\n updater.afterDraw?.(particle);\n }\n };\n this._applyPreDrawUpdaters = (ctx, particle, radius, zOpacity, colorStyles, transform) => {\n for (const updater of this._preDrawUpdaters) {\n if (updater.getColorStyles) {\n const {\n fill,\n stroke\n } = updater.getColorStyles(particle, ctx, radius, zOpacity);\n if (fill) {\n colorStyles.fill = fill;\n }\n if (stroke) {\n colorStyles.stroke = stroke;\n }\n }\n if (updater.getTransformValues) {\n const updaterTransform = updater.getTransformValues(particle);\n for (const key in updaterTransform) {\n setTransformValue(transform, updaterTransform, key);\n }\n }\n updater.beforeDraw?.(particle);\n }\n };\n this._applyResizePlugins = () => {\n for (const plugin of this._resizePlugins) {\n plugin.resize?.();\n }\n };\n this._getPluginParticleColors = particle => {\n let fColor, sColor;\n for (const plugin of this._colorPlugins) {\n if (!fColor && plugin.particleFillColor) {\n fColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToHsl)(plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToHsl)(plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n return [fColor, sColor];\n };\n this._initCover = async () => {\n const options = this.container.actualOptions,\n cover = options.backgroundMask.cover,\n color = cover.color;\n if (color) {\n const coverRgb = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb)(color);\n if (coverRgb) {\n const coverColor = {\n ...coverRgb,\n a: cover.opacity\n };\n this._coverColorStyle = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb)(coverColor, coverColor.a);\n }\n } else {\n await new Promise((resolve, reject) => {\n if (!cover.image) {\n return;\n }\n const img = document.createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._coverImage = {\n image: img,\n opacity: cover.opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n reject(evt.error);\n });\n img.src = cover.image;\n });\n }\n };\n this._initStyle = () => {\n const element = this.element,\n options = this.container.actualOptions;\n if (!element) {\n return;\n }\n if (this._fullScreen) {\n this._originalStyle = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, element.style);\n this._setFullScreenStyle();\n } else {\n this._resetOriginalStyle();\n }\n for (const key in options.style) {\n if (!key || !options.style) {\n continue;\n }\n const value = options.style[key];\n if (!value) {\n continue;\n }\n element.style.setProperty(key, value, \"important\");\n }\n };\n this._initTrail = async () => {\n const options = this.container.actualOptions,\n trail = options.particles.move.trail,\n trailFill = trail.fill;\n if (!trail.enable) {\n return;\n }\n const factorNumerator = 1,\n opacity = factorNumerator / trail.length;\n if (trailFill.color) {\n const fillColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb)(trailFill.color);\n if (!fillColor) {\n return;\n }\n this._trailFill = {\n color: {\n ...fillColor\n },\n opacity\n };\n } else {\n await new Promise((resolve, reject) => {\n if (!trailFill.image) {\n return;\n }\n const img = document.createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._trailFill = {\n image: img,\n opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n reject(evt.error);\n });\n img.src = trailFill.image;\n });\n }\n };\n this._paintBase = baseColor => {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintBase)(ctx, this.size, baseColor));\n };\n this._paintImage = (image, opacity) => {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintImage)(ctx, this.size, image, opacity));\n };\n this._repairStyle = () => {\n const element = this.element;\n if (!element) {\n return;\n }\n this._safeMutationObserver(observer => observer.disconnect());\n this._initStyle();\n this.initBackground();\n this._safeMutationObserver(observer => {\n if (!element || !(element instanceof Node)) {\n return;\n }\n observer.observe(element, {\n attributes: true\n });\n });\n };\n this._resetOriginalStyle = () => {\n const element = this.element,\n originalStyle = this._originalStyle;\n if (!(element && originalStyle)) {\n return;\n }\n setStyle(element, originalStyle);\n };\n this._safeMutationObserver = callback => {\n if (!this._mutationObserver) {\n return;\n }\n callback(this._mutationObserver);\n };\n this._setFullScreenStyle = () => {\n const element = this.element;\n if (!element) {\n return;\n }\n const radix = 10,\n zIndex = this.container.actualOptions.fullScreen.zIndex.toString(radix);\n setStyle(element, {\n position: \"fixed\",\n \"z-index\": zIndex,\n zIndex: zIndex,\n top: \"0\",\n left: \"0\",\n width: \"100%\",\n height: \"100%\"\n }, true);\n };\n this.size = {\n height: 0,\n width: 0\n };\n this._context = null;\n this._generated = false;\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n }\n get _fullScreen() {\n return this.container.actualOptions.fullScreen.enable;\n }\n clear() {\n const options = this.container.actualOptions,\n trail = options.particles.move.trail,\n trailFill = this._trailFill,\n minimumLength = 0;\n if (options.backgroundMask.enable) {\n this.paint();\n } else if (trail.enable && trail.length > minimumLength && trailFill) {\n if (trailFill.color) {\n this._paintBase((0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb)(trailFill.color, trailFill.opacity));\n } else if (trailFill.image) {\n this._paintImage(trailFill.image, trailFill.opacity);\n }\n } else if (options.clear) {\n this.draw(ctx => {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n }\n destroy() {\n this.stop();\n if (this._generated) {\n const element = this.element;\n element?.remove();\n } else {\n this._resetOriginalStyle();\n }\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n }\n draw(cb) {\n const ctx = this._context;\n if (!ctx) {\n return;\n }\n return cb(ctx);\n }\n drawAsync(cb) {\n const ctx = this._context;\n if (!ctx) {\n return undefined;\n }\n return cb(ctx);\n }\n drawParticle(particle, delta) {\n if (particle.spawning || particle.destroyed) {\n return;\n }\n const radius = particle.getRadius(),\n minimumSize = 0;\n if (radius <= minimumSize) {\n return;\n }\n const pfColor = particle.getFillColor(),\n psColor = particle.getStrokeColor() ?? pfColor;\n let [fColor, sColor] = this._getPluginParticleColors(particle);\n if (!fColor) {\n fColor = pfColor;\n }\n if (!sColor) {\n sColor = psColor;\n }\n if (!fColor && !sColor) {\n return;\n }\n this.draw(ctx => {\n const container = this.container,\n options = container.actualOptions,\n zIndexOptions = particle.options.zIndex,\n zIndexFactorOffset = 1,\n zIndexFactor = zIndexFactorOffset - particle.zIndexFactor,\n zOpacityFactor = zIndexFactor ** zIndexOptions.opacityRate,\n defaultOpacity = 1,\n opacity = particle.bubble.opacity ?? particle.opacity?.value ?? defaultOpacity,\n strokeOpacity = particle.strokeOpacity ?? opacity,\n zOpacity = opacity * zOpacityFactor,\n zStrokeOpacity = strokeOpacity * zOpacityFactor,\n transform = {},\n colorStyles = {\n fill: fColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromHsl)(fColor, zOpacity) : undefined\n };\n colorStyles.stroke = sColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromHsl)(sColor, zStrokeOpacity) : colorStyles.fill;\n this._applyPreDrawUpdaters(ctx, particle, radius, zOpacity, colorStyles, transform);\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticle)({\n container,\n context: ctx,\n particle,\n delta,\n colorStyles,\n backgroundMask: options.backgroundMask.enable,\n composite: options.backgroundMask.composite,\n radius: radius * zIndexFactor ** zIndexOptions.sizeRate,\n opacity: zOpacity,\n shadow: particle.options.shadow,\n transform\n });\n this._applyPostDrawUpdaters(particle);\n });\n }\n drawParticlePlugin(plugin, particle, delta) {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticlePlugin)(ctx, plugin, particle, delta));\n }\n drawPlugin(plugin, delta) {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawPlugin)(ctx, plugin, delta));\n }\n async init() {\n this._safeMutationObserver(obs => obs.disconnect());\n this._mutationObserver = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeMutationObserver)(records => {\n for (const record of records) {\n if (record.type === \"attributes\" && record.attributeName === \"style\") {\n this._repairStyle();\n }\n }\n });\n this.resize();\n this._initStyle();\n await this._initCover();\n try {\n await this._initTrail();\n } catch (e) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getLogger)().error(e);\n }\n this.initBackground();\n this._safeMutationObserver(obs => {\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n this.initUpdaters();\n this.initPlugins();\n this.paint();\n }\n initBackground() {\n const options = this.container.actualOptions,\n background = options.background,\n element = this.element;\n if (!element) {\n return;\n }\n const elementStyle = element.style;\n if (!elementStyle) {\n return;\n }\n if (background.color) {\n const color = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb)(background.color);\n elementStyle.backgroundColor = color ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb)(color, background.opacity) : \"\";\n } else {\n elementStyle.backgroundColor = \"\";\n }\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n initPlugins() {\n this._resizePlugins = [];\n for (const plugin of this.container.plugins.values()) {\n if (plugin.resize) {\n this._resizePlugins.push(plugin);\n }\n if (plugin.particleFillColor ?? plugin.particleStrokeColor) {\n this._colorPlugins.push(plugin);\n }\n }\n }\n initUpdaters() {\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n for (const updater of this.container.particles.updaters) {\n if (updater.afterDraw) {\n this._postDrawUpdaters.push(updater);\n }\n if (updater.getColorStyles ?? updater.getTransformValues ?? updater.beforeDraw) {\n this._preDrawUpdaters.push(updater);\n }\n }\n }\n loadCanvas(canvas) {\n if (this._generated && this.element) {\n this.element.remove();\n }\n this._generated = canvas.dataset && _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.generatedAttribute in canvas.dataset ? canvas.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.generatedAttribute] === \"true\" : this._generated;\n this.element = canvas;\n this.element.ariaHidden = \"true\";\n this._originalStyle = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, this.element.style);\n this.size.height = canvas.offsetHeight;\n this.size.width = canvas.offsetWidth;\n this._context = this.element.getContext(\"2d\");\n this._safeMutationObserver(obs => {\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n this.container.retina.init();\n this.initBackground();\n }\n paint() {\n const options = this.container.actualOptions;\n this.draw(ctx => {\n if (options.backgroundMask.enable && options.backgroundMask.cover) {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n if (this._coverImage) {\n this._paintImage(this._coverImage.image, this._coverImage.opacity);\n } else if (this._coverColorStyle) {\n this._paintBase(this._coverColorStyle);\n } else {\n this._paintBase();\n }\n } else {\n this._paintBase();\n }\n });\n }\n resize() {\n if (!this.element) {\n return false;\n }\n const container = this.container,\n pxRatio = container.retina.pixelRatio,\n size = container.canvas.size,\n newSize = {\n width: this.element.offsetWidth * pxRatio,\n height: this.element.offsetHeight * pxRatio\n };\n if (newSize.height === size.height && newSize.width === size.width && newSize.height === this.element.height && newSize.width === this.element.width) {\n return false;\n }\n const oldSize = {\n ...size\n };\n this.element.width = size.width = this.element.offsetWidth * pxRatio;\n this.element.height = size.height = this.element.offsetHeight * pxRatio;\n if (this.container.started) {\n container.particles.setResizeFactor({\n width: size.width / oldSize.width,\n height: size.height / oldSize.height\n });\n }\n return true;\n }\n stop() {\n this._safeMutationObserver(obs => obs.disconnect());\n this._mutationObserver = undefined;\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size));\n }\n async windowResize() {\n if (!this.element || !this.resize()) {\n return;\n }\n const container = this.container,\n needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n this._applyResizePlugins();\n if (needsRefresh) {\n await container.refresh();\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Canvas.js?");
87
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Canvas: () => (/* binding */ Canvas)\n/* harmony export */ });\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n\n\n\n\nfunction setTransformValue(factor, newFactor, key) {\n const newValue = newFactor[key],\n defaultValue = 1;\n if (newValue !== undefined) {\n factor[key] = (factor[key] ?? defaultValue) * newValue;\n }\n}\nfunction setStyle(canvas, style, important = false) {\n if (!style) {\n return;\n }\n const element = canvas;\n if (!element) {\n return;\n }\n const elementStyle = element.style;\n if (!elementStyle) {\n return;\n }\n for (const key in style) {\n const value = style[key];\n elementStyle.setProperty(key, value, important ? \"important\" : \"\");\n }\n}\nclass Canvas {\n constructor(container, engine) {\n this.container = container;\n this._applyPostDrawUpdaters = particle => {\n for (const updater of this._postDrawUpdaters) {\n updater.afterDraw?.(particle);\n }\n };\n this._applyPreDrawUpdaters = (ctx, particle, radius, zOpacity, colorStyles, transform) => {\n for (const updater of this._preDrawUpdaters) {\n if (updater.getColorStyles) {\n const {\n fill,\n stroke\n } = updater.getColorStyles(particle, ctx, radius, zOpacity);\n if (fill) {\n colorStyles.fill = fill;\n }\n if (stroke) {\n colorStyles.stroke = stroke;\n }\n }\n if (updater.getTransformValues) {\n const updaterTransform = updater.getTransformValues(particle);\n for (const key in updaterTransform) {\n setTransformValue(transform, updaterTransform, key);\n }\n }\n updater.beforeDraw?.(particle);\n }\n };\n this._applyResizePlugins = () => {\n for (const plugin of this._resizePlugins) {\n plugin.resize?.();\n }\n };\n this._getPluginParticleColors = particle => {\n let fColor, sColor;\n for (const plugin of this._colorPlugins) {\n if (!fColor && plugin.particleFillColor) {\n fColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToHsl)(this._engine, plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToHsl)(this._engine, plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n return [fColor, sColor];\n };\n this._initCover = async () => {\n const options = this.container.actualOptions,\n cover = options.backgroundMask.cover,\n color = cover.color;\n if (color) {\n const coverRgb = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb)(this._engine, color);\n if (coverRgb) {\n const coverColor = {\n ...coverRgb,\n a: cover.opacity\n };\n this._coverColorStyle = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb)(coverColor, coverColor.a);\n }\n } else {\n await new Promise((resolve, reject) => {\n if (!cover.image) {\n return;\n }\n const img = document.createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._coverImage = {\n image: img,\n opacity: cover.opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n reject(evt.error);\n });\n img.src = cover.image;\n });\n }\n };\n this._initStyle = () => {\n const element = this.element,\n options = this.container.actualOptions;\n if (!element) {\n return;\n }\n if (this._fullScreen) {\n this._originalStyle = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, element.style);\n this._setFullScreenStyle();\n } else {\n this._resetOriginalStyle();\n }\n for (const key in options.style) {\n if (!key || !options.style) {\n continue;\n }\n const value = options.style[key];\n if (!value) {\n continue;\n }\n element.style.setProperty(key, value, \"important\");\n }\n };\n this._initTrail = async () => {\n const options = this.container.actualOptions,\n trail = options.particles.move.trail,\n trailFill = trail.fill;\n if (!trail.enable) {\n return;\n }\n const factorNumerator = 1,\n opacity = factorNumerator / trail.length;\n if (trailFill.color) {\n const fillColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb)(this._engine, trailFill.color);\n if (!fillColor) {\n return;\n }\n this._trailFill = {\n color: {\n ...fillColor\n },\n opacity\n };\n } else {\n await new Promise((resolve, reject) => {\n if (!trailFill.image) {\n return;\n }\n const img = document.createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._trailFill = {\n image: img,\n opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n reject(evt.error);\n });\n img.src = trailFill.image;\n });\n }\n };\n this._paintBase = baseColor => {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintBase)(ctx, this.size, baseColor));\n };\n this._paintImage = (image, opacity) => {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintImage)(ctx, this.size, image, opacity));\n };\n this._repairStyle = () => {\n const element = this.element;\n if (!element) {\n return;\n }\n this._safeMutationObserver(observer => observer.disconnect());\n this._initStyle();\n this.initBackground();\n this._safeMutationObserver(observer => {\n if (!element || !(element instanceof Node)) {\n return;\n }\n observer.observe(element, {\n attributes: true\n });\n });\n };\n this._resetOriginalStyle = () => {\n const element = this.element,\n originalStyle = this._originalStyle;\n if (!(element && originalStyle)) {\n return;\n }\n setStyle(element, originalStyle);\n };\n this._safeMutationObserver = callback => {\n if (!this._mutationObserver) {\n return;\n }\n callback(this._mutationObserver);\n };\n this._setFullScreenStyle = () => {\n const element = this.element;\n if (!element) {\n return;\n }\n const radix = 10,\n zIndex = this.container.actualOptions.fullScreen.zIndex.toString(radix);\n setStyle(element, {\n position: \"fixed\",\n \"z-index\": zIndex,\n zIndex: zIndex,\n top: \"0\",\n left: \"0\",\n width: \"100%\",\n height: \"100%\"\n }, true);\n };\n this._engine = engine;\n this._standardSize = {\n height: 0,\n width: 0\n };\n const pxRatio = container.retina.pixelRatio,\n stdSize = this._standardSize;\n this.size = {\n height: stdSize.height * pxRatio,\n width: stdSize.width * pxRatio\n };\n this._context = null;\n this._generated = false;\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n }\n get _fullScreen() {\n return this.container.actualOptions.fullScreen.enable;\n }\n clear() {\n const options = this.container.actualOptions,\n trail = options.particles.move.trail,\n trailFill = this._trailFill,\n minimumLength = 0;\n if (options.backgroundMask.enable) {\n this.paint();\n } else if (trail.enable && trail.length > minimumLength && trailFill) {\n if (trailFill.color) {\n this._paintBase((0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb)(trailFill.color, trailFill.opacity));\n } else if (trailFill.image) {\n this._paintImage(trailFill.image, trailFill.opacity);\n }\n } else if (options.clear) {\n this.draw(ctx => {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n }\n destroy() {\n this.stop();\n if (this._generated) {\n const element = this.element;\n element?.remove();\n } else {\n this._resetOriginalStyle();\n }\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n }\n draw(cb) {\n const ctx = this._context;\n if (!ctx) {\n return;\n }\n return cb(ctx);\n }\n drawAsync(cb) {\n const ctx = this._context;\n if (!ctx) {\n return undefined;\n }\n return cb(ctx);\n }\n drawParticle(particle, delta) {\n if (particle.spawning || particle.destroyed) {\n return;\n }\n const radius = particle.getRadius(),\n minimumSize = 0;\n if (radius <= minimumSize) {\n return;\n }\n const pfColor = particle.getFillColor(),\n psColor = particle.getStrokeColor() ?? pfColor;\n let [fColor, sColor] = this._getPluginParticleColors(particle);\n if (!fColor) {\n fColor = pfColor;\n }\n if (!sColor) {\n sColor = psColor;\n }\n if (!fColor && !sColor) {\n return;\n }\n this.draw(ctx => {\n const container = this.container,\n options = container.actualOptions,\n zIndexOptions = particle.options.zIndex,\n zIndexFactorOffset = 1,\n zIndexFactor = zIndexFactorOffset - particle.zIndexFactor,\n zOpacityFactor = zIndexFactor ** zIndexOptions.opacityRate,\n defaultOpacity = 1,\n opacity = particle.bubble.opacity ?? particle.opacity?.value ?? defaultOpacity,\n strokeOpacity = particle.strokeOpacity ?? opacity,\n zOpacity = opacity * zOpacityFactor,\n zStrokeOpacity = strokeOpacity * zOpacityFactor,\n transform = {},\n colorStyles = {\n fill: fColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromHsl)(fColor, zOpacity) : undefined\n };\n colorStyles.stroke = sColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromHsl)(sColor, zStrokeOpacity) : colorStyles.fill;\n this._applyPreDrawUpdaters(ctx, particle, radius, zOpacity, colorStyles, transform);\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticle)({\n container,\n context: ctx,\n particle,\n delta,\n colorStyles,\n backgroundMask: options.backgroundMask.enable,\n composite: options.backgroundMask.composite,\n radius: radius * zIndexFactor ** zIndexOptions.sizeRate,\n opacity: zOpacity,\n shadow: particle.options.shadow,\n transform\n });\n this._applyPostDrawUpdaters(particle);\n });\n }\n drawParticlePlugin(plugin, particle, delta) {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticlePlugin)(ctx, plugin, particle, delta));\n }\n drawPlugin(plugin, delta) {\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawPlugin)(ctx, plugin, delta));\n }\n async init() {\n this._safeMutationObserver(obs => obs.disconnect());\n this._mutationObserver = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeMutationObserver)(records => {\n for (const record of records) {\n if (record.type === \"attributes\" && record.attributeName === \"style\") {\n this._repairStyle();\n }\n }\n });\n this.resize();\n this._initStyle();\n await this._initCover();\n try {\n await this._initTrail();\n } catch (e) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getLogger)().error(e);\n }\n this.initBackground();\n this._safeMutationObserver(obs => {\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n this.initUpdaters();\n this.initPlugins();\n this.paint();\n }\n initBackground() {\n const options = this.container.actualOptions,\n background = options.background,\n element = this.element;\n if (!element) {\n return;\n }\n const elementStyle = element.style;\n if (!elementStyle) {\n return;\n }\n if (background.color) {\n const color = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb)(this._engine, background.color);\n elementStyle.backgroundColor = color ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb)(color, background.opacity) : \"\";\n } else {\n elementStyle.backgroundColor = \"\";\n }\n elementStyle.backgroundImage = background.image || \"\";\n elementStyle.backgroundPosition = background.position || \"\";\n elementStyle.backgroundRepeat = background.repeat || \"\";\n elementStyle.backgroundSize = background.size || \"\";\n }\n initPlugins() {\n this._resizePlugins = [];\n for (const plugin of this.container.plugins.values()) {\n if (plugin.resize) {\n this._resizePlugins.push(plugin);\n }\n if (plugin.particleFillColor ?? plugin.particleStrokeColor) {\n this._colorPlugins.push(plugin);\n }\n }\n }\n initUpdaters() {\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n for (const updater of this.container.particles.updaters) {\n if (updater.afterDraw) {\n this._postDrawUpdaters.push(updater);\n }\n if (updater.getColorStyles ?? updater.getTransformValues ?? updater.beforeDraw) {\n this._preDrawUpdaters.push(updater);\n }\n }\n }\n loadCanvas(canvas) {\n if (this._generated && this.element) {\n this.element.remove();\n }\n this._generated = canvas.dataset && _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.generatedAttribute in canvas.dataset ? canvas.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.generatedAttribute] === \"true\" : this._generated;\n this.element = canvas;\n this.element.ariaHidden = \"true\";\n this._originalStyle = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, this.element.style);\n const standardSize = this._standardSize;\n standardSize.height = canvas.offsetHeight;\n standardSize.width = canvas.offsetWidth;\n const pxRatio = this.container.retina.pixelRatio;\n const retinaSize = this.size;\n retinaSize.height = standardSize.height * pxRatio;\n retinaSize.width = standardSize.width * pxRatio;\n this._context = this.element.getContext(\"2d\");\n this._safeMutationObserver(obs => {\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, {\n attributes: true\n });\n });\n this.container.retina.init();\n this.initBackground();\n }\n paint() {\n const options = this.container.actualOptions;\n this.draw(ctx => {\n if (options.backgroundMask.enable && options.backgroundMask.cover) {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n if (this._coverImage) {\n this._paintImage(this._coverImage.image, this._coverImage.opacity);\n } else if (this._coverColorStyle) {\n this._paintBase(this._coverColorStyle);\n } else {\n this._paintBase();\n }\n } else {\n this._paintBase();\n }\n });\n }\n resize() {\n if (!this.element) {\n return false;\n }\n const container = this.container,\n currentSize = container.canvas._standardSize,\n newSize = {\n width: this.element.offsetWidth,\n height: this.element.offsetHeight\n };\n if (newSize.height === currentSize.height && newSize.width === currentSize.width) {\n return false;\n }\n const oldSize = {\n ...currentSize\n },\n pxRatio = container.retina.pixelRatio;\n currentSize.height = newSize.height;\n currentSize.width = newSize.width;\n const retinaSize = this.size;\n this.element.width = retinaSize.width = currentSize.width * pxRatio;\n this.element.height = retinaSize.height = currentSize.height * pxRatio;\n if (this.container.started) {\n container.particles.setResizeFactor({\n width: currentSize.width / oldSize.width,\n height: currentSize.height / oldSize.height\n });\n }\n return true;\n }\n stop() {\n this._safeMutationObserver(obs => obs.disconnect());\n this._mutationObserver = undefined;\n this.draw(ctx => (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size));\n }\n async windowResize() {\n if (!this.element || !this.resize()) {\n return;\n }\n const container = this.container,\n needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n this._applyResizePlugins();\n if (needsRefresh) {\n await container.refresh();\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Canvas.js?");
88
88
 
89
89
  /***/ }),
90
90
 
@@ -94,7 +94,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
94
94
  \***************************************************/
95
95
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
96
96
 
97
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Canvas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Canvas.js */ \"../../engine/dist/browser/Core/Canvas.js\");\n/* harmony import */ var _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils/EventListeners.js */ \"../../engine/dist/browser/Core/Utils/EventListeners.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Options/Classes/Options.js */ \"../../engine/dist/browser/Options/Classes/Options.js\");\n/* harmony import */ var _Particles_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Particles.js */ \"../../engine/dist/browser/Core/Particles.js\");\n/* harmony import */ var _Retina_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Retina.js */ \"../../engine/dist/browser/Core/Retina.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\nfunction guardCheck(container) {\n return container && !container.destroyed;\n}\nconst defaultFps = 60;\nfunction initDelta(value, fpsLimit = defaultFps, smooth = false) {\n return {\n value,\n factor: smooth ? defaultFps / fpsLimit : defaultFps * value / _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds\n };\n}\nfunction loadContainerOptions(engine, container, ...sourceOptionsArr) {\n const options = new _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_6__.Options(engine, container);\n (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__.loadOptions)(options, ...sourceOptionsArr);\n return options;\n}\nclass Container {\n constructor(engine, id, sourceOptions) {\n this._intersectionManager = entries => {\n if (!guardCheck(this) || !this.actualOptions.pauseOnOutsideViewport) {\n return;\n }\n for (const entry of entries) {\n if (entry.target !== this.interactivity.element) {\n continue;\n }\n if (entry.isIntersecting) {\n void this.play();\n } else {\n this.pause();\n }\n }\n };\n this._nextFrame = timestamp => {\n try {\n if (!this._smooth && this._lastFrameTime !== undefined && timestamp < this._lastFrameTime + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds / this.fpsLimit) {\n this.draw(false);\n return;\n }\n this._lastFrameTime ??= timestamp;\n const delta = initDelta(timestamp - this._lastFrameTime, this.fpsLimit, this._smooth);\n this.addLifeTime(delta.value);\n this._lastFrameTime = timestamp;\n if (delta.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds) {\n this.draw(false);\n return;\n }\n this.particles.draw(delta);\n if (!this.alive()) {\n this.destroy();\n return;\n }\n if (this.animationStatus) {\n this.draw(false);\n }\n } catch (e) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.getLogger)().error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} in animation loop`, e);\n }\n };\n this._engine = engine;\n this.id = Symbol(id);\n this.fpsLimit = 120;\n this._smooth = false;\n this._delay = 0;\n this._duration = 0;\n this._lifeTime = 0;\n this._firstStart = true;\n this.started = false;\n this.destroyed = false;\n this._paused = true;\n this._lastFrameTime = 0;\n this.zLayers = 100;\n this.pageHidden = false;\n this._clickHandlers = new Map();\n this._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.retina = new _Retina_js__WEBPACK_IMPORTED_MODULE_8__.Retina(this);\n this.canvas = new _Canvas_js__WEBPACK_IMPORTED_MODULE_3__.Canvas(this);\n this.particles = new _Particles_js__WEBPACK_IMPORTED_MODULE_7__.Particles(this._engine, this);\n this.pathGenerators = new Map();\n this.interactivity = {\n mouse: {\n clicking: false,\n inside: false\n }\n };\n this.plugins = new Map();\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this._options = loadContainerOptions(this._engine, this);\n this.actualOptions = loadContainerOptions(this._engine, this);\n this._eventListeners = new _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_4__.EventListeners(this);\n this._intersectionObserver = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.safeIntersectionObserver)(entries => this._intersectionManager(entries));\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerBuilt, {\n container: this\n });\n }\n get animationStatus() {\n return !this._paused && !this.pageHidden && guardCheck(this);\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n addClickHandler(callback) {\n if (!guardCheck(this)) {\n return;\n }\n const el = this.interactivity.element;\n if (!el) {\n return;\n }\n const clickOrTouchHandler = (e, pos, radius) => {\n if (!guardCheck(this)) {\n return;\n }\n const pxRatio = this.retina.pixelRatio,\n posRetina = {\n x: pos.x * pxRatio,\n y: pos.y * pxRatio\n },\n particles = this.particles.quadTree.queryCircle(posRetina, radius * pxRatio);\n callback(e, particles);\n },\n clickHandler = e => {\n if (!guardCheck(this)) {\n return;\n }\n const mouseEvent = e,\n pos = {\n x: mouseEvent.offsetX || mouseEvent.clientX,\n y: mouseEvent.offsetY || mouseEvent.clientY\n },\n radius = 1;\n clickOrTouchHandler(e, pos, radius);\n },\n touchStartHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touched = true;\n touchMoved = false;\n },\n touchMoveHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touchMoved = true;\n },\n touchEndHandler = e => {\n if (!guardCheck(this)) {\n return;\n }\n if (touched && !touchMoved) {\n const touchEvent = e,\n lengthOffset = 1;\n let lastTouch = touchEvent.touches[touchEvent.touches.length - lengthOffset];\n if (!lastTouch) {\n lastTouch = touchEvent.changedTouches[touchEvent.changedTouches.length - lengthOffset];\n if (!lastTouch) {\n return;\n }\n }\n const element = this.canvas.element,\n canvasRect = element ? element.getBoundingClientRect() : undefined,\n minCoordinate = 0,\n pos = {\n x: lastTouch.clientX - (canvasRect ? canvasRect.left : minCoordinate),\n y: lastTouch.clientY - (canvasRect ? canvasRect.top : minCoordinate)\n };\n clickOrTouchHandler(e, pos, Math.max(lastTouch.radiusX, lastTouch.radiusY));\n }\n touched = false;\n touchMoved = false;\n },\n touchCancelHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touched = false;\n touchMoved = false;\n };\n let touched = false,\n touchMoved = false;\n this._clickHandlers.set(\"click\", clickHandler);\n this._clickHandlers.set(\"touchstart\", touchStartHandler);\n this._clickHandlers.set(\"touchmove\", touchMoveHandler);\n this._clickHandlers.set(\"touchend\", touchEndHandler);\n this._clickHandlers.set(\"touchcancel\", touchCancelHandler);\n for (const [key, handler] of this._clickHandlers) {\n el.addEventListener(key, handler);\n }\n }\n addLifeTime(value) {\n this._lifeTime += value;\n }\n addPath(key, generator, override = false) {\n if (!guardCheck(this) || !override && this.pathGenerators.has(key)) {\n return false;\n }\n this.pathGenerators.set(key, generator);\n return true;\n }\n alive() {\n return !this._duration || this._lifeTime <= this._duration;\n }\n clearClickHandlers() {\n if (!guardCheck(this)) {\n return;\n }\n for (const [key, handler] of this._clickHandlers) {\n this.interactivity.element?.removeEventListener(key, handler);\n }\n this._clickHandlers.clear();\n }\n destroy(remove = true) {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n this.clearClickHandlers();\n this.particles.destroy();\n this.canvas.destroy();\n for (const effectDrawer of this.effectDrawers.values()) {\n effectDrawer.destroy?.(this);\n }\n for (const shapeDrawer of this.shapeDrawers.values()) {\n shapeDrawer.destroy?.(this);\n }\n for (const key of this.effectDrawers.keys()) {\n this.effectDrawers.delete(key);\n }\n for (const key of this.shapeDrawers.keys()) {\n this.shapeDrawers.delete(key);\n }\n this._engine.clearPlugins(this);\n this.destroyed = true;\n if (remove) {\n const mainArr = this._engine.items,\n idx = mainArr.findIndex(t => t === this),\n minIndex = 0;\n if (idx >= minIndex) {\n const deleteCount = 1;\n mainArr.splice(idx, deleteCount);\n }\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerDestroyed, {\n container: this\n });\n }\n draw(force) {\n if (!guardCheck(this)) {\n return;\n }\n let refreshTime = force;\n const frame = timestamp => {\n if (refreshTime) {\n this._lastFrameTime = undefined;\n refreshTime = false;\n }\n this._nextFrame(timestamp);\n };\n this._drawAnimationFrame = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.animate)(timestamp => frame(timestamp));\n }\n async export(type, options = {}) {\n for (const plugin of this.plugins.values()) {\n if (!plugin.export) {\n continue;\n }\n const res = await plugin.export(type, options);\n if (!res.supported) {\n continue;\n }\n return res.blob;\n }\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.getLogger)().error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} - Export plugin with type ${type} not found`);\n }\n handleClickMode(mode) {\n if (!guardCheck(this)) {\n return;\n }\n this.particles.handleClickMode(mode);\n for (const plugin of this.plugins.values()) {\n plugin.handleClickMode?.(mode);\n }\n }\n async init() {\n if (!guardCheck(this)) {\n return;\n }\n const effects = this._engine.getSupportedEffects();\n for (const type of effects) {\n const drawer = this._engine.getEffectDrawer(type);\n if (drawer) {\n this.effectDrawers.set(type, drawer);\n }\n }\n const shapes = this._engine.getSupportedShapes();\n for (const type of shapes) {\n const drawer = this._engine.getShapeDrawer(type);\n if (drawer) {\n this.shapeDrawers.set(type, drawer);\n }\n }\n await this.particles.initPlugins();\n this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._engine, this, this._options);\n const availablePlugins = await this._engine.getAvailablePlugins(this);\n for (const [id, plugin] of availablePlugins) {\n this.plugins.set(id, plugin);\n }\n this.retina.init();\n await this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n const {\n zLayers,\n duration,\n delay,\n fpsLimit,\n smooth\n } = this.actualOptions;\n this.zLayers = zLayers;\n this._duration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(duration) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._delay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(delay) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._lifeTime = 0;\n const defaultFpsLimit = 120,\n minFpsLimit = 0;\n this.fpsLimit = fpsLimit > minFpsLimit ? fpsLimit : defaultFpsLimit;\n this._smooth = smooth;\n for (const drawer of this.effectDrawers.values()) {\n await drawer.init?.(this);\n }\n for (const drawer of this.shapeDrawers.values()) {\n await drawer.init?.(this);\n }\n for (const plugin of this.plugins.values()) {\n await plugin.init?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerInit, {\n container: this\n });\n await this.particles.init();\n this.particles.setDensity();\n for (const plugin of this.plugins.values()) {\n plugin.particlesSetup?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.particlesSetup, {\n container: this\n });\n }\n async loadTheme(name) {\n if (!guardCheck(this)) {\n return;\n }\n this._currentTheme = name;\n await this.refresh();\n }\n pause() {\n if (!guardCheck(this)) {\n return;\n }\n if (this._drawAnimationFrame !== undefined) {\n (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.cancelAnimation)(this._drawAnimationFrame);\n delete this._drawAnimationFrame;\n }\n if (this._paused) {\n return;\n }\n for (const plugin of this.plugins.values()) {\n plugin.pause?.();\n }\n if (!this.pageHidden) {\n this._paused = true;\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerPaused, {\n container: this\n });\n }\n play(force) {\n if (!guardCheck(this)) {\n return;\n }\n const needsUpdate = this._paused || force;\n if (this._firstStart && !this.actualOptions.autoPlay) {\n this._firstStart = false;\n return;\n }\n if (this._paused) {\n this._paused = false;\n }\n if (needsUpdate) {\n for (const plugin of this.plugins.values()) {\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerPlay, {\n container: this\n });\n this.draw(needsUpdate ?? false);\n }\n async refresh() {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n return this.start();\n }\n async reset(sourceOptions) {\n if (!guardCheck(this)) {\n return;\n }\n this._initialSourceOptions = sourceOptions;\n this._sourceOptions = sourceOptions;\n this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._engine, this, this._options);\n return this.refresh();\n }\n async start() {\n if (!guardCheck(this) || this.started) {\n return;\n }\n await this.init();\n this.started = true;\n await new Promise(resolve => {\n const start = async () => {\n this._eventListeners.addListeners();\n if (this.interactivity.element instanceof HTMLElement && this._intersectionObserver) {\n this._intersectionObserver.observe(this.interactivity.element);\n }\n for (const plugin of this.plugins.values()) {\n await plugin.start?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerStarted, {\n container: this\n });\n this.play();\n resolve();\n };\n this._delayTimeout = setTimeout(() => void start(), this._delay);\n });\n }\n stop() {\n if (!guardCheck(this) || !this.started) {\n return;\n }\n if (this._delayTimeout) {\n clearTimeout(this._delayTimeout);\n delete this._delayTimeout;\n }\n this._firstStart = true;\n this.started = false;\n this._eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.stop();\n if (this.interactivity.element instanceof HTMLElement && this._intersectionObserver) {\n this._intersectionObserver.unobserve(this.interactivity.element);\n }\n for (const plugin of this.plugins.values()) {\n plugin.stop?.();\n }\n for (const key of this.plugins.keys()) {\n this.plugins.delete(key);\n }\n this._sourceOptions = this._options;\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerStopped, {\n container: this\n });\n }\n updateActualOptions() {\n this.actualOptions.responsive = [];\n const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);\n this.actualOptions.setTheme(this._currentTheme);\n if (this._responsiveMaxWidth === newMaxWidth) {\n return false;\n }\n this._responsiveMaxWidth = newMaxWidth;\n return true;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Container.js?");
97
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Canvas_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Canvas.js */ \"../../engine/dist/browser/Core/Canvas.js\");\n/* harmony import */ var _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils/EventListeners.js */ \"../../engine/dist/browser/Core/Utils/EventListeners.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Options/Classes/Options.js */ \"../../engine/dist/browser/Options/Classes/Options.js\");\n/* harmony import */ var _Particles_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Particles.js */ \"../../engine/dist/browser/Core/Particles.js\");\n/* harmony import */ var _Retina_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Retina.js */ \"../../engine/dist/browser/Core/Retina.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\nfunction guardCheck(container) {\n return container && !container.destroyed;\n}\nconst defaultFps = 60;\nfunction initDelta(value, fpsLimit = defaultFps, smooth = false) {\n return {\n value,\n factor: smooth ? defaultFps / fpsLimit : defaultFps * value / _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds\n };\n}\nfunction loadContainerOptions(engine, container, ...sourceOptionsArr) {\n const options = new _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_6__.Options(engine, container);\n (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__.loadOptions)(options, ...sourceOptionsArr);\n return options;\n}\nclass Container {\n constructor(engine, id, sourceOptions) {\n this._intersectionManager = entries => {\n if (!guardCheck(this) || !this.actualOptions.pauseOnOutsideViewport) {\n return;\n }\n for (const entry of entries) {\n if (entry.target !== this.interactivity.element) {\n continue;\n }\n if (entry.isIntersecting) {\n void this.play();\n } else {\n this.pause();\n }\n }\n };\n this._nextFrame = timestamp => {\n try {\n if (!this._smooth && this._lastFrameTime !== undefined && timestamp < this._lastFrameTime + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds / this.fpsLimit) {\n this.draw(false);\n return;\n }\n this._lastFrameTime ??= timestamp;\n const delta = initDelta(timestamp - this._lastFrameTime, this.fpsLimit, this._smooth);\n this.addLifeTime(delta.value);\n this._lastFrameTime = timestamp;\n if (delta.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds) {\n this.draw(false);\n return;\n }\n this.particles.draw(delta);\n if (!this.alive()) {\n this.destroy();\n return;\n }\n if (this.animationStatus) {\n this.draw(false);\n }\n } catch (e) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.getLogger)().error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} in animation loop`, e);\n }\n };\n this._engine = engine;\n this.id = Symbol(id);\n this.fpsLimit = 120;\n this._smooth = false;\n this._delay = 0;\n this._duration = 0;\n this._lifeTime = 0;\n this._firstStart = true;\n this.started = false;\n this.destroyed = false;\n this._paused = true;\n this._lastFrameTime = 0;\n this.zLayers = 100;\n this.pageHidden = false;\n this._clickHandlers = new Map();\n this._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.retina = new _Retina_js__WEBPACK_IMPORTED_MODULE_8__.Retina(this);\n this.canvas = new _Canvas_js__WEBPACK_IMPORTED_MODULE_3__.Canvas(this, this._engine);\n this.particles = new _Particles_js__WEBPACK_IMPORTED_MODULE_7__.Particles(this._engine, this);\n this.pathGenerators = new Map();\n this.interactivity = {\n mouse: {\n clicking: false,\n inside: false\n }\n };\n this.plugins = new Map();\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this._options = loadContainerOptions(this._engine, this);\n this.actualOptions = loadContainerOptions(this._engine, this);\n this._eventListeners = new _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_4__.EventListeners(this);\n this._intersectionObserver = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.safeIntersectionObserver)(entries => this._intersectionManager(entries));\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerBuilt, {\n container: this\n });\n }\n get animationStatus() {\n return !this._paused && !this.pageHidden && guardCheck(this);\n }\n get options() {\n return this._options;\n }\n get sourceOptions() {\n return this._sourceOptions;\n }\n addClickHandler(callback) {\n if (!guardCheck(this)) {\n return;\n }\n const el = this.interactivity.element;\n if (!el) {\n return;\n }\n const clickOrTouchHandler = (e, pos, radius) => {\n if (!guardCheck(this)) {\n return;\n }\n const pxRatio = this.retina.pixelRatio,\n posRetina = {\n x: pos.x * pxRatio,\n y: pos.y * pxRatio\n },\n particles = this.particles.quadTree.queryCircle(posRetina, radius * pxRatio);\n callback(e, particles);\n },\n clickHandler = e => {\n if (!guardCheck(this)) {\n return;\n }\n const mouseEvent = e,\n pos = {\n x: mouseEvent.offsetX || mouseEvent.clientX,\n y: mouseEvent.offsetY || mouseEvent.clientY\n },\n radius = 1;\n clickOrTouchHandler(e, pos, radius);\n },\n touchStartHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touched = true;\n touchMoved = false;\n },\n touchMoveHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touchMoved = true;\n },\n touchEndHandler = e => {\n if (!guardCheck(this)) {\n return;\n }\n if (touched && !touchMoved) {\n const touchEvent = e,\n lengthOffset = 1;\n let lastTouch = touchEvent.touches[touchEvent.touches.length - lengthOffset];\n if (!lastTouch) {\n lastTouch = touchEvent.changedTouches[touchEvent.changedTouches.length - lengthOffset];\n if (!lastTouch) {\n return;\n }\n }\n const element = this.canvas.element,\n canvasRect = element ? element.getBoundingClientRect() : undefined,\n minCoordinate = 0,\n pos = {\n x: lastTouch.clientX - (canvasRect ? canvasRect.left : minCoordinate),\n y: lastTouch.clientY - (canvasRect ? canvasRect.top : minCoordinate)\n };\n clickOrTouchHandler(e, pos, Math.max(lastTouch.radiusX, lastTouch.radiusY));\n }\n touched = false;\n touchMoved = false;\n },\n touchCancelHandler = () => {\n if (!guardCheck(this)) {\n return;\n }\n touched = false;\n touchMoved = false;\n };\n let touched = false,\n touchMoved = false;\n this._clickHandlers.set(\"click\", clickHandler);\n this._clickHandlers.set(\"touchstart\", touchStartHandler);\n this._clickHandlers.set(\"touchmove\", touchMoveHandler);\n this._clickHandlers.set(\"touchend\", touchEndHandler);\n this._clickHandlers.set(\"touchcancel\", touchCancelHandler);\n for (const [key, handler] of this._clickHandlers) {\n el.addEventListener(key, handler);\n }\n }\n addLifeTime(value) {\n this._lifeTime += value;\n }\n addPath(key, generator, override = false) {\n if (!guardCheck(this) || !override && this.pathGenerators.has(key)) {\n return false;\n }\n this.pathGenerators.set(key, generator);\n return true;\n }\n alive() {\n return !this._duration || this._lifeTime <= this._duration;\n }\n clearClickHandlers() {\n if (!guardCheck(this)) {\n return;\n }\n for (const [key, handler] of this._clickHandlers) {\n this.interactivity.element?.removeEventListener(key, handler);\n }\n this._clickHandlers.clear();\n }\n destroy(remove = true) {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n this.clearClickHandlers();\n this.particles.destroy();\n this.canvas.destroy();\n for (const effectDrawer of this.effectDrawers.values()) {\n effectDrawer.destroy?.(this);\n }\n for (const shapeDrawer of this.shapeDrawers.values()) {\n shapeDrawer.destroy?.(this);\n }\n for (const key of this.effectDrawers.keys()) {\n this.effectDrawers.delete(key);\n }\n for (const key of this.shapeDrawers.keys()) {\n this.shapeDrawers.delete(key);\n }\n this._engine.clearPlugins(this);\n this.destroyed = true;\n if (remove) {\n const mainArr = this._engine.items,\n idx = mainArr.findIndex(t => t === this),\n minIndex = 0;\n if (idx >= minIndex) {\n const deleteCount = 1;\n mainArr.splice(idx, deleteCount);\n }\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerDestroyed, {\n container: this\n });\n }\n draw(force) {\n if (!guardCheck(this)) {\n return;\n }\n let refreshTime = force;\n const frame = timestamp => {\n if (refreshTime) {\n this._lastFrameTime = undefined;\n refreshTime = false;\n }\n this._nextFrame(timestamp);\n };\n this._drawAnimationFrame = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.animate)(timestamp => frame(timestamp));\n }\n async export(type, options = {}) {\n for (const plugin of this.plugins.values()) {\n if (!plugin.export) {\n continue;\n }\n const res = await plugin.export(type, options);\n if (!res.supported) {\n continue;\n }\n return res.blob;\n }\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.getLogger)().error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} - Export plugin with type ${type} not found`);\n }\n handleClickMode(mode) {\n if (!guardCheck(this)) {\n return;\n }\n this.particles.handleClickMode(mode);\n for (const plugin of this.plugins.values()) {\n plugin.handleClickMode?.(mode);\n }\n }\n async init() {\n if (!guardCheck(this)) {\n return;\n }\n const effects = this._engine.getSupportedEffects();\n for (const type of effects) {\n const drawer = this._engine.getEffectDrawer(type);\n if (drawer) {\n this.effectDrawers.set(type, drawer);\n }\n }\n const shapes = this._engine.getSupportedShapes();\n for (const type of shapes) {\n const drawer = this._engine.getShapeDrawer(type);\n if (drawer) {\n this.shapeDrawers.set(type, drawer);\n }\n }\n await this.particles.initPlugins();\n this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._engine, this, this._options);\n const availablePlugins = await this._engine.getAvailablePlugins(this);\n for (const [id, plugin] of availablePlugins) {\n this.plugins.set(id, plugin);\n }\n this.retina.init();\n await this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n const {\n zLayers,\n duration,\n delay,\n fpsLimit,\n smooth\n } = this.actualOptions;\n this.zLayers = zLayers;\n this._duration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(duration) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._delay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(delay) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._lifeTime = 0;\n const defaultFpsLimit = 120,\n minFpsLimit = 0;\n this.fpsLimit = fpsLimit > minFpsLimit ? fpsLimit : defaultFpsLimit;\n this._smooth = smooth;\n for (const drawer of this.effectDrawers.values()) {\n await drawer.init?.(this);\n }\n for (const drawer of this.shapeDrawers.values()) {\n await drawer.init?.(this);\n }\n for (const plugin of this.plugins.values()) {\n await plugin.init?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerInit, {\n container: this\n });\n await this.particles.init();\n this.particles.setDensity();\n for (const plugin of this.plugins.values()) {\n plugin.particlesSetup?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.particlesSetup, {\n container: this\n });\n }\n async loadTheme(name) {\n if (!guardCheck(this)) {\n return;\n }\n this._currentTheme = name;\n await this.refresh();\n }\n pause() {\n if (!guardCheck(this)) {\n return;\n }\n if (this._drawAnimationFrame !== undefined) {\n (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.cancelAnimation)(this._drawAnimationFrame);\n delete this._drawAnimationFrame;\n }\n if (this._paused) {\n return;\n }\n for (const plugin of this.plugins.values()) {\n plugin.pause?.();\n }\n if (!this.pageHidden) {\n this._paused = true;\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerPaused, {\n container: this\n });\n }\n play(force) {\n if (!guardCheck(this)) {\n return;\n }\n const needsUpdate = this._paused || force;\n if (this._firstStart && !this.actualOptions.autoPlay) {\n this._firstStart = false;\n return;\n }\n if (this._paused) {\n this._paused = false;\n }\n if (needsUpdate) {\n for (const plugin of this.plugins.values()) {\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerPlay, {\n container: this\n });\n this.draw(needsUpdate ?? false);\n }\n async refresh() {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n return this.start();\n }\n async reset(sourceOptions) {\n if (!guardCheck(this)) {\n return;\n }\n this._initialSourceOptions = sourceOptions;\n this._sourceOptions = sourceOptions;\n this._options = loadContainerOptions(this._engine, this, this._initialSourceOptions, this.sourceOptions);\n this.actualOptions = loadContainerOptions(this._engine, this, this._options);\n return this.refresh();\n }\n async start() {\n if (!guardCheck(this) || this.started) {\n return;\n }\n await this.init();\n this.started = true;\n await new Promise(resolve => {\n const start = async () => {\n this._eventListeners.addListeners();\n if (this.interactivity.element instanceof HTMLElement && this._intersectionObserver) {\n this._intersectionObserver.observe(this.interactivity.element);\n }\n for (const plugin of this.plugins.values()) {\n await plugin.start?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerStarted, {\n container: this\n });\n this.play();\n resolve();\n };\n this._delayTimeout = setTimeout(() => void start(), this._delay);\n });\n }\n stop() {\n if (!guardCheck(this) || !this.started) {\n return;\n }\n if (this._delayTimeout) {\n clearTimeout(this._delayTimeout);\n delete this._delayTimeout;\n }\n this._firstStart = true;\n this.started = false;\n this._eventListeners.removeListeners();\n this.pause();\n this.particles.clear();\n this.canvas.stop();\n if (this.interactivity.element instanceof HTMLElement && this._intersectionObserver) {\n this._intersectionObserver.unobserve(this.interactivity.element);\n }\n for (const plugin of this.plugins.values()) {\n plugin.stop?.();\n }\n for (const key of this.plugins.keys()) {\n this.plugins.delete(key);\n }\n this._sourceOptions = this._options;\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.containerStopped, {\n container: this\n });\n }\n updateActualOptions() {\n this.actualOptions.responsive = [];\n const newMaxWidth = this.actualOptions.setResponsive(this.canvas.size.width, this.retina.pixelRatio, this._options);\n this.actualOptions.setTheme(this._currentTheme);\n if (this._responsiveMaxWidth === newMaxWidth) {\n return false;\n }\n this._responsiveMaxWidth = newMaxWidth;\n return true;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Container.js?");
98
98
 
99
99
  /***/ }),
100
100
 
@@ -104,7 +104,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
104
104
  \************************************************/
105
105
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
106
106
 
107
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Container_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\n\nasync function getItemsFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n res = await Promise.all([...initializers.values()].map(t => t(container)));\n map.set(container, res);\n }\n return res;\n}\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getLogger)().error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.errorPrefix} ${response.status} while retrieving config file`);\n return data.fallback;\n}\nconst generatedTrue = \"true\",\n generatedFalse = \"false\",\n canvasTag = \"canvas\",\n getCanvasFromContainer = domContainer => {\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === canvasTag) {\n canvasEl = domContainer;\n if (!canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute]) {\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedFalse;\n }\n } else {\n const existingCanvases = domContainer.getElementsByTagName(canvasTag);\n if (existingCanvases.length) {\n const firstIndex = 0;\n canvasEl = existingCanvases[firstIndex];\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedFalse;\n } else {\n canvasEl = document.createElement(canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n const fullPercent = \"100%\";\n if (!canvasEl.style.width) {\n canvasEl.style.width = fullPercent;\n }\n if (!canvasEl.style.height) {\n canvasEl.style.height = fullPercent;\n }\n return canvasEl;\n },\n getDomContainer = (id, source) => {\n let domContainer = source ?? document.getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = document.createElement(\"div\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedTrue;\n document.body.append(domContainer);\n return domContainer;\n };\nclass Engine {\n constructor() {\n this._configs = new Map();\n this._domArray = [];\n this._eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_3__.EventDispatcher();\n this._initialized = false;\n this.plugins = [];\n this._initializers = {\n interactors: new Map(),\n movers: new Map(),\n updaters: new Map()\n };\n this.interactors = new Map();\n this.movers = new Map();\n this.updaters = new Map();\n this.presets = new Map();\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.pathGenerators = new Map();\n }\n get configs() {\n const res = {};\n for (const [name, config] of this._configs) {\n res[name] = config;\n }\n return res;\n }\n get items() {\n return this._domArray;\n }\n get version() {\n return \"3.6.0-beta.1\";\n }\n addConfig(config) {\n const key = config.key ?? config.name ?? \"default\";\n this._configs.set(key, config);\n this._eventDispatcher.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.configAdded, {\n data: {\n name: key,\n config\n }\n });\n }\n async addEffect(effect, drawer, refresh = true) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.executeOnSingleOrMultiple)(effect, type => {\n if (!this.getEffectDrawer(type)) {\n this.effectDrawers.set(type, drawer);\n }\n });\n await this.refresh(refresh);\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n async addInteractor(name, interactorInitializer, refresh = true) {\n this._initializers.interactors.set(name, interactorInitializer);\n await this.refresh(refresh);\n }\n async addMover(name, moverInitializer, refresh = true) {\n this._initializers.movers.set(name, moverInitializer);\n await this.refresh(refresh);\n }\n async addParticleUpdater(name, updaterInitializer, refresh = true) {\n this._initializers.updaters.set(name, updaterInitializer);\n await this.refresh(refresh);\n }\n async addPathGenerator(name, generator, refresh = true) {\n if (!this.getPathGenerator(name)) {\n this.pathGenerators.set(name, generator);\n }\n await this.refresh(refresh);\n }\n async addPlugin(plugin, refresh = true) {\n if (!this.getPlugin(plugin.id)) {\n this.plugins.push(plugin);\n }\n await this.refresh(refresh);\n }\n async addPreset(preset, options, override = false, refresh = true) {\n if (override || !this.getPreset(preset)) {\n this.presets.set(preset, options);\n }\n await this.refresh(refresh);\n }\n async addShape(drawer, refresh = true) {\n for (const validType of drawer.validTypes) {\n if (this.getShapeDrawer(validType)) {\n continue;\n }\n this.shapeDrawers.set(validType, drawer);\n }\n await this.refresh(refresh);\n }\n clearPlugins(container) {\n this.updaters.delete(container);\n this.movers.delete(container);\n this.interactors.delete(container);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n dom() {\n return this.items;\n }\n domItem(index) {\n return this.item(index);\n }\n async getAvailablePlugins(container) {\n const res = new Map();\n for (const plugin of this.plugins) {\n if (plugin.needsPlugin(container.actualOptions)) {\n res.set(plugin.id, await plugin.getPlugin(container));\n }\n }\n return res;\n }\n getEffectDrawer(type) {\n return this.effectDrawers.get(type);\n }\n async getInteractors(container, force = false) {\n return getItemsFromInitializer(container, this.interactors, this._initializers.interactors, force);\n }\n async getMovers(container, force = false) {\n return getItemsFromInitializer(container, this.movers, this._initializers.movers, force);\n }\n getPathGenerator(type) {\n return this.pathGenerators.get(type);\n }\n getPlugin(plugin) {\n return this.plugins.find(t => t.id === plugin);\n }\n getPreset(preset) {\n return this.presets.get(preset);\n }\n getShapeDrawer(type) {\n return this.shapeDrawers.get(type);\n }\n getSupportedEffects() {\n return this.effectDrawers.keys();\n }\n getSupportedShapes() {\n return this.shapeDrawers.keys();\n }\n async getUpdaters(container, force = false) {\n return getItemsFromInitializer(container, this.updaters, this._initializers.updaters, force);\n }\n init() {\n if (this._initialized) {\n return;\n }\n this._initialized = true;\n }\n item(index) {\n const {\n items\n } = this,\n item = items[index];\n if (!item || item.destroyed) {\n const deleteCount = 1;\n items.splice(index, deleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n const randomFactor = 10000,\n id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * randomFactor)}`,\n {\n index,\n url\n } = params,\n options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options;\n const currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index),\n {\n items\n } = this,\n oldIndex = items.findIndex(v => v.id.description === id),\n minIndex = 0,\n newItem = new _Container_js__WEBPACK_IMPORTED_MODULE_2__.Container(this, id, currentOptions);\n if (oldIndex >= minIndex) {\n const old = this.item(oldIndex),\n one = 1,\n none = 0,\n deleteCount = old ? one : none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element),\n canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n loadOptions(options, sourceOptions) {\n this.plugins.forEach(plugin => plugin.loadOptions?.(options, sourceOptions));\n }\n loadParticlesOptions(container, options, ...sourceOptions) {\n const updaters = this.updaters.get(container);\n if (!updaters) {\n return;\n }\n updaters.forEach(updater => updater.loadOptions?.(options, ...sourceOptions));\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map(t => t.refresh()));\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n setOnClickHandler(callback) {\n const {\n items\n } = this;\n if (!items.length) {\n throw new Error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.errorPrefix} can only set click handlers after calling tsParticles.load()`);\n }\n items.forEach(item => item.addClickHandler(callback));\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Engine.js?");
107
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Container_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\n\nasync function getItemsFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n res = await Promise.all([...initializers.values()].map(t => t(container)));\n map.set(container, res);\n }\n return res;\n}\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getLogger)().error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.errorPrefix} ${response.status} while retrieving config file`);\n return data.fallback;\n}\nconst generatedTrue = \"true\",\n generatedFalse = \"false\",\n canvasTag = \"canvas\",\n getCanvasFromContainer = domContainer => {\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === canvasTag) {\n canvasEl = domContainer;\n if (!canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute]) {\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedFalse;\n }\n } else {\n const existingCanvases = domContainer.getElementsByTagName(canvasTag);\n if (existingCanvases.length) {\n const firstIndex = 0;\n canvasEl = existingCanvases[firstIndex];\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedFalse;\n } else {\n canvasEl = document.createElement(canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n const fullPercent = \"100%\";\n if (!canvasEl.style.width) {\n canvasEl.style.width = fullPercent;\n }\n if (!canvasEl.style.height) {\n canvasEl.style.height = fullPercent;\n }\n return canvasEl;\n },\n getDomContainer = (id, source) => {\n let domContainer = source ?? document.getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = document.createElement(\"div\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = generatedTrue;\n document.body.append(domContainer);\n return domContainer;\n };\nclass Engine {\n constructor() {\n this._configs = new Map();\n this._domArray = [];\n this._eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_3__.EventDispatcher();\n this._initialized = false;\n this.plugins = [];\n this.colorManagers = new Map();\n this.easingFunctions = new Map();\n this._initializers = {\n interactors: new Map(),\n movers: new Map(),\n updaters: new Map()\n };\n this.interactors = new Map();\n this.movers = new Map();\n this.updaters = new Map();\n this.presets = new Map();\n this.effectDrawers = new Map();\n this.shapeDrawers = new Map();\n this.pathGenerators = new Map();\n }\n get configs() {\n const res = {};\n for (const [name, config] of this._configs) {\n res[name] = config;\n }\n return res;\n }\n get items() {\n return this._domArray;\n }\n get version() {\n return \"3.7.0\";\n }\n async addColorManager(manager, refresh = true) {\n this.colorManagers.set(manager.key, manager);\n await this.refresh(refresh);\n }\n addConfig(config) {\n const key = config.key ?? config.name ?? \"default\";\n this._configs.set(key, config);\n this._eventDispatcher.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.configAdded, {\n data: {\n name: key,\n config\n }\n });\n }\n async addEasing(name, easing, refresh = true) {\n if (this.getEasing(name)) {\n return;\n }\n this.easingFunctions.set(name, easing);\n await this.refresh(refresh);\n }\n async addEffect(effect, drawer, refresh = true) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.executeOnSingleOrMultiple)(effect, type => {\n if (!this.getEffectDrawer(type)) {\n this.effectDrawers.set(type, drawer);\n }\n });\n await this.refresh(refresh);\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n async addInteractor(name, interactorInitializer, refresh = true) {\n this._initializers.interactors.set(name, interactorInitializer);\n await this.refresh(refresh);\n }\n async addMover(name, moverInitializer, refresh = true) {\n this._initializers.movers.set(name, moverInitializer);\n await this.refresh(refresh);\n }\n async addParticleUpdater(name, updaterInitializer, refresh = true) {\n this._initializers.updaters.set(name, updaterInitializer);\n await this.refresh(refresh);\n }\n async addPathGenerator(name, generator, refresh = true) {\n if (!this.getPathGenerator(name)) {\n this.pathGenerators.set(name, generator);\n }\n await this.refresh(refresh);\n }\n async addPlugin(plugin, refresh = true) {\n if (!this.getPlugin(plugin.id)) {\n this.plugins.push(plugin);\n }\n await this.refresh(refresh);\n }\n async addPreset(preset, options, override = false, refresh = true) {\n if (override || !this.getPreset(preset)) {\n this.presets.set(preset, options);\n }\n await this.refresh(refresh);\n }\n async addShape(drawer, refresh = true) {\n for (const validType of drawer.validTypes) {\n if (this.getShapeDrawer(validType)) {\n continue;\n }\n this.shapeDrawers.set(validType, drawer);\n }\n await this.refresh(refresh);\n }\n clearPlugins(container) {\n this.updaters.delete(container);\n this.movers.delete(container);\n this.interactors.delete(container);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n dom() {\n return this.items;\n }\n domItem(index) {\n return this.item(index);\n }\n async getAvailablePlugins(container) {\n const res = new Map();\n for (const plugin of this.plugins) {\n if (plugin.needsPlugin(container.actualOptions)) {\n res.set(plugin.id, await plugin.getPlugin(container));\n }\n }\n return res;\n }\n getEasing(name) {\n return this.easingFunctions.get(name) ?? (value => value);\n }\n getEffectDrawer(type) {\n return this.effectDrawers.get(type);\n }\n async getInteractors(container, force = false) {\n return getItemsFromInitializer(container, this.interactors, this._initializers.interactors, force);\n }\n async getMovers(container, force = false) {\n return getItemsFromInitializer(container, this.movers, this._initializers.movers, force);\n }\n getPathGenerator(type) {\n return this.pathGenerators.get(type);\n }\n getPlugin(plugin) {\n return this.plugins.find(t => t.id === plugin);\n }\n getPreset(preset) {\n return this.presets.get(preset);\n }\n getShapeDrawer(type) {\n return this.shapeDrawers.get(type);\n }\n getSupportedEffects() {\n return this.effectDrawers.keys();\n }\n getSupportedShapes() {\n return this.shapeDrawers.keys();\n }\n async getUpdaters(container, force = false) {\n return getItemsFromInitializer(container, this.updaters, this._initializers.updaters, force);\n }\n init() {\n if (this._initialized) {\n return;\n }\n this._initialized = true;\n }\n item(index) {\n const {\n items\n } = this,\n item = items[index];\n if (!item || item.destroyed) {\n const deleteCount = 1;\n items.splice(index, deleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n const randomFactor = 10000,\n id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * randomFactor)}`,\n {\n index,\n url\n } = params,\n options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options;\n const currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index),\n {\n items\n } = this,\n oldIndex = items.findIndex(v => v.id.description === id),\n minIndex = 0,\n newItem = new _Container_js__WEBPACK_IMPORTED_MODULE_2__.Container(this, id, currentOptions);\n if (oldIndex >= minIndex) {\n const old = this.item(oldIndex),\n one = 1,\n none = 0,\n deleteCount = old ? one : none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element),\n canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n loadOptions(options, sourceOptions) {\n this.plugins.forEach(plugin => plugin.loadOptions?.(options, sourceOptions));\n }\n loadParticlesOptions(container, options, ...sourceOptions) {\n const updaters = this.updaters.get(container);\n if (!updaters) {\n return;\n }\n updaters.forEach(updater => updater.loadOptions?.(options, ...sourceOptions));\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map(t => t.refresh()));\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n setOnClickHandler(callback) {\n const {\n items\n } = this;\n if (!items.length) {\n throw new Error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.errorPrefix} can only set click handlers after calling tsParticles.load()`);\n }\n items.forEach(item => item.addClickHandler(callback));\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Engine.js?");
108
108
 
109
109
  /***/ }),
110
110
 
@@ -484,7 +484,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n\n\n//# sourceURL=webpack://@
484
484
  \**************************************************/
485
485
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
486
486
 
487
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particle: () => (/* binding */ Particle)\n/* harmony export */ });\n/* harmony import */ var _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Options/Classes/Interactivity/Interactivity.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js\");\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Enums/Types/ParticleOutType.js */ \"../../engine/dist/browser/Enums/Types/ParticleOutType.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst defaultRetryCount = 0,\n double = 2,\n half = 0.5,\n squareExp = 2,\n randomString = \"random\";\nfunction loadEffectData(effect, effectOptions, id, reduceDuplicates) {\n const effectData = effectOptions.options[effect];\n if (!effectData) {\n return;\n }\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.deepExtend)({\n close: effectOptions.close,\n fill: effectOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(effectData, id, reduceDuplicates));\n}\nfunction loadShapeData(shape, shapeOptions, id, reduceDuplicates) {\n const shapeData = shapeOptions.options[shape];\n if (!shapeData) {\n return;\n }\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.deepExtend)({\n close: shapeOptions.close,\n fill: shapeOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(shapeData, id, reduceDuplicates));\n}\nfunction fixOutMode(data) {\n if (!(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.isInArray)(data.outMode, data.checkModes)) {\n return;\n }\n const diameter = data.radius * double;\n if (data.coord > data.maxCoord - diameter) {\n data.setCb(-data.radius);\n } else if (data.coord < diameter) {\n data.setCb(data.radius);\n }\n}\nclass Particle {\n constructor(engine, container) {\n this.container = container;\n this._calcPosition = (container, position, zIndex, tryCount = defaultRetryCount) => {\n for (const plugin of container.plugins.values()) {\n const pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;\n if (pluginPos) {\n return _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const canvasSize = container.canvas.size,\n exactPosition = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.calcExactPositionOrRandomFromSize)({\n size: canvasSize,\n position: position\n }),\n pos = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(exactPosition.x, exactPosition.y, zIndex),\n radius = this.getRadius(),\n outModes = this.options.move.outModes,\n fixHorizontal = outMode => {\n fixOutMode({\n outMode,\n checkModes: [_Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_8__.OutMode.bounce],\n coord: pos.x,\n maxCoord: container.canvas.size.width,\n setCb: value => pos.x += value,\n radius\n });\n },\n fixVertical = outMode => {\n fixOutMode({\n outMode,\n checkModes: [_Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_8__.OutMode.bounce],\n coord: pos.y,\n maxCoord: container.canvas.size.height,\n setCb: value => pos.y += value,\n radius\n });\n };\n fixHorizontal(outModes.left ?? outModes.default);\n fixHorizontal(outModes.right ?? outModes.default);\n fixVertical(outModes.top ?? outModes.default);\n fixVertical(outModes.bottom ?? outModes.default);\n if (this._checkOverlap(pos, tryCount)) {\n const increment = 1;\n return this._calcPosition(container, undefined, zIndex, tryCount + increment);\n }\n return pos;\n };\n this._calculateVelocity = () => {\n const baseVelocity = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getParticleBaseVelocity)(this.direction),\n res = baseVelocity.copy(),\n moveOptions = this.options.move;\n if (moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.inside || moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.outside) {\n return res;\n }\n const rad = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.degToRad)((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.angle.value)),\n radOffset = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.degToRad)((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.angle.offset)),\n range = {\n left: radOffset - rad * half,\n right: radOffset + rad * half\n };\n if (!moveOptions.straight) {\n res.angle += (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.randomInRange)((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRandom)();\n }\n return res;\n };\n this._checkOverlap = (pos, tryCount = defaultRetryCount) => {\n const collisionsOptions = this.options.collisions,\n radius = this.getRadius();\n if (!collisionsOptions.enable) {\n return false;\n }\n const overlapOptions = collisionsOptions.overlap;\n if (overlapOptions.enable) {\n return false;\n }\n const retries = overlapOptions.retries,\n minRetries = 0;\n if (retries >= minRetries && tryCount > retries) {\n throw new Error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.errorPrefix} particle is overlapping and can't be placed`);\n }\n return !!this.container.particles.find(particle => (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getDistance)(pos, particle.position) < radius + particle.getRadius());\n };\n this._getRollColor = color => {\n if (!color || !this.roll || !this.backColor && !this.roll.alter) {\n return color;\n }\n const rollFactor = 1,\n none = 0,\n backFactor = this.roll.horizontal && this.roll.vertical ? double * rollFactor : rollFactor,\n backSum = this.roll.horizontal ? Math.PI * half : none,\n rolled = Math.floor(((this.roll.angle ?? none) + backSum) / (Math.PI / backFactor)) % double;\n if (!rolled) {\n return color;\n }\n if (this.backColor) {\n return this.backColor;\n }\n if (this.roll.alter) {\n return (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_11__.alterHsl)(color, this.roll.alter.type, this.roll.alter.value);\n }\n return color;\n };\n this._initPosition = position => {\n const container = this.container,\n zIndexValue = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(this.options.zIndex.value),\n minZ = 0;\n this.position = this._calcPosition(container, position, (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.clamp)(zIndexValue, minZ, container.zLayers));\n this.initialPosition = this.position.copy();\n const canvasSize = container.canvas.size,\n defaultRadius = 0;\n this.moveCenter = {\n ...(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.getPosition)(this.options.move.center, canvasSize),\n radius: this.options.move.center.radius ?? defaultRadius,\n mode: this.options.move.center.mode ?? _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_10__.PixelMode.percent\n };\n this.direction = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getParticleDirectionAngle)(this.options.move.direction, this.position, this.moveCenter);\n switch (this.options.move.direction) {\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.inside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__.ParticleOutType.inside;\n break;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.outside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__.ParticleOutType.outside;\n break;\n }\n this.offset = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n };\n this._engine = engine;\n }\n destroy(override) {\n if (this.unbreakable || this.destroyed) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n this.slow.inRange = false;\n const container = this.container,\n pathGenerator = this.pathGenerator,\n shapeDrawer = container.shapeDrawers.get(this.shape);\n shapeDrawer?.particleDestroy?.(this);\n for (const plugin of container.plugins.values()) {\n plugin.particleDestroyed?.(this, override);\n }\n for (const updater of container.particles.updaters) {\n updater.particleDestroyed?.(this, override);\n }\n pathGenerator?.reset(this);\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.particleDestroyed, {\n container: this.container,\n data: {\n particle: this\n }\n });\n }\n draw(delta) {\n const container = this.container,\n canvas = container.canvas;\n for (const plugin of container.plugins.values()) {\n canvas.drawParticlePlugin(plugin, this, delta);\n }\n canvas.drawParticle(this, delta);\n }\n getFillColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__.getHslFromAnimation)(this.color));\n }\n getMass() {\n return this.getRadius() ** squareExp * Math.PI * half;\n }\n getPosition() {\n return {\n x: this.position.x + this.offset.x,\n y: this.position.y + this.offset.y,\n z: this.position.z\n };\n }\n getRadius() {\n return this.bubble.radius ?? this.size.value;\n }\n getStrokeColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__.getHslFromAnimation)(this.strokeColor));\n }\n init(id, position, overrideOptions, group) {\n const container = this.container,\n engine = this._engine;\n this.id = id;\n this.group = group;\n this.effectClose = true;\n this.effectFill = true;\n this.shapeClose = true;\n this.shapeFill = true;\n this.pathRotation = false;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.isRotating = false;\n this.rotation = 0;\n this.misplaced = false;\n this.retina = {\n maxDistance: {}\n };\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__.ParticleOutType.normal;\n this.ignoresResizeRatio = true;\n const pxRatio = container.retina.pixelRatio,\n mainOptions = container.actualOptions,\n particlesOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_12__.loadParticlesOptions)(this._engine, container, mainOptions.particles),\n {\n reduceDuplicates\n } = particlesOptions,\n effectType = particlesOptions.effect.type,\n shapeType = particlesOptions.shape.type;\n this.effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(effectType, this.id, reduceDuplicates);\n this.shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(shapeType, this.id, reduceDuplicates);\n const effectOptions = particlesOptions.effect,\n shapeOptions = particlesOptions.shape;\n if (overrideOptions) {\n if (overrideOptions.effect?.type) {\n const overrideEffectType = overrideOptions.effect.type,\n effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(overrideEffectType, this.id, reduceDuplicates);\n if (effect) {\n this.effect = effect;\n effectOptions.load(overrideOptions.effect);\n }\n }\n if (overrideOptions.shape?.type) {\n const overrideShapeType = overrideOptions.shape.type,\n shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(overrideShapeType, this.id, reduceDuplicates);\n if (shape) {\n this.shape = shape;\n shapeOptions.load(overrideOptions.shape);\n }\n }\n }\n if (this.effect === randomString) {\n const availableEffects = [...this.container.effectDrawers.keys()];\n this.effect = availableEffects[Math.floor(Math.random() * availableEffects.length)];\n }\n if (this.shape === randomString) {\n const availableShapes = [...this.container.shapeDrawers.keys()];\n this.shape = availableShapes[Math.floor(Math.random() * availableShapes.length)];\n }\n this.effectData = loadEffectData(this.effect, effectOptions, this.id, reduceDuplicates);\n this.shapeData = loadShapeData(this.shape, shapeOptions, this.id, reduceDuplicates);\n particlesOptions.load(overrideOptions);\n const effectData = this.effectData;\n if (effectData) {\n particlesOptions.load(effectData.particles);\n }\n const shapeData = this.shapeData;\n if (shapeData) {\n particlesOptions.load(shapeData.particles);\n }\n const interactivity = new _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_6__.Interactivity(engine, container);\n interactivity.load(container.actualOptions.interactivity);\n interactivity.load(particlesOptions.interactivity);\n this.interactivity = interactivity;\n this.effectFill = effectData?.fill ?? particlesOptions.effect.fill;\n this.effectClose = effectData?.close ?? particlesOptions.effect.close;\n this.shapeFill = shapeData?.fill ?? particlesOptions.shape.fill;\n this.shapeClose = shapeData?.close ?? particlesOptions.shape.close;\n this.options = particlesOptions;\n const pathOptions = this.options.move.path;\n this.pathDelay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(pathOptions.delay.value) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.millisecondsToSeconds;\n if (pathOptions.generator) {\n this.pathGenerator = this._engine.getPathGenerator(pathOptions.generator);\n if (this.pathGenerator && container.addPath(pathOptions.generator, this.pathGenerator)) {\n this.pathGenerator.init(container);\n }\n }\n container.retina.initParticle(this);\n this.size = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.initParticleNumericAnimationValue)(this.options.size, pxRatio);\n this.bubble = {\n inRange: false\n };\n this.slow = {\n inRange: false,\n factor: 1\n };\n this._initPosition(position);\n this.initialVelocity = this._calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n const decayOffset = 1;\n this.moveDecay = decayOffset - (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(this.options.move.decay);\n const particles = container.particles;\n particles.setLastZIndex(this.position.z);\n this.zIndexFactor = this.position.z / container.zLayers;\n this.sides = 24;\n let effectDrawer = container.effectDrawers.get(this.effect);\n if (!effectDrawer) {\n effectDrawer = this._engine.getEffectDrawer(this.effect);\n if (effectDrawer) {\n container.effectDrawers.set(this.effect, effectDrawer);\n }\n }\n if (effectDrawer?.loadEffect) {\n effectDrawer.loadEffect(this);\n }\n let shapeDrawer = container.shapeDrawers.get(this.shape);\n if (!shapeDrawer) {\n shapeDrawer = this._engine.getShapeDrawer(this.shape);\n if (shapeDrawer) {\n container.shapeDrawers.set(this.shape, shapeDrawer);\n }\n }\n if (shapeDrawer?.loadShape) {\n shapeDrawer.loadShape(this);\n }\n const sideCountFunc = shapeDrawer?.getSidesCount;\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n this.spawning = false;\n this.shadowColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__.rangeColorToRgb)(this.options.shadow.color);\n for (const updater of particles.updaters) {\n updater.init(this);\n }\n for (const mover of particles.movers) {\n mover.init?.(this);\n }\n effectDrawer?.particleInit?.(container, this);\n shapeDrawer?.particleInit?.(container, this);\n for (const plugin of container.plugins.values()) {\n plugin.particleCreated?.(this);\n }\n }\n isInsideCanvas() {\n const radius = this.getRadius(),\n canvasSize = this.container.canvas.size,\n position = this.position;\n return position.x >= -radius && position.y >= -radius && position.y <= canvasSize.height + radius && position.x <= canvasSize.width + radius;\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n reset() {\n for (const updater of this.container.particles.updaters) {\n updater.reset?.(this);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Particle.js?");
487
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particle: () => (/* binding */ Particle)\n/* harmony export */ });\n/* harmony import */ var _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Options/Classes/Interactivity/Interactivity.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js\");\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Enums/Types/ParticleOutType.js */ \"../../engine/dist/browser/Enums/Types/ParticleOutType.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst defaultRetryCount = 0,\n double = 2,\n half = 0.5,\n squareExp = 2,\n randomString = \"random\";\nfunction loadEffectData(effect, effectOptions, id, reduceDuplicates) {\n const effectData = effectOptions.options[effect];\n if (!effectData) {\n return;\n }\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.deepExtend)({\n close: effectOptions.close,\n fill: effectOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(effectData, id, reduceDuplicates));\n}\nfunction loadShapeData(shape, shapeOptions, id, reduceDuplicates) {\n const shapeData = shapeOptions.options[shape];\n if (!shapeData) {\n return;\n }\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.deepExtend)({\n close: shapeOptions.close,\n fill: shapeOptions.fill\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(shapeData, id, reduceDuplicates));\n}\nfunction fixOutMode(data) {\n if (!(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.isInArray)(data.outMode, data.checkModes)) {\n return;\n }\n const diameter = data.radius * double;\n if (data.coord > data.maxCoord - diameter) {\n data.setCb(-data.radius);\n } else if (data.coord < diameter) {\n data.setCb(data.radius);\n }\n}\nclass Particle {\n constructor(engine, container) {\n this.container = container;\n this._calcPosition = (container, position, zIndex, tryCount = defaultRetryCount) => {\n for (const plugin of container.plugins.values()) {\n const pluginPos = plugin.particlePosition !== undefined ? plugin.particlePosition(position, this) : undefined;\n if (pluginPos) {\n return _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const canvasSize = container.canvas.size,\n exactPosition = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.calcExactPositionOrRandomFromSize)({\n size: canvasSize,\n position: position\n }),\n pos = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(exactPosition.x, exactPosition.y, zIndex),\n radius = this.getRadius(),\n outModes = this.options.move.outModes,\n fixHorizontal = outMode => {\n fixOutMode({\n outMode,\n checkModes: [_Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_8__.OutMode.bounce],\n coord: pos.x,\n maxCoord: container.canvas.size.width,\n setCb: value => pos.x += value,\n radius\n });\n },\n fixVertical = outMode => {\n fixOutMode({\n outMode,\n checkModes: [_Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_8__.OutMode.bounce],\n coord: pos.y,\n maxCoord: container.canvas.size.height,\n setCb: value => pos.y += value,\n radius\n });\n };\n fixHorizontal(outModes.left ?? outModes.default);\n fixHorizontal(outModes.right ?? outModes.default);\n fixVertical(outModes.top ?? outModes.default);\n fixVertical(outModes.bottom ?? outModes.default);\n if (this._checkOverlap(pos, tryCount)) {\n const increment = 1;\n return this._calcPosition(container, undefined, zIndex, tryCount + increment);\n }\n return pos;\n };\n this._calculateVelocity = () => {\n const baseVelocity = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getParticleBaseVelocity)(this.direction),\n res = baseVelocity.copy(),\n moveOptions = this.options.move;\n if (moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.inside || moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.outside) {\n return res;\n }\n const rad = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.degToRad)((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.angle.value)),\n radOffset = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.degToRad)((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.angle.offset)),\n range = {\n left: radOffset - rad * half,\n right: radOffset + rad * half\n };\n if (!moveOptions.straight) {\n res.angle += (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.randomInRange)((0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRandom)();\n }\n return res;\n };\n this._checkOverlap = (pos, tryCount = defaultRetryCount) => {\n const collisionsOptions = this.options.collisions,\n radius = this.getRadius();\n if (!collisionsOptions.enable) {\n return false;\n }\n const overlapOptions = collisionsOptions.overlap;\n if (overlapOptions.enable) {\n return false;\n }\n const retries = overlapOptions.retries,\n minRetries = 0;\n if (retries >= minRetries && tryCount > retries) {\n throw new Error(`${_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.errorPrefix} particle is overlapping and can't be placed`);\n }\n return !!this.container.particles.find(particle => (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getDistance)(pos, particle.position) < radius + particle.getRadius());\n };\n this._getRollColor = color => {\n if (!color || !this.roll || !this.backColor && !this.roll.alter) {\n return color;\n }\n const rollFactor = 1,\n none = 0,\n backFactor = this.roll.horizontal && this.roll.vertical ? double * rollFactor : rollFactor,\n backSum = this.roll.horizontal ? Math.PI * half : none,\n rolled = Math.floor(((this.roll.angle ?? none) + backSum) / (Math.PI / backFactor)) % double;\n if (!rolled) {\n return color;\n }\n if (this.backColor) {\n return this.backColor;\n }\n if (this.roll.alter) {\n return (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_11__.alterHsl)(color, this.roll.alter.type, this.roll.alter.value);\n }\n return color;\n };\n this._initPosition = position => {\n const container = this.container,\n zIndexValue = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(this.options.zIndex.value),\n minZ = 0;\n this.position = this._calcPosition(container, position, (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.clamp)(zIndexValue, minZ, container.zLayers));\n this.initialPosition = this.position.copy();\n const canvasSize = container.canvas.size,\n defaultRadius = 0;\n this.moveCenter = {\n ...(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.getPosition)(this.options.move.center, canvasSize),\n radius: this.options.move.center.radius ?? defaultRadius,\n mode: this.options.move.center.mode ?? _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_10__.PixelMode.percent\n };\n this.direction = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getParticleDirectionAngle)(this.options.move.direction, this.position, this.moveCenter);\n switch (this.options.move.direction) {\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.inside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__.ParticleOutType.inside;\n break;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_7__.MoveDirection.outside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__.ParticleOutType.outside;\n break;\n }\n this.offset = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n };\n this._engine = engine;\n }\n destroy(override) {\n if (this.unbreakable || this.destroyed) {\n return;\n }\n this.destroyed = true;\n this.bubble.inRange = false;\n this.slow.inRange = false;\n const container = this.container,\n pathGenerator = this.pathGenerator,\n shapeDrawer = container.shapeDrawers.get(this.shape);\n shapeDrawer?.particleDestroy?.(this);\n for (const plugin of container.plugins.values()) {\n plugin.particleDestroyed?.(this, override);\n }\n for (const updater of container.particles.updaters) {\n updater.particleDestroyed?.(this, override);\n }\n pathGenerator?.reset(this);\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_5__.EventType.particleDestroyed, {\n container: this.container,\n data: {\n particle: this\n }\n });\n }\n draw(delta) {\n const container = this.container,\n canvas = container.canvas;\n for (const plugin of container.plugins.values()) {\n canvas.drawParticlePlugin(plugin, this, delta);\n }\n canvas.drawParticle(this, delta);\n }\n getFillColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__.getHslFromAnimation)(this.color));\n }\n getMass() {\n return this.getRadius() ** squareExp * Math.PI * half;\n }\n getPosition() {\n return {\n x: this.position.x + this.offset.x,\n y: this.position.y + this.offset.y,\n z: this.position.z\n };\n }\n getRadius() {\n return this.bubble.radius ?? this.size.value;\n }\n getStrokeColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__.getHslFromAnimation)(this.strokeColor));\n }\n init(id, position, overrideOptions, group) {\n const container = this.container,\n engine = this._engine;\n this.id = id;\n this.group = group;\n this.effectClose = true;\n this.effectFill = true;\n this.shapeClose = true;\n this.shapeFill = true;\n this.pathRotation = false;\n this.lastPathTime = 0;\n this.destroyed = false;\n this.unbreakable = false;\n this.isRotating = false;\n this.rotation = 0;\n this.misplaced = false;\n this.retina = {\n maxDistance: {}\n };\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_9__.ParticleOutType.normal;\n this.ignoresResizeRatio = true;\n const pxRatio = container.retina.pixelRatio,\n mainOptions = container.actualOptions,\n particlesOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_12__.loadParticlesOptions)(this._engine, container, mainOptions.particles),\n {\n reduceDuplicates\n } = particlesOptions,\n effectType = particlesOptions.effect.type,\n shapeType = particlesOptions.shape.type;\n this.effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(effectType, this.id, reduceDuplicates);\n this.shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(shapeType, this.id, reduceDuplicates);\n const effectOptions = particlesOptions.effect,\n shapeOptions = particlesOptions.shape;\n if (overrideOptions) {\n if (overrideOptions.effect?.type) {\n const overrideEffectType = overrideOptions.effect.type,\n effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(overrideEffectType, this.id, reduceDuplicates);\n if (effect) {\n this.effect = effect;\n effectOptions.load(overrideOptions.effect);\n }\n }\n if (overrideOptions.shape?.type) {\n const overrideShapeType = overrideOptions.shape.type,\n shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple)(overrideShapeType, this.id, reduceDuplicates);\n if (shape) {\n this.shape = shape;\n shapeOptions.load(overrideOptions.shape);\n }\n }\n }\n if (this.effect === randomString) {\n const availableEffects = [...this.container.effectDrawers.keys()];\n this.effect = availableEffects[Math.floor(Math.random() * availableEffects.length)];\n }\n if (this.shape === randomString) {\n const availableShapes = [...this.container.shapeDrawers.keys()];\n this.shape = availableShapes[Math.floor(Math.random() * availableShapes.length)];\n }\n this.effectData = loadEffectData(this.effect, effectOptions, this.id, reduceDuplicates);\n this.shapeData = loadShapeData(this.shape, shapeOptions, this.id, reduceDuplicates);\n particlesOptions.load(overrideOptions);\n const effectData = this.effectData;\n if (effectData) {\n particlesOptions.load(effectData.particles);\n }\n const shapeData = this.shapeData;\n if (shapeData) {\n particlesOptions.load(shapeData.particles);\n }\n const interactivity = new _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_6__.Interactivity(engine, container);\n interactivity.load(container.actualOptions.interactivity);\n interactivity.load(particlesOptions.interactivity);\n this.interactivity = interactivity;\n this.effectFill = effectData?.fill ?? particlesOptions.effect.fill;\n this.effectClose = effectData?.close ?? particlesOptions.effect.close;\n this.shapeFill = shapeData?.fill ?? particlesOptions.shape.fill;\n this.shapeClose = shapeData?.close ?? particlesOptions.shape.close;\n this.options = particlesOptions;\n const pathOptions = this.options.move.path;\n this.pathDelay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(pathOptions.delay.value) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.millisecondsToSeconds;\n if (pathOptions.generator) {\n this.pathGenerator = this._engine.getPathGenerator(pathOptions.generator);\n if (this.pathGenerator && container.addPath(pathOptions.generator, this.pathGenerator)) {\n this.pathGenerator.init(container);\n }\n }\n container.retina.initParticle(this);\n this.size = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.initParticleNumericAnimationValue)(this.options.size, pxRatio);\n this.bubble = {\n inRange: false\n };\n this.slow = {\n inRange: false,\n factor: 1\n };\n this._initPosition(position);\n this.initialVelocity = this._calculateVelocity();\n this.velocity = this.initialVelocity.copy();\n const decayOffset = 1;\n this.moveDecay = decayOffset - (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(this.options.move.decay);\n const particles = container.particles;\n particles.setLastZIndex(this.position.z);\n this.zIndexFactor = this.position.z / container.zLayers;\n this.sides = 24;\n let effectDrawer = container.effectDrawers.get(this.effect);\n if (!effectDrawer) {\n effectDrawer = this._engine.getEffectDrawer(this.effect);\n if (effectDrawer) {\n container.effectDrawers.set(this.effect, effectDrawer);\n }\n }\n if (effectDrawer?.loadEffect) {\n effectDrawer.loadEffect(this);\n }\n let shapeDrawer = container.shapeDrawers.get(this.shape);\n if (!shapeDrawer) {\n shapeDrawer = this._engine.getShapeDrawer(this.shape);\n if (shapeDrawer) {\n container.shapeDrawers.set(this.shape, shapeDrawer);\n }\n }\n if (shapeDrawer?.loadShape) {\n shapeDrawer.loadShape(this);\n }\n const sideCountFunc = shapeDrawer?.getSidesCount;\n if (sideCountFunc) {\n this.sides = sideCountFunc(this);\n }\n this.spawning = false;\n this.shadowColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_4__.rangeColorToRgb)(this._engine, this.options.shadow.color);\n for (const updater of particles.updaters) {\n updater.init(this);\n }\n for (const mover of particles.movers) {\n mover.init?.(this);\n }\n effectDrawer?.particleInit?.(container, this);\n shapeDrawer?.particleInit?.(container, this);\n for (const plugin of container.plugins.values()) {\n plugin.particleCreated?.(this);\n }\n }\n isInsideCanvas() {\n const radius = this.getRadius(),\n canvasSize = this.container.canvas.size,\n position = this.position;\n return position.x >= -radius && position.y >= -radius && position.y <= canvasSize.height + radius && position.x <= canvasSize.width + radius;\n }\n isVisible() {\n return !this.destroyed && !this.spawning && this.isInsideCanvas();\n }\n reset() {\n for (const updater of this.container.particles.updaters) {\n updater.reset?.(this);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Core/Particle.js?");
488
488
 
489
489
  /***/ }),
490
490
 
@@ -814,7 +814,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
814
814
  \********************************************************************/
815
815
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
816
816
 
817
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimatableColor: () => (/* binding */ AnimatableColor)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _HslAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HslAnimation.js */ \"../../engine/dist/browser/Options/Classes/HslAnimation.js\");\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n\n\n\nclass AnimatableColor extends _OptionsColor_js__WEBPACK_IMPORTED_MODULE_2__.OptionsColor {\n constructor() {\n super();\n this.animation = new _HslAnimation_js__WEBPACK_IMPORTED_MODULE_1__.HslAnimation();\n }\n static create(source, data) {\n const color = new AnimatableColor();\n color.load(source);\n if (data !== undefined) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(data) || (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(data)) {\n color.load({\n value: data\n });\n } else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n const colorAnimation = data.animation;\n if (colorAnimation !== undefined) {\n if (colorAnimation.enable !== undefined) {\n this.animation.h.load(colorAnimation);\n } else {\n this.animation.load(data.animation);\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/AnimatableColor.js?");
817
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimatableColor: () => (/* binding */ AnimatableColor)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _HslAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HslAnimation.js */ \"../../engine/dist/browser/Options/Classes/HslAnimation.js\");\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n\n\n\nclass AnimatableColor extends _OptionsColor_js__WEBPACK_IMPORTED_MODULE_2__.OptionsColor {\n constructor() {\n super();\n this.animation = new _HslAnimation_js__WEBPACK_IMPORTED_MODULE_1__.HslAnimation();\n }\n static create(source, data) {\n const color = new AnimatableColor();\n color.load(source);\n if (data !== undefined) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(data) || (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(data)) {\n color.load({\n value: data\n });\n } else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n const colorAnimation = data.animation;\n if (colorAnimation !== undefined) {\n if (colorAnimation.enable !== undefined) {\n this.animation.h.load(colorAnimation);\n } else {\n this.animation.load(data.animation);\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/AnimatableColor.js?");
818
818
 
819
819
  /***/ }),
820
820
 
@@ -824,7 +824,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
824
824
  \*********************************************************************/
825
825
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
826
826
 
827
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimationOptions: () => (/* binding */ AnimationOptions),\n/* harmony export */ RangedAnimationOptions: () => (/* binding */ RangedAnimationOptions)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\nclass AnimationOptions {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 1;\n this.decay = 0;\n this.delay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.decay);\n }\n if (data.delay !== undefined) {\n this.delay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.delay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nclass RangedAnimationOptions extends AnimationOptions {\n constructor() {\n super();\n this.mode = _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_0__.AnimationMode.auto;\n this.startValue = _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_1__.StartValueType.random;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/AnimationOptions.js?");
827
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimationOptions: () => (/* binding */ AnimationOptions),\n/* harmony export */ RangedAnimationOptions: () => (/* binding */ RangedAnimationOptions)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\nclass AnimationOptions {\n constructor() {\n this.count = 0;\n this.enable = false;\n this.speed = 1;\n this.decay = 0;\n this.delay = 0;\n this.sync = false;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_3__.setRangeValue)(data.count);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_3__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_3__.setRangeValue)(data.decay);\n }\n if (data.delay !== undefined) {\n this.delay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_3__.setRangeValue)(data.delay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\nclass RangedAnimationOptions extends AnimationOptions {\n constructor() {\n super();\n this.mode = _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_0__.AnimationMode.auto;\n this.startValue = _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_1__.StartValueType.random;\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.startValue !== undefined) {\n this.startValue = data.startValue;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/AnimationOptions.js?");
828
828
 
829
829
  /***/ }),
830
830
 
@@ -834,7 +834,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
834
834
  \**************************************************************************/
835
835
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
836
836
 
837
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Background: () => (/* binding */ Background)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n\nclass Background {\n constructor() {\n this.color = new _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"\";\n this.image = \"\";\n this.position = \"\";\n this.repeat = \"\";\n this.size = \"\";\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n if (data.position !== undefined) {\n this.position = data.position;\n }\n if (data.repeat !== undefined) {\n this.repeat = data.repeat;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Background/Background.js?");
837
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Background: () => (/* binding */ Background)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass Background {\n constructor() {\n this.color = new _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.color.value = \"\";\n this.image = \"\";\n this.position = \"\";\n this.repeat = \"\";\n this.size = \"\";\n this.opacity = 1;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n if (data.position !== undefined) {\n this.position = data.position;\n }\n if (data.repeat !== undefined) {\n this.repeat = data.repeat;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Background/Background.js?");
838
838
 
839
839
  /***/ }),
840
840
 
@@ -844,7 +844,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
844
844
  \**********************************************************************************/
845
845
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
846
846
 
847
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMask: () => (/* binding */ BackgroundMask)\n/* harmony export */ });\n/* harmony import */ var _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BackgroundMaskCover.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass BackgroundMask {\n constructor() {\n this.composite = \"destination-out\";\n this.cover = new _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_0__.BackgroundMaskCover();\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n if (data.cover !== undefined) {\n const cover = data.cover,\n color = (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(data.cover) ? {\n color: data.cover\n } : data.cover;\n this.cover.load(cover.color !== undefined || cover.image !== undefined ? cover : {\n color: color\n });\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js?");
847
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMask: () => (/* binding */ BackgroundMask)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BackgroundMaskCover.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js\");\n\n\nclass BackgroundMask {\n constructor() {\n this.composite = \"destination-out\";\n this.cover = new _BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_1__.BackgroundMaskCover();\n this.enable = false;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.composite !== undefined) {\n this.composite = data.composite;\n }\n if (data.cover !== undefined) {\n const cover = data.cover,\n color = (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(data.cover) ? {\n color: data.cover\n } : data.cover;\n this.cover.load(cover.color !== undefined || cover.image !== undefined ? cover : {\n color: color\n });\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js?");
848
848
 
849
849
  /***/ }),
850
850
 
@@ -854,7 +854,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
854
854
  \***************************************************************************************/
855
855
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
856
856
 
857
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskCover: () => (/* binding */ BackgroundMaskCover)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n\nclass BackgroundMaskCover {\n constructor() {\n this.opacity = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js?");
857
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskCover: () => (/* binding */ BackgroundMaskCover)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass BackgroundMaskCover {\n constructor() {\n this.opacity = 1;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js?");
858
858
 
859
859
  /***/ }),
860
860
 
@@ -864,7 +864,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
864
864
  \*******************************************************************/
865
865
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
866
866
 
867
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColorAnimation: () => (/* binding */ ColorAnimation)\n/* harmony export */ });\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\nclass ColorAnimation extends _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__.AnimationOptions {\n constructor() {\n super();\n this.offset = 0;\n this.sync = true;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.offset);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/ColorAnimation.js?");
867
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColorAnimation: () => (/* binding */ ColorAnimation)\n/* harmony export */ });\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\nclass ColorAnimation extends _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__.AnimationOptions {\n constructor() {\n super();\n this.offset = 0;\n this.sync = true;\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.offset);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/ColorAnimation.js?");
868
868
 
869
869
  /***/ }),
870
870
 
@@ -874,7 +874,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
874
874
  \**************************************************************************/
875
875
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
876
876
 
877
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FullScreen: () => (/* binding */ FullScreen)\n/* harmony export */ });\nclass FullScreen {\n constructor() {\n this.enable = true;\n this.zIndex = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js?");
877
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FullScreen: () => (/* binding */ FullScreen)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass FullScreen {\n constructor() {\n this.enable = true;\n this.zIndex = 0;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.zIndex !== undefined) {\n this.zIndex = data.zIndex;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js?");
878
878
 
879
879
  /***/ }),
880
880
 
@@ -884,7 +884,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
884
884
  \*****************************************************************/
885
885
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
886
886
 
887
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HslAnimation: () => (/* binding */ HslAnimation)\n/* harmony export */ });\n/* harmony import */ var _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ColorAnimation.js */ \"../../engine/dist/browser/Options/Classes/ColorAnimation.js\");\n\nclass HslAnimation {\n constructor() {\n this.h = new _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__.ColorAnimation();\n this.s = new _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__.ColorAnimation();\n this.l = new _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__.ColorAnimation();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.h.load(data.h);\n this.s.load(data.s);\n this.l.load(data.l);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/HslAnimation.js?");
887
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HslAnimation: () => (/* binding */ HslAnimation)\n/* harmony export */ });\n/* harmony import */ var _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ColorAnimation.js */ \"../../engine/dist/browser/Options/Classes/ColorAnimation.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass HslAnimation {\n constructor() {\n this.h = new _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__.ColorAnimation();\n this.s = new _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__.ColorAnimation();\n this.l = new _ColorAnimation_js__WEBPACK_IMPORTED_MODULE_0__.ColorAnimation();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n this.h.load(data.h);\n this.s.load(data.s);\n this.l.load(data.l);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/HslAnimation.js?");
888
888
 
889
889
  /***/ }),
890
890
 
@@ -894,7 +894,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
894
894
  \************************************************************************************/
895
895
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
896
896
 
897
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ClickEvent: () => (/* binding */ ClickEvent)\n/* harmony export */ });\nclass ClickEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js?");
897
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ClickEvent: () => (/* binding */ ClickEvent)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass ClickEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js?");
898
898
 
899
899
  /***/ }),
900
900
 
@@ -904,7 +904,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
904
904
  \**********************************************************************************/
905
905
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
906
906
 
907
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* binding */ DivEvent)\n/* harmony export */ });\n/* harmony import */ var _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Types/DivType.js */ \"../../engine/dist/browser/Enums/Types/DivType.js\");\n\nclass DivEvent {\n constructor() {\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_0__.DivType.circle;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js?");
907
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DivEvent: () => (/* binding */ DivEvent)\n/* harmony export */ });\n/* harmony import */ var _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Types/DivType.js */ \"../../engine/dist/browser/Enums/Types/DivType.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass DivEvent {\n constructor() {\n this.selectors = [];\n this.enable = false;\n this.mode = [];\n this.type = _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_0__.DivType.circle;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.selectors !== undefined) {\n this.selectors = data.selectors;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js?");
908
908
 
909
909
  /***/ }),
910
910
 
@@ -914,7 +914,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
914
914
  \********************************************************************************/
915
915
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
916
916
 
917
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Events: () => (/* binding */ Events)\n/* harmony export */ });\n/* harmony import */ var _ClickEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ClickEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js\");\n/* harmony import */ var _DivEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DivEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js\");\n/* harmony import */ var _HoverEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HoverEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js\");\n/* harmony import */ var _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ResizeEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\n\n\n\n\nclass Events {\n constructor() {\n this.onClick = new _ClickEvent_js__WEBPACK_IMPORTED_MODULE_0__.ClickEvent();\n this.onDiv = new _DivEvent_js__WEBPACK_IMPORTED_MODULE_1__.DivEvent();\n this.onHover = new _HoverEvent_js__WEBPACK_IMPORTED_MODULE_2__.HoverEvent();\n this.resize = new _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_3__.ResizeEvent();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.onClick.load(data.onClick);\n const onDiv = data.onDiv;\n if (onDiv !== undefined) {\n this.onDiv = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.executeOnSingleOrMultiple)(onDiv, t => {\n const tmp = new _DivEvent_js__WEBPACK_IMPORTED_MODULE_1__.DivEvent();\n tmp.load(t);\n return tmp;\n });\n }\n this.onHover.load(data.onHover);\n this.resize.load(data.resize);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/Events.js?");
917
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Events: () => (/* binding */ Events)\n/* harmony export */ });\n/* harmony import */ var _ClickEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ClickEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js\");\n/* harmony import */ var _DivEvent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DivEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js\");\n/* harmony import */ var _HoverEvent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HoverEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js\");\n/* harmony import */ var _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ResizeEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\n\n\n\nclass Events {\n constructor() {\n this.onClick = new _ClickEvent_js__WEBPACK_IMPORTED_MODULE_0__.ClickEvent();\n this.onDiv = new _DivEvent_js__WEBPACK_IMPORTED_MODULE_1__.DivEvent();\n this.onHover = new _HoverEvent_js__WEBPACK_IMPORTED_MODULE_2__.HoverEvent();\n this.resize = new _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_3__.ResizeEvent();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_5__.isNull)(data)) {\n return;\n }\n this.onClick.load(data.onClick);\n const onDiv = data.onDiv;\n if (onDiv !== undefined) {\n this.onDiv = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.executeOnSingleOrMultiple)(onDiv, t => {\n const tmp = new _DivEvent_js__WEBPACK_IMPORTED_MODULE_1__.DivEvent();\n tmp.load(t);\n return tmp;\n });\n }\n this.onHover.load(data.onHover);\n this.resize.load(data.resize);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/Events.js?");
918
918
 
919
919
  /***/ }),
920
920
 
@@ -924,7 +924,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
924
924
  \************************************************************************************/
925
925
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
926
926
 
927
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HoverEvent: () => (/* binding */ HoverEvent)\n/* harmony export */ });\n/* harmony import */ var _Parallax_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Parallax.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Parallax.js\");\n\nclass HoverEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n this.parallax = new _Parallax_js__WEBPACK_IMPORTED_MODULE_0__.Parallax();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.parallax.load(data.parallax);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js?");
927
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HoverEvent: () => (/* binding */ HoverEvent)\n/* harmony export */ });\n/* harmony import */ var _Parallax_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Parallax.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Parallax.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass HoverEvent {\n constructor() {\n this.enable = false;\n this.mode = [];\n this.parallax = new _Parallax_js__WEBPACK_IMPORTED_MODULE_0__.Parallax();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.parallax.load(data.parallax);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js?");
928
928
 
929
929
  /***/ }),
930
930
 
@@ -934,7 +934,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
934
934
  \**********************************************************************************/
935
935
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
936
936
 
937
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Parallax: () => (/* binding */ Parallax)\n/* harmony export */ });\nclass Parallax {\n constructor() {\n this.enable = false;\n this.force = 2;\n this.smooth = 10;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.force !== undefined) {\n this.force = data.force;\n }\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/Parallax.js?");
937
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Parallax: () => (/* binding */ Parallax)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass Parallax {\n constructor() {\n this.enable = false;\n this.force = 2;\n this.smooth = 10;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.force !== undefined) {\n this.force = data.force;\n }\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/Parallax.js?");
938
938
 
939
939
  /***/ }),
940
940
 
@@ -944,7 +944,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
944
944
  \*************************************************************************************/
945
945
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
946
946
 
947
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResizeEvent: () => (/* binding */ ResizeEvent)\n/* harmony export */ });\nclass ResizeEvent {\n constructor() {\n this.delay = 0.5;\n this.enable = true;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js?");
947
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResizeEvent: () => (/* binding */ ResizeEvent)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass ResizeEvent {\n constructor() {\n this.delay = 0.5;\n this.enable = true;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.delay !== undefined) {\n this.delay = data.delay;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js?");
948
948
 
949
949
  /***/ }),
950
950
 
@@ -954,7 +954,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
954
954
  \********************************************************************************/
955
955
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
956
956
 
957
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Interactivity: () => (/* binding */ Interactivity)\n/* harmony export */ });\n/* harmony import */ var _Events_Events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Events/Events.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Events.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Enums/InteractivityDetect.js */ \"../../engine/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Modes_Modes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Modes/Modes.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Modes/Modes.js\");\n\n\n\nclass Interactivity {\n constructor(engine, container) {\n this.detectsOn = _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_1__.InteractivityDetect.window;\n this.events = new _Events_Events_js__WEBPACK_IMPORTED_MODULE_0__.Events();\n this.modes = new _Modes_Modes_js__WEBPACK_IMPORTED_MODULE_2__.Modes(engine, container);\n }\n load(data) {\n if (!data) {\n return;\n }\n const detectsOn = data.detectsOn;\n if (detectsOn !== undefined) {\n this.detectsOn = detectsOn;\n }\n this.events.load(data.events);\n this.modes.load(data.modes);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js?");
957
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Interactivity: () => (/* binding */ Interactivity)\n/* harmony export */ });\n/* harmony import */ var _Events_Events_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Events/Events.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Events.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Enums/InteractivityDetect.js */ \"../../engine/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Modes_Modes_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Modes/Modes.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Modes/Modes.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\n\nclass Interactivity {\n constructor(engine, container) {\n this.detectsOn = _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_1__.InteractivityDetect.window;\n this.events = new _Events_Events_js__WEBPACK_IMPORTED_MODULE_0__.Events();\n this.modes = new _Modes_Modes_js__WEBPACK_IMPORTED_MODULE_2__.Modes(engine, container);\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_3__.isNull)(data)) {\n return;\n }\n const detectsOn = data.detectsOn;\n if (detectsOn !== undefined) {\n this.detectsOn = detectsOn;\n }\n this.events.load(data.events);\n this.modes.load(data.modes);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js?");
958
958
 
959
959
  /***/ }),
960
960
 
@@ -964,7 +964,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
964
964
  \******************************************************************************/
965
965
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
966
966
 
967
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\nclass Modes {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._engine.interactors.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors) {\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Modes/Modes.js?");
967
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Modes: () => (/* binding */ Modes)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass Modes {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!this._container) {\n return;\n }\n const interactors = this._engine.interactors.get(this._container);\n if (!interactors) {\n return;\n }\n for (const interactor of interactors) {\n if (!interactor.loadModeOptions) {\n continue;\n }\n interactor.loadModeOptions(this, data);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Interactivity/Modes/Modes.js?");
968
968
 
969
969
  /***/ }),
970
970
 
@@ -974,7 +974,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
974
974
  \*******************************************************************/
975
975
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
976
976
 
977
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ManualParticle: () => (/* binding */ ManualParticle)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\n\nconst defaultPosition = 50;\nclass ManualParticle {\n load(data) {\n if (!data) {\n return;\n }\n if (data.position) {\n this.position = {\n x: data.position.x ?? defaultPosition,\n y: data.position.y ?? defaultPosition,\n mode: data.position.mode ?? _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent\n };\n }\n if (data.options) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/ManualParticle.js?");
977
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ManualParticle: () => (/* binding */ ManualParticle)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nconst defaultPosition = 50;\nclass ManualParticle {\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (data.position) {\n this.position = {\n x: data.position.x ?? defaultPosition,\n y: data.position.y ?? defaultPosition,\n mode: data.position.mode ?? _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent\n };\n }\n if (data.options) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/ManualParticle.js?");
978
978
 
979
979
  /***/ }),
980
980
 
@@ -984,7 +984,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
984
984
  \************************************************************/
985
985
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
986
986
 
987
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Options: () => (/* binding */ Options)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Background_Background_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Background/Background.js */ \"../../engine/dist/browser/Options/Classes/Background/Background.js\");\n/* harmony import */ var _BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BackgroundMask/BackgroundMask.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js\");\n/* harmony import */ var _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FullScreen/FullScreen.js */ \"../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js\");\n/* harmony import */ var _Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Interactivity/Interactivity.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js\");\n/* harmony import */ var _ManualParticle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ManualParticle.js */ \"../../engine/dist/browser/Options/Classes/ManualParticle.js\");\n/* harmony import */ var _Responsive_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Responsive.js */ \"../../engine/dist/browser/Options/Classes/Responsive.js\");\n/* harmony import */ var _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../Enums/Modes/ResponsiveMode.js */ \"../../engine/dist/browser/Enums/Modes/ResponsiveMode.js\");\n/* harmony import */ var _Theme_Theme_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Theme/Theme.js */ \"../../engine/dist/browser/Options/Classes/Theme/Theme.js\");\n/* harmony import */ var _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../Enums/Modes/ThemeMode.js */ \"../../engine/dist/browser/Enums/Modes/ThemeMode.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Options {\n constructor(engine, container) {\n this._findDefaultTheme = mode => {\n return this.themes.find(theme => theme.default.value && theme.default.mode === mode) ?? this.themes.find(theme => theme.default.value && theme.default.mode === _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_9__.ThemeMode.any);\n };\n this._importPreset = preset => {\n this.load(this._engine.getPreset(preset));\n };\n this._engine = engine;\n this._container = container;\n this.autoPlay = true;\n this.background = new _Background_Background_js__WEBPACK_IMPORTED_MODULE_1__.Background();\n this.backgroundMask = new _BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_2__.BackgroundMask();\n this.clear = true;\n this.defaultThemes = {};\n this.delay = 0;\n this.fullScreen = new _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_3__.FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 120;\n this.interactivity = new _Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_4__.Interactivity(engine, container);\n this.manualParticles = [];\n this.particles = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_11__.loadParticlesOptions)(this._engine, this._container);\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\n this.smooth = false;\n this.style = {};\n this.themes = [];\n this.zLayers = 100;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.preset !== undefined) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.preset, preset => this._importPreset(preset));\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.clear !== undefined) {\n this.clear = data.clear;\n }\n if (data.key !== undefined) {\n this.key = data.key;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_12__.setRangeValue)(data.delay);\n }\n const detectRetina = data.detectRetina;\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n if (data.duration !== undefined) {\n this.duration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_12__.setRangeValue)(data.duration);\n }\n const fpsLimit = data.fpsLimit;\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n this.background.load(data.background);\n const fullScreen = data.fullScreen;\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_10__.isBoolean)(fullScreen)) {\n this.fullScreen.enable = fullScreen;\n } else {\n this.fullScreen.load(fullScreen);\n }\n this.backgroundMask.load(data.backgroundMask);\n this.interactivity.load(data.interactivity);\n if (data.manualParticles) {\n this.manualParticles = data.manualParticles.map(t => {\n const tmp = new _ManualParticle_js__WEBPACK_IMPORTED_MODULE_5__.ManualParticle();\n tmp.load(t);\n return tmp;\n });\n }\n this.particles.load(data.particles);\n this.style = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.style, data.style);\n this._engine.loadOptions(this, data);\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n const interactors = this._engine.interactors.get(this._container);\n if (interactors) {\n for (const interactor of interactors) {\n if (interactor.loadOptions) {\n interactor.loadOptions(this, data);\n }\n }\n }\n if (data.responsive !== undefined) {\n for (const responsive of data.responsive) {\n const optResponsive = new _Responsive_js__WEBPACK_IMPORTED_MODULE_6__.Responsive();\n optResponsive.load(responsive);\n this.responsive.push(optResponsive);\n }\n }\n this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);\n if (data.themes !== undefined) {\n for (const theme of data.themes) {\n const existingTheme = this.themes.find(t => t.name === theme.name);\n if (!existingTheme) {\n const optTheme = new _Theme_Theme_js__WEBPACK_IMPORTED_MODULE_8__.Theme();\n optTheme.load(theme);\n this.themes.push(optTheme);\n } else {\n existingTheme.load(theme);\n }\n }\n }\n this.defaultThemes.dark = this._findDefaultTheme(_Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_9__.ThemeMode.dark)?.name;\n this.defaultThemes.light = this._findDefaultTheme(_Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_9__.ThemeMode.light)?.name;\n }\n setResponsive(width, pxRatio, defaultOptions) {\n this.load(defaultOptions);\n const responsiveOptions = this.responsive.find(t => t.mode === _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_7__.ResponsiveMode.screen && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);\n this.load(responsiveOptions?.options);\n return responsiveOptions?.maxWidth;\n }\n setTheme(name) {\n if (name) {\n const chosenTheme = this.themes.find(theme => theme.name === name);\n if (chosenTheme) {\n this.load(chosenTheme.options);\n }\n } else {\n const mediaMatch = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.safeMatchMedia)(\"(prefers-color-scheme: dark)\"),\n clientDarkMode = mediaMatch?.matches,\n defaultTheme = this._findDefaultTheme(clientDarkMode ? _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_9__.ThemeMode.dark : _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_9__.ThemeMode.light);\n if (defaultTheme) {\n this.load(defaultTheme.options);\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Options.js?");
987
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Options: () => (/* binding */ Options)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Background_Background_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Background/Background.js */ \"../../engine/dist/browser/Options/Classes/Background/Background.js\");\n/* harmony import */ var _BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BackgroundMask/BackgroundMask.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js\");\n/* harmony import */ var _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FullScreen/FullScreen.js */ \"../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js\");\n/* harmony import */ var _Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Interactivity/Interactivity.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js\");\n/* harmony import */ var _ManualParticle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ManualParticle.js */ \"../../engine/dist/browser/Options/Classes/ManualParticle.js\");\n/* harmony import */ var _Responsive_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Responsive.js */ \"../../engine/dist/browser/Options/Classes/Responsive.js\");\n/* harmony import */ var _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Enums/Modes/ResponsiveMode.js */ \"../../engine/dist/browser/Enums/Modes/ResponsiveMode.js\");\n/* harmony import */ var _Theme_Theme_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Theme/Theme.js */ \"../../engine/dist/browser/Options/Classes/Theme/Theme.js\");\n/* harmony import */ var _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../Enums/Modes/ThemeMode.js */ \"../../engine/dist/browser/Enums/Modes/ThemeMode.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass Options {\n constructor(engine, container) {\n this._findDefaultTheme = mode => {\n return this.themes.find(theme => theme.default.value && theme.default.mode === mode) ?? this.themes.find(theme => theme.default.value && theme.default.mode === _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_10__.ThemeMode.any);\n };\n this._importPreset = preset => {\n this.load(this._engine.getPreset(preset));\n };\n this._engine = engine;\n this._container = container;\n this.autoPlay = true;\n this.background = new _Background_Background_js__WEBPACK_IMPORTED_MODULE_2__.Background();\n this.backgroundMask = new _BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_3__.BackgroundMask();\n this.clear = true;\n this.defaultThemes = {};\n this.delay = 0;\n this.fullScreen = new _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_4__.FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 120;\n this.interactivity = new _Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_5__.Interactivity(engine, container);\n this.manualParticles = [];\n this.particles = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_11__.loadParticlesOptions)(this._engine, this._container);\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.responsive = [];\n this.smooth = false;\n this.style = {};\n this.themes = [];\n this.zLayers = 100;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.preset !== undefined) {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.preset, preset => this._importPreset(preset));\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.clear !== undefined) {\n this.clear = data.clear;\n }\n if (data.key !== undefined) {\n this.key = data.key;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_12__.setRangeValue)(data.delay);\n }\n const detectRetina = data.detectRetina;\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n if (data.duration !== undefined) {\n this.duration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_12__.setRangeValue)(data.duration);\n }\n const fpsLimit = data.fpsLimit;\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n this.background.load(data.background);\n const fullScreen = data.fullScreen;\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isBoolean)(fullScreen)) {\n this.fullScreen.enable = fullScreen;\n } else {\n this.fullScreen.load(fullScreen);\n }\n this.backgroundMask.load(data.backgroundMask);\n this.interactivity.load(data.interactivity);\n if (data.manualParticles) {\n this.manualParticles = data.manualParticles.map(t => {\n const tmp = new _ManualParticle_js__WEBPACK_IMPORTED_MODULE_6__.ManualParticle();\n tmp.load(t);\n return tmp;\n });\n }\n this.particles.load(data.particles);\n this.style = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.style, data.style);\n this._engine.loadOptions(this, data);\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n const interactors = this._engine.interactors.get(this._container);\n if (interactors) {\n for (const interactor of interactors) {\n if (interactor.loadOptions) {\n interactor.loadOptions(this, data);\n }\n }\n }\n if (data.responsive !== undefined) {\n for (const responsive of data.responsive) {\n const optResponsive = new _Responsive_js__WEBPACK_IMPORTED_MODULE_7__.Responsive();\n optResponsive.load(responsive);\n this.responsive.push(optResponsive);\n }\n }\n this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);\n if (data.themes !== undefined) {\n for (const theme of data.themes) {\n const existingTheme = this.themes.find(t => t.name === theme.name);\n if (!existingTheme) {\n const optTheme = new _Theme_Theme_js__WEBPACK_IMPORTED_MODULE_9__.Theme();\n optTheme.load(theme);\n this.themes.push(optTheme);\n } else {\n existingTheme.load(theme);\n }\n }\n }\n this.defaultThemes.dark = this._findDefaultTheme(_Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_10__.ThemeMode.dark)?.name;\n this.defaultThemes.light = this._findDefaultTheme(_Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_10__.ThemeMode.light)?.name;\n }\n setResponsive(width, pxRatio, defaultOptions) {\n this.load(defaultOptions);\n const responsiveOptions = this.responsive.find(t => t.mode === _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_8__.ResponsiveMode.screen && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);\n this.load(responsiveOptions?.options);\n return responsiveOptions?.maxWidth;\n }\n setTheme(name) {\n if (name) {\n const chosenTheme = this.themes.find(theme => theme.name === name);\n if (chosenTheme) {\n this.load(chosenTheme.options);\n }\n } else {\n const mediaMatch = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.safeMatchMedia)(\"(prefers-color-scheme: dark)\"),\n clientDarkMode = mediaMatch?.matches,\n defaultTheme = this._findDefaultTheme(clientDarkMode ? _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_10__.ThemeMode.dark : _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_10__.ThemeMode.light);\n if (defaultTheme) {\n this.load(defaultTheme.options);\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Options.js?");
988
988
 
989
989
  /***/ }),
990
990
 
@@ -994,7 +994,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
994
994
  \*****************************************************************/
995
995
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
996
996
 
997
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OptionsColor: () => (/* binding */ OptionsColor)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass OptionsColor {\n constructor() {\n this.value = \"\";\n }\n static create(source, data) {\n const color = new OptionsColor();\n color.load(source);\n if (data !== undefined) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(data) || (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(data)) {\n color.load({\n value: data\n });\n } else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n if (data?.value === undefined) {\n return;\n }\n this.value = data.value;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/OptionsColor.js?");
997
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OptionsColor: () => (/* binding */ OptionsColor)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass OptionsColor {\n constructor() {\n this.value = \"\";\n }\n static create(source, data) {\n const color = new OptionsColor();\n color.load(source);\n if (data !== undefined) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isString)(data) || (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isArray)(data)) {\n color.load({\n value: data\n });\n } else {\n color.load(data);\n }\n }\n return color;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!(0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data.value)) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/OptionsColor.js?");
998
998
 
999
999
  /***/ }),
1000
1000
 
@@ -1004,7 +1004,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1004
1004
  \*************************************************************************************/
1005
1005
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1006
1006
 
1007
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesBounce: () => (/* binding */ ParticlesBounce)\n/* harmony export */ });\n/* harmony import */ var _ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ParticlesBounceFactor.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js\");\n\nclass ParticlesBounce {\n constructor() {\n this.horizontal = new _ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_0__.ParticlesBounceFactor();\n this.vertical = new _ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_0__.ParticlesBounceFactor();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.horizontal.load(data.horizontal);\n this.vertical.load(data.vertical);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js?");
1007
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesBounce: () => (/* binding */ ParticlesBounce)\n/* harmony export */ });\n/* harmony import */ var _ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ParticlesBounceFactor.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass ParticlesBounce {\n constructor() {\n this.horizontal = new _ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_0__.ParticlesBounceFactor();\n this.vertical = new _ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_0__.ParticlesBounceFactor();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n this.horizontal.load(data.horizontal);\n this.vertical.load(data.vertical);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js?");
1008
1008
 
1009
1009
  /***/ }),
1010
1010
 
@@ -1024,7 +1024,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1024
1024
  \************************************************************************************/
1025
1025
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1026
1026
 
1027
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Collisions: () => (/* binding */ Collisions)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/CollisionMode.js */ \"../../engine/dist/browser/Enums/Modes/CollisionMode.js\");\n/* harmony import */ var _CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CollisionsAbsorb.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js\");\n/* harmony import */ var _CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CollisionsOverlap.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js\");\n/* harmony import */ var _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\nclass Collisions {\n constructor() {\n this.absorb = new _CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_1__.CollisionsAbsorb();\n this.bounce = new _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_3__.ParticlesBounce();\n this.enable = false;\n this.maxSpeed = 50;\n this.mode = _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.bounce;\n this.overlap = new _CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_2__.CollisionsOverlap();\n }\n load(data) {\n if (!data) {\n return;\n }\n this.absorb.load(data.absorb);\n this.bounce.load(data.bounce);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_4__.setRangeValue)(data.maxSpeed);\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.overlap.load(data.overlap);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Collisions/Collisions.js?");
1027
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Collisions: () => (/* binding */ Collisions)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/CollisionMode.js */ \"../../engine/dist/browser/Enums/Modes/CollisionMode.js\");\n/* harmony import */ var _CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CollisionsAbsorb.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js\");\n/* harmony import */ var _CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CollisionsOverlap.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js\");\n/* harmony import */ var _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\n\nclass Collisions {\n constructor() {\n this.absorb = new _CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_1__.CollisionsAbsorb();\n this.bounce = new _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_3__.ParticlesBounce();\n this.enable = false;\n this.maxSpeed = 50;\n this.mode = _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_0__.CollisionMode.bounce;\n this.overlap = new _CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_2__.CollisionsOverlap();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_4__.isNull)(data)) {\n return;\n }\n this.absorb.load(data.absorb);\n this.bounce.load(data.bounce);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_5__.setRangeValue)(data.maxSpeed);\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n this.overlap.load(data.overlap);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Collisions/Collisions.js?");
1028
1028
 
1029
1029
  /***/ }),
1030
1030
 
@@ -1034,7 +1034,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1034
1034
  \******************************************************************************************/
1035
1035
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1036
1036
 
1037
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CollisionsAbsorb: () => (/* binding */ CollisionsAbsorb)\n/* harmony export */ });\nclass CollisionsAbsorb {\n constructor() {\n this.speed = 2;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js?");
1037
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CollisionsAbsorb: () => (/* binding */ CollisionsAbsorb)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass CollisionsAbsorb {\n constructor() {\n this.speed = 2;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.speed !== undefined) {\n this.speed = data.speed;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js?");
1038
1038
 
1039
1039
  /***/ }),
1040
1040
 
@@ -1044,7 +1044,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1044
1044
  \*******************************************************************************************/
1045
1045
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1046
1046
 
1047
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CollisionsOverlap: () => (/* binding */ CollisionsOverlap)\n/* harmony export */ });\nclass CollisionsOverlap {\n constructor() {\n this.enable = true;\n this.retries = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.retries !== undefined) {\n this.retries = data.retries;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js?");
1047
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CollisionsOverlap: () => (/* binding */ CollisionsOverlap)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass CollisionsOverlap {\n constructor() {\n this.enable = true;\n this.retries = 0;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.retries !== undefined) {\n this.retries = data.retries;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js?");
1048
1048
 
1049
1049
  /***/ }),
1050
1050
 
@@ -1054,7 +1054,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1054
1054
  \****************************************************************************/
1055
1055
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1056
1056
 
1057
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Effect: () => (/* binding */ Effect)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\nclass Effect {\n constructor() {\n this.close = true;\n this.fill = true;\n this.options = {};\n this.type = [];\n }\n load(data) {\n if (!data) {\n return;\n }\n const options = data.options;\n if (options !== undefined) {\n for (const effect in options) {\n const item = options[effect];\n if (item) {\n this.options[effect] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.options[effect] ?? {}, item);\n }\n }\n }\n if (data.close !== undefined) {\n this.close = data.close;\n }\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Effect/Effect.js?");
1057
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Effect: () => (/* binding */ Effect)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass Effect {\n constructor() {\n this.close = true;\n this.fill = true;\n this.options = {};\n this.type = [];\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n const options = data.options;\n if (options !== undefined) {\n for (const effect in options) {\n const item = options[effect];\n if (item) {\n this.options[effect] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.options[effect] ?? {}, item);\n }\n }\n }\n if (data.close !== undefined) {\n this.close = data.close;\n }\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Effect/Effect.js?");
1058
1058
 
1059
1059
  /***/ }),
1060
1060
 
@@ -1064,7 +1064,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1064
1064
  \************************************************************************/
1065
1065
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1066
1066
 
1067
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Move: () => (/* binding */ Move)\n/* harmony export */ });\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _MoveAngle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MoveAngle.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAngle.js\");\n/* harmony import */ var _MoveAttract_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MoveAttract.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAttract.js\");\n/* harmony import */ var _MoveCenter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./MoveCenter.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveCenter.js\");\n/* harmony import */ var _MoveGravity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MoveGravity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveGravity.js\");\n/* harmony import */ var _Path_MovePath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Path/MovePath.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js\");\n/* harmony import */ var _MoveTrail_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MoveTrail.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrail.js\");\n/* harmony import */ var _OutModes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./OutModes.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/OutModes.js\");\n/* harmony import */ var _Spin_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Spin.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Spin.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\nclass Move {\n constructor() {\n this.angle = new _MoveAngle_js__WEBPACK_IMPORTED_MODULE_2__.MoveAngle();\n this.attract = new _MoveAttract_js__WEBPACK_IMPORTED_MODULE_3__.MoveAttract();\n this.center = new _MoveCenter_js__WEBPACK_IMPORTED_MODULE_4__.MoveCenter();\n this.decay = 0;\n this.distance = {};\n this.direction = _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.none;\n this.drift = 0;\n this.enable = false;\n this.gravity = new _MoveGravity_js__WEBPACK_IMPORTED_MODULE_5__.MoveGravity();\n this.path = new _Path_MovePath_js__WEBPACK_IMPORTED_MODULE_6__.MovePath();\n this.outModes = new _OutModes_js__WEBPACK_IMPORTED_MODULE_8__.OutModes();\n this.random = false;\n this.size = false;\n this.speed = 2;\n this.spin = new _Spin_js__WEBPACK_IMPORTED_MODULE_9__.Spin();\n this.straight = false;\n this.trail = new _MoveTrail_js__WEBPACK_IMPORTED_MODULE_7__.MoveTrail();\n this.vibrate = false;\n this.warp = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.angle.load((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNumber)(data.angle) ? {\n value: data.angle\n } : data.angle);\n this.attract.load(data.attract);\n this.center.load(data.center);\n if (data.decay !== undefined) {\n this.decay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__.setRangeValue)(data.decay);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.distance !== undefined) {\n this.distance = (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNumber)(data.distance) ? {\n horizontal: data.distance,\n vertical: data.distance\n } : {\n ...data.distance\n };\n }\n if (data.drift !== undefined) {\n this.drift = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__.setRangeValue)(data.drift);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.gravity.load(data.gravity);\n const outModes = data.outModes;\n if (outModes !== undefined) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isObject)(outModes)) {\n this.outModes.load(outModes);\n } else {\n this.outModes.load({\n default: outModes\n });\n }\n }\n this.path.load(data.path);\n if (data.random !== undefined) {\n this.random = data.random;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__.setRangeValue)(data.speed);\n }\n this.spin.load(data.spin);\n if (data.straight !== undefined) {\n this.straight = data.straight;\n }\n this.trail.load(data.trail);\n if (data.vibrate !== undefined) {\n this.vibrate = data.vibrate;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/Move.js?");
1067
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Move: () => (/* binding */ Move)\n/* harmony export */ });\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _MoveAngle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MoveAngle.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAngle.js\");\n/* harmony import */ var _MoveAttract_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MoveAttract.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAttract.js\");\n/* harmony import */ var _MoveCenter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./MoveCenter.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveCenter.js\");\n/* harmony import */ var _MoveGravity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./MoveGravity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveGravity.js\");\n/* harmony import */ var _Path_MovePath_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Path/MovePath.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js\");\n/* harmony import */ var _MoveTrail_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MoveTrail.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrail.js\");\n/* harmony import */ var _OutModes_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./OutModes.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/OutModes.js\");\n/* harmony import */ var _Spin_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Spin.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Spin.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\nclass Move {\n constructor() {\n this.angle = new _MoveAngle_js__WEBPACK_IMPORTED_MODULE_2__.MoveAngle();\n this.attract = new _MoveAttract_js__WEBPACK_IMPORTED_MODULE_3__.MoveAttract();\n this.center = new _MoveCenter_js__WEBPACK_IMPORTED_MODULE_4__.MoveCenter();\n this.decay = 0;\n this.distance = {};\n this.direction = _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.none;\n this.drift = 0;\n this.enable = false;\n this.gravity = new _MoveGravity_js__WEBPACK_IMPORTED_MODULE_5__.MoveGravity();\n this.path = new _Path_MovePath_js__WEBPACK_IMPORTED_MODULE_6__.MovePath();\n this.outModes = new _OutModes_js__WEBPACK_IMPORTED_MODULE_8__.OutModes();\n this.random = false;\n this.size = false;\n this.speed = 2;\n this.spin = new _Spin_js__WEBPACK_IMPORTED_MODULE_9__.Spin();\n this.straight = false;\n this.trail = new _MoveTrail_js__WEBPACK_IMPORTED_MODULE_7__.MoveTrail();\n this.vibrate = false;\n this.warp = false;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n this.angle.load((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNumber)(data.angle) ? {\n value: data.angle\n } : data.angle);\n this.attract.load(data.attract);\n this.center.load(data.center);\n if (data.decay !== undefined) {\n this.decay = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__.setRangeValue)(data.decay);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.distance !== undefined) {\n this.distance = (0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNumber)(data.distance) ? {\n horizontal: data.distance,\n vertical: data.distance\n } : {\n ...data.distance\n };\n }\n if (data.drift !== undefined) {\n this.drift = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__.setRangeValue)(data.drift);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.gravity.load(data.gravity);\n const outModes = data.outModes;\n if (outModes !== undefined) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isObject)(outModes)) {\n this.outModes.load(outModes);\n } else {\n this.outModes.load({\n default: outModes\n });\n }\n }\n this.path.load(data.path);\n if (data.random !== undefined) {\n this.random = data.random;\n }\n if (data.size !== undefined) {\n this.size = data.size;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_10__.setRangeValue)(data.speed);\n }\n this.spin.load(data.spin);\n if (data.straight !== undefined) {\n this.straight = data.straight;\n }\n this.trail.load(data.trail);\n if (data.vibrate !== undefined) {\n this.vibrate = data.vibrate;\n }\n if (data.warp !== undefined) {\n this.warp = data.warp;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/Move.js?");
1068
1068
 
1069
1069
  /***/ }),
1070
1070
 
@@ -1074,7 +1074,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1074
1074
  \*****************************************************************************/
1075
1075
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1076
1076
 
1077
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveAngle: () => (/* binding */ MoveAngle)\n/* harmony export */ });\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\nclass MoveAngle {\n constructor() {\n this.offset = 0;\n this.value = 90;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.offset);\n }\n if (data.value !== undefined) {\n this.value = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.value);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveAngle.js?");
1077
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveAngle: () => (/* binding */ MoveAngle)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\nclass MoveAngle {\n constructor() {\n this.offset = 0;\n this.value = 90;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.offset !== undefined) {\n this.offset = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.offset);\n }\n if (data.value !== undefined) {\n this.value = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.value);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveAngle.js?");
1078
1078
 
1079
1079
  /***/ }),
1080
1080
 
@@ -1084,7 +1084,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1084
1084
  \*******************************************************************************/
1085
1085
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1086
1086
 
1087
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveAttract: () => (/* binding */ MoveAttract)\n/* harmony export */ });\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\nclass MoveAttract {\n constructor() {\n this.distance = 200;\n this.enable = false;\n this.rotate = {\n x: 3000,\n y: 3000\n };\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.rotate) {\n const rotateX = data.rotate.x;\n if (rotateX !== undefined) {\n this.rotate.x = rotateX;\n }\n const rotateY = data.rotate.y;\n if (rotateY !== undefined) {\n this.rotate.y = rotateY;\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveAttract.js?");
1087
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveAttract: () => (/* binding */ MoveAttract)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\nclass MoveAttract {\n constructor() {\n this.distance = 200;\n this.enable = false;\n this.rotate = {\n x: 3000,\n y: 3000\n };\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.rotate) {\n const rotateX = data.rotate.x;\n if (rotateX !== undefined) {\n this.rotate.x = rotateX;\n }\n const rotateY = data.rotate.y;\n if (rotateY !== undefined) {\n this.rotate.y = rotateY;\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveAttract.js?");
1088
1088
 
1089
1089
  /***/ }),
1090
1090
 
@@ -1094,7 +1094,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1094
1094
  \******************************************************************************/
1095
1095
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1096
1096
 
1097
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveCenter: () => (/* binding */ MoveCenter)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n\nclass MoveCenter {\n constructor() {\n this.x = 50;\n this.y = 50;\n this.mode = _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.radius = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.x !== undefined) {\n this.x = data.x;\n }\n if (data.y !== undefined) {\n this.y = data.y;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveCenter.js?");
1097
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveCenter: () => (/* binding */ MoveCenter)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass MoveCenter {\n constructor() {\n this.x = 50;\n this.y = 50;\n this.mode = _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.radius = 0;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.x !== undefined) {\n this.x = data.x;\n }\n if (data.y !== undefined) {\n this.y = data.y;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.radius !== undefined) {\n this.radius = data.radius;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveCenter.js?");
1098
1098
 
1099
1099
  /***/ }),
1100
1100
 
@@ -1104,7 +1104,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1104
1104
  \*******************************************************************************/
1105
1105
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1106
1106
 
1107
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveGravity: () => (/* binding */ MoveGravity)\n/* harmony export */ });\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\nclass MoveGravity {\n constructor() {\n this.acceleration = 9.81;\n this.enable = false;\n this.inverse = false;\n this.maxSpeed = 50;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.inverse !== undefined) {\n this.inverse = data.inverse;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.maxSpeed);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveGravity.js?");
1107
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveGravity: () => (/* binding */ MoveGravity)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\nclass MoveGravity {\n constructor() {\n this.acceleration = 9.81;\n this.enable = false;\n this.inverse = false;\n this.maxSpeed = 50;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.inverse !== undefined) {\n this.inverse = data.inverse;\n }\n if (data.maxSpeed !== undefined) {\n this.maxSpeed = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.maxSpeed);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveGravity.js?");
1108
1108
 
1109
1109
  /***/ }),
1110
1110
 
@@ -1114,7 +1114,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1114
1114
  \*****************************************************************************/
1115
1115
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1116
1116
 
1117
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveTrail: () => (/* binding */ MoveTrail)\n/* harmony export */ });\n/* harmony import */ var _MoveTrailFill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MoveTrailFill.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrailFill.js\");\n\nclass MoveTrail {\n constructor() {\n this.enable = false;\n this.length = 10;\n this.fill = new _MoveTrailFill_js__WEBPACK_IMPORTED_MODULE_0__.MoveTrailFill();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.fill !== undefined) {\n this.fill.load(data.fill);\n }\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrail.js?");
1117
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveTrail: () => (/* binding */ MoveTrail)\n/* harmony export */ });\n/* harmony import */ var _MoveTrailFill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MoveTrailFill.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrailFill.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass MoveTrail {\n constructor() {\n this.enable = false;\n this.length = 10;\n this.fill = new _MoveTrailFill_js__WEBPACK_IMPORTED_MODULE_0__.MoveTrailFill();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.fill !== undefined) {\n this.fill.load(data.fill);\n }\n if (data.length !== undefined) {\n this.length = data.length;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrail.js?");
1118
1118
 
1119
1119
  /***/ }),
1120
1120
 
@@ -1124,7 +1124,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1124
1124
  \*********************************************************************************/
1125
1125
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1126
1126
 
1127
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveTrailFill: () => (/* binding */ MoveTrailFill)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n\nclass MoveTrailFill {\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrailFill.js?");
1127
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MoveTrailFill: () => (/* binding */ MoveTrailFill)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass MoveTrailFill {\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.image !== undefined) {\n this.image = data.image;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrailFill.js?");
1128
1128
 
1129
1129
  /***/ }),
1130
1130
 
@@ -1134,7 +1134,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1134
1134
  \****************************************************************************/
1135
1135
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1136
1136
 
1137
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OutModes: () => (/* binding */ OutModes)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n\nclass OutModes {\n constructor() {\n this.default = _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_0__.OutMode.out;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\n }\n this.bottom = data.bottom ?? data.default;\n this.left = data.left ?? data.default;\n this.right = data.right ?? data.default;\n this.top = data.top ?? data.default;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/OutModes.js?");
1137
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OutModes: () => (/* binding */ OutModes)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass OutModes {\n constructor() {\n this.default = _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_0__.OutMode.out;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.default !== undefined) {\n this.default = data.default;\n }\n this.bottom = data.bottom ?? data.default;\n this.left = data.left ?? data.default;\n this.right = data.right ?? data.default;\n this.top = data.top ?? data.default;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/OutModes.js?");
1138
1138
 
1139
1139
  /***/ }),
1140
1140
 
@@ -1144,7 +1144,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1144
1144
  \*********************************************************************************/
1145
1145
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1146
1146
 
1147
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MovePath: () => (/* binding */ MovePath)\n/* harmony export */ });\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\n\nclass MovePath {\n constructor() {\n this.clamp = true;\n this.delay = new _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom();\n this.enable = false;\n this.options = {};\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.clamp !== undefined) {\n this.clamp = data.clamp;\n }\n this.delay.load(data.delay);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.generator = data.generator;\n if (data.options) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)(this.options, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js?");
1147
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MovePath: () => (/* binding */ MovePath)\n/* harmony export */ });\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass MovePath {\n constructor() {\n this.clamp = true;\n this.delay = new _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom();\n this.enable = false;\n this.options = {};\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (data.clamp !== undefined) {\n this.clamp = data.clamp;\n }\n this.delay.load(data.delay);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.generator = data.generator;\n if (data.options) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)(this.options, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js?");
1148
1148
 
1149
1149
  /***/ }),
1150
1150
 
@@ -1154,7 +1154,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1154
1154
  \************************************************************************/
1155
1155
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1156
1156
 
1157
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Spin: () => (/* binding */ Spin)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\nclass Spin {\n constructor() {\n this.acceleration = 0;\n this.enable = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.position) {\n this.position = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.position);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/Spin.js?");
1157
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Spin: () => (/* binding */ Spin)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\nclass Spin {\n constructor() {\n this.acceleration = 0;\n this.enable = false;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.acceleration !== undefined) {\n this.acceleration = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.acceleration);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.position) {\n this.position = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.position);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Move/Spin.js?");
1158
1158
 
1159
1159
  /***/ }),
1160
1160
 
@@ -1164,7 +1164,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1164
1164
  \**************************************************************************************/
1165
1165
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1166
1166
 
1167
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesDensity: () => (/* binding */ ParticlesDensity)\n/* harmony export */ });\nclass ParticlesDensity {\n constructor() {\n this.enable = false;\n this.width = 1920;\n this.height = 1080;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const width = data.width;\n if (width !== undefined) {\n this.width = width;\n }\n const height = data.height;\n if (height !== undefined) {\n this.height = height;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js?");
1167
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesDensity: () => (/* binding */ ParticlesDensity)\n/* harmony export */ });\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\nclass ParticlesDensity {\n constructor() {\n this.enable = false;\n this.width = 1920;\n this.height = 1080;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n const width = data.width;\n if (width !== undefined) {\n this.width = width;\n }\n const height = data.height;\n if (height !== undefined) {\n this.height = height;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js?");
1168
1168
 
1169
1169
  /***/ }),
1170
1170
 
@@ -1174,7 +1174,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1174
1174
  \*************************************************************************************/
1175
1175
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1176
1176
 
1177
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesNumber: () => (/* binding */ ParticlesNumber)\n/* harmony export */ });\n/* harmony import */ var _ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ParticlesDensity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js\");\n/* harmony import */ var _ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ParticlesNumberLimit.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js\");\n\n\nclass ParticlesNumber {\n constructor() {\n this.density = new _ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_0__.ParticlesDensity();\n this.limit = new _ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_1__.ParticlesNumberLimit();\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n this.density.load(data.density);\n this.limit.load(data.limit);\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js?");
1177
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesNumber: () => (/* binding */ ParticlesNumber)\n/* harmony export */ });\n/* harmony import */ var _ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ParticlesDensity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js\");\n/* harmony import */ var _ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ParticlesNumberLimit.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass ParticlesNumber {\n constructor() {\n this.density = new _ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_0__.ParticlesDensity();\n this.limit = new _ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_1__.ParticlesNumberLimit();\n this.value = 0;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n this.density.load(data.density);\n this.limit.load(data.limit);\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js?");
1178
1178
 
1179
1179
  /***/ }),
1180
1180
 
@@ -1184,7 +1184,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1184
1184
  \******************************************************************************************/
1185
1185
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1186
1186
 
1187
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesNumberLimit: () => (/* binding */ ParticlesNumberLimit)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/LimitMode.js */ \"../../engine/dist/browser/Enums/Modes/LimitMode.js\");\n\nclass ParticlesNumberLimit {\n constructor() {\n this.mode = _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_0__.LimitMode.delete;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js?");
1187
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesNumberLimit: () => (/* binding */ ParticlesNumberLimit)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Modes/LimitMode.js */ \"../../engine/dist/browser/Enums/Modes/LimitMode.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass ParticlesNumberLimit {\n constructor() {\n this.mode = _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_0__.LimitMode.delete;\n this.value = 0;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js?");
1188
1188
 
1189
1189
  /***/ }),
1190
1190
 
@@ -1194,7 +1194,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1194
1194
  \******************************************************************************/
1195
1195
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1196
1196
 
1197
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Opacity: () => (/* binding */ Opacity)\n/* harmony export */ });\n/* harmony import */ var _OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OpacityAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js\");\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n\n\nclass Opacity extends _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationValueWithRandom {\n constructor() {\n super();\n this.animation = new _OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_0__.OpacityAnimation();\n this.value = 1;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n const animation = data.animation;\n if (animation !== undefined) {\n this.animation.load(animation);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js?");
1197
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Opacity: () => (/* binding */ Opacity)\n/* harmony export */ });\n/* harmony import */ var _OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OpacityAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js\");\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass Opacity extends _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationValueWithRandom {\n constructor() {\n super();\n this.animation = new _OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_0__.OpacityAnimation();\n this.value = 1;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n super.load(data);\n const animation = data.animation;\n if (animation !== undefined) {\n this.animation.load(animation);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js?");
1198
1198
 
1199
1199
  /***/ }),
1200
1200
 
@@ -1204,7 +1204,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1204
1204
  \***************************************************************************************/
1205
1205
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1206
1206
 
1207
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpacityAnimation: () => (/* binding */ OpacityAnimation)\n/* harmony export */ });\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n\n\nclass OpacityAnimation extends _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationOptions {\n constructor() {\n super();\n this.destroy = _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__.DestroyType.none;\n this.speed = 2;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js?");
1207
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OpacityAnimation: () => (/* binding */ OpacityAnimation)\n/* harmony export */ });\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass OpacityAnimation extends _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationOptions {\n constructor() {\n super();\n this.destroy = _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__.DestroyType.none;\n this.speed = 2;\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js?");
1208
1208
 
1209
1209
  /***/ }),
1210
1210
 
@@ -1214,7 +1214,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1214
1214
  \*******************************************************************************/
1215
1215
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1216
1216
 
1217
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesOptions: () => (/* binding */ ParticlesOptions)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../AnimatableColor.js */ \"../../engine/dist/browser/Options/Classes/AnimatableColor.js\");\n/* harmony import */ var _Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Collisions/Collisions.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/Collisions.js\");\n/* harmony import */ var _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Effect/Effect.js */ \"../../engine/dist/browser/Options/Classes/Particles/Effect/Effect.js\");\n/* harmony import */ var _Move_Move_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Move/Move.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Move.js\");\n/* harmony import */ var _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Opacity/Opacity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js\");\n/* harmony import */ var _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Number/ParticlesNumber.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js\");\n/* harmony import */ var _Shadow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Shadow.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shadow.js\");\n/* harmony import */ var _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Shape/Shape.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js\");\n/* harmony import */ var _Size_Size_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Size/Size.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/Size.js\");\n/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Stroke.js */ \"../../engine/dist/browser/Options/Classes/Particles/Stroke.js\");\n/* harmony import */ var _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ZIndex/ZIndex.js */ \"../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass ParticlesOptions {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n this.bounce = new _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_6__.ParticlesBounce();\n this.collisions = new _Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_2__.Collisions();\n this.color = new _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_1__.AnimatableColor();\n this.color.value = \"#fff\";\n this.effect = new _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_3__.Effect();\n this.groups = {};\n this.move = new _Move_Move_js__WEBPACK_IMPORTED_MODULE_4__.Move();\n this.number = new _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_7__.ParticlesNumber();\n this.opacity = new _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_5__.Opacity();\n this.reduceDuplicates = false;\n this.shadow = new _Shadow_js__WEBPACK_IMPORTED_MODULE_8__.Shadow();\n this.shape = new _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_9__.Shape();\n this.size = new _Size_Size_js__WEBPACK_IMPORTED_MODULE_10__.Size();\n this.stroke = new _Stroke_js__WEBPACK_IMPORTED_MODULE_11__.Stroke();\n this.zIndex = new _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_12__.ZIndex();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.groups !== undefined) {\n for (const group of Object.keys(data.groups)) {\n if (!Object.hasOwn(data.groups, group)) {\n continue;\n }\n const item = data.groups[group];\n if (item !== undefined) {\n this.groups[group] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.groups[group] ?? {}, item);\n }\n }\n }\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n this.bounce.load(data.bounce);\n this.color.load(_AnimatableColor_js__WEBPACK_IMPORTED_MODULE_1__.AnimatableColor.create(this.color, data.color));\n this.effect.load(data.effect);\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n this.shape.load(data.shape);\n this.size.load(data.size);\n this.shadow.load(data.shadow);\n this.zIndex.load(data.zIndex);\n this.collisions.load(data.collisions);\n if (data.interactivity !== undefined) {\n this.interactivity = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.interactivity);\n }\n const strokeToLoad = data.stroke;\n if (strokeToLoad) {\n this.stroke = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(strokeToLoad, t => {\n const tmp = new _Stroke_js__WEBPACK_IMPORTED_MODULE_11__.Stroke();\n tmp.load(t);\n return tmp;\n });\n }\n if (this._container) {\n const updaters = this._engine.updaters.get(this._container);\n if (updaters) {\n for (const updater of updaters) {\n if (updater.loadOptions) {\n updater.loadOptions(this, data);\n }\n }\n }\n const interactors = this._engine.interactors.get(this._container);\n if (interactors) {\n for (const interactor of interactors) {\n if (interactor.loadParticlesOptions) {\n interactor.loadParticlesOptions(this, data);\n }\n }\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js?");
1217
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesOptions: () => (/* binding */ ParticlesOptions)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../AnimatableColor.js */ \"../../engine/dist/browser/Options/Classes/AnimatableColor.js\");\n/* harmony import */ var _Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Collisions/Collisions.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/Collisions.js\");\n/* harmony import */ var _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Effect/Effect.js */ \"../../engine/dist/browser/Options/Classes/Particles/Effect/Effect.js\");\n/* harmony import */ var _Move_Move_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Move/Move.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Move.js\");\n/* harmony import */ var _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Opacity/Opacity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js\");\n/* harmony import */ var _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Number/ParticlesNumber.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js\");\n/* harmony import */ var _Shadow_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Shadow.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shadow.js\");\n/* harmony import */ var _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Shape/Shape.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js\");\n/* harmony import */ var _Size_Size_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Size/Size.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/Size.js\");\n/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Stroke.js */ \"../../engine/dist/browser/Options/Classes/Particles/Stroke.js\");\n/* harmony import */ var _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ZIndex/ZIndex.js */ \"../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nclass ParticlesOptions {\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n this.bounce = new _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_6__.ParticlesBounce();\n this.collisions = new _Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_2__.Collisions();\n this.color = new _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_1__.AnimatableColor();\n this.color.value = \"#fff\";\n this.effect = new _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_3__.Effect();\n this.groups = {};\n this.move = new _Move_Move_js__WEBPACK_IMPORTED_MODULE_4__.Move();\n this.number = new _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_7__.ParticlesNumber();\n this.opacity = new _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_5__.Opacity();\n this.reduceDuplicates = false;\n this.shadow = new _Shadow_js__WEBPACK_IMPORTED_MODULE_8__.Shadow();\n this.shape = new _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_9__.Shape();\n this.size = new _Size_Size_js__WEBPACK_IMPORTED_MODULE_10__.Size();\n this.stroke = new _Stroke_js__WEBPACK_IMPORTED_MODULE_11__.Stroke();\n this.zIndex = new _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_12__.ZIndex();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_13__.isNull)(data)) {\n return;\n }\n if (data.groups !== undefined) {\n for (const group of Object.keys(data.groups)) {\n if (!Object.hasOwn(data.groups, group)) {\n continue;\n }\n const item = data.groups[group];\n if (item !== undefined) {\n this.groups[group] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.groups[group] ?? {}, item);\n }\n }\n }\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n this.bounce.load(data.bounce);\n this.color.load(_AnimatableColor_js__WEBPACK_IMPORTED_MODULE_1__.AnimatableColor.create(this.color, data.color));\n this.effect.load(data.effect);\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n this.shape.load(data.shape);\n this.size.load(data.size);\n this.shadow.load(data.shadow);\n this.zIndex.load(data.zIndex);\n this.collisions.load(data.collisions);\n if (data.interactivity !== undefined) {\n this.interactivity = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.interactivity);\n }\n const strokeToLoad = data.stroke;\n if (strokeToLoad) {\n this.stroke = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(strokeToLoad, t => {\n const tmp = new _Stroke_js__WEBPACK_IMPORTED_MODULE_11__.Stroke();\n tmp.load(t);\n return tmp;\n });\n }\n if (this._container) {\n const updaters = this._engine.updaters.get(this._container);\n if (updaters) {\n for (const updater of updaters) {\n if (updater.loadOptions) {\n updater.loadOptions(this, data);\n }\n }\n }\n const interactors = this._engine.interactors.get(this._container);\n if (interactors) {\n for (const interactor of interactors) {\n if (interactor.loadParticlesOptions) {\n interactor.loadParticlesOptions(this, data);\n }\n }\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js?");
1218
1218
 
1219
1219
  /***/ }),
1220
1220
 
@@ -1224,7 +1224,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1224
1224
  \*********************************************************************/
1225
1225
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1226
1226
 
1227
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Shadow: () => (/* binding */ Shadow)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n\nclass Shadow {\n constructor() {\n this.blur = 0;\n this.color = new _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.enable = false;\n this.offset = {\n x: 0,\n y: 0\n };\n this.color.value = \"#000\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset === undefined) {\n return;\n }\n if (data.offset.x !== undefined) {\n this.offset.x = data.offset.x;\n }\n if (data.offset.y !== undefined) {\n this.offset.y = data.offset.y;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Shadow.js?");
1227
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Shadow: () => (/* binding */ Shadow)\n/* harmony export */ });\n/* harmony import */ var _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass Shadow {\n constructor() {\n this.blur = 0;\n this.color = new _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor();\n this.enable = false;\n this.offset = {\n x: 0,\n y: 0\n };\n this.color.value = \"#000\";\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.blur !== undefined) {\n this.blur = data.blur;\n }\n this.color = _OptionsColor_js__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.offset === undefined) {\n return;\n }\n if (data.offset.x !== undefined) {\n this.offset.x = data.offset.x;\n }\n if (data.offset.y !== undefined) {\n this.offset.y = data.offset.y;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Shadow.js?");
1228
1228
 
1229
1229
  /***/ }),
1230
1230
 
@@ -1234,7 +1234,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1234
1234
  \**************************************************************************/
1235
1235
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1236
1236
 
1237
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Shape: () => (/* binding */ Shape)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\nclass Shape {\n constructor() {\n this.close = true;\n this.fill = true;\n this.options = {};\n this.type = \"circle\";\n }\n load(data) {\n if (!data) {\n return;\n }\n const options = data.options;\n if (options !== undefined) {\n for (const shape in options) {\n const item = options[shape];\n if (item) {\n this.options[shape] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.options[shape] ?? {}, item);\n }\n }\n }\n if (data.close !== undefined) {\n this.close = data.close;\n }\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js?");
1237
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Shape: () => (/* binding */ Shape)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass Shape {\n constructor() {\n this.close = true;\n this.fill = true;\n this.options = {};\n this.type = \"circle\";\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n const options = data.options;\n if (options !== undefined) {\n for (const shape in options) {\n const item = options[shape];\n if (item) {\n this.options[shape] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.options[shape] ?? {}, item);\n }\n }\n }\n if (data.close !== undefined) {\n this.close = data.close;\n }\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js?");
1238
1238
 
1239
1239
  /***/ }),
1240
1240
 
@@ -1244,7 +1244,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1244
1244
  \************************************************************************/
1245
1245
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1246
1246
 
1247
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Size: () => (/* binding */ Size)\n/* harmony export */ });\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _SizeAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SizeAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js\");\n\n\nclass Size extends _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__.RangedAnimationValueWithRandom {\n constructor() {\n super();\n this.animation = new _SizeAnimation_js__WEBPACK_IMPORTED_MODULE_1__.SizeAnimation();\n this.value = 3;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n const animation = data.animation;\n if (animation !== undefined) {\n this.animation.load(animation);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Size/Size.js?");
1247
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Size: () => (/* binding */ Size)\n/* harmony export */ });\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _SizeAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SizeAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass Size extends _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__.RangedAnimationValueWithRandom {\n constructor() {\n super();\n this.animation = new _SizeAnimation_js__WEBPACK_IMPORTED_MODULE_1__.SizeAnimation();\n this.value = 3;\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n const animation = data.animation;\n if (animation !== undefined) {\n this.animation.load(animation);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Size/Size.js?");
1248
1248
 
1249
1249
  /***/ }),
1250
1250
 
@@ -1254,7 +1254,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1254
1254
  \*********************************************************************************/
1255
1255
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1256
1256
 
1257
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SizeAnimation: () => (/* binding */ SizeAnimation)\n/* harmony export */ });\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n\n\nclass SizeAnimation extends _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationOptions {\n constructor() {\n super();\n this.destroy = _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__.DestroyType.none;\n this.speed = 5;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js?");
1257
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SizeAnimation: () => (/* binding */ SizeAnimation)\n/* harmony export */ });\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass SizeAnimation extends _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_1__.RangedAnimationOptions {\n constructor() {\n super();\n this.destroy = _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_0__.DestroyType.none;\n this.speed = 5;\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (data.destroy !== undefined) {\n this.destroy = data.destroy;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js?");
1258
1258
 
1259
1259
  /***/ }),
1260
1260
 
@@ -1264,7 +1264,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1264
1264
  \*********************************************************************/
1265
1265
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1266
1266
 
1267
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Stroke: () => (/* binding */ Stroke)\n/* harmony export */ });\n/* harmony import */ var _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../AnimatableColor.js */ \"../../engine/dist/browser/Options/Classes/AnimatableColor.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\nclass Stroke {\n constructor() {\n this.width = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor.create(this.color, data.color);\n }\n if (data.width !== undefined) {\n this.width = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.width);\n }\n if (data.opacity !== undefined) {\n this.opacity = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.opacity);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Stroke.js?");
1267
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Stroke: () => (/* binding */ Stroke)\n/* harmony export */ });\n/* harmony import */ var _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../AnimatableColor.js */ \"../../engine/dist/browser/Options/Classes/AnimatableColor.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\nclass Stroke {\n constructor() {\n this.width = 0;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _AnimatableColor_js__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor.create(this.color, data.color);\n }\n if (data.width !== undefined) {\n this.width = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.width);\n }\n if (data.opacity !== undefined) {\n this.opacity = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.opacity);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/Stroke.js?");
1268
1268
 
1269
1269
  /***/ }),
1270
1270
 
@@ -1274,7 +1274,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1274
1274
  \****************************************************************************/
1275
1275
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1276
1276
 
1277
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ZIndex: () => (/* binding */ ZIndex)\n/* harmony export */ });\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n\nclass ZIndex extends _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.opacityRate = 1;\n this.sizeRate = 1;\n this.velocityRate = 1;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n if (data.opacityRate !== undefined) {\n this.opacityRate = data.opacityRate;\n }\n if (data.sizeRate !== undefined) {\n this.sizeRate = data.sizeRate;\n }\n if (data.velocityRate !== undefined) {\n this.velocityRate = data.velocityRate;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js?");
1277
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ZIndex: () => (/* binding */ ZIndex)\n/* harmony export */ });\n/* harmony import */ var _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass ZIndex extends _ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.opacityRate = 1;\n this.sizeRate = 1;\n this.velocityRate = 1;\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.opacityRate !== undefined) {\n this.opacityRate = data.opacityRate;\n }\n if (data.sizeRate !== undefined) {\n this.sizeRate = data.sizeRate;\n }\n if (data.velocityRate !== undefined) {\n this.velocityRate = data.velocityRate;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js?");
1278
1278
 
1279
1279
  /***/ }),
1280
1280
 
@@ -1284,7 +1284,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1284
1284
  \***************************************************************/
1285
1285
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1286
1286
 
1287
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Responsive: () => (/* binding */ Responsive)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Enums/Modes/ResponsiveMode.js */ \"../../engine/dist/browser/Enums/Modes/ResponsiveMode.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\n\nclass Responsive {\n constructor() {\n this.maxWidth = Infinity;\n this.options = {};\n this.mode = _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.canvas;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.maxWidth !== undefined) {\n this.maxWidth = data.maxWidth;\n }\n if (data.mode !== undefined) {\n if (data.mode === _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.screen) {\n this.mode = _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.screen;\n } else {\n this.mode = _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.canvas;\n }\n }\n if (data.options !== undefined) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Responsive.js?");
1287
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Responsive: () => (/* binding */ Responsive)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Enums/Modes/ResponsiveMode.js */ \"../../engine/dist/browser/Enums/Modes/ResponsiveMode.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass Responsive {\n constructor() {\n this.maxWidth = Infinity;\n this.options = {};\n this.mode = _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.canvas;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (!(0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data.maxWidth)) {\n this.maxWidth = data.maxWidth;\n }\n if (!(0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data.mode)) {\n if (data.mode === _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.screen) {\n this.mode = _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.screen;\n } else {\n this.mode = _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_0__.ResponsiveMode.canvas;\n }\n }\n if (!(0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data.options)) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Responsive.js?");
1288
1288
 
1289
1289
  /***/ }),
1290
1290
 
@@ -1294,7 +1294,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1294
1294
  \****************************************************************/
1295
1295
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1296
1296
 
1297
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Theme: () => (/* binding */ Theme)\n/* harmony export */ });\n/* harmony import */ var _ThemeDefault_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ThemeDefault.js */ \"../../engine/dist/browser/Options/Classes/Theme/ThemeDefault.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\n\nclass Theme {\n constructor() {\n this.name = \"\";\n this.default = new _ThemeDefault_js__WEBPACK_IMPORTED_MODULE_0__.ThemeDefault();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n this.default.load(data.default);\n if (data.options !== undefined) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Theme/Theme.js?");
1297
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Theme: () => (/* binding */ Theme)\n/* harmony export */ });\n/* harmony import */ var _ThemeDefault_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ThemeDefault.js */ \"../../engine/dist/browser/Options/Classes/Theme/ThemeDefault.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\nclass Theme {\n constructor() {\n this.name = \"\";\n this.default = new _ThemeDefault_js__WEBPACK_IMPORTED_MODULE_0__.ThemeDefault();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(data)) {\n return;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n this.default.load(data.default);\n if (data.options !== undefined) {\n this.options = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.deepExtend)({}, data.options);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Theme/Theme.js?");
1298
1298
 
1299
1299
  /***/ }),
1300
1300
 
@@ -1304,7 +1304,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1304
1304
  \***********************************************************************/
1305
1305
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1306
1306
 
1307
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeDefault: () => (/* binding */ ThemeDefault)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Enums/Modes/ThemeMode.js */ \"../../engine/dist/browser/Enums/Modes/ThemeMode.js\");\n\nclass ThemeDefault {\n constructor() {\n this.auto = false;\n this.mode = _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_0__.ThemeMode.any;\n this.value = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.auto !== undefined) {\n this.auto = data.auto;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Theme/ThemeDefault.js?");
1307
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ThemeDefault: () => (/* binding */ ThemeDefault)\n/* harmony export */ });\n/* harmony import */ var _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Enums/Modes/ThemeMode.js */ \"../../engine/dist/browser/Enums/Modes/ThemeMode.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\nclass ThemeDefault {\n constructor() {\n this.auto = false;\n this.mode = _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_0__.ThemeMode.any;\n this.value = false;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.auto !== undefined) {\n this.auto = data.auto;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/Theme/ThemeDefault.js?");
1308
1308
 
1309
1309
  /***/ }),
1310
1310
 
@@ -1314,7 +1314,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1314
1314
  \********************************************************************/
1315
1315
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1316
1316
 
1317
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimationValueWithRandom: () => (/* binding */ AnimationValueWithRandom),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* binding */ RangedAnimationValueWithRandom),\n/* harmony export */ ValueWithRandom: () => (/* binding */ ValueWithRandom)\n/* harmony export */ });\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\nclass ValueWithRandom {\n constructor() {\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.value !== undefined) {\n this.value = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(data.value);\n }\n }\n}\nclass AnimationValueWithRandom extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__.AnimationOptions();\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n const animation = data.animation;\n if (animation !== undefined) {\n this.animation.load(animation);\n }\n }\n}\nclass RangedAnimationValueWithRandom extends AnimationValueWithRandom {\n constructor() {\n super();\n this.animation = new _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__.RangedAnimationOptions();\n }\n load(data) {\n super.load(data);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/ValueWithRandom.js?");
1317
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AnimationValueWithRandom: () => (/* binding */ AnimationValueWithRandom),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* binding */ RangedAnimationValueWithRandom),\n/* harmony export */ ValueWithRandom: () => (/* binding */ ValueWithRandom)\n/* harmony export */ });\n/* harmony import */ var _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\n\n\nclass ValueWithRandom {\n constructor() {\n this.value = 0;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (!(0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data.value)) {\n this.value = (0,_Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue)(data.value);\n }\n }\n}\nclass AnimationValueWithRandom extends ValueWithRandom {\n constructor() {\n super();\n this.animation = new _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__.AnimationOptions();\n }\n load(data) {\n super.load(data);\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n const animation = data.animation;\n if (animation !== undefined) {\n this.animation.load(animation);\n }\n }\n}\nclass RangedAnimationValueWithRandom extends AnimationValueWithRandom {\n constructor() {\n super();\n this.animation = new _AnimationOptions_js__WEBPACK_IMPORTED_MODULE_0__.RangedAnimationOptions();\n }\n load(data) {\n super.load(data);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Options/Classes/ValueWithRandom.js?");
1318
1318
 
1319
1319
  /***/ }),
1320
1320
 
@@ -1964,7 +1964,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1964
1964
  \*****************************************************/
1965
1965
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1966
1966
 
1967
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addColorManager: () => (/* binding */ addColorManager),\n/* harmony export */ colorMix: () => (/* binding */ colorMix),\n/* harmony export */ colorToHsl: () => (/* binding */ colorToHsl),\n/* harmony export */ colorToRgb: () => (/* binding */ colorToRgb),\n/* harmony export */ getHslAnimationFromHsl: () => (/* binding */ getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* binding */ getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* binding */ getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* binding */ getLinkRandomColor),\n/* harmony export */ getRandomRgbColor: () => (/* binding */ getRandomRgbColor),\n/* harmony export */ getStyleFromHsl: () => (/* binding */ getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* binding */ getStyleFromRgb),\n/* harmony export */ hslToRgb: () => (/* binding */ hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* binding */ hslaToRgba),\n/* harmony export */ rangeColorToHsl: () => (/* binding */ rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* binding */ rangeColorToRgb),\n/* harmony export */ rgbToHsl: () => (/* binding */ rgbToHsl),\n/* harmony export */ stringToAlpha: () => (/* binding */ stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* binding */ stringToRgb),\n/* harmony export */ updateColor: () => (/* binding */ updateColor),\n/* harmony export */ updateColorValue: () => (/* binding */ updateColorValue)\n/* harmony export */ });\n/* harmony import */ var _NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\n\n\n\n\nvar RgbIndexes;\n(function (RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 4] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nconst randomColorValue = \"random\",\n midColorValue = \"mid\",\n colorManagers = new Map();\nfunction addColorManager(manager) {\n colorManagers.set(manager.key, manager);\n}\nfunction stringToRgba(input) {\n for (const manager of colorManagers.values()) {\n if (input.startsWith(manager.stringPrefix)) {\n return manager.parseString(input);\n }\n }\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i,\n hexFixed = input.replace(shorthandRegex, (_, r, g, b, a) => {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n }),\n regex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i,\n result = regex.exec(hexFixed),\n radix = 16,\n defaultAlpha = 1,\n alphaFactor = 0xff;\n return result ? {\n a: result[RgbIndexes.a] !== undefined ? parseInt(result[RgbIndexes.a], radix) / alphaFactor : defaultAlpha,\n b: parseInt(result[RgbIndexes.b], radix),\n g: parseInt(result[RgbIndexes.g], radix),\n r: parseInt(result[RgbIndexes.r], radix)\n } : undefined;\n}\nfunction rangeColorToRgb(input, index, useIndex = true) {\n if (!input) {\n return;\n }\n const color = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(input) ? {\n value: input\n } : input;\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(color.value)) {\n return colorToRgb(color.value, index, useIndex);\n }\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isArray)(color.value)) {\n return rangeColorToRgb({\n value: (0,_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromArray)(color.value, index, useIndex)\n });\n }\n for (const manager of colorManagers.values()) {\n const res = manager.handleRangeColor(color);\n if (res) {\n return res;\n }\n }\n}\nfunction colorToRgb(input, index, useIndex = true) {\n if (!input) {\n return;\n }\n const color = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(input) ? {\n value: input\n } : input;\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(color.value)) {\n return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(color.value);\n }\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isArray)(color.value)) {\n return colorToRgb({\n value: (0,_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromArray)(color.value, index, useIndex)\n });\n }\n for (const manager of colorManagers.values()) {\n const res = manager.handleColor(color);\n if (res) {\n return res;\n }\n }\n}\nfunction colorToHsl(color, index, useIndex = true) {\n const rgb = colorToRgb(color, index, useIndex);\n return rgb ? rgbToHsl(rgb) : undefined;\n}\nfunction rangeColorToHsl(color, index, useIndex = true) {\n const rgb = rangeColorToRgb(color, index, useIndex);\n return rgb ? rgbToHsl(rgb) : undefined;\n}\nfunction rgbToHsl(color) {\n const rgbMax = 255,\n hMax = 360,\n sMax = 100,\n lMax = 100,\n hMin = 0,\n sMin = 0,\n hPhase = 60,\n half = 0.5,\n double = 2,\n r1 = color.r / rgbMax,\n g1 = color.g / rgbMax,\n b1 = color.b / rgbMax,\n max = Math.max(r1, g1, b1),\n min = Math.min(r1, g1, b1),\n res = {\n h: hMin,\n l: (max + min) * half,\n s: sMin\n };\n if (max !== min) {\n res.s = res.l < half ? (max - min) / (max + min) : (max - min) / (double - max - min);\n res.h = r1 === max ? (g1 - b1) / (max - min) : res.h = g1 === max ? double + (b1 - r1) / (max - min) : double * double + (r1 - g1) / (max - min);\n }\n res.l *= lMax;\n res.s *= sMax;\n res.h *= hPhase;\n if (res.h < hMin) {\n res.h += hMax;\n }\n if (res.h >= hMax) {\n res.h -= hMax;\n }\n return res;\n}\nfunction stringToAlpha(input) {\n return stringToRgba(input)?.a;\n}\nfunction stringToRgb(input) {\n return stringToRgba(input);\n}\nfunction hslToRgb(hsl) {\n const hMax = 360,\n sMax = 100,\n lMax = 100,\n sMin = 0,\n lMin = 0,\n h = (hsl.h % hMax + hMax) % hMax,\n s = Math.max(sMin, Math.min(sMax, hsl.s)),\n l = Math.max(lMin, Math.min(lMax, hsl.l)),\n hNormalized = h / hMax,\n sNormalized = s / sMax,\n lNormalized = l / lMax,\n rgbFactor = 255,\n triple = 3;\n if (s === sMin) {\n const grayscaleValue = Math.round(lNormalized * rgbFactor);\n return {\n r: grayscaleValue,\n g: grayscaleValue,\n b: grayscaleValue\n };\n }\n const half = 0.5,\n double = 2,\n channel = (temp1, temp2, temp3) => {\n const temp3Min = 0,\n temp3Max = 1,\n sextuple = 6;\n if (temp3 < temp3Min) {\n temp3++;\n }\n if (temp3 > temp3Max) {\n temp3--;\n }\n if (temp3 * sextuple < temp3Max) {\n return temp1 + (temp2 - temp1) * sextuple * temp3;\n }\n if (temp3 * double < temp3Max) {\n return temp2;\n }\n if (temp3 * triple < temp3Max * double) {\n const temp3Offset = double / triple;\n return temp1 + (temp2 - temp1) * (temp3Offset - temp3) * sextuple;\n }\n return temp1;\n },\n sNormalizedOffset = 1,\n temp1 = lNormalized < half ? lNormalized * (sNormalizedOffset + sNormalized) : lNormalized + sNormalized - lNormalized * sNormalized,\n temp2 = double * lNormalized - temp1,\n phaseNumerator = 1,\n phaseThird = phaseNumerator / triple,\n red = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized + phaseThird)),\n green = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized)),\n blue = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized - phaseThird));\n return {\n r: Math.round(red),\n g: Math.round(green),\n b: Math.round(blue)\n };\n}\nfunction hslaToRgba(hsla) {\n const rgbResult = hslToRgb(hsla);\n return {\n a: hsla.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r\n };\n}\nfunction getRandomRgbColor(min) {\n const defaultMin = 0,\n fixedMin = min ?? defaultMin,\n rgbMax = 256;\n return {\n b: Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(fixedMin, rgbMax))),\n g: Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(fixedMin, rgbMax))),\n r: Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(fixedMin, rgbMax)))\n };\n}\nfunction getStyleFromRgb(color, opacity) {\n const defaultOpacity = 1;\n return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity ?? defaultOpacity})`;\n}\nfunction getStyleFromHsl(color, opacity) {\n const defaultOpacity = 1;\n return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity ?? defaultOpacity})`;\n}\nfunction colorMix(color1, color2, size1, size2) {\n let rgb1 = color1,\n rgb2 = color2;\n if (rgb1.r === undefined) {\n rgb1 = hslToRgb(color1);\n }\n if (rgb2.r === undefined) {\n rgb2 = hslToRgb(color2);\n }\n return {\n b: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.mix)(rgb1.b, rgb2.b, size1, size2),\n g: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.mix)(rgb1.g, rgb2.g, size1, size2),\n r: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.mix)(rgb1.r, rgb2.r, size1, size2)\n };\n}\nfunction getLinkColor(p1, p2, linkColor) {\n if (linkColor === randomColorValue) {\n return getRandomRgbColor();\n } else if (linkColor === midColorValue) {\n const sourceColor = p1.getFillColor() ?? p1.getStrokeColor(),\n destColor = p2?.getFillColor() ?? p2?.getStrokeColor();\n if (sourceColor && destColor && p2) {\n return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());\n } else {\n const hslColor = sourceColor ?? destColor;\n if (hslColor) {\n return hslToRgb(hslColor);\n }\n }\n } else {\n return linkColor;\n }\n}\nfunction getLinkRandomColor(optColor, blink, consent) {\n const color = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(optColor) ? optColor : optColor.value;\n if (color === randomColorValue) {\n if (consent) {\n return rangeColorToRgb({\n value: color\n });\n }\n if (blink) {\n return randomColorValue;\n }\n return midColorValue;\n } else if (color === midColorValue) {\n return midColorValue;\n } else {\n return rangeColorToRgb({\n value: color\n });\n }\n}\nfunction getHslFromAnimation(animation) {\n return animation !== undefined ? {\n h: animation.h.value,\n s: animation.s.value,\n l: animation.l.value\n } : undefined;\n}\nfunction getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {\n const resColor = {\n h: {\n enable: false,\n value: hsl.h\n },\n s: {\n enable: false,\n value: hsl.s\n },\n l: {\n enable: false,\n value: hsl.l\n }\n };\n if (animationOptions) {\n setColorAnimation(resColor.h, animationOptions.h, reduceFactor);\n setColorAnimation(resColor.s, animationOptions.s, reduceFactor);\n setColorAnimation(resColor.l, animationOptions.l, reduceFactor);\n }\n return resColor;\n}\nfunction setColorAnimation(colorValue, colorAnimation, reduceFactor) {\n colorValue.enable = colorAnimation.enable;\n const defaultVelocity = 0,\n decayOffset = 1,\n defaultLoops = 0,\n defaultTime = 0;\n if (colorValue.enable) {\n colorValue.velocity = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.speed) / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.percentDenominator * reduceFactor;\n colorValue.decay = decayOffset - (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.decay);\n colorValue.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.increasing;\n colorValue.loops = defaultLoops;\n colorValue.maxLoops = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.count);\n colorValue.time = defaultTime;\n colorValue.delayTime = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.delay) * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.millisecondsToSeconds;\n if (!colorAnimation.sync) {\n colorValue.velocity *= (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n colorValue.value *= (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n colorValue.initialValue = colorValue.value;\n colorValue.offset = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(colorAnimation.offset);\n } else {\n colorValue.velocity = defaultVelocity;\n }\n}\nfunction updateColorValue(data, range, decrease, delta) {\n const minLoops = 0,\n minDelay = 0,\n identity = 1,\n minVelocity = 0,\n minOffset = 0,\n velocityFactor = 3.6;\n if (!data || !data.enable || (data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops)) {\n return;\n }\n if (!data.time) {\n data.time = 0;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n data.time += delta.value;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n return;\n }\n const offset = data.offset ? (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(data.offset) : minOffset,\n velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor,\n decay = data.decay ?? identity,\n max = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(range),\n min = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(range);\n if (!decrease || data.status === _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.increasing) {\n data.value += velocity;\n if (data.value > max) {\n if (!data.loops) {\n data.loops = 0;\n }\n data.loops++;\n if (decrease) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.decreasing;\n } else {\n data.value -= max;\n }\n }\n } else {\n data.value -= velocity;\n const minValue = 0;\n if (data.value < minValue) {\n if (!data.loops) {\n data.loops = 0;\n }\n data.loops++;\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.increasing;\n }\n }\n if (data.velocity && decay !== identity) {\n data.velocity *= decay;\n }\n data.value = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.clamp)(data.value, min, max);\n}\nfunction updateColor(color, delta) {\n if (!color) {\n return;\n }\n const {\n h,\n s,\n l\n } = color;\n const ranges = {\n h: {\n min: 0,\n max: 360\n },\n s: {\n min: 0,\n max: 100\n },\n l: {\n min: 0,\n max: 100\n }\n };\n if (h) {\n updateColorValue(h, ranges.h, false, delta);\n }\n if (s) {\n updateColorValue(s, ranges.s, true, delta);\n }\n if (l) {\n updateColorValue(l, ranges.l, true, delta);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/ColorUtils.js?");
1967
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ colorMix: () => (/* binding */ colorMix),\n/* harmony export */ colorToHsl: () => (/* binding */ colorToHsl),\n/* harmony export */ colorToRgb: () => (/* binding */ colorToRgb),\n/* harmony export */ getHslAnimationFromHsl: () => (/* binding */ getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* binding */ getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* binding */ getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* binding */ getLinkRandomColor),\n/* harmony export */ getRandomRgbColor: () => (/* binding */ getRandomRgbColor),\n/* harmony export */ getStyleFromHsl: () => (/* binding */ getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* binding */ getStyleFromRgb),\n/* harmony export */ hslToRgb: () => (/* binding */ hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* binding */ hslaToRgba),\n/* harmony export */ rangeColorToHsl: () => (/* binding */ rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* binding */ rangeColorToRgb),\n/* harmony export */ rgbToHsl: () => (/* binding */ rgbToHsl),\n/* harmony export */ stringToAlpha: () => (/* binding */ stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* binding */ stringToRgb),\n/* harmony export */ updateColor: () => (/* binding */ updateColor),\n/* harmony export */ updateColorValue: () => (/* binding */ updateColorValue)\n/* harmony export */ });\n/* harmony import */ var _NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n\n\n\n\n\nconst randomColorValue = \"random\",\n midColorValue = \"mid\";\nfunction stringToRgba(engine, input) {\n if (!input) {\n return;\n }\n for (const manager of engine.colorManagers.values()) {\n if (input.startsWith(manager.stringPrefix)) {\n return manager.parseString(input);\n }\n }\n}\nfunction rangeColorToRgb(engine, input, index, useIndex = true) {\n if (!input) {\n return;\n }\n const color = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(input) ? {\n value: input\n } : input;\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(color.value)) {\n return colorToRgb(engine, color.value, index, useIndex);\n }\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isArray)(color.value)) {\n return rangeColorToRgb(engine, {\n value: (0,_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromArray)(color.value, index, useIndex)\n });\n }\n for (const manager of engine.colorManagers.values()) {\n const res = manager.handleRangeColor(color);\n if (res) {\n return res;\n }\n }\n}\nfunction colorToRgb(engine, input, index, useIndex = true) {\n if (!input) {\n return;\n }\n const color = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(input) ? {\n value: input\n } : input;\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(color.value)) {\n return color.value === randomColorValue ? getRandomRgbColor() : stringToRgb(engine, color.value);\n }\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isArray)(color.value)) {\n return colorToRgb(engine, {\n value: (0,_Utils_js__WEBPACK_IMPORTED_MODULE_4__.itemFromArray)(color.value, index, useIndex)\n });\n }\n for (const manager of engine.colorManagers.values()) {\n const res = manager.handleColor(color);\n if (res) {\n return res;\n }\n }\n}\nfunction colorToHsl(engine, color, index, useIndex = true) {\n const rgb = colorToRgb(engine, color, index, useIndex);\n return rgb ? rgbToHsl(rgb) : undefined;\n}\nfunction rangeColorToHsl(engine, color, index, useIndex = true) {\n const rgb = rangeColorToRgb(engine, color, index, useIndex);\n return rgb ? rgbToHsl(rgb) : undefined;\n}\nfunction rgbToHsl(color) {\n const rgbMax = 255,\n hMax = 360,\n sMax = 100,\n lMax = 100,\n hMin = 0,\n sMin = 0,\n hPhase = 60,\n half = 0.5,\n double = 2,\n r1 = color.r / rgbMax,\n g1 = color.g / rgbMax,\n b1 = color.b / rgbMax,\n max = Math.max(r1, g1, b1),\n min = Math.min(r1, g1, b1),\n res = {\n h: hMin,\n l: (max + min) * half,\n s: sMin\n };\n if (max !== min) {\n res.s = res.l < half ? (max - min) / (max + min) : (max - min) / (double - max - min);\n res.h = r1 === max ? (g1 - b1) / (max - min) : res.h = g1 === max ? double + (b1 - r1) / (max - min) : double * double + (r1 - g1) / (max - min);\n }\n res.l *= lMax;\n res.s *= sMax;\n res.h *= hPhase;\n if (res.h < hMin) {\n res.h += hMax;\n }\n if (res.h >= hMax) {\n res.h -= hMax;\n }\n return res;\n}\nfunction stringToAlpha(engine, input) {\n return stringToRgba(engine, input)?.a;\n}\nfunction stringToRgb(engine, input) {\n return stringToRgba(engine, input);\n}\nfunction hslToRgb(hsl) {\n const hMax = 360,\n sMax = 100,\n lMax = 100,\n sMin = 0,\n lMin = 0,\n h = (hsl.h % hMax + hMax) % hMax,\n s = Math.max(sMin, Math.min(sMax, hsl.s)),\n l = Math.max(lMin, Math.min(lMax, hsl.l)),\n hNormalized = h / hMax,\n sNormalized = s / sMax,\n lNormalized = l / lMax,\n rgbFactor = 255,\n triple = 3;\n if (s === sMin) {\n const grayscaleValue = Math.round(lNormalized * rgbFactor);\n return {\n r: grayscaleValue,\n g: grayscaleValue,\n b: grayscaleValue\n };\n }\n const half = 0.5,\n double = 2,\n channel = (temp1, temp2, temp3) => {\n const temp3Min = 0,\n temp3Max = 1,\n sextuple = 6;\n if (temp3 < temp3Min) {\n temp3++;\n }\n if (temp3 > temp3Max) {\n temp3--;\n }\n if (temp3 * sextuple < temp3Max) {\n return temp1 + (temp2 - temp1) * sextuple * temp3;\n }\n if (temp3 * double < temp3Max) {\n return temp2;\n }\n if (temp3 * triple < temp3Max * double) {\n const temp3Offset = double / triple;\n return temp1 + (temp2 - temp1) * (temp3Offset - temp3) * sextuple;\n }\n return temp1;\n },\n sNormalizedOffset = 1,\n temp1 = lNormalized < half ? lNormalized * (sNormalizedOffset + sNormalized) : lNormalized + sNormalized - lNormalized * sNormalized,\n temp2 = double * lNormalized - temp1,\n phaseNumerator = 1,\n phaseThird = phaseNumerator / triple,\n red = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized + phaseThird)),\n green = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized)),\n blue = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized - phaseThird));\n return {\n r: Math.round(red),\n g: Math.round(green),\n b: Math.round(blue)\n };\n}\nfunction hslaToRgba(hsla) {\n const rgbResult = hslToRgb(hsla);\n return {\n a: hsla.a,\n b: rgbResult.b,\n g: rgbResult.g,\n r: rgbResult.r\n };\n}\nfunction getRandomRgbColor(min) {\n const defaultMin = 0,\n fixedMin = min ?? defaultMin,\n rgbMax = 256;\n return {\n b: Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(fixedMin, rgbMax))),\n g: Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(fixedMin, rgbMax))),\n r: Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(fixedMin, rgbMax)))\n };\n}\nfunction getStyleFromRgb(color, opacity) {\n const defaultOpacity = 1;\n return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity ?? defaultOpacity})`;\n}\nfunction getStyleFromHsl(color, opacity) {\n const defaultOpacity = 1;\n return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity ?? defaultOpacity})`;\n}\nfunction colorMix(color1, color2, size1, size2) {\n let rgb1 = color1,\n rgb2 = color2;\n if (rgb1.r === undefined) {\n rgb1 = hslToRgb(color1);\n }\n if (rgb2.r === undefined) {\n rgb2 = hslToRgb(color2);\n }\n return {\n b: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.mix)(rgb1.b, rgb2.b, size1, size2),\n g: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.mix)(rgb1.g, rgb2.g, size1, size2),\n r: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.mix)(rgb1.r, rgb2.r, size1, size2)\n };\n}\nfunction getLinkColor(p1, p2, linkColor) {\n if (linkColor === randomColorValue) {\n return getRandomRgbColor();\n } else if (linkColor === midColorValue) {\n const sourceColor = p1.getFillColor() ?? p1.getStrokeColor(),\n destColor = p2?.getFillColor() ?? p2?.getStrokeColor();\n if (sourceColor && destColor && p2) {\n return colorMix(sourceColor, destColor, p1.getRadius(), p2.getRadius());\n } else {\n const hslColor = sourceColor ?? destColor;\n if (hslColor) {\n return hslToRgb(hslColor);\n }\n }\n } else {\n return linkColor;\n }\n}\nfunction getLinkRandomColor(engine, optColor, blink, consent) {\n const color = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isString)(optColor) ? optColor : optColor.value;\n if (color === randomColorValue) {\n if (consent) {\n return rangeColorToRgb(engine, {\n value: color\n });\n }\n if (blink) {\n return randomColorValue;\n }\n return midColorValue;\n } else if (color === midColorValue) {\n return midColorValue;\n } else {\n return rangeColorToRgb(engine, {\n value: color\n });\n }\n}\nfunction getHslFromAnimation(animation) {\n return animation !== undefined ? {\n h: animation.h.value,\n s: animation.s.value,\n l: animation.l.value\n } : undefined;\n}\nfunction getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {\n const resColor = {\n h: {\n enable: false,\n value: hsl.h\n },\n s: {\n enable: false,\n value: hsl.s\n },\n l: {\n enable: false,\n value: hsl.l\n }\n };\n if (animationOptions) {\n setColorAnimation(resColor.h, animationOptions.h, reduceFactor);\n setColorAnimation(resColor.s, animationOptions.s, reduceFactor);\n setColorAnimation(resColor.l, animationOptions.l, reduceFactor);\n }\n return resColor;\n}\nfunction setColorAnimation(colorValue, colorAnimation, reduceFactor) {\n colorValue.enable = colorAnimation.enable;\n const defaultVelocity = 0,\n decayOffset = 1,\n defaultLoops = 0,\n defaultTime = 0;\n if (colorValue.enable) {\n colorValue.velocity = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.speed) / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.percentDenominator * reduceFactor;\n colorValue.decay = decayOffset - (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.decay);\n colorValue.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.increasing;\n colorValue.loops = defaultLoops;\n colorValue.maxLoops = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.count);\n colorValue.time = defaultTime;\n colorValue.delayTime = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(colorAnimation.delay) * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.millisecondsToSeconds;\n if (!colorAnimation.sync) {\n colorValue.velocity *= (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n colorValue.value *= (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n colorValue.initialValue = colorValue.value;\n colorValue.offset = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(colorAnimation.offset);\n } else {\n colorValue.velocity = defaultVelocity;\n }\n}\nfunction updateColorValue(data, range, decrease, delta) {\n const minLoops = 0,\n minDelay = 0,\n identity = 1,\n minVelocity = 0,\n minOffset = 0,\n velocityFactor = 3.6;\n if (!data || !data.enable || (data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops)) {\n return;\n }\n if (!data.time) {\n data.time = 0;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n data.time += delta.value;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n return;\n }\n const offset = data.offset ? (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(data.offset) : minOffset,\n velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor,\n decay = data.decay ?? identity,\n max = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(range),\n min = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(range);\n if (!decrease || data.status === _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.increasing) {\n data.value += velocity;\n if (data.value > max) {\n if (!data.loops) {\n data.loops = 0;\n }\n data.loops++;\n if (decrease) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.decreasing;\n } else {\n data.value -= max;\n }\n }\n } else {\n data.value -= velocity;\n const minValue = 0;\n if (data.value < minValue) {\n if (!data.loops) {\n data.loops = 0;\n }\n data.loops++;\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_3__.AnimationStatus.increasing;\n }\n }\n if (data.velocity && decay !== identity) {\n data.velocity *= decay;\n }\n data.value = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.clamp)(data.value, min, max);\n}\nfunction updateColor(color, delta) {\n if (!color) {\n return;\n }\n const {\n h,\n s,\n l\n } = color;\n const ranges = {\n h: {\n min: 0,\n max: 360\n },\n s: {\n min: 0,\n max: 100\n },\n l: {\n min: 0,\n max: 100\n }\n };\n if (h) {\n updateColorValue(h, ranges.h, false, delta);\n }\n if (s) {\n updateColorValue(s, ranges.s, true, delta);\n }\n if (l) {\n updateColorValue(l, ranges.l, true, delta);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/ColorUtils.js?");
1968
1968
 
1969
1969
  /***/ }),
1970
1970
 
@@ -1978,23 +1978,13 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1978
1978
 
1979
1979
  /***/ }),
1980
1980
 
1981
- /***/ "../../engine/dist/browser/Utils/HslColorManager.js":
1982
- /*!**********************************************************!*\
1983
- !*** ../../engine/dist/browser/Utils/HslColorManager.js ***!
1984
- \**********************************************************/
1985
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1986
-
1987
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HslColorManager: () => (/* binding */ HslColorManager)\n/* harmony export */ });\n/* harmony import */ var _NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n\n\nvar HslIndexes;\n(function (HslIndexes) {\n HslIndexes[HslIndexes[\"h\"] = 1] = \"h\";\n HslIndexes[HslIndexes[\"s\"] = 2] = \"s\";\n HslIndexes[HslIndexes[\"l\"] = 3] = \"l\";\n HslIndexes[HslIndexes[\"a\"] = 5] = \"a\";\n})(HslIndexes || (HslIndexes = {}));\nclass HslColorManager {\n constructor() {\n this.key = \"hsl\";\n this.stringPrefix = \"hsl\";\n }\n handleColor(color) {\n const colorValue = color.value,\n hslColor = colorValue.hsl ?? color.value;\n if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {\n return (0,_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.hslToRgb)(hslColor);\n }\n }\n handleRangeColor(color) {\n const colorValue = color.value,\n hslColor = colorValue.hsl ?? color.value;\n if (hslColor.h !== undefined && hslColor.l !== undefined) {\n return (0,_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.hslToRgb)({\n h: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.h),\n l: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.l),\n s: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.s)\n });\n }\n }\n parseString(input) {\n if (!input.startsWith(\"hsl\")) {\n return;\n }\n const regex = /hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.%]+)\\s*)?\\)/i,\n result = regex.exec(input),\n minLength = 4,\n defaultAlpha = 1,\n radix = 10;\n return result ? (0,_ColorUtils_js__WEBPACK_IMPORTED_MODULE_1__.hslaToRgba)({\n a: result.length > minLength ? (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,\n h: parseInt(result[HslIndexes.h], radix),\n l: parseInt(result[HslIndexes.l], radix),\n s: parseInt(result[HslIndexes.s], radix)\n }) : undefined;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/HslColorManager.js?");
1988
-
1989
- /***/ }),
1990
-
1991
1981
  /***/ "../../engine/dist/browser/Utils/NumberUtils.js":
1992
1982
  /*!******************************************************!*\
1993
1983
  !*** ../../engine/dist/browser/Utils/NumberUtils.js ***!
1994
1984
  \******************************************************/
1995
1985
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1996
1986
 
1997
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addEasing: () => (/* binding */ addEasing),\n/* harmony export */ animate: () => (/* binding */ animate),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* binding */ calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* binding */ calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* binding */ calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* binding */ calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* binding */ calcPositionOrRandomFromSizeRanged),\n/* harmony export */ cancelAnimation: () => (/* binding */ cancelAnimation),\n/* harmony export */ clamp: () => (/* binding */ clamp),\n/* harmony export */ collisionVelocity: () => (/* binding */ collisionVelocity),\n/* harmony export */ degToRad: () => (/* binding */ degToRad),\n/* harmony export */ getDistance: () => (/* binding */ getDistance),\n/* harmony export */ getDistances: () => (/* binding */ getDistances),\n/* harmony export */ getEasing: () => (/* binding */ getEasing),\n/* harmony export */ getParticleBaseVelocity: () => (/* binding */ getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* binding */ getParticleDirectionAngle),\n/* harmony export */ getRandom: () => (/* binding */ getRandom),\n/* harmony export */ getRangeMax: () => (/* binding */ getRangeMax),\n/* harmony export */ getRangeMin: () => (/* binding */ getRangeMin),\n/* harmony export */ getRangeValue: () => (/* binding */ getRangeValue),\n/* harmony export */ mix: () => (/* binding */ mix),\n/* harmony export */ parseAlpha: () => (/* binding */ parseAlpha),\n/* harmony export */ randomInRange: () => (/* binding */ randomInRange),\n/* harmony export */ setAnimationFunctions: () => (/* binding */ setAnimationFunctions),\n/* harmony export */ setRandom: () => (/* binding */ setRandom),\n/* harmony export */ setRangeValue: () => (/* binding */ setRangeValue)\n/* harmony export */ });\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n\n\n\n\nlet _random = Math.random;\nconst _animationLoop = {\n nextFrame: cb => requestAnimationFrame(cb),\n cancel: idx => cancelAnimationFrame(idx)\n },\n easingFunctions = new Map(),\n double = 2,\n doublePI = Math.PI * double;\nfunction addEasing(name, easing) {\n if (easingFunctions.get(name)) {\n return;\n }\n easingFunctions.set(name, easing);\n}\nfunction getEasing(name) {\n return easingFunctions.get(name) ?? (value => value);\n}\nfunction setRandom(rnd = Math.random) {\n _random = rnd;\n}\nfunction getRandom() {\n const min = 0,\n max = 1;\n return clamp(_random(), min, max - Number.EPSILON);\n}\nfunction setAnimationFunctions(nextFrame, cancel) {\n _animationLoop.nextFrame = callback => nextFrame(callback);\n _animationLoop.cancel = handle => cancel(handle);\n}\nfunction animate(fn) {\n return _animationLoop.nextFrame(fn);\n}\nfunction cancelAnimation(handle) {\n _animationLoop.cancel(handle);\n}\nfunction clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nfunction mix(comp1, comp2, weight1, weight2) {\n return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));\n}\nfunction randomInRange(r) {\n const max = getRangeMax(r),\n minOffset = 0;\n let min = getRangeMin(r);\n if (max === min) {\n min = minOffset;\n }\n return getRandom() * (max - min) + min;\n}\nfunction getRangeValue(value) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(value) ? value : randomInRange(value);\n}\nfunction getRangeMin(value) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(value) ? value : value.min;\n}\nfunction getRangeMax(value) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(value) ? value : value.max;\n}\nfunction setRangeValue(source, value) {\n if (source === value || value === undefined && (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(source)) {\n return source;\n }\n const min = getRangeMin(source),\n max = getRangeMax(source);\n return value !== undefined ? {\n min: Math.min(min, value),\n max: Math.max(max, value)\n } : setRangeValue(min, max);\n}\nfunction getDistances(pointA, pointB) {\n const dx = pointA.x - pointB.x,\n dy = pointA.y - pointB.y,\n squareExp = 2;\n return {\n dx: dx,\n dy: dy,\n distance: Math.sqrt(dx ** squareExp + dy ** squareExp)\n };\n}\nfunction getDistance(pointA, pointB) {\n return getDistances(pointA, pointB).distance;\n}\nfunction degToRad(degrees) {\n const PIDeg = 180;\n return degrees * Math.PI / PIDeg;\n}\nfunction getParticleDirectionAngle(direction, position, center) {\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(direction)) {\n return degToRad(direction);\n }\n const empty = 0,\n half = 0.5,\n quarter = 0.25,\n threeQuarter = half + quarter;\n switch (direction) {\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.top:\n return -Math.PI * half;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.topRight:\n return -Math.PI * quarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.right:\n return empty;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.bottomRight:\n return Math.PI * quarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.bottom:\n return Math.PI * half;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.bottomLeft:\n return Math.PI * threeQuarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.left:\n return Math.PI;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.topLeft:\n return -Math.PI * threeQuarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.inside:\n return Math.atan2(center.y - position.y, center.x - position.x);\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.outside:\n return Math.atan2(position.y - center.y, position.x - center.x);\n default:\n return getRandom() * doublePI;\n }\n}\nfunction getParticleBaseVelocity(direction) {\n const baseVelocity = _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_1__.Vector.origin;\n baseVelocity.length = 1;\n baseVelocity.angle = direction;\n return baseVelocity;\n}\nfunction collisionVelocity(v1, v2, m1, m2) {\n const double = 2;\n return _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_1__.Vector.create(v1.x * (m1 - m2) / (m1 + m2) + v2.x * double * m2 / (m1 + m2), v1.y);\n}\nfunction calcPositionFromSize(data) {\n return data.position?.x !== undefined && data.position.y !== undefined ? {\n x: data.position.x * data.size.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator,\n y: data.position.y * data.size.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator\n } : undefined;\n}\nfunction calcPositionOrRandomFromSize(data) {\n return {\n x: (data.position?.x ?? getRandom() * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator) * data.size.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator,\n y: (data.position?.y ?? getRandom() * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator) * data.size.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator\n };\n}\nfunction calcPositionOrRandomFromSizeRanged(data) {\n const position = {\n x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,\n y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined\n };\n return calcPositionOrRandomFromSize({\n size: data.size,\n position\n });\n}\nfunction calcExactPositionOrRandomFromSize(data) {\n return {\n x: data.position?.x ?? getRandom() * data.size.width,\n y: data.position?.y ?? getRandom() * data.size.height\n };\n}\nfunction calcExactPositionOrRandomFromSizeRanged(data) {\n const position = {\n x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,\n y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined\n };\n return calcExactPositionOrRandomFromSize({\n size: data.size,\n position\n });\n}\nfunction parseAlpha(input) {\n const defaultAlpha = 1;\n if (!input) {\n return defaultAlpha;\n }\n return input.endsWith(\"%\") ? parseFloat(input) / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator : parseFloat(input);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/NumberUtils.js?");
1987
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ animate: () => (/* binding */ animate),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* binding */ calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* binding */ calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* binding */ calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* binding */ calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* binding */ calcPositionOrRandomFromSizeRanged),\n/* harmony export */ cancelAnimation: () => (/* binding */ cancelAnimation),\n/* harmony export */ clamp: () => (/* binding */ clamp),\n/* harmony export */ collisionVelocity: () => (/* binding */ collisionVelocity),\n/* harmony export */ degToRad: () => (/* binding */ degToRad),\n/* harmony export */ getDistance: () => (/* binding */ getDistance),\n/* harmony export */ getDistances: () => (/* binding */ getDistances),\n/* harmony export */ getParticleBaseVelocity: () => (/* binding */ getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* binding */ getParticleDirectionAngle),\n/* harmony export */ getRandom: () => (/* binding */ getRandom),\n/* harmony export */ getRangeMax: () => (/* binding */ getRangeMax),\n/* harmony export */ getRangeMin: () => (/* binding */ getRangeMin),\n/* harmony export */ getRangeValue: () => (/* binding */ getRangeValue),\n/* harmony export */ mix: () => (/* binding */ mix),\n/* harmony export */ parseAlpha: () => (/* binding */ parseAlpha),\n/* harmony export */ randomInRange: () => (/* binding */ randomInRange),\n/* harmony export */ setAnimationFunctions: () => (/* binding */ setAnimationFunctions),\n/* harmony export */ setRandom: () => (/* binding */ setRandom),\n/* harmony export */ setRangeValue: () => (/* binding */ setRangeValue)\n/* harmony export */ });\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n\n\n\n\nlet _random = Math.random;\nconst _animationLoop = {\n nextFrame: cb => requestAnimationFrame(cb),\n cancel: idx => cancelAnimationFrame(idx)\n },\n double = 2,\n doublePI = Math.PI * double;\nfunction setRandom(rnd = Math.random) {\n _random = rnd;\n}\nfunction getRandom() {\n const min = 0,\n max = 1;\n return clamp(_random(), min, max - Number.EPSILON);\n}\nfunction setAnimationFunctions(nextFrame, cancel) {\n _animationLoop.nextFrame = callback => nextFrame(callback);\n _animationLoop.cancel = handle => cancel(handle);\n}\nfunction animate(fn) {\n return _animationLoop.nextFrame(fn);\n}\nfunction cancelAnimation(handle) {\n _animationLoop.cancel(handle);\n}\nfunction clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nfunction mix(comp1, comp2, weight1, weight2) {\n return Math.floor((comp1 * weight1 + comp2 * weight2) / (weight1 + weight2));\n}\nfunction randomInRange(r) {\n const max = getRangeMax(r),\n minOffset = 0;\n let min = getRangeMin(r);\n if (max === min) {\n min = minOffset;\n }\n return getRandom() * (max - min) + min;\n}\nfunction getRangeValue(value) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(value) ? value : randomInRange(value);\n}\nfunction getRangeMin(value) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(value) ? value : value.min;\n}\nfunction getRangeMax(value) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(value) ? value : value.max;\n}\nfunction setRangeValue(source, value) {\n if (source === value || value === undefined && (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(source)) {\n return source;\n }\n const min = getRangeMin(source),\n max = getRangeMax(source);\n return value !== undefined ? {\n min: Math.min(min, value),\n max: Math.max(max, value)\n } : setRangeValue(min, max);\n}\nfunction getDistances(pointA, pointB) {\n const dx = pointA.x - pointB.x,\n dy = pointA.y - pointB.y,\n squareExp = 2;\n return {\n dx: dx,\n dy: dy,\n distance: Math.sqrt(dx ** squareExp + dy ** squareExp)\n };\n}\nfunction getDistance(pointA, pointB) {\n return getDistances(pointA, pointB).distance;\n}\nfunction degToRad(degrees) {\n const PIDeg = 180;\n return degrees * Math.PI / PIDeg;\n}\nfunction getParticleDirectionAngle(direction, position, center) {\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNumber)(direction)) {\n return degToRad(direction);\n }\n const empty = 0,\n half = 0.5,\n quarter = 0.25,\n threeQuarter = half + quarter;\n switch (direction) {\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.top:\n return -Math.PI * half;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.topRight:\n return -Math.PI * quarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.right:\n return empty;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.bottomRight:\n return Math.PI * quarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.bottom:\n return Math.PI * half;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.bottomLeft:\n return Math.PI * threeQuarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.left:\n return Math.PI;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.topLeft:\n return -Math.PI * threeQuarter;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.inside:\n return Math.atan2(center.y - position.y, center.x - position.x);\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_0__.MoveDirection.outside:\n return Math.atan2(position.y - center.y, position.x - center.x);\n default:\n return getRandom() * doublePI;\n }\n}\nfunction getParticleBaseVelocity(direction) {\n const baseVelocity = _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_1__.Vector.origin;\n baseVelocity.length = 1;\n baseVelocity.angle = direction;\n return baseVelocity;\n}\nfunction collisionVelocity(v1, v2, m1, m2) {\n const double = 2;\n return _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_1__.Vector.create(v1.x * (m1 - m2) / (m1 + m2) + v2.x * double * m2 / (m1 + m2), v1.y);\n}\nfunction calcPositionFromSize(data) {\n return data.position?.x !== undefined && data.position.y !== undefined ? {\n x: data.position.x * data.size.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator,\n y: data.position.y * data.size.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator\n } : undefined;\n}\nfunction calcPositionOrRandomFromSize(data) {\n return {\n x: (data.position?.x ?? getRandom() * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator) * data.size.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator,\n y: (data.position?.y ?? getRandom() * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator) * data.size.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator\n };\n}\nfunction calcPositionOrRandomFromSizeRanged(data) {\n const position = {\n x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,\n y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined\n };\n return calcPositionOrRandomFromSize({\n size: data.size,\n position\n });\n}\nfunction calcExactPositionOrRandomFromSize(data) {\n return {\n x: data.position?.x ?? getRandom() * data.size.width,\n y: data.position?.y ?? getRandom() * data.size.height\n };\n}\nfunction calcExactPositionOrRandomFromSizeRanged(data) {\n const position = {\n x: data.position?.x !== undefined ? getRangeValue(data.position.x) : undefined,\n y: data.position?.y !== undefined ? getRangeValue(data.position.y) : undefined\n };\n return calcExactPositionOrRandomFromSize({\n size: data.size,\n position\n });\n}\nfunction parseAlpha(input) {\n const defaultAlpha = 1;\n if (!input) {\n return defaultAlpha;\n }\n return input.endsWith(\"%\") ? parseFloat(input) / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_3__.percentDenominator : parseFloat(input);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/NumberUtils.js?");
1998
1988
 
1999
1989
  /***/ }),
2000
1990
 
@@ -2008,23 +1998,13 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2008
1998
 
2009
1999
  /***/ }),
2010
2000
 
2011
- /***/ "../../engine/dist/browser/Utils/RgbColorManager.js":
2012
- /*!**********************************************************!*\
2013
- !*** ../../engine/dist/browser/Utils/RgbColorManager.js ***!
2014
- \**********************************************************/
2015
- /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2016
-
2017
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RgbColorManager: () => (/* binding */ RgbColorManager)\n/* harmony export */ });\n/* harmony import */ var _NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n\nvar RgbIndexes;\n(function (RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 5] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nclass RgbColorManager {\n constructor() {\n this.key = \"rgb\";\n this.stringPrefix = \"rgb\";\n }\n handleColor(color) {\n const colorValue = color.value,\n rgbColor = colorValue.rgb ?? color.value;\n if (rgbColor.r !== undefined) {\n return rgbColor;\n }\n }\n handleRangeColor(color) {\n const colorValue = color.value,\n rgbColor = colorValue.rgb ?? color.value;\n if (rgbColor.r !== undefined) {\n return {\n r: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.r),\n g: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.g),\n b: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.b)\n };\n }\n }\n parseString(input) {\n if (!input.startsWith(this.stringPrefix)) {\n return;\n }\n const regex = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([\\d.%]+)\\s*)?\\)/i,\n result = regex.exec(input),\n radix = 10,\n minLength = 4,\n defaultAlpha = 1;\n return result ? {\n a: result.length > minLength ? (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[RgbIndexes.a]) : defaultAlpha,\n b: parseInt(result[RgbIndexes.b], radix),\n g: parseInt(result[RgbIndexes.g], radix),\n r: parseInt(result[RgbIndexes.r], radix)\n } : undefined;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/RgbColorManager.js?");
2018
-
2019
- /***/ }),
2020
-
2021
2001
  /***/ "../../engine/dist/browser/Utils/TypeUtils.js":
2022
2002
  /*!****************************************************!*\
2023
2003
  !*** ../../engine/dist/browser/Utils/TypeUtils.js ***!
2024
2004
  \****************************************************/
2025
2005
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2026
2006
 
2027
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isArray: () => (/* binding */ isArray),\n/* harmony export */ isBoolean: () => (/* binding */ isBoolean),\n/* harmony export */ isFunction: () => (/* binding */ isFunction),\n/* harmony export */ isNumber: () => (/* binding */ isNumber),\n/* harmony export */ isObject: () => (/* binding */ isObject),\n/* harmony export */ isString: () => (/* binding */ isString)\n/* harmony export */ });\nfunction isBoolean(arg) {\n return typeof arg === \"boolean\";\n}\nfunction isString(arg) {\n return typeof arg === \"string\";\n}\nfunction isNumber(arg) {\n return typeof arg === \"number\";\n}\nfunction isFunction(arg) {\n return typeof arg === \"function\";\n}\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg !== null;\n}\nfunction isArray(arg) {\n return Array.isArray(arg);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/TypeUtils.js?");
2007
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ isArray: () => (/* binding */ isArray),\n/* harmony export */ isBoolean: () => (/* binding */ isBoolean),\n/* harmony export */ isFunction: () => (/* binding */ isFunction),\n/* harmony export */ isNull: () => (/* binding */ isNull),\n/* harmony export */ isNumber: () => (/* binding */ isNumber),\n/* harmony export */ isObject: () => (/* binding */ isObject),\n/* harmony export */ isString: () => (/* binding */ isString)\n/* harmony export */ });\nfunction isBoolean(arg) {\n return typeof arg === \"boolean\";\n}\nfunction isString(arg) {\n return typeof arg === \"string\";\n}\nfunction isNumber(arg) {\n return typeof arg === \"number\";\n}\nfunction isFunction(arg) {\n return typeof arg === \"function\";\n}\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg !== null;\n}\nfunction isArray(arg) {\n return Array.isArray(arg);\n}\nfunction isNull(arg) {\n return arg === null || arg === undefined;\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/TypeUtils.js?");
2028
2008
 
2029
2009
  /***/ }),
2030
2010
 
@@ -2034,7 +2014,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2034
2014
  \************************************************/
2035
2015
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2036
2016
 
2037
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ areBoundsInside: () => (/* binding */ areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* binding */ arrayRandomIndex),\n/* harmony export */ calculateBounds: () => (/* binding */ calculateBounds),\n/* harmony export */ circleBounce: () => (/* binding */ circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* binding */ circleBounceDataFromParticle),\n/* harmony export */ deepExtend: () => (/* binding */ deepExtend),\n/* harmony export */ divMode: () => (/* binding */ divMode),\n/* harmony export */ divModeExecute: () => (/* binding */ divModeExecute),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* binding */ executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* binding */ findItemFromSingleOrMultiple),\n/* harmony export */ getLogger: () => (/* binding */ getLogger),\n/* harmony export */ getPosition: () => (/* binding */ getPosition),\n/* harmony export */ getSize: () => (/* binding */ getSize),\n/* harmony export */ hasMatchMedia: () => (/* binding */ hasMatchMedia),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* binding */ initParticleNumericAnimationValue),\n/* harmony export */ isDivModeEnabled: () => (/* binding */ isDivModeEnabled),\n/* harmony export */ isInArray: () => (/* binding */ isInArray),\n/* harmony export */ isPointInside: () => (/* binding */ isPointInside),\n/* harmony export */ isSsr: () => (/* binding */ isSsr),\n/* harmony export */ itemFromArray: () => (/* binding */ itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* binding */ itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* binding */ loadFont),\n/* harmony export */ rectBounce: () => (/* binding */ rectBounce),\n/* harmony export */ safeIntersectionObserver: () => (/* binding */ safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* binding */ safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* binding */ safeMutationObserver),\n/* harmony export */ setLogger: () => (/* binding */ setLogger),\n/* harmony export */ singleDivModeExecute: () => (/* binding */ singleDivModeExecute),\n/* harmony export */ updateAnimation: () => (/* binding */ updateAnimation)\n/* harmony export */ });\n/* harmony import */ var _NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Enums/Directions/OutModeDirection.js */ \"../../engine/dist/browser/Enums/Directions/OutModeDirection.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n\n\n\n\n\n\n\n\n\n\nconst _logger = {\n debug: console.debug,\n error: console.error,\n info: console.info,\n log: console.log,\n verbose: console.log,\n warning: console.warn\n};\nfunction setLogger(logger) {\n _logger.debug = logger.debug || _logger.debug;\n _logger.error = logger.error || _logger.error;\n _logger.info = logger.info || _logger.info;\n _logger.log = logger.log || _logger.log;\n _logger.verbose = logger.verbose || _logger.verbose;\n _logger.warning = logger.warning || _logger.warning;\n}\nfunction getLogger() {\n return _logger;\n}\nfunction rectSideBounce(data) {\n const res = {\n bounced: false\n },\n {\n pSide,\n pOtherSide,\n rectSide,\n rectOtherSide,\n velocity,\n factor\n } = data,\n half = 0.5,\n minVelocity = 0;\n if (pOtherSide.min < rectOtherSide.min || pOtherSide.min > rectOtherSide.max || pOtherSide.max < rectOtherSide.min || pOtherSide.max > rectOtherSide.max) {\n return res;\n }\n if (pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) * half && velocity > minVelocity || pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) * half && velocity < minVelocity) {\n res.velocity = velocity * -factor;\n res.bounced = true;\n }\n return res;\n}\nfunction checkSelector(element, selectors) {\n const res = executeOnSingleOrMultiple(selectors, selector => {\n return element.matches(selector);\n });\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(res) ? res.some(t => t) : res;\n}\nfunction isSsr() {\n return typeof window === \"undefined\" || !window || typeof window.document === \"undefined\" || !window.document;\n}\nfunction hasMatchMedia() {\n return !isSsr() && typeof matchMedia !== \"undefined\";\n}\nfunction safeMatchMedia(query) {\n if (!hasMatchMedia()) {\n return;\n }\n return matchMedia(query);\n}\nfunction safeIntersectionObserver(callback) {\n if (isSsr() || typeof IntersectionObserver === \"undefined\") {\n return;\n }\n return new IntersectionObserver(callback);\n}\nfunction safeMutationObserver(callback) {\n if (isSsr() || typeof MutationObserver === \"undefined\") {\n return;\n }\n return new MutationObserver(callback);\n}\nfunction isInArray(value, array) {\n const invalidIndex = -1;\n return value === array || (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(array) && array.indexOf(value) > invalidIndex;\n}\nasync function loadFont(font, weight) {\n try {\n await document.fonts.load(`${weight ?? \"400\"} 36px '${font ?? \"Verdana\"}'`);\n } catch {}\n}\nfunction arrayRandomIndex(array) {\n return Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * array.length);\n}\nfunction itemFromArray(array, index, useIndex = true) {\n return array[index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array)];\n}\nfunction isPointInside(point, size, offset, radius, direction) {\n const minRadius = 0;\n return areBoundsInside(calculateBounds(point, radius ?? minRadius), size, offset, direction);\n}\nfunction areBoundsInside(bounds, size, offset, direction) {\n let inside = true;\n if (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.bottom) {\n inside = bounds.top < size.height + offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.left)) {\n inside = bounds.right > offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.right)) {\n inside = bounds.left < size.width + offset.y;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.top)) {\n inside = bounds.bottom > offset.y;\n }\n return inside;\n}\nfunction calculateBounds(point, radius) {\n return {\n bottom: point.y + radius,\n left: point.x - radius,\n right: point.x + radius,\n top: point.y - radius\n };\n}\nfunction deepExtend(destination, ...sources) {\n for (const source of sources) {\n if (source === undefined || source === null) {\n continue;\n }\n if (!(0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(source)) {\n destination = source;\n continue;\n }\n const sourceIsArray = Array.isArray(source);\n if (sourceIsArray && ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(destination) || !destination || !Array.isArray(destination))) {\n destination = [];\n } else if (!sourceIsArray && ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(destination) || !destination || Array.isArray(destination))) {\n destination = {};\n }\n for (const key in source) {\n if (key === \"__proto__\") {\n continue;\n }\n const sourceDict = source,\n value = sourceDict[key],\n destDict = destination;\n destDict[key] = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(value) && Array.isArray(value) ? value.map(v => deepExtend(destDict[key], v)) : deepExtend(destDict[key], value);\n }\n }\n return destination;\n}\nfunction isDivModeEnabled(mode, divs) {\n return !!findItemFromSingleOrMultiple(divs, t => t.enable && isInArray(mode, t.mode));\n}\nfunction divModeExecute(mode, divs, callback) {\n executeOnSingleOrMultiple(divs, div => {\n const divMode = div.mode,\n divEnabled = div.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n });\n}\nfunction singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n executeOnSingleOrMultiple(selectors, selector => {\n callback(selector, div);\n });\n}\nfunction divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n return findItemFromSingleOrMultiple(divs, div => {\n return checkSelector(element, div.selectors);\n });\n}\nfunction circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__.Vector.create((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.horizontal.value), (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.vertical.value))\n };\n}\nfunction circleBounce(p1, p2) {\n const {\n x: xVelocityDiff,\n y: yVelocityDiff\n } = p1.velocity.sub(p2.velocity),\n [pos1, pos2] = [p1.position, p2.position],\n {\n dx: xDist,\n dy: yDist\n } = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getDistances)(pos2, pos1),\n minimumDistance = 0;\n if (xVelocityDiff * xDist + yVelocityDiff * yDist < minimumDistance) {\n return;\n }\n const angle = -Math.atan2(yDist, xDist),\n m1 = p1.mass,\n m2 = p2.mass,\n u1 = p1.velocity.rotate(angle),\n u2 = p2.velocity.rotate(angle),\n v1 = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u1, u2, m1, m2),\n v2 = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u2, u1, m1, m2),\n vFinal1 = v1.rotate(-angle),\n vFinal2 = v2.rotate(-angle);\n p1.velocity.x = vFinal1.x * p1.factor.x;\n p1.velocity.y = vFinal1.y * p1.factor.y;\n p2.velocity.x = vFinal2.x * p2.factor.x;\n p2.velocity.y = vFinal2.y * p2.factor.y;\n}\nfunction rectBounce(particle, divBounds) {\n const pPos = particle.getPosition(),\n size = particle.getRadius(),\n bounds = calculateBounds(pPos, size),\n bounceOptions = particle.options.bounce,\n resH = rectSideBounce({\n pSide: {\n min: bounds.left,\n max: bounds.right\n },\n pOtherSide: {\n min: bounds.top,\n max: bounds.bottom\n },\n rectSide: {\n min: divBounds.left,\n max: divBounds.right\n },\n rectOtherSide: {\n min: divBounds.top,\n max: divBounds.bottom\n },\n velocity: particle.velocity.x,\n factor: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(bounceOptions.horizontal.value)\n });\n if (resH.bounced) {\n if (resH.velocity !== undefined) {\n particle.velocity.x = resH.velocity;\n }\n if (resH.position !== undefined) {\n particle.position.x = resH.position;\n }\n }\n const resV = rectSideBounce({\n pSide: {\n min: bounds.top,\n max: bounds.bottom\n },\n pOtherSide: {\n min: bounds.left,\n max: bounds.right\n },\n rectSide: {\n min: divBounds.top,\n max: divBounds.bottom\n },\n rectOtherSide: {\n min: divBounds.left,\n max: divBounds.right\n },\n velocity: particle.velocity.y,\n factor: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(bounceOptions.vertical.value)\n });\n if (resV.bounced) {\n if (resV.velocity !== undefined) {\n particle.velocity.y = resV.velocity;\n }\n if (resV.position !== undefined) {\n particle.position.y = resV.position;\n }\n }\n}\nfunction executeOnSingleOrMultiple(obj, callback) {\n const defaultIndex = 0;\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? obj.map((item, index) => callback(item, index)) : callback(obj, defaultIndex);\n}\nfunction itemFromSingleOrMultiple(obj, index, useIndex) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? itemFromArray(obj, index, useIndex) : obj;\n}\nfunction findItemFromSingleOrMultiple(obj, callback) {\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj)) {\n return obj.find((t, index) => callback(t, index));\n }\n const defaultIndex = 0;\n return callback(obj, defaultIndex) ? obj : undefined;\n}\nfunction initParticleNumericAnimationValue(options, pxRatio) {\n const valueRange = options.value,\n animationOptions = options.animation,\n res = {\n delayTime: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.delay) * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds,\n enable: animationOptions.enable,\n value: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(options.value) * pxRatio,\n max: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(valueRange) * pxRatio,\n min: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(valueRange) * pxRatio,\n loops: 0,\n maxLoops: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.count),\n time: 0\n },\n decayOffset = 1;\n if (animationOptions.enable) {\n res.decay = decayOffset - (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.decay);\n switch (animationOptions.mode) {\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.increase:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.decrease:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.random:\n res.status = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.halfRandom ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n }\n const autoStatus = animationOptions.mode === _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.auto;\n switch (animationOptions.startValue) {\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.min:\n res.value = res.min;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.max:\n res.value = res.max;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.random:\n default:\n res.value = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(res);\n if (autoStatus) {\n res.status = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.halfRandom ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n }\n }\n res.initialValue = res.value;\n return res;\n}\nfunction getPositionOrSize(positionOrSize, canvasSize) {\n const isPercent = positionOrSize.mode === _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__.PixelMode.percent;\n if (!isPercent) {\n const {\n mode: _,\n ...rest\n } = positionOrSize;\n return rest;\n }\n const isPosition = \"x\" in positionOrSize;\n if (isPosition) {\n return {\n x: positionOrSize.x / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n y: positionOrSize.y / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n } else {\n return {\n width: positionOrSize.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n height: positionOrSize.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n }\n}\nfunction getPosition(position, canvasSize) {\n return getPositionOrSize(position, canvasSize);\n}\nfunction getSize(size, canvasSize) {\n return getPositionOrSize(size, canvasSize);\n}\nfunction checkDestroy(particle, destroyType, value, minValue, maxValue) {\n switch (destroyType) {\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateAnimation(particle, data, changeDirection, destroyType, delta) {\n const minLoops = 0,\n minDelay = 0,\n identity = 1,\n minVelocity = 0,\n minDecay = 1;\n if (particle.destroyed || !data || !data.enable || (data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops)) {\n return;\n }\n const velocity = (data.velocity ?? minVelocity) * delta.factor,\n minValue = data.min,\n maxValue = data.max,\n decay = data.decay ?? minDecay;\n if (!data.time) {\n data.time = 0;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n data.time += delta.value;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n return;\n }\n switch (data.status) {\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing:\n if (data.value >= maxValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n } else {\n data.value -= maxValue;\n }\n if (!data.loops) {\n data.loops = minLoops;\n }\n data.loops++;\n } else {\n data.value += velocity;\n }\n break;\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing:\n if (data.value <= minValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n } else {\n data.value += maxValue;\n }\n if (!data.loops) {\n data.loops = minLoops;\n }\n data.loops++;\n } else {\n data.value -= velocity;\n }\n }\n if (data.velocity && decay !== identity) {\n data.velocity *= decay;\n }\n checkDestroy(particle, destroyType, data.value, minValue, maxValue);\n if (!particle.destroyed) {\n data.value = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.clamp)(data.value, minValue, maxValue);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/Utils.js?");
2017
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ areBoundsInside: () => (/* binding */ areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* binding */ arrayRandomIndex),\n/* harmony export */ assertValidVersion: () => (/* binding */ assertValidVersion),\n/* harmony export */ calculateBounds: () => (/* binding */ calculateBounds),\n/* harmony export */ circleBounce: () => (/* binding */ circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* binding */ circleBounceDataFromParticle),\n/* harmony export */ deepExtend: () => (/* binding */ deepExtend),\n/* harmony export */ divMode: () => (/* binding */ divMode),\n/* harmony export */ divModeExecute: () => (/* binding */ divModeExecute),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* binding */ executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* binding */ findItemFromSingleOrMultiple),\n/* harmony export */ getLogger: () => (/* binding */ getLogger),\n/* harmony export */ getPosition: () => (/* binding */ getPosition),\n/* harmony export */ getSize: () => (/* binding */ getSize),\n/* harmony export */ hasMatchMedia: () => (/* binding */ hasMatchMedia),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* binding */ initParticleNumericAnimationValue),\n/* harmony export */ isDivModeEnabled: () => (/* binding */ isDivModeEnabled),\n/* harmony export */ isInArray: () => (/* binding */ isInArray),\n/* harmony export */ isPointInside: () => (/* binding */ isPointInside),\n/* harmony export */ isSsr: () => (/* binding */ isSsr),\n/* harmony export */ itemFromArray: () => (/* binding */ itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* binding */ itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* binding */ loadFont),\n/* harmony export */ rectBounce: () => (/* binding */ rectBounce),\n/* harmony export */ safeIntersectionObserver: () => (/* binding */ safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* binding */ safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* binding */ safeMutationObserver),\n/* harmony export */ setLogger: () => (/* binding */ setLogger),\n/* harmony export */ singleDivModeExecute: () => (/* binding */ singleDivModeExecute),\n/* harmony export */ updateAnimation: () => (/* binding */ updateAnimation)\n/* harmony export */ });\n/* harmony import */ var _NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Enums/Directions/OutModeDirection.js */ \"../../engine/dist/browser/Enums/Directions/OutModeDirection.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n\n\n\n\n\n\n\n\n\n\nconst _logger = {\n debug: console.debug,\n error: console.error,\n info: console.info,\n log: console.log,\n verbose: console.log,\n warning: console.warn\n};\nfunction setLogger(logger) {\n _logger.debug = logger.debug || _logger.debug;\n _logger.error = logger.error || _logger.error;\n _logger.info = logger.info || _logger.info;\n _logger.log = logger.log || _logger.log;\n _logger.verbose = logger.verbose || _logger.verbose;\n _logger.warning = logger.warning || _logger.warning;\n}\nfunction getLogger() {\n return _logger;\n}\nfunction rectSideBounce(data) {\n const res = {\n bounced: false\n },\n {\n pSide,\n pOtherSide,\n rectSide,\n rectOtherSide,\n velocity,\n factor\n } = data,\n half = 0.5,\n minVelocity = 0;\n if (pOtherSide.min < rectOtherSide.min || pOtherSide.min > rectOtherSide.max || pOtherSide.max < rectOtherSide.min || pOtherSide.max > rectOtherSide.max) {\n return res;\n }\n if (pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) * half && velocity > minVelocity || pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) * half && velocity < minVelocity) {\n res.velocity = velocity * -factor;\n res.bounced = true;\n }\n return res;\n}\nfunction checkSelector(element, selectors) {\n const res = executeOnSingleOrMultiple(selectors, selector => {\n return element.matches(selector);\n });\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(res) ? res.some(t => t) : res;\n}\nfunction isSsr() {\n return typeof window === \"undefined\" || !window || typeof window.document === \"undefined\" || !window.document;\n}\nfunction hasMatchMedia() {\n return !isSsr() && typeof matchMedia !== \"undefined\";\n}\nfunction safeMatchMedia(query) {\n if (!hasMatchMedia()) {\n return;\n }\n return matchMedia(query);\n}\nfunction safeIntersectionObserver(callback) {\n if (isSsr() || typeof IntersectionObserver === \"undefined\") {\n return;\n }\n return new IntersectionObserver(callback);\n}\nfunction safeMutationObserver(callback) {\n if (isSsr() || typeof MutationObserver === \"undefined\") {\n return;\n }\n return new MutationObserver(callback);\n}\nfunction isInArray(value, array) {\n const invalidIndex = -1;\n return value === array || (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(array) && array.indexOf(value) > invalidIndex;\n}\nasync function loadFont(font, weight) {\n try {\n await document.fonts.load(`${weight ?? \"400\"} 36px '${font ?? \"Verdana\"}'`);\n } catch {}\n}\nfunction arrayRandomIndex(array) {\n return Math.floor((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * array.length);\n}\nfunction itemFromArray(array, index, useIndex = true) {\n return array[index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array)];\n}\nfunction isPointInside(point, size, offset, radius, direction) {\n const minRadius = 0;\n return areBoundsInside(calculateBounds(point, radius ?? minRadius), size, offset, direction);\n}\nfunction areBoundsInside(bounds, size, offset, direction) {\n let inside = true;\n if (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.bottom) {\n inside = bounds.top < size.height + offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.left)) {\n inside = bounds.right > offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.right)) {\n inside = bounds.left < size.width + offset.y;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.top)) {\n inside = bounds.bottom > offset.y;\n }\n return inside;\n}\nfunction calculateBounds(point, radius) {\n return {\n bottom: point.y + radius,\n left: point.x - radius,\n right: point.x + radius,\n top: point.y - radius\n };\n}\nfunction deepExtend(destination, ...sources) {\n for (const source of sources) {\n if (source === undefined || source === null) {\n continue;\n }\n if (!(0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(source)) {\n destination = source;\n continue;\n }\n const sourceIsArray = Array.isArray(source);\n if (sourceIsArray && ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(destination) || !destination || !Array.isArray(destination))) {\n destination = [];\n } else if (!sourceIsArray && ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(destination) || !destination || Array.isArray(destination))) {\n destination = {};\n }\n for (const key in source) {\n if (key === \"__proto__\") {\n continue;\n }\n const sourceDict = source,\n value = sourceDict[key],\n destDict = destination;\n destDict[key] = (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(value) && Array.isArray(value) ? value.map(v => deepExtend(destDict[key], v)) : deepExtend(destDict[key], value);\n }\n }\n return destination;\n}\nfunction isDivModeEnabled(mode, divs) {\n return !!findItemFromSingleOrMultiple(divs, t => t.enable && isInArray(mode, t.mode));\n}\nfunction divModeExecute(mode, divs, callback) {\n executeOnSingleOrMultiple(divs, div => {\n const divMode = div.mode,\n divEnabled = div.enable;\n if (divEnabled && isInArray(mode, divMode)) {\n singleDivModeExecute(div, callback);\n }\n });\n}\nfunction singleDivModeExecute(div, callback) {\n const selectors = div.selectors;\n executeOnSingleOrMultiple(selectors, selector => {\n callback(selector, div);\n });\n}\nfunction divMode(divs, element) {\n if (!element || !divs) {\n return;\n }\n return findItemFromSingleOrMultiple(divs, div => {\n return checkSelector(element, div.selectors);\n });\n}\nfunction circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__.Vector.create((0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.horizontal.value), (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.vertical.value))\n };\n}\nfunction circleBounce(p1, p2) {\n const {\n x: xVelocityDiff,\n y: yVelocityDiff\n } = p1.velocity.sub(p2.velocity),\n [pos1, pos2] = [p1.position, p2.position],\n {\n dx: xDist,\n dy: yDist\n } = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getDistances)(pos2, pos1),\n minimumDistance = 0;\n if (xVelocityDiff * xDist + yVelocityDiff * yDist < minimumDistance) {\n return;\n }\n const angle = -Math.atan2(yDist, xDist),\n m1 = p1.mass,\n m2 = p2.mass,\n u1 = p1.velocity.rotate(angle),\n u2 = p2.velocity.rotate(angle),\n v1 = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u1, u2, m1, m2),\n v2 = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u2, u1, m1, m2),\n vFinal1 = v1.rotate(-angle),\n vFinal2 = v2.rotate(-angle);\n p1.velocity.x = vFinal1.x * p1.factor.x;\n p1.velocity.y = vFinal1.y * p1.factor.y;\n p2.velocity.x = vFinal2.x * p2.factor.x;\n p2.velocity.y = vFinal2.y * p2.factor.y;\n}\nfunction rectBounce(particle, divBounds) {\n const pPos = particle.getPosition(),\n size = particle.getRadius(),\n bounds = calculateBounds(pPos, size),\n bounceOptions = particle.options.bounce,\n resH = rectSideBounce({\n pSide: {\n min: bounds.left,\n max: bounds.right\n },\n pOtherSide: {\n min: bounds.top,\n max: bounds.bottom\n },\n rectSide: {\n min: divBounds.left,\n max: divBounds.right\n },\n rectOtherSide: {\n min: divBounds.top,\n max: divBounds.bottom\n },\n velocity: particle.velocity.x,\n factor: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(bounceOptions.horizontal.value)\n });\n if (resH.bounced) {\n if (resH.velocity !== undefined) {\n particle.velocity.x = resH.velocity;\n }\n if (resH.position !== undefined) {\n particle.position.x = resH.position;\n }\n }\n const resV = rectSideBounce({\n pSide: {\n min: bounds.top,\n max: bounds.bottom\n },\n pOtherSide: {\n min: bounds.left,\n max: bounds.right\n },\n rectSide: {\n min: divBounds.top,\n max: divBounds.bottom\n },\n rectOtherSide: {\n min: divBounds.left,\n max: divBounds.right\n },\n velocity: particle.velocity.y,\n factor: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(bounceOptions.vertical.value)\n });\n if (resV.bounced) {\n if (resV.velocity !== undefined) {\n particle.velocity.y = resV.velocity;\n }\n if (resV.position !== undefined) {\n particle.position.y = resV.position;\n }\n }\n}\nfunction executeOnSingleOrMultiple(obj, callback) {\n const defaultIndex = 0;\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? obj.map((item, index) => callback(item, index)) : callback(obj, defaultIndex);\n}\nfunction itemFromSingleOrMultiple(obj, index, useIndex) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? itemFromArray(obj, index, useIndex) : obj;\n}\nfunction findItemFromSingleOrMultiple(obj, callback) {\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj)) {\n return obj.find((t, index) => callback(t, index));\n }\n const defaultIndex = 0;\n return callback(obj, defaultIndex) ? obj : undefined;\n}\nfunction initParticleNumericAnimationValue(options, pxRatio) {\n const valueRange = options.value,\n animationOptions = options.animation,\n res = {\n delayTime: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.delay) * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds,\n enable: animationOptions.enable,\n value: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(options.value) * pxRatio,\n max: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(valueRange) * pxRatio,\n min: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(valueRange) * pxRatio,\n loops: 0,\n maxLoops: (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.count),\n time: 0\n },\n decayOffset = 1;\n if (animationOptions.enable) {\n res.decay = decayOffset - (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.decay);\n switch (animationOptions.mode) {\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.increase:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.decrease:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.random:\n res.status = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.halfRandom ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n }\n const autoStatus = animationOptions.mode === _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.auto;\n switch (animationOptions.startValue) {\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.min:\n res.value = res.min;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.max:\n res.value = res.max;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.random:\n default:\n res.value = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(res);\n if (autoStatus) {\n res.status = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.halfRandom ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n }\n }\n res.initialValue = res.value;\n return res;\n}\nfunction getPositionOrSize(positionOrSize, canvasSize) {\n const isPercent = positionOrSize.mode === _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__.PixelMode.percent;\n if (!isPercent) {\n const {\n mode: _,\n ...rest\n } = positionOrSize;\n return rest;\n }\n const isPosition = \"x\" in positionOrSize;\n if (isPosition) {\n return {\n x: positionOrSize.x / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n y: positionOrSize.y / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n } else {\n return {\n width: positionOrSize.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n height: positionOrSize.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n }\n}\nfunction getPosition(position, canvasSize) {\n return getPositionOrSize(position, canvasSize);\n}\nfunction getSize(size, canvasSize) {\n return getPositionOrSize(size, canvasSize);\n}\nfunction checkDestroy(particle, destroyType, value, minValue, maxValue) {\n switch (destroyType) {\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n }\n}\nfunction updateAnimation(particle, data, changeDirection, destroyType, delta) {\n const minLoops = 0,\n minDelay = 0,\n identity = 1,\n minVelocity = 0,\n minDecay = 1;\n if (particle.destroyed || !data || !data.enable || (data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops)) {\n return;\n }\n const velocity = (data.velocity ?? minVelocity) * delta.factor,\n minValue = data.min,\n maxValue = data.max,\n decay = data.decay ?? minDecay;\n if (!data.time) {\n data.time = 0;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n data.time += delta.value;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n return;\n }\n switch (data.status) {\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing:\n if (data.value >= maxValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n } else {\n data.value -= maxValue;\n }\n if (!data.loops) {\n data.loops = minLoops;\n }\n data.loops++;\n } else {\n data.value += velocity;\n }\n break;\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing:\n if (data.value <= minValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n } else {\n data.value += maxValue;\n }\n if (!data.loops) {\n data.loops = minLoops;\n }\n data.loops++;\n } else {\n data.value -= velocity;\n }\n }\n if (data.velocity && decay !== identity) {\n data.velocity *= decay;\n }\n checkDestroy(particle, destroyType, data.value, minValue, maxValue);\n if (!particle.destroyed) {\n data.value = (0,_NumberUtils_js__WEBPACK_IMPORTED_MODULE_0__.clamp)(data.value, minValue, maxValue);\n }\n}\nfunction assertValidVersion(engine, pluginVersion) {\n if (engine.version === pluginVersion) {\n return;\n }\n throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${engine.version}. Plugins version: ${pluginVersion}`);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/Utils/Utils.js?");
2038
2018
 
2039
2019
  /***/ }),
2040
2020
 
@@ -2054,7 +2034,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Cor
2054
2034
  \********************************************/
2055
2035
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2056
2036
 
2057
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AlterType: () => (/* reexport safe */ _Enums_Types_AlterType_js__WEBPACK_IMPORTED_MODULE_16__.AlterType),\n/* harmony export */ AnimatableColor: () => (/* reexport safe */ _Options_Classes_AnimatableColor_js__WEBPACK_IMPORTED_MODULE_27__.AnimatableColor),\n/* harmony export */ AnimationMode: () => (/* reexport safe */ _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_9__.AnimationMode),\n/* harmony export */ AnimationOptions: () => (/* reexport safe */ _Options_Classes_AnimationOptions_js__WEBPACK_IMPORTED_MODULE_28__.AnimationOptions),\n/* harmony export */ AnimationStatus: () => (/* reexport safe */ _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_25__.AnimationStatus),\n/* harmony export */ AnimationValueWithRandom: () => (/* reexport safe */ _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__.AnimationValueWithRandom),\n/* harmony export */ Background: () => (/* reexport safe */ _Options_Classes_Background_Background_js__WEBPACK_IMPORTED_MODULE_29__.Background),\n/* harmony export */ BackgroundMask: () => (/* reexport safe */ _Options_Classes_BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_30__.BackgroundMask),\n/* harmony export */ BackgroundMaskCover: () => (/* reexport safe */ _Options_Classes_BackgroundMask_BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_31__.BackgroundMaskCover),\n/* harmony export */ BaseRange: () => (/* reexport safe */ _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__.BaseRange),\n/* harmony export */ Circle: () => (/* reexport safe */ _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__.Circle),\n/* harmony export */ ClickEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_ClickEvent_js__WEBPACK_IMPORTED_MODULE_35__.ClickEvent),\n/* harmony export */ CollisionMode: () => (/* reexport safe */ _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_10__.CollisionMode),\n/* harmony export */ Collisions: () => (/* reexport safe */ _Options_Classes_Particles_Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_48__.Collisions),\n/* harmony export */ CollisionsAbsorb: () => (/* reexport safe */ _Options_Classes_Particles_Collisions_CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_49__.CollisionsAbsorb),\n/* harmony export */ CollisionsOverlap: () => (/* reexport safe */ _Options_Classes_Particles_Collisions_CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_50__.CollisionsOverlap),\n/* harmony export */ ColorAnimation: () => (/* reexport safe */ _Options_Classes_ColorAnimation_js__WEBPACK_IMPORTED_MODULE_32__.ColorAnimation),\n/* harmony export */ DestroyType: () => (/* reexport safe */ _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_17__.DestroyType),\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_36__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_22__.DivType),\n/* harmony export */ EasingType: () => (/* reexport safe */ _Enums_Types_EasingType_js__WEBPACK_IMPORTED_MODULE_23__.EasingType),\n/* harmony export */ EventType: () => (/* reexport safe */ _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_24__.EventType),\n/* harmony export */ Events: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_Events_js__WEBPACK_IMPORTED_MODULE_37__.Events),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _Core_Utils_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ FullScreen: () => (/* reexport safe */ _Options_Classes_FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_33__.FullScreen),\n/* harmony export */ GradientType: () => (/* reexport safe */ _Enums_Types_GradientType_js__WEBPACK_IMPORTED_MODULE_18__.GradientType),\n/* harmony export */ HoverEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_HoverEvent_js__WEBPACK_IMPORTED_MODULE_38__.HoverEvent),\n/* harmony export */ HslAnimation: () => (/* reexport safe */ _Options_Classes_HslAnimation_js__WEBPACK_IMPORTED_MODULE_34__.HslAnimation),\n/* harmony export */ HslColorManager: () => (/* reexport safe */ _Utils_HslColorManager_js__WEBPACK_IMPORTED_MODULE_78__.HslColorManager),\n/* harmony export */ Interactivity: () => (/* reexport safe */ _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_41__.Interactivity),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_26__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_Types_InteractorType_js__WEBPACK_IMPORTED_MODULE_19__.InteractorType),\n/* harmony export */ LimitMode: () => (/* reexport safe */ _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_11__.LimitMode),\n/* harmony export */ ManualParticle: () => (/* reexport safe */ _Options_Classes_ManualParticle_js__WEBPACK_IMPORTED_MODULE_43__.ManualParticle),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Interactivity_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_42__.Modes),\n/* harmony export */ Move: () => (/* reexport safe */ _Options_Classes_Particles_Move_Move_js__WEBPACK_IMPORTED_MODULE_55__.Move),\n/* harmony export */ MoveAngle: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveAngle_js__WEBPACK_IMPORTED_MODULE_56__.MoveAngle),\n/* harmony export */ MoveAttract: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveAttract_js__WEBPACK_IMPORTED_MODULE_54__.MoveAttract),\n/* harmony export */ MoveCenter: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveCenter_js__WEBPACK_IMPORTED_MODULE_57__.MoveCenter),\n/* harmony export */ MoveDirection: () => (/* reexport safe */ _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection),\n/* harmony export */ MoveGravity: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveGravity_js__WEBPACK_IMPORTED_MODULE_58__.MoveGravity),\n/* harmony export */ MovePath: () => (/* reexport safe */ _Options_Classes_Particles_Move_Path_MovePath_js__WEBPACK_IMPORTED_MODULE_60__.MovePath),\n/* harmony export */ MoveTrail: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveTrail_js__WEBPACK_IMPORTED_MODULE_62__.MoveTrail),\n/* harmony export */ Opacity: () => (/* reexport safe */ _Options_Classes_Particles_Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_66__.Opacity),\n/* harmony export */ OpacityAnimation: () => (/* reexport safe */ _Options_Classes_Particles_Opacity_OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_67__.OpacityAnimation),\n/* harmony export */ Options: () => (/* reexport safe */ _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_44__.Options),\n/* harmony export */ OptionsColor: () => (/* reexport safe */ _Options_Classes_OptionsColor_js__WEBPACK_IMPORTED_MODULE_45__.OptionsColor),\n/* harmony export */ OutMode: () => (/* reexport safe */ _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_12__.OutMode),\n/* harmony export */ OutModeDirection: () => (/* reexport safe */ _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_8__.OutModeDirection),\n/* harmony export */ OutModes: () => (/* reexport safe */ _Options_Classes_Particles_Move_OutModes_js__WEBPACK_IMPORTED_MODULE_59__.OutModes),\n/* harmony export */ Parallax: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_Parallax_js__WEBPACK_IMPORTED_MODULE_39__.Parallax),\n/* harmony export */ ParticleOutType: () => (/* reexport safe */ _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_20__.ParticleOutType),\n/* harmony export */ ParticlesBounce: () => (/* reexport safe */ _Options_Classes_Particles_Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_46__.ParticlesBounce),\n/* harmony export */ ParticlesBounceFactor: () => (/* reexport safe */ _Options_Classes_Particles_Bounce_ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_47__.ParticlesBounceFactor),\n/* harmony export */ ParticlesDensity: () => (/* reexport safe */ _Options_Classes_Particles_Number_ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_65__.ParticlesDensity),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _Core_Utils_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ ParticlesNumber: () => (/* reexport safe */ _Options_Classes_Particles_Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_63__.ParticlesNumber),\n/* harmony export */ ParticlesNumberLimit: () => (/* reexport safe */ _Options_Classes_Particles_Number_ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_64__.ParticlesNumberLimit),\n/* harmony export */ ParticlesOptions: () => (/* reexport safe */ _Options_Classes_Particles_ParticlesOptions_js__WEBPACK_IMPORTED_MODULE_51__.ParticlesOptions),\n/* harmony export */ PixelMode: () => (/* reexport safe */ _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_13__.PixelMode),\n/* harmony export */ Point: () => (/* reexport safe */ _Core_Utils_Point_js__WEBPACK_IMPORTED_MODULE_3__.Point),\n/* harmony export */ RangedAnimationOptions: () => (/* reexport safe */ _Options_Classes_AnimationOptions_js__WEBPACK_IMPORTED_MODULE_28__.RangedAnimationOptions),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* reexport safe */ _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__.RangedAnimationValueWithRandom),\n/* harmony export */ Rectangle: () => (/* reexport safe */ _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__.Rectangle),\n/* harmony export */ ResizeEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_ResizeEvent_js__WEBPACK_IMPORTED_MODULE_40__.ResizeEvent),\n/* harmony export */ Responsive: () => (/* reexport safe */ _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_72__.Responsive),\n/* harmony export */ ResponsiveMode: () => (/* reexport safe */ _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_15__.ResponsiveMode),\n/* harmony export */ RgbColorManager: () => (/* reexport safe */ _Utils_RgbColorManager_js__WEBPACK_IMPORTED_MODULE_81__.RgbColorManager),\n/* harmony export */ RotateDirection: () => (/* reexport safe */ _Enums_Directions_RotateDirection_js__WEBPACK_IMPORTED_MODULE_7__.RotateDirection),\n/* harmony export */ Shadow: () => (/* reexport safe */ _Options_Classes_Particles_Shadow_js__WEBPACK_IMPORTED_MODULE_52__.Shadow),\n/* harmony export */ Shape: () => (/* reexport safe */ _Options_Classes_Particles_Shape_Shape_js__WEBPACK_IMPORTED_MODULE_68__.Shape),\n/* harmony export */ Size: () => (/* reexport safe */ _Options_Classes_Particles_Size_Size_js__WEBPACK_IMPORTED_MODULE_69__.Size),\n/* harmony export */ SizeAnimation: () => (/* reexport safe */ _Options_Classes_Particles_Size_SizeAnimation_js__WEBPACK_IMPORTED_MODULE_70__.SizeAnimation),\n/* harmony export */ Spin: () => (/* reexport safe */ _Options_Classes_Particles_Move_Spin_js__WEBPACK_IMPORTED_MODULE_61__.Spin),\n/* harmony export */ StartValueType: () => (/* reexport safe */ _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_21__.StartValueType),\n/* harmony export */ Stroke: () => (/* reexport safe */ _Options_Classes_Particles_Stroke_js__WEBPACK_IMPORTED_MODULE_53__.Stroke),\n/* harmony export */ Theme: () => (/* reexport safe */ _Options_Classes_Theme_Theme_js__WEBPACK_IMPORTED_MODULE_73__.Theme),\n/* harmony export */ ThemeDefault: () => (/* reexport safe */ _Options_Classes_Theme_ThemeDefault_js__WEBPACK_IMPORTED_MODULE_74__.ThemeDefault),\n/* harmony export */ ThemeMode: () => (/* reexport safe */ _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_14__.ThemeMode),\n/* harmony export */ ValueWithRandom: () => (/* reexport safe */ _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__.ValueWithRandom),\n/* harmony export */ Vector: () => (/* reexport safe */ _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_5__.Vector),\n/* harmony export */ Vector3d: () => (/* reexport safe */ _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_5__.Vector3d),\n/* harmony export */ ZIndex: () => (/* reexport safe */ _Options_Classes_Particles_ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_71__.ZIndex),\n/* harmony export */ addColorManager: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.addColorManager),\n/* harmony export */ addEasing: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.addEasing),\n/* harmony export */ alterHsl: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.alterHsl),\n/* harmony export */ animate: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.animate),\n/* harmony export */ areBoundsInside: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.arrayRandomIndex),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.calcPositionOrRandomFromSizeRanged),\n/* harmony export */ calculateBounds: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.calculateBounds),\n/* harmony export */ cancelAnimation: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.cancelAnimation),\n/* harmony export */ circleBounce: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.circleBounceDataFromParticle),\n/* harmony export */ clamp: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.clamp),\n/* harmony export */ clear: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.clear),\n/* harmony export */ collisionVelocity: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.collisionVelocity),\n/* harmony export */ colorMix: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.colorMix),\n/* harmony export */ colorToHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.colorToHsl),\n/* harmony export */ colorToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.colorToRgb),\n/* harmony export */ deepExtend: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.deepExtend),\n/* harmony export */ degToRad: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.degToRad),\n/* harmony export */ divMode: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.divModeExecute),\n/* harmony export */ drawEffect: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawEffect),\n/* harmony export */ drawLine: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawLine),\n/* harmony export */ drawParticle: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawParticle),\n/* harmony export */ drawParticlePlugin: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawParticlePlugin),\n/* harmony export */ drawPlugin: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawPlugin),\n/* harmony export */ drawShape: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawShape),\n/* harmony export */ drawShapeAfterDraw: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawShapeAfterDraw),\n/* harmony export */ errorPrefix: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.errorPrefix),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.findItemFromSingleOrMultiple),\n/* harmony export */ generatedAttribute: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute),\n/* harmony export */ getDistance: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getDistance),\n/* harmony export */ getDistances: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getDistances),\n/* harmony export */ getEasing: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getEasing),\n/* harmony export */ getHslAnimationFromHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getLinkRandomColor),\n/* harmony export */ getLogger: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.getLogger),\n/* harmony export */ getParticleBaseVelocity: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getParticleDirectionAngle),\n/* harmony export */ getPosition: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.getPosition),\n/* harmony export */ getRandom: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getRandom),\n/* harmony export */ getRandomRgbColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getRandomRgbColor),\n/* harmony export */ getRangeMax: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getRangeMax),\n/* harmony export */ getRangeMin: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getRangeMin),\n/* harmony export */ getRangeValue: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.getRangeValue),\n/* harmony export */ getSize: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.getSize),\n/* harmony export */ getStyleFromHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getStyleFromRgb),\n/* harmony export */ halfRandom: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.halfRandom),\n/* harmony export */ hasMatchMedia: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.hasMatchMedia),\n/* harmony export */ hslToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.hslaToRgba),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.initParticleNumericAnimationValue),\n/* harmony export */ isArray: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_83__.isArray),\n/* harmony export */ isBoolean: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_83__.isBoolean),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.isDivModeEnabled),\n/* harmony export */ isFunction: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_83__.isFunction),\n/* harmony export */ isInArray: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.isInArray),\n/* harmony export */ isNumber: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_83__.isNumber),\n/* harmony export */ isObject: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_83__.isObject),\n/* harmony export */ isPointInside: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.isPointInside),\n/* harmony export */ isSsr: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.isSsr),\n/* harmony export */ isString: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_83__.isString),\n/* harmony export */ itemFromArray: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.loadFont),\n/* harmony export */ loadOptions: () => (/* reexport safe */ _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_80__.loadOptions),\n/* harmony export */ loadParticlesOptions: () => (/* reexport safe */ _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_80__.loadParticlesOptions),\n/* harmony export */ millisecondsToSeconds: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds),\n/* harmony export */ mix: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.mix),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseUpEvent),\n/* harmony export */ paintBase: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.paintBase),\n/* harmony export */ paintImage: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.paintImage),\n/* harmony export */ parseAlpha: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.parseAlpha),\n/* harmony export */ percentDenominator: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.percentDenominator),\n/* harmony export */ randomInRange: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.randomInRange),\n/* harmony export */ rangeColorToHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.rangeColorToRgb),\n/* harmony export */ rectBounce: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.rectBounce),\n/* harmony export */ resizeEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.resizeEvent),\n/* harmony export */ rgbToHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.rgbToHsl),\n/* harmony export */ safeIntersectionObserver: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.safeMutationObserver),\n/* harmony export */ setAnimationFunctions: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.setAnimationFunctions),\n/* harmony export */ setLogger: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.setLogger),\n/* harmony export */ setRandom: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.setRandom),\n/* harmony export */ setRangeValue: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__.setRangeValue),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.singleDivModeExecute),\n/* harmony export */ stringToAlpha: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.stringToRgb),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchStartEvent),\n/* harmony export */ updateAnimation: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__.updateAnimation),\n/* harmony export */ updateColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.updateColor),\n/* harmony export */ updateColorValue: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.updateColorValue),\n/* harmony export */ visibilityChangeEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.visibilityChangeEvent)\n/* harmony export */ });\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Core_Utils_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Core/Utils/ExternalInteractorBase.js */ \"../../engine/dist/browser/Core/Utils/ExternalInteractorBase.js\");\n/* harmony import */ var _Core_Utils_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Core/Utils/ParticlesInteractorBase.js */ \"../../engine/dist/browser/Core/Utils/ParticlesInteractorBase.js\");\n/* harmony import */ var _Core_Utils_Point_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Core/Utils/Point.js */ \"../../engine/dist/browser/Core/Utils/Point.js\");\n/* harmony import */ var _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Core/Utils/Ranges.js */ \"../../engine/dist/browser/Core/Utils/Ranges.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Enums_Directions_RotateDirection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Enums/Directions/RotateDirection.js */ \"../../engine/dist/browser/Enums/Directions/RotateDirection.js\");\n/* harmony import */ var _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Enums/Directions/OutModeDirection.js */ \"../../engine/dist/browser/Enums/Directions/OutModeDirection.js\");\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Enums/Modes/CollisionMode.js */ \"../../engine/dist/browser/Enums/Modes/CollisionMode.js\");\n/* harmony import */ var _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Enums/Modes/LimitMode.js */ \"../../engine/dist/browser/Enums/Modes/LimitMode.js\");\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Enums/Modes/ThemeMode.js */ \"../../engine/dist/browser/Enums/Modes/ThemeMode.js\");\n/* harmony import */ var _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Enums/Modes/ResponsiveMode.js */ \"../../engine/dist/browser/Enums/Modes/ResponsiveMode.js\");\n/* harmony import */ var _Enums_Types_AlterType_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Enums/Types/AlterType.js */ \"../../engine/dist/browser/Enums/Types/AlterType.js\");\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _Enums_Types_GradientType_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Enums/Types/GradientType.js */ \"../../engine/dist/browser/Enums/Types/GradientType.js\");\n/* harmony import */ var _Enums_Types_InteractorType_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Enums/Types/InteractorType.js */ \"../../engine/dist/browser/Enums/Types/InteractorType.js\");\n/* harmony import */ var _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Enums/Types/ParticleOutType.js */ \"../../engine/dist/browser/Enums/Types/ParticleOutType.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Enums/Types/DivType.js */ \"../../engine/dist/browser/Enums/Types/DivType.js\");\n/* harmony import */ var _Enums_Types_EasingType_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Enums/Types/EasingType.js */ \"../../engine/dist/browser/Enums/Types/EasingType.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../engine/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Options_Classes_AnimatableColor_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Options/Classes/AnimatableColor.js */ \"../../engine/dist/browser/Options/Classes/AnimatableColor.js\");\n/* harmony import */ var _Options_Classes_AnimationOptions_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Options/Classes/AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Options_Classes_Background_Background_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./Options/Classes/Background/Background.js */ \"../../engine/dist/browser/Options/Classes/Background/Background.js\");\n/* harmony import */ var _Options_Classes_BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask/BackgroundMask.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js\");\n/* harmony import */ var _Options_Classes_BackgroundMask_BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask/BackgroundMaskCover.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js\");\n/* harmony import */ var _Options_Classes_ColorAnimation_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./Options/Classes/ColorAnimation.js */ \"../../engine/dist/browser/Options/Classes/ColorAnimation.js\");\n/* harmony import */ var _Options_Classes_FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./Options/Classes/FullScreen/FullScreen.js */ \"../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js\");\n/* harmony import */ var _Options_Classes_HslAnimation_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./Options/Classes/HslAnimation.js */ \"../../engine/dist/browser/Options/Classes/HslAnimation.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_ClickEvent_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/ClickEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/DivEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_Events_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/Events.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Events.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_HoverEvent_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/HoverEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_Parallax_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/Parallax.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Parallax.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_ResizeEvent_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/ResizeEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Interactivity.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Modes/Modes.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Modes/Modes.js\");\n/* harmony import */ var _Options_Classes_ManualParticle_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./Options/Classes/ManualParticle.js */ \"../../engine/dist/browser/Options/Classes/ManualParticle.js\");\n/* harmony import */ var _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./Options/Classes/Options.js */ \"../../engine/dist/browser/Options/Classes/Options.js\");\n/* harmony import */ var _Options_Classes_OptionsColor_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./Options/Classes/OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n/* harmony import */ var _Options_Classes_Particles_Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./Options/Classes/Particles/Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Options_Classes_Particles_Bounce_ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./Options/Classes/Particles/Bounce/ParticlesBounceFactor.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js\");\n/* harmony import */ var _Options_Classes_Particles_Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./Options/Classes/Particles/Collisions/Collisions.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/Collisions.js\");\n/* harmony import */ var _Options_Classes_Particles_Collisions_CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./Options/Classes/Particles/Collisions/CollisionsAbsorb.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js\");\n/* harmony import */ var _Options_Classes_Particles_Collisions_CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./Options/Classes/Particles/Collisions/CollisionsOverlap.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js\");\n/* harmony import */ var _Options_Classes_Particles_ParticlesOptions_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./Options/Classes/Particles/ParticlesOptions.js */ \"../../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js\");\n/* harmony import */ var _Options_Classes_Particles_Shadow_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./Options/Classes/Particles/Shadow.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shadow.js\");\n/* harmony import */ var _Options_Classes_Particles_Stroke_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./Options/Classes/Particles/Stroke.js */ \"../../engine/dist/browser/Options/Classes/Particles/Stroke.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveAttract_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveAttract.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAttract.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_Move_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/Move.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Move.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveAngle_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveAngle.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAngle.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveCenter_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveCenter.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveCenter.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveGravity_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveGravity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveGravity.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_OutModes_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/OutModes.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/OutModes.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_Path_MovePath_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/Path/MovePath.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_Spin_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/Spin.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Spin.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveTrail_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveTrail.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrail.js\");\n/* harmony import */ var _Options_Classes_Particles_Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./Options/Classes/Particles/Number/ParticlesNumber.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js\");\n/* harmony import */ var _Options_Classes_Particles_Number_ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./Options/Classes/Particles/Number/ParticlesNumberLimit.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js\");\n/* harmony import */ var _Options_Classes_Particles_Number_ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./Options/Classes/Particles/Number/ParticlesDensity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js\");\n/* harmony import */ var _Options_Classes_Particles_Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./Options/Classes/Particles/Opacity/Opacity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js\");\n/* harmony import */ var _Options_Classes_Particles_Opacity_OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./Options/Classes/Particles/Opacity/OpacityAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js\");\n/* harmony import */ var _Options_Classes_Particles_Shape_Shape_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./Options/Classes/Particles/Shape/Shape.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js\");\n/* harmony import */ var _Options_Classes_Particles_Size_Size_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./Options/Classes/Particles/Size/Size.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/Size.js\");\n/* harmony import */ var _Options_Classes_Particles_Size_SizeAnimation_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./Options/Classes/Particles/Size/SizeAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js\");\n/* harmony import */ var _Options_Classes_Particles_ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./Options/Classes/Particles/ZIndex/ZIndex.js */ \"../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js\");\n/* harmony import */ var _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./Options/Classes/Responsive.js */ \"../../engine/dist/browser/Options/Classes/Responsive.js\");\n/* harmony import */ var _Options_Classes_Theme_Theme_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./Options/Classes/Theme/Theme.js */ \"../../engine/dist/browser/Options/Classes/Theme/Theme.js\");\n/* harmony import */ var _Options_Classes_Theme_ThemeDefault_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./Options/Classes/Theme/ThemeDefault.js */ \"../../engine/dist/browser/Options/Classes/Theme/ThemeDefault.js\");\n/* harmony import */ var _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./Options/Classes/ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Utils_HslColorManager_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./Utils/HslColorManager.js */ \"../../engine/dist/browser/Utils/HslColorManager.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n/* harmony import */ var _Utils_RgbColorManager_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./Utils/RgbColorManager.js */ \"../../engine/dist/browser/Utils/RgbColorManager.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/exports.js?");
2037
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AlterType: () => (/* reexport safe */ _Enums_Types_AlterType_js__WEBPACK_IMPORTED_MODULE_16__.AlterType),\n/* harmony export */ AnimatableColor: () => (/* reexport safe */ _Options_Classes_AnimatableColor_js__WEBPACK_IMPORTED_MODULE_27__.AnimatableColor),\n/* harmony export */ AnimationMode: () => (/* reexport safe */ _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_9__.AnimationMode),\n/* harmony export */ AnimationOptions: () => (/* reexport safe */ _Options_Classes_AnimationOptions_js__WEBPACK_IMPORTED_MODULE_28__.AnimationOptions),\n/* harmony export */ AnimationStatus: () => (/* reexport safe */ _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_25__.AnimationStatus),\n/* harmony export */ AnimationValueWithRandom: () => (/* reexport safe */ _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__.AnimationValueWithRandom),\n/* harmony export */ Background: () => (/* reexport safe */ _Options_Classes_Background_Background_js__WEBPACK_IMPORTED_MODULE_29__.Background),\n/* harmony export */ BackgroundMask: () => (/* reexport safe */ _Options_Classes_BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_30__.BackgroundMask),\n/* harmony export */ BackgroundMaskCover: () => (/* reexport safe */ _Options_Classes_BackgroundMask_BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_31__.BackgroundMaskCover),\n/* harmony export */ BaseRange: () => (/* reexport safe */ _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__.BaseRange),\n/* harmony export */ Circle: () => (/* reexport safe */ _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__.Circle),\n/* harmony export */ ClickEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_ClickEvent_js__WEBPACK_IMPORTED_MODULE_35__.ClickEvent),\n/* harmony export */ CollisionMode: () => (/* reexport safe */ _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_10__.CollisionMode),\n/* harmony export */ Collisions: () => (/* reexport safe */ _Options_Classes_Particles_Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_48__.Collisions),\n/* harmony export */ CollisionsAbsorb: () => (/* reexport safe */ _Options_Classes_Particles_Collisions_CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_49__.CollisionsAbsorb),\n/* harmony export */ CollisionsOverlap: () => (/* reexport safe */ _Options_Classes_Particles_Collisions_CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_50__.CollisionsOverlap),\n/* harmony export */ ColorAnimation: () => (/* reexport safe */ _Options_Classes_ColorAnimation_js__WEBPACK_IMPORTED_MODULE_32__.ColorAnimation),\n/* harmony export */ DestroyType: () => (/* reexport safe */ _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_17__.DestroyType),\n/* harmony export */ DivEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_36__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_22__.DivType),\n/* harmony export */ EasingType: () => (/* reexport safe */ _Enums_Types_EasingType_js__WEBPACK_IMPORTED_MODULE_23__.EasingType),\n/* harmony export */ EventType: () => (/* reexport safe */ _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_24__.EventType),\n/* harmony export */ Events: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_Events_js__WEBPACK_IMPORTED_MODULE_37__.Events),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _Core_Utils_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__.ExternalInteractorBase),\n/* harmony export */ FullScreen: () => (/* reexport safe */ _Options_Classes_FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_33__.FullScreen),\n/* harmony export */ GradientType: () => (/* reexport safe */ _Enums_Types_GradientType_js__WEBPACK_IMPORTED_MODULE_18__.GradientType),\n/* harmony export */ HoverEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_HoverEvent_js__WEBPACK_IMPORTED_MODULE_38__.HoverEvent),\n/* harmony export */ HslAnimation: () => (/* reexport safe */ _Options_Classes_HslAnimation_js__WEBPACK_IMPORTED_MODULE_34__.HslAnimation),\n/* harmony export */ Interactivity: () => (/* reexport safe */ _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_41__.Interactivity),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_26__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _Enums_Types_InteractorType_js__WEBPACK_IMPORTED_MODULE_19__.InteractorType),\n/* harmony export */ LimitMode: () => (/* reexport safe */ _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_11__.LimitMode),\n/* harmony export */ ManualParticle: () => (/* reexport safe */ _Options_Classes_ManualParticle_js__WEBPACK_IMPORTED_MODULE_43__.ManualParticle),\n/* harmony export */ Modes: () => (/* reexport safe */ _Options_Classes_Interactivity_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_42__.Modes),\n/* harmony export */ Move: () => (/* reexport safe */ _Options_Classes_Particles_Move_Move_js__WEBPACK_IMPORTED_MODULE_55__.Move),\n/* harmony export */ MoveAngle: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveAngle_js__WEBPACK_IMPORTED_MODULE_56__.MoveAngle),\n/* harmony export */ MoveAttract: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveAttract_js__WEBPACK_IMPORTED_MODULE_54__.MoveAttract),\n/* harmony export */ MoveCenter: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveCenter_js__WEBPACK_IMPORTED_MODULE_57__.MoveCenter),\n/* harmony export */ MoveDirection: () => (/* reexport safe */ _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__.MoveDirection),\n/* harmony export */ MoveGravity: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveGravity_js__WEBPACK_IMPORTED_MODULE_58__.MoveGravity),\n/* harmony export */ MovePath: () => (/* reexport safe */ _Options_Classes_Particles_Move_Path_MovePath_js__WEBPACK_IMPORTED_MODULE_60__.MovePath),\n/* harmony export */ MoveTrail: () => (/* reexport safe */ _Options_Classes_Particles_Move_MoveTrail_js__WEBPACK_IMPORTED_MODULE_62__.MoveTrail),\n/* harmony export */ Opacity: () => (/* reexport safe */ _Options_Classes_Particles_Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_66__.Opacity),\n/* harmony export */ OpacityAnimation: () => (/* reexport safe */ _Options_Classes_Particles_Opacity_OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_67__.OpacityAnimation),\n/* harmony export */ Options: () => (/* reexport safe */ _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_44__.Options),\n/* harmony export */ OptionsColor: () => (/* reexport safe */ _Options_Classes_OptionsColor_js__WEBPACK_IMPORTED_MODULE_45__.OptionsColor),\n/* harmony export */ OutMode: () => (/* reexport safe */ _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_12__.OutMode),\n/* harmony export */ OutModeDirection: () => (/* reexport safe */ _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_8__.OutModeDirection),\n/* harmony export */ OutModes: () => (/* reexport safe */ _Options_Classes_Particles_Move_OutModes_js__WEBPACK_IMPORTED_MODULE_59__.OutModes),\n/* harmony export */ Parallax: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_Parallax_js__WEBPACK_IMPORTED_MODULE_39__.Parallax),\n/* harmony export */ ParticleOutType: () => (/* reexport safe */ _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_20__.ParticleOutType),\n/* harmony export */ ParticlesBounce: () => (/* reexport safe */ _Options_Classes_Particles_Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_46__.ParticlesBounce),\n/* harmony export */ ParticlesBounceFactor: () => (/* reexport safe */ _Options_Classes_Particles_Bounce_ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_47__.ParticlesBounceFactor),\n/* harmony export */ ParticlesDensity: () => (/* reexport safe */ _Options_Classes_Particles_Number_ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_65__.ParticlesDensity),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _Core_Utils_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ ParticlesNumber: () => (/* reexport safe */ _Options_Classes_Particles_Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_63__.ParticlesNumber),\n/* harmony export */ ParticlesNumberLimit: () => (/* reexport safe */ _Options_Classes_Particles_Number_ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_64__.ParticlesNumberLimit),\n/* harmony export */ ParticlesOptions: () => (/* reexport safe */ _Options_Classes_Particles_ParticlesOptions_js__WEBPACK_IMPORTED_MODULE_51__.ParticlesOptions),\n/* harmony export */ PixelMode: () => (/* reexport safe */ _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_13__.PixelMode),\n/* harmony export */ Point: () => (/* reexport safe */ _Core_Utils_Point_js__WEBPACK_IMPORTED_MODULE_3__.Point),\n/* harmony export */ RangedAnimationOptions: () => (/* reexport safe */ _Options_Classes_AnimationOptions_js__WEBPACK_IMPORTED_MODULE_28__.RangedAnimationOptions),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* reexport safe */ _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__.RangedAnimationValueWithRandom),\n/* harmony export */ Rectangle: () => (/* reexport safe */ _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__.Rectangle),\n/* harmony export */ ResizeEvent: () => (/* reexport safe */ _Options_Classes_Interactivity_Events_ResizeEvent_js__WEBPACK_IMPORTED_MODULE_40__.ResizeEvent),\n/* harmony export */ Responsive: () => (/* reexport safe */ _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_72__.Responsive),\n/* harmony export */ ResponsiveMode: () => (/* reexport safe */ _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_15__.ResponsiveMode),\n/* harmony export */ RotateDirection: () => (/* reexport safe */ _Enums_Directions_RotateDirection_js__WEBPACK_IMPORTED_MODULE_7__.RotateDirection),\n/* harmony export */ Shadow: () => (/* reexport safe */ _Options_Classes_Particles_Shadow_js__WEBPACK_IMPORTED_MODULE_52__.Shadow),\n/* harmony export */ Shape: () => (/* reexport safe */ _Options_Classes_Particles_Shape_Shape_js__WEBPACK_IMPORTED_MODULE_68__.Shape),\n/* harmony export */ Size: () => (/* reexport safe */ _Options_Classes_Particles_Size_Size_js__WEBPACK_IMPORTED_MODULE_69__.Size),\n/* harmony export */ SizeAnimation: () => (/* reexport safe */ _Options_Classes_Particles_Size_SizeAnimation_js__WEBPACK_IMPORTED_MODULE_70__.SizeAnimation),\n/* harmony export */ Spin: () => (/* reexport safe */ _Options_Classes_Particles_Move_Spin_js__WEBPACK_IMPORTED_MODULE_61__.Spin),\n/* harmony export */ StartValueType: () => (/* reexport safe */ _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_21__.StartValueType),\n/* harmony export */ Stroke: () => (/* reexport safe */ _Options_Classes_Particles_Stroke_js__WEBPACK_IMPORTED_MODULE_53__.Stroke),\n/* harmony export */ Theme: () => (/* reexport safe */ _Options_Classes_Theme_Theme_js__WEBPACK_IMPORTED_MODULE_73__.Theme),\n/* harmony export */ ThemeDefault: () => (/* reexport safe */ _Options_Classes_Theme_ThemeDefault_js__WEBPACK_IMPORTED_MODULE_74__.ThemeDefault),\n/* harmony export */ ThemeMode: () => (/* reexport safe */ _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_14__.ThemeMode),\n/* harmony export */ ValueWithRandom: () => (/* reexport safe */ _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__.ValueWithRandom),\n/* harmony export */ Vector: () => (/* reexport safe */ _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_5__.Vector),\n/* harmony export */ Vector3d: () => (/* reexport safe */ _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_5__.Vector3d),\n/* harmony export */ ZIndex: () => (/* reexport safe */ _Options_Classes_Particles_ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_71__.ZIndex),\n/* harmony export */ alterHsl: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.alterHsl),\n/* harmony export */ animate: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.animate),\n/* harmony export */ areBoundsInside: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.arrayRandomIndex),\n/* harmony export */ assertValidVersion: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.assertValidVersion),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.calcPositionOrRandomFromSizeRanged),\n/* harmony export */ calculateBounds: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.calculateBounds),\n/* harmony export */ cancelAnimation: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.cancelAnimation),\n/* harmony export */ circleBounce: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.circleBounceDataFromParticle),\n/* harmony export */ clamp: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.clamp),\n/* harmony export */ clear: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.clear),\n/* harmony export */ collisionVelocity: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.collisionVelocity),\n/* harmony export */ colorMix: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.colorMix),\n/* harmony export */ colorToHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.colorToHsl),\n/* harmony export */ colorToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.colorToRgb),\n/* harmony export */ deepExtend: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.deepExtend),\n/* harmony export */ degToRad: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.degToRad),\n/* harmony export */ divMode: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.divModeExecute),\n/* harmony export */ drawEffect: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawEffect),\n/* harmony export */ drawLine: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawLine),\n/* harmony export */ drawParticle: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawParticle),\n/* harmony export */ drawParticlePlugin: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawParticlePlugin),\n/* harmony export */ drawPlugin: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawPlugin),\n/* harmony export */ drawShape: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawShape),\n/* harmony export */ drawShapeAfterDraw: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.drawShapeAfterDraw),\n/* harmony export */ errorPrefix: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.errorPrefix),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.findItemFromSingleOrMultiple),\n/* harmony export */ generatedAttribute: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute),\n/* harmony export */ getDistance: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getDistance),\n/* harmony export */ getDistances: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getDistances),\n/* harmony export */ getHslAnimationFromHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getLinkRandomColor),\n/* harmony export */ getLogger: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.getLogger),\n/* harmony export */ getParticleBaseVelocity: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getParticleDirectionAngle),\n/* harmony export */ getPosition: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.getPosition),\n/* harmony export */ getRandom: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getRandom),\n/* harmony export */ getRandomRgbColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getRandomRgbColor),\n/* harmony export */ getRangeMax: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getRangeMax),\n/* harmony export */ getRangeMin: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getRangeMin),\n/* harmony export */ getRangeValue: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.getRangeValue),\n/* harmony export */ getSize: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.getSize),\n/* harmony export */ getStyleFromHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.getStyleFromRgb),\n/* harmony export */ halfRandom: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.halfRandom),\n/* harmony export */ hasMatchMedia: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.hasMatchMedia),\n/* harmony export */ hslToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.hslaToRgba),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.initParticleNumericAnimationValue),\n/* harmony export */ isArray: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__.isArray),\n/* harmony export */ isBoolean: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__.isBoolean),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.isDivModeEnabled),\n/* harmony export */ isFunction: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__.isFunction),\n/* harmony export */ isInArray: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.isInArray),\n/* harmony export */ isNull: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__.isNull),\n/* harmony export */ isNumber: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__.isNumber),\n/* harmony export */ isObject: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__.isObject),\n/* harmony export */ isPointInside: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.isPointInside),\n/* harmony export */ isSsr: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.isSsr),\n/* harmony export */ isString: () => (/* reexport safe */ _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__.isString),\n/* harmony export */ itemFromArray: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.loadFont),\n/* harmony export */ loadOptions: () => (/* reexport safe */ _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_79__.loadOptions),\n/* harmony export */ loadParticlesOptions: () => (/* reexport safe */ _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_79__.loadParticlesOptions),\n/* harmony export */ millisecondsToSeconds: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds),\n/* harmony export */ mix: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.mix),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.mouseUpEvent),\n/* harmony export */ paintBase: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.paintBase),\n/* harmony export */ paintImage: () => (/* reexport safe */ _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__.paintImage),\n/* harmony export */ parseAlpha: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.parseAlpha),\n/* harmony export */ percentDenominator: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.percentDenominator),\n/* harmony export */ randomInRange: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.randomInRange),\n/* harmony export */ rangeColorToHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.rangeColorToRgb),\n/* harmony export */ rectBounce: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.rectBounce),\n/* harmony export */ resizeEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.resizeEvent),\n/* harmony export */ rgbToHsl: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.rgbToHsl),\n/* harmony export */ safeIntersectionObserver: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.safeMutationObserver),\n/* harmony export */ setAnimationFunctions: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.setAnimationFunctions),\n/* harmony export */ setLogger: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.setLogger),\n/* harmony export */ setRandom: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.setRandom),\n/* harmony export */ setRangeValue: () => (/* reexport safe */ _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__.setRangeValue),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.singleDivModeExecute),\n/* harmony export */ stringToAlpha: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.stringToRgb),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.touchStartEvent),\n/* harmony export */ updateAnimation: () => (/* reexport safe */ _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__.updateAnimation),\n/* harmony export */ updateColor: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.updateColor),\n/* harmony export */ updateColorValue: () => (/* reexport safe */ _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__.updateColorValue),\n/* harmony export */ visibilityChangeEvent: () => (/* reexport safe */ _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.visibilityChangeEvent)\n/* harmony export */ });\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Core_Utils_ExternalInteractorBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Core/Utils/ExternalInteractorBase.js */ \"../../engine/dist/browser/Core/Utils/ExternalInteractorBase.js\");\n/* harmony import */ var _Core_Utils_ParticlesInteractorBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Core/Utils/ParticlesInteractorBase.js */ \"../../engine/dist/browser/Core/Utils/ParticlesInteractorBase.js\");\n/* harmony import */ var _Core_Utils_Point_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Core/Utils/Point.js */ \"../../engine/dist/browser/Core/Utils/Point.js\");\n/* harmony import */ var _Core_Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Core/Utils/Ranges.js */ \"../../engine/dist/browser/Core/Utils/Ranges.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Enums/Directions/MoveDirection.js */ \"../../engine/dist/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Enums_Directions_RotateDirection_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Enums/Directions/RotateDirection.js */ \"../../engine/dist/browser/Enums/Directions/RotateDirection.js\");\n/* harmony import */ var _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Enums/Directions/OutModeDirection.js */ \"../../engine/dist/browser/Enums/Directions/OutModeDirection.js\");\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_Modes_CollisionMode_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Enums/Modes/CollisionMode.js */ \"../../engine/dist/browser/Enums/Modes/CollisionMode.js\");\n/* harmony import */ var _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Enums/Modes/LimitMode.js */ \"../../engine/dist/browser/Enums/Modes/LimitMode.js\");\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Enums/Modes/OutMode.js */ \"../../engine/dist/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Enums_Modes_ThemeMode_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Enums/Modes/ThemeMode.js */ \"../../engine/dist/browser/Enums/Modes/ThemeMode.js\");\n/* harmony import */ var _Enums_Modes_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Enums/Modes/ResponsiveMode.js */ \"../../engine/dist/browser/Enums/Modes/ResponsiveMode.js\");\n/* harmony import */ var _Enums_Types_AlterType_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Enums/Types/AlterType.js */ \"../../engine/dist/browser/Enums/Types/AlterType.js\");\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _Enums_Types_GradientType_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Enums/Types/GradientType.js */ \"../../engine/dist/browser/Enums/Types/GradientType.js\");\n/* harmony import */ var _Enums_Types_InteractorType_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Enums/Types/InteractorType.js */ \"../../engine/dist/browser/Enums/Types/InteractorType.js\");\n/* harmony import */ var _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Enums/Types/ParticleOutType.js */ \"../../engine/dist/browser/Enums/Types/ParticleOutType.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Enums_Types_DivType_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Enums/Types/DivType.js */ \"../../engine/dist/browser/Enums/Types/DivType.js\");\n/* harmony import */ var _Enums_Types_EasingType_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Enums/Types/EasingType.js */ \"../../engine/dist/browser/Enums/Types/EasingType.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Enums/Types/EventType.js */ \"../../engine/dist/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Enums_InteractivityDetect_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Enums/InteractivityDetect.js */ \"../../engine/dist/browser/Enums/InteractivityDetect.js\");\n/* harmony import */ var _Options_Classes_AnimatableColor_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Options/Classes/AnimatableColor.js */ \"../../engine/dist/browser/Options/Classes/AnimatableColor.js\");\n/* harmony import */ var _Options_Classes_AnimationOptions_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Options/Classes/AnimationOptions.js */ \"../../engine/dist/browser/Options/Classes/AnimationOptions.js\");\n/* harmony import */ var _Options_Classes_Background_Background_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./Options/Classes/Background/Background.js */ \"../../engine/dist/browser/Options/Classes/Background/Background.js\");\n/* harmony import */ var _Options_Classes_BackgroundMask_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask/BackgroundMask.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js\");\n/* harmony import */ var _Options_Classes_BackgroundMask_BackgroundMaskCover_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask/BackgroundMaskCover.js */ \"../../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js\");\n/* harmony import */ var _Options_Classes_ColorAnimation_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./Options/Classes/ColorAnimation.js */ \"../../engine/dist/browser/Options/Classes/ColorAnimation.js\");\n/* harmony import */ var _Options_Classes_FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./Options/Classes/FullScreen/FullScreen.js */ \"../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js\");\n/* harmony import */ var _Options_Classes_HslAnimation_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./Options/Classes/HslAnimation.js */ \"../../engine/dist/browser/Options/Classes/HslAnimation.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_ClickEvent_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/ClickEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_DivEvent_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/DivEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_Events_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/Events.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Events.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_HoverEvent_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/HoverEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_Parallax_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/Parallax.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/Parallax.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Events_ResizeEvent_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Events/ResizeEvent.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Interactivity_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Interactivity.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js\");\n/* harmony import */ var _Options_Classes_Interactivity_Modes_Modes_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./Options/Classes/Interactivity/Modes/Modes.js */ \"../../engine/dist/browser/Options/Classes/Interactivity/Modes/Modes.js\");\n/* harmony import */ var _Options_Classes_ManualParticle_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./Options/Classes/ManualParticle.js */ \"../../engine/dist/browser/Options/Classes/ManualParticle.js\");\n/* harmony import */ var _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./Options/Classes/Options.js */ \"../../engine/dist/browser/Options/Classes/Options.js\");\n/* harmony import */ var _Options_Classes_OptionsColor_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./Options/Classes/OptionsColor.js */ \"../../engine/dist/browser/Options/Classes/OptionsColor.js\");\n/* harmony import */ var _Options_Classes_Particles_Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./Options/Classes/Particles/Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Options_Classes_Particles_Bounce_ParticlesBounceFactor_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./Options/Classes/Particles/Bounce/ParticlesBounceFactor.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js\");\n/* harmony import */ var _Options_Classes_Particles_Collisions_Collisions_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./Options/Classes/Particles/Collisions/Collisions.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/Collisions.js\");\n/* harmony import */ var _Options_Classes_Particles_Collisions_CollisionsAbsorb_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./Options/Classes/Particles/Collisions/CollisionsAbsorb.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js\");\n/* harmony import */ var _Options_Classes_Particles_Collisions_CollisionsOverlap_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./Options/Classes/Particles/Collisions/CollisionsOverlap.js */ \"../../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js\");\n/* harmony import */ var _Options_Classes_Particles_ParticlesOptions_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./Options/Classes/Particles/ParticlesOptions.js */ \"../../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js\");\n/* harmony import */ var _Options_Classes_Particles_Shadow_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./Options/Classes/Particles/Shadow.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shadow.js\");\n/* harmony import */ var _Options_Classes_Particles_Stroke_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./Options/Classes/Particles/Stroke.js */ \"../../engine/dist/browser/Options/Classes/Particles/Stroke.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveAttract_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveAttract.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAttract.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_Move_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/Move.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Move.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveAngle_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveAngle.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveAngle.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveCenter_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveCenter.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveCenter.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveGravity_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveGravity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveGravity.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_OutModes_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/OutModes.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/OutModes.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_Path_MovePath_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/Path/MovePath.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_Spin_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/Spin.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Spin.js\");\n/* harmony import */ var _Options_Classes_Particles_Move_MoveTrail_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./Options/Classes/Particles/Move/MoveTrail.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/MoveTrail.js\");\n/* harmony import */ var _Options_Classes_Particles_Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./Options/Classes/Particles/Number/ParticlesNumber.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js\");\n/* harmony import */ var _Options_Classes_Particles_Number_ParticlesNumberLimit_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./Options/Classes/Particles/Number/ParticlesNumberLimit.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js\");\n/* harmony import */ var _Options_Classes_Particles_Number_ParticlesDensity_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./Options/Classes/Particles/Number/ParticlesDensity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js\");\n/* harmony import */ var _Options_Classes_Particles_Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./Options/Classes/Particles/Opacity/Opacity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js\");\n/* harmony import */ var _Options_Classes_Particles_Opacity_OpacityAnimation_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./Options/Classes/Particles/Opacity/OpacityAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js\");\n/* harmony import */ var _Options_Classes_Particles_Shape_Shape_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./Options/Classes/Particles/Shape/Shape.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js\");\n/* harmony import */ var _Options_Classes_Particles_Size_Size_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./Options/Classes/Particles/Size/Size.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/Size.js\");\n/* harmony import */ var _Options_Classes_Particles_Size_SizeAnimation_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./Options/Classes/Particles/Size/SizeAnimation.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js\");\n/* harmony import */ var _Options_Classes_Particles_ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./Options/Classes/Particles/ZIndex/ZIndex.js */ \"../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js\");\n/* harmony import */ var _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./Options/Classes/Responsive.js */ \"../../engine/dist/browser/Options/Classes/Responsive.js\");\n/* harmony import */ var _Options_Classes_Theme_Theme_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./Options/Classes/Theme/Theme.js */ \"../../engine/dist/browser/Options/Classes/Theme/Theme.js\");\n/* harmony import */ var _Options_Classes_Theme_ThemeDefault_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./Options/Classes/Theme/ThemeDefault.js */ \"../../engine/dist/browser/Options/Classes/Theme/ThemeDefault.js\");\n/* harmony import */ var _Options_Classes_ValueWithRandom_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./Options/Classes/ValueWithRandom.js */ \"../../engine/dist/browser/Options/Classes/ValueWithRandom.js\");\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./Utils/CanvasUtils.js */ \"../../engine/dist/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Utils_NumberUtils_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./Utils/NumberUtils.js */ \"../../engine/dist/browser/Utils/NumberUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/exports.js?");
2058
2038
 
2059
2039
  /***/ }),
2060
2040
 
@@ -2064,7 +2044,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2064
2044
  \******************************************/
2065
2045
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2066
2046
 
2067
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AlterType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AlterType),\n/* harmony export */ AnimatableColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimatableColor),\n/* harmony export */ AnimationMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationMode),\n/* harmony export */ AnimationOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationOptions),\n/* harmony export */ AnimationStatus: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationStatus),\n/* harmony export */ AnimationValueWithRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationValueWithRandom),\n/* harmony export */ Background: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Background),\n/* harmony export */ BackgroundMask: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.BackgroundMask),\n/* harmony export */ BackgroundMaskCover: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.BackgroundMaskCover),\n/* harmony export */ BaseRange: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.BaseRange),\n/* harmony export */ Circle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Circle),\n/* harmony export */ ClickEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ClickEvent),\n/* harmony export */ CollisionMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.CollisionMode),\n/* harmony export */ Collisions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Collisions),\n/* harmony export */ CollisionsAbsorb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.CollisionsAbsorb),\n/* harmony export */ CollisionsOverlap: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.CollisionsOverlap),\n/* harmony export */ ColorAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ColorAnimation),\n/* harmony export */ DestroyType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.DestroyType),\n/* harmony export */ DivEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.DivType),\n/* harmony export */ EasingType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.EasingType),\n/* harmony export */ EventType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.EventType),\n/* harmony export */ Events: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Events),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ExternalInteractorBase),\n/* harmony export */ FullScreen: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.FullScreen),\n/* harmony export */ GradientType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.GradientType),\n/* harmony export */ HoverEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.HoverEvent),\n/* harmony export */ HslAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.HslAnimation),\n/* harmony export */ HslColorManager: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.HslColorManager),\n/* harmony export */ Interactivity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Interactivity),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.InteractorType),\n/* harmony export */ LimitMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode),\n/* harmony export */ ManualParticle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ManualParticle),\n/* harmony export */ Modes: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Modes),\n/* harmony export */ Move: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Move),\n/* harmony export */ MoveAngle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveAngle),\n/* harmony export */ MoveAttract: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveAttract),\n/* harmony export */ MoveCenter: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveCenter),\n/* harmony export */ MoveDirection: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveDirection),\n/* harmony export */ MoveGravity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveGravity),\n/* harmony export */ MovePath: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MovePath),\n/* harmony export */ MoveTrail: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveTrail),\n/* harmony export */ Opacity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Opacity),\n/* harmony export */ OpacityAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OpacityAnimation),\n/* harmony export */ Options: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Options),\n/* harmony export */ OptionsColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OptionsColor),\n/* harmony export */ OutMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OutMode),\n/* harmony export */ OutModeDirection: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OutModeDirection),\n/* harmony export */ OutModes: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OutModes),\n/* harmony export */ Parallax: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Parallax),\n/* harmony export */ ParticleOutType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticleOutType),\n/* harmony export */ ParticlesBounce: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesBounce),\n/* harmony export */ ParticlesBounceFactor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesBounceFactor),\n/* harmony export */ ParticlesDensity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesDensity),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ ParticlesNumber: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesNumber),\n/* harmony export */ ParticlesNumberLimit: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesNumberLimit),\n/* harmony export */ ParticlesOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesOptions),\n/* harmony export */ PixelMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.PixelMode),\n/* harmony export */ Point: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Point),\n/* harmony export */ RangedAnimationOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.RangedAnimationOptions),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.RangedAnimationValueWithRandom),\n/* harmony export */ Rectangle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Rectangle),\n/* harmony export */ ResizeEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ResizeEvent),\n/* harmony export */ Responsive: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Responsive),\n/* harmony export */ ResponsiveMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ResponsiveMode),\n/* harmony export */ RgbColorManager: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.RgbColorManager),\n/* harmony export */ RotateDirection: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.RotateDirection),\n/* harmony export */ Shadow: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Shadow),\n/* harmony export */ Shape: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Shape),\n/* harmony export */ Size: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Size),\n/* harmony export */ SizeAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.SizeAnimation),\n/* harmony export */ Spin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Spin),\n/* harmony export */ StartValueType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.StartValueType),\n/* harmony export */ Stroke: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Stroke),\n/* harmony export */ Theme: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Theme),\n/* harmony export */ ThemeDefault: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ThemeDefault),\n/* harmony export */ ThemeMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ThemeMode),\n/* harmony export */ ValueWithRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ValueWithRandom),\n/* harmony export */ Vector: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Vector),\n/* harmony export */ Vector3d: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Vector3d),\n/* harmony export */ ZIndex: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ZIndex),\n/* harmony export */ addColorManager: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.addColorManager),\n/* harmony export */ addEasing: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.addEasing),\n/* harmony export */ alterHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.alterHsl),\n/* harmony export */ animate: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.animate),\n/* harmony export */ areBoundsInside: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.arrayRandomIndex),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcPositionOrRandomFromSizeRanged),\n/* harmony export */ calculateBounds: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calculateBounds),\n/* harmony export */ cancelAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.cancelAnimation),\n/* harmony export */ circleBounce: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.circleBounceDataFromParticle),\n/* harmony export */ clamp: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.clamp),\n/* harmony export */ clear: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.clear),\n/* harmony export */ collisionVelocity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.collisionVelocity),\n/* harmony export */ colorMix: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.colorMix),\n/* harmony export */ colorToHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.colorToHsl),\n/* harmony export */ colorToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.colorToRgb),\n/* harmony export */ deepExtend: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.deepExtend),\n/* harmony export */ degToRad: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.degToRad),\n/* harmony export */ divMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.divModeExecute),\n/* harmony export */ drawEffect: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawEffect),\n/* harmony export */ drawLine: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawLine),\n/* harmony export */ drawParticle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawParticle),\n/* harmony export */ drawParticlePlugin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawParticlePlugin),\n/* harmony export */ drawPlugin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawPlugin),\n/* harmony export */ drawShape: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawShape),\n/* harmony export */ drawShapeAfterDraw: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawShapeAfterDraw),\n/* harmony export */ errorPrefix: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.errorPrefix),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.findItemFromSingleOrMultiple),\n/* harmony export */ generatedAttribute: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute),\n/* harmony export */ getDistance: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getDistance),\n/* harmony export */ getDistances: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getDistances),\n/* harmony export */ getEasing: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getEasing),\n/* harmony export */ getHslAnimationFromHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getLinkRandomColor),\n/* harmony export */ getLogger: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getLogger),\n/* harmony export */ getParticleBaseVelocity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getParticleDirectionAngle),\n/* harmony export */ getPosition: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getPosition),\n/* harmony export */ getRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRandom),\n/* harmony export */ getRandomRgbColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRandomRgbColor),\n/* harmony export */ getRangeMax: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRangeMax),\n/* harmony export */ getRangeMin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRangeMin),\n/* harmony export */ getRangeValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue),\n/* harmony export */ getSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getSize),\n/* harmony export */ getStyleFromHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb),\n/* harmony export */ halfRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.halfRandom),\n/* harmony export */ hasMatchMedia: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.hasMatchMedia),\n/* harmony export */ hslToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.hslaToRgba),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.initParticleNumericAnimationValue),\n/* harmony export */ isArray: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isArray),\n/* harmony export */ isBoolean: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isBoolean),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isDivModeEnabled),\n/* harmony export */ isFunction: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isFunction),\n/* harmony export */ isInArray: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isInArray),\n/* harmony export */ isNumber: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isNumber),\n/* harmony export */ isObject: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isObject),\n/* harmony export */ isPointInside: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isPointInside),\n/* harmony export */ isSsr: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isSsr),\n/* harmony export */ isString: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isString),\n/* harmony export */ itemFromArray: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.loadFont),\n/* harmony export */ loadOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.loadOptions),\n/* harmony export */ loadParticlesOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.loadParticlesOptions),\n/* harmony export */ millisecondsToSeconds: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.millisecondsToSeconds),\n/* harmony export */ mix: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mix),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseUpEvent),\n/* harmony export */ paintBase: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.paintBase),\n/* harmony export */ paintImage: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.paintImage),\n/* harmony export */ parseAlpha: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.parseAlpha),\n/* harmony export */ percentDenominator: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.percentDenominator),\n/* harmony export */ randomInRange: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.randomInRange),\n/* harmony export */ rangeColorToHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb),\n/* harmony export */ rectBounce: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rectBounce),\n/* harmony export */ resizeEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.resizeEvent),\n/* harmony export */ rgbToHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rgbToHsl),\n/* harmony export */ safeIntersectionObserver: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.safeMutationObserver),\n/* harmony export */ setAnimationFunctions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setAnimationFunctions),\n/* harmony export */ setLogger: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setLogger),\n/* harmony export */ setRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setRandom),\n/* harmony export */ setRangeValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.singleDivModeExecute),\n/* harmony export */ stringToAlpha: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.stringToRgb),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchStartEvent),\n/* harmony export */ tsParticles: () => (/* binding */ tsParticles),\n/* harmony export */ updateAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.updateAnimation),\n/* harmony export */ updateColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.updateColor),\n/* harmony export */ updateColorValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.updateColorValue),\n/* harmony export */ visibilityChangeEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.visibilityChangeEvent)\n/* harmony export */ });\n/* harmony import */ var _init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./init.js */ \"../../engine/dist/browser/init.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _exports_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./exports.js */ \"../../engine/dist/browser/exports.js\");\n/* harmony import */ var _export_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./export-types.js */ \"../../engine/dist/browser/export-types.js\");\n\n\nconst tsParticles = (0,_init_js__WEBPACK_IMPORTED_MODULE_0__.init)();\nif (!(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.isSsr)()) {\n window.tsParticles = tsParticles;\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/index.js?");
2047
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AlterType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AlterType),\n/* harmony export */ AnimatableColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimatableColor),\n/* harmony export */ AnimationMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationMode),\n/* harmony export */ AnimationOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationOptions),\n/* harmony export */ AnimationStatus: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationStatus),\n/* harmony export */ AnimationValueWithRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.AnimationValueWithRandom),\n/* harmony export */ Background: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Background),\n/* harmony export */ BackgroundMask: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.BackgroundMask),\n/* harmony export */ BackgroundMaskCover: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.BackgroundMaskCover),\n/* harmony export */ BaseRange: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.BaseRange),\n/* harmony export */ Circle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Circle),\n/* harmony export */ ClickEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ClickEvent),\n/* harmony export */ CollisionMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.CollisionMode),\n/* harmony export */ Collisions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Collisions),\n/* harmony export */ CollisionsAbsorb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.CollisionsAbsorb),\n/* harmony export */ CollisionsOverlap: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.CollisionsOverlap),\n/* harmony export */ ColorAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ColorAnimation),\n/* harmony export */ DestroyType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.DestroyType),\n/* harmony export */ DivEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.DivEvent),\n/* harmony export */ DivType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.DivType),\n/* harmony export */ EasingType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.EasingType),\n/* harmony export */ EventType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.EventType),\n/* harmony export */ Events: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Events),\n/* harmony export */ ExternalInteractorBase: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ExternalInteractorBase),\n/* harmony export */ FullScreen: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.FullScreen),\n/* harmony export */ GradientType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.GradientType),\n/* harmony export */ HoverEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.HoverEvent),\n/* harmony export */ HslAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.HslAnimation),\n/* harmony export */ Interactivity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Interactivity),\n/* harmony export */ InteractivityDetect: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.InteractivityDetect),\n/* harmony export */ InteractorType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.InteractorType),\n/* harmony export */ LimitMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode),\n/* harmony export */ ManualParticle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ManualParticle),\n/* harmony export */ Modes: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Modes),\n/* harmony export */ Move: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Move),\n/* harmony export */ MoveAngle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveAngle),\n/* harmony export */ MoveAttract: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveAttract),\n/* harmony export */ MoveCenter: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveCenter),\n/* harmony export */ MoveDirection: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveDirection),\n/* harmony export */ MoveGravity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveGravity),\n/* harmony export */ MovePath: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MovePath),\n/* harmony export */ MoveTrail: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.MoveTrail),\n/* harmony export */ Opacity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Opacity),\n/* harmony export */ OpacityAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OpacityAnimation),\n/* harmony export */ Options: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Options),\n/* harmony export */ OptionsColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OptionsColor),\n/* harmony export */ OutMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OutMode),\n/* harmony export */ OutModeDirection: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OutModeDirection),\n/* harmony export */ OutModes: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.OutModes),\n/* harmony export */ Parallax: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Parallax),\n/* harmony export */ ParticleOutType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticleOutType),\n/* harmony export */ ParticlesBounce: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesBounce),\n/* harmony export */ ParticlesBounceFactor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesBounceFactor),\n/* harmony export */ ParticlesDensity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesDensity),\n/* harmony export */ ParticlesInteractorBase: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesInteractorBase),\n/* harmony export */ ParticlesNumber: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesNumber),\n/* harmony export */ ParticlesNumberLimit: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesNumberLimit),\n/* harmony export */ ParticlesOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ParticlesOptions),\n/* harmony export */ PixelMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.PixelMode),\n/* harmony export */ Point: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Point),\n/* harmony export */ RangedAnimationOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.RangedAnimationOptions),\n/* harmony export */ RangedAnimationValueWithRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.RangedAnimationValueWithRandom),\n/* harmony export */ Rectangle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Rectangle),\n/* harmony export */ ResizeEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ResizeEvent),\n/* harmony export */ Responsive: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Responsive),\n/* harmony export */ ResponsiveMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ResponsiveMode),\n/* harmony export */ RotateDirection: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.RotateDirection),\n/* harmony export */ Shadow: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Shadow),\n/* harmony export */ Shape: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Shape),\n/* harmony export */ Size: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Size),\n/* harmony export */ SizeAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.SizeAnimation),\n/* harmony export */ Spin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Spin),\n/* harmony export */ StartValueType: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.StartValueType),\n/* harmony export */ Stroke: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Stroke),\n/* harmony export */ Theme: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Theme),\n/* harmony export */ ThemeDefault: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ThemeDefault),\n/* harmony export */ ThemeMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ThemeMode),\n/* harmony export */ ValueWithRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ValueWithRandom),\n/* harmony export */ Vector: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Vector),\n/* harmony export */ Vector3d: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.Vector3d),\n/* harmony export */ ZIndex: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.ZIndex),\n/* harmony export */ alterHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.alterHsl),\n/* harmony export */ animate: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.animate),\n/* harmony export */ areBoundsInside: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.arrayRandomIndex),\n/* harmony export */ assertValidVersion: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.assertValidVersion),\n/* harmony export */ calcExactPositionOrRandomFromSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcExactPositionOrRandomFromSize),\n/* harmony export */ calcExactPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcExactPositionOrRandomFromSizeRanged),\n/* harmony export */ calcPositionFromSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcPositionFromSize),\n/* harmony export */ calcPositionOrRandomFromSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcPositionOrRandomFromSize),\n/* harmony export */ calcPositionOrRandomFromSizeRanged: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calcPositionOrRandomFromSizeRanged),\n/* harmony export */ calculateBounds: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.calculateBounds),\n/* harmony export */ cancelAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.cancelAnimation),\n/* harmony export */ circleBounce: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.circleBounceDataFromParticle),\n/* harmony export */ clamp: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.clamp),\n/* harmony export */ clear: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.clear),\n/* harmony export */ collisionVelocity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.collisionVelocity),\n/* harmony export */ colorMix: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.colorMix),\n/* harmony export */ colorToHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.colorToHsl),\n/* harmony export */ colorToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.colorToRgb),\n/* harmony export */ deepExtend: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.deepExtend),\n/* harmony export */ degToRad: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.degToRad),\n/* harmony export */ divMode: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.divMode),\n/* harmony export */ divModeExecute: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.divModeExecute),\n/* harmony export */ drawEffect: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawEffect),\n/* harmony export */ drawLine: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawLine),\n/* harmony export */ drawParticle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawParticle),\n/* harmony export */ drawParticlePlugin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawParticlePlugin),\n/* harmony export */ drawPlugin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawPlugin),\n/* harmony export */ drawShape: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawShape),\n/* harmony export */ drawShapeAfterDraw: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.drawShapeAfterDraw),\n/* harmony export */ errorPrefix: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.errorPrefix),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.findItemFromSingleOrMultiple),\n/* harmony export */ generatedAttribute: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute),\n/* harmony export */ getDistance: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getDistance),\n/* harmony export */ getDistances: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getDistances),\n/* harmony export */ getHslAnimationFromHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getHslAnimationFromHsl),\n/* harmony export */ getHslFromAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getHslFromAnimation),\n/* harmony export */ getLinkColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getLinkColor),\n/* harmony export */ getLinkRandomColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getLinkRandomColor),\n/* harmony export */ getLogger: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getLogger),\n/* harmony export */ getParticleBaseVelocity: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getParticleBaseVelocity),\n/* harmony export */ getParticleDirectionAngle: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getParticleDirectionAngle),\n/* harmony export */ getPosition: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getPosition),\n/* harmony export */ getRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRandom),\n/* harmony export */ getRandomRgbColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRandomRgbColor),\n/* harmony export */ getRangeMax: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRangeMax),\n/* harmony export */ getRangeMin: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRangeMin),\n/* harmony export */ getRangeValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getRangeValue),\n/* harmony export */ getSize: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getSize),\n/* harmony export */ getStyleFromHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromHsl),\n/* harmony export */ getStyleFromRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.getStyleFromRgb),\n/* harmony export */ halfRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.halfRandom),\n/* harmony export */ hasMatchMedia: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.hasMatchMedia),\n/* harmony export */ hslToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.hslToRgb),\n/* harmony export */ hslaToRgba: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.hslaToRgba),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.initParticleNumericAnimationValue),\n/* harmony export */ isArray: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isArray),\n/* harmony export */ isBoolean: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isBoolean),\n/* harmony export */ isDivModeEnabled: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isDivModeEnabled),\n/* harmony export */ isFunction: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isFunction),\n/* harmony export */ isInArray: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isInArray),\n/* harmony export */ isNull: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isNull),\n/* harmony export */ isNumber: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isNumber),\n/* harmony export */ isObject: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isObject),\n/* harmony export */ isPointInside: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isPointInside),\n/* harmony export */ isSsr: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isSsr),\n/* harmony export */ isString: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.isString),\n/* harmony export */ itemFromArray: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.itemFromSingleOrMultiple),\n/* harmony export */ loadFont: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.loadFont),\n/* harmony export */ loadOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.loadOptions),\n/* harmony export */ loadParticlesOptions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.loadParticlesOptions),\n/* harmony export */ millisecondsToSeconds: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.millisecondsToSeconds),\n/* harmony export */ mix: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mix),\n/* harmony export */ mouseDownEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseDownEvent),\n/* harmony export */ mouseLeaveEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseLeaveEvent),\n/* harmony export */ mouseMoveEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseMoveEvent),\n/* harmony export */ mouseOutEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseOutEvent),\n/* harmony export */ mouseUpEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.mouseUpEvent),\n/* harmony export */ paintBase: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.paintBase),\n/* harmony export */ paintImage: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.paintImage),\n/* harmony export */ parseAlpha: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.parseAlpha),\n/* harmony export */ percentDenominator: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.percentDenominator),\n/* harmony export */ randomInRange: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.randomInRange),\n/* harmony export */ rangeColorToHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToHsl),\n/* harmony export */ rangeColorToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rangeColorToRgb),\n/* harmony export */ rectBounce: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rectBounce),\n/* harmony export */ resizeEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.resizeEvent),\n/* harmony export */ rgbToHsl: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.rgbToHsl),\n/* harmony export */ safeIntersectionObserver: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.safeMutationObserver),\n/* harmony export */ setAnimationFunctions: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setAnimationFunctions),\n/* harmony export */ setLogger: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setLogger),\n/* harmony export */ setRandom: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setRandom),\n/* harmony export */ setRangeValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.setRangeValue),\n/* harmony export */ singleDivModeExecute: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.singleDivModeExecute),\n/* harmony export */ stringToAlpha: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.stringToAlpha),\n/* harmony export */ stringToRgb: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.stringToRgb),\n/* harmony export */ touchCancelEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchCancelEvent),\n/* harmony export */ touchEndEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchEndEvent),\n/* harmony export */ touchMoveEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchMoveEvent),\n/* harmony export */ touchStartEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.touchStartEvent),\n/* harmony export */ tsParticles: () => (/* binding */ tsParticles),\n/* harmony export */ updateAnimation: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.updateAnimation),\n/* harmony export */ updateColor: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.updateColor),\n/* harmony export */ updateColorValue: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.updateColorValue),\n/* harmony export */ visibilityChangeEvent: () => (/* reexport safe */ _exports_js__WEBPACK_IMPORTED_MODULE_2__.visibilityChangeEvent)\n/* harmony export */ });\n/* harmony import */ var _init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./init.js */ \"../../engine/dist/browser/init.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _exports_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./exports.js */ \"../../engine/dist/browser/exports.js\");\n/* harmony import */ var _export_types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./export-types.js */ \"../../engine/dist/browser/export-types.js\");\n\n\nconst tsParticles = (0,_init_js__WEBPACK_IMPORTED_MODULE_0__.init)();\nif (!(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.isSsr)()) {\n window.tsParticles = tsParticles;\n}\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/index.js?");
2068
2048
 
2069
2049
  /***/ }),
2070
2050
 
@@ -2074,7 +2054,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2074
2054
  \*****************************************/
2075
2055
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2076
2056
 
2077
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ init: () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _Core_Engine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Core/Engine.js */ \"../../engine/dist/browser/Core/Engine.js\");\n/* harmony import */ var _Utils_HslColorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/HslColorManager.js */ \"../../engine/dist/browser/Utils/HslColorManager.js\");\n/* harmony import */ var _Utils_RgbColorManager_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utils/RgbColorManager.js */ \"../../engine/dist/browser/Utils/RgbColorManager.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/ColorUtils.js */ \"../../engine/dist/browser/Utils/ColorUtils.js\");\n\n\n\n\nfunction init() {\n const rgbColorManager = new _Utils_RgbColorManager_js__WEBPACK_IMPORTED_MODULE_2__.RgbColorManager(),\n hslColorManager = new _Utils_HslColorManager_js__WEBPACK_IMPORTED_MODULE_1__.HslColorManager();\n (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.addColorManager)(rgbColorManager);\n (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.addColorManager)(hslColorManager);\n const engine = new _Core_Engine_js__WEBPACK_IMPORTED_MODULE_0__.Engine();\n engine.init();\n return engine;\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/init.js?");
2057
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ init: () => (/* binding */ init)\n/* harmony export */ });\n/* harmony import */ var _Core_Engine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Core/Engine.js */ \"../../engine/dist/browser/Core/Engine.js\");\n\nfunction init() {\n const engine = new _Core_Engine_js__WEBPACK_IMPORTED_MODULE_0__.Engine();\n engine.init();\n return engine;\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../engine/dist/browser/init.js?");
2078
2058
 
2079
2059
  /***/ }),
2080
2060
 
@@ -2104,7 +2084,67 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2104
2084
  \*********************************************/
2105
2085
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2106
2086
 
2107
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBaseMover: () => (/* binding */ loadBaseMover)\n/* harmony export */ });\n/* harmony import */ var _BaseMover_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseMover.js */ \"../../move/base/dist/browser/BaseMover.js\");\n\nasync function loadBaseMover(engine, refresh = true) {\n await engine.addMover(\"base\", () => {\n return Promise.resolve(new _BaseMover_js__WEBPACK_IMPORTED_MODULE_0__.BaseMover());\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../move/base/dist/browser/index.js?");
2087
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBaseMover: () => (/* binding */ loadBaseMover)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _BaseMover_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BaseMover.js */ \"../../move/base/dist/browser/BaseMover.js\");\n\n\nasync function loadBaseMover(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addMover(\"base\", () => {\n return Promise.resolve(new _BaseMover_js__WEBPACK_IMPORTED_MODULE_1__.BaseMover());\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../move/base/dist/browser/index.js?");
2088
+
2089
+ /***/ }),
2090
+
2091
+ /***/ "../../plugins/colors/hexColor/dist/browser/HexColorManager.js":
2092
+ /*!*********************************************************************!*\
2093
+ !*** ../../plugins/colors/hexColor/dist/browser/HexColorManager.js ***!
2094
+ \*********************************************************************/
2095
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2096
+
2097
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HexColorManager: () => (/* binding */ HexColorManager)\n/* harmony export */ });\nvar RgbIndexes;\n(function (RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 4] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nconst shorthandHexRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i,\n hexRegex = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i,\n hexRadix = 16,\n defaultAlpha = 1,\n alphaFactor = 0xff;\nclass HexColorManager {\n constructor() {\n this.key = \"hex\";\n this.stringPrefix = \"#\";\n }\n handleColor(color) {\n return this._parseString(color.value);\n }\n handleRangeColor(color) {\n return this._parseString(color.value);\n }\n parseString(input) {\n return this._parseString(input);\n }\n _parseString(hexColor) {\n if (typeof hexColor !== \"string\") {\n return;\n }\n if (!hexColor?.startsWith(this.stringPrefix)) {\n return;\n }\n const hexFixed = hexColor.replace(shorthandHexRegex, (_, r, g, b, a) => {\n return r + r + g + g + b + b + (a !== undefined ? a + a : \"\");\n }),\n result = hexRegex.exec(hexFixed);\n return result ? {\n a: result[RgbIndexes.a] !== undefined ? parseInt(result[RgbIndexes.a], hexRadix) / alphaFactor : defaultAlpha,\n b: parseInt(result[RgbIndexes.b], hexRadix),\n g: parseInt(result[RgbIndexes.g], hexRadix),\n r: parseInt(result[RgbIndexes.r], hexRadix)\n } : undefined;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/colors/hexColor/dist/browser/HexColorManager.js?");
2098
+
2099
+ /***/ }),
2100
+
2101
+ /***/ "../../plugins/colors/hexColor/dist/browser/index.js":
2102
+ /*!***********************************************************!*\
2103
+ !*** ../../plugins/colors/hexColor/dist/browser/index.js ***!
2104
+ \***********************************************************/
2105
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2106
+
2107
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHexColorPlugin: () => (/* binding */ loadHexColorPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _HexColorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HexColorManager.js */ \"../../plugins/colors/hexColor/dist/browser/HexColorManager.js\");\n\n\nasync function loadHexColorPlugin(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addColorManager(new _HexColorManager_js__WEBPACK_IMPORTED_MODULE_1__.HexColorManager(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/colors/hexColor/dist/browser/index.js?");
2108
+
2109
+ /***/ }),
2110
+
2111
+ /***/ "../../plugins/colors/hslColor/dist/browser/HslColorManager.js":
2112
+ /*!*********************************************************************!*\
2113
+ !*** ../../plugins/colors/hslColor/dist/browser/HslColorManager.js ***!
2114
+ \*********************************************************************/
2115
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2116
+
2117
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HslColorManager: () => (/* binding */ HslColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar HslIndexes;\n(function (HslIndexes) {\n HslIndexes[HslIndexes[\"h\"] = 1] = \"h\";\n HslIndexes[HslIndexes[\"s\"] = 2] = \"s\";\n HslIndexes[HslIndexes[\"l\"] = 3] = \"l\";\n HslIndexes[HslIndexes[\"a\"] = 5] = \"a\";\n})(HslIndexes || (HslIndexes = {}));\nclass HslColorManager {\n constructor() {\n this.key = \"hsl\";\n this.stringPrefix = \"hsl\";\n }\n handleColor(color) {\n const colorValue = color.value,\n hslColor = colorValue.hsl ?? color.value;\n if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)(hslColor);\n }\n }\n handleRangeColor(color) {\n const colorValue = color.value,\n hslColor = colorValue.hsl ?? color.value;\n if (hslColor.h !== undefined && hslColor.l !== undefined) {\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslToRgb)({\n h: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.h),\n l: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.l),\n s: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(hslColor.s)\n });\n }\n }\n parseString(input) {\n if (!input.startsWith(\"hsl\")) {\n return;\n }\n const regex = /hsla?\\(\\s*(\\d+)\\s*[\\s,]\\s*(\\d+)%\\s*[\\s,]\\s*(\\d+)%\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i,\n result = regex.exec(input),\n minLength = 4,\n defaultAlpha = 1,\n radix = 10;\n return result ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.hslaToRgba)({\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,\n h: parseInt(result[HslIndexes.h], radix),\n l: parseInt(result[HslIndexes.l], radix),\n s: parseInt(result[HslIndexes.s], radix)\n }) : undefined;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/colors/hslColor/dist/browser/HslColorManager.js?");
2118
+
2119
+ /***/ }),
2120
+
2121
+ /***/ "../../plugins/colors/hslColor/dist/browser/index.js":
2122
+ /*!***********************************************************!*\
2123
+ !*** ../../plugins/colors/hslColor/dist/browser/index.js ***!
2124
+ \***********************************************************/
2125
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2126
+
2127
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHslColorPlugin: () => (/* binding */ loadHslColorPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _HslColorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HslColorManager.js */ \"../../plugins/colors/hslColor/dist/browser/HslColorManager.js\");\n\n\nasync function loadHslColorPlugin(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addColorManager(new _HslColorManager_js__WEBPACK_IMPORTED_MODULE_1__.HslColorManager(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/colors/hslColor/dist/browser/index.js?");
2128
+
2129
+ /***/ }),
2130
+
2131
+ /***/ "../../plugins/colors/rgbColor/dist/browser/RgbColorManager.js":
2132
+ /*!*********************************************************************!*\
2133
+ !*** ../../plugins/colors/rgbColor/dist/browser/RgbColorManager.js ***!
2134
+ \*********************************************************************/
2135
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2136
+
2137
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RgbColorManager: () => (/* binding */ RgbColorManager)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nvar RgbIndexes;\n(function (RgbIndexes) {\n RgbIndexes[RgbIndexes[\"r\"] = 1] = \"r\";\n RgbIndexes[RgbIndexes[\"g\"] = 2] = \"g\";\n RgbIndexes[RgbIndexes[\"b\"] = 3] = \"b\";\n RgbIndexes[RgbIndexes[\"a\"] = 5] = \"a\";\n})(RgbIndexes || (RgbIndexes = {}));\nclass RgbColorManager {\n constructor() {\n this.key = \"rgb\";\n this.stringPrefix = \"rgb\";\n }\n handleColor(color) {\n const colorValue = color.value,\n rgbColor = colorValue.rgb ?? color.value;\n if (rgbColor.r !== undefined) {\n return rgbColor;\n }\n }\n handleRangeColor(color) {\n const colorValue = color.value,\n rgbColor = colorValue.rgb ?? color.value;\n if (rgbColor.r !== undefined) {\n return {\n r: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.r),\n g: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.g),\n b: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rgbColor.b)\n };\n }\n }\n parseString(input) {\n if (!input.startsWith(this.stringPrefix)) {\n return;\n }\n const regex = /rgba?\\(\\s*(\\d{1,3})\\s*[\\s,]\\s*(\\d{1,3})\\s*[\\s,]\\s*(\\d{1,3})\\s*([\\s,]\\s*(0|1|0?\\.\\d+|(\\d{1,3})%)\\s*)?\\)/i,\n result = regex.exec(input),\n radix = 10,\n minLength = 4,\n defaultAlpha = 1;\n return result ? {\n a: result.length > minLength ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.parseAlpha)(result[RgbIndexes.a]) : defaultAlpha,\n b: parseInt(result[RgbIndexes.b], radix),\n g: parseInt(result[RgbIndexes.g], radix),\n r: parseInt(result[RgbIndexes.r], radix)\n } : undefined;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/colors/rgbColor/dist/browser/RgbColorManager.js?");
2138
+
2139
+ /***/ }),
2140
+
2141
+ /***/ "../../plugins/colors/rgbColor/dist/browser/index.js":
2142
+ /*!***********************************************************!*\
2143
+ !*** ../../plugins/colors/rgbColor/dist/browser/index.js ***!
2144
+ \***********************************************************/
2145
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2146
+
2147
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRgbColorPlugin: () => (/* binding */ loadRgbColorPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RgbColorManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RgbColorManager.js */ \"../../plugins/colors/rgbColor/dist/browser/RgbColorManager.js\");\n\n\nasync function loadRgbColorPlugin(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addColorManager(new _RgbColorManager_js__WEBPACK_IMPORTED_MODULE_1__.RgbColorManager(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/colors/rgbColor/dist/browser/index.js?");
2108
2148
 
2109
2149
  /***/ }),
2110
2150
 
@@ -2124,7 +2164,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n\n\n//# sourceURL=webpack://@
2124
2164
  \**************************************************************/
2125
2165
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2126
2166
 
2127
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst half = 0.5,\n defaultLifeDelay = 0,\n minLifeCount = 0,\n defaultSpawnDelay = 0,\n defaultEmitDelay = 0,\n defaultLifeCount = -1,\n defaultColorAnimationFactor = 1;\nfunction setParticlesOptionsColor(particlesOptions, color) {\n if (particlesOptions.color) {\n particlesOptions.color.value = color;\n } else {\n particlesOptions.color = {\n value: color\n };\n }\n}\nclass EmitterInstance {\n constructor(engine, emitters, container, options, position) {\n this.emitters = emitters;\n this.container = container;\n this._destroy = () => {\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.emitters.removeEmitter(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n this._prepareToDie = () => {\n if (this._paused) {\n return;\n }\n const duration = this.options.life?.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined,\n minDuration = 0,\n minLifeCount = 0;\n if (this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n this._setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor) => {\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(animation.offset),\n delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay),\n emitFactor = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor,\n defaultColorSpeed = 0,\n colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed ?? defaultColorSpeed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n let particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions ??= {};\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawnColor) {\n this.spawnColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(() => {\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(() => {\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"style\", \"width\", \"height\"]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape,\n shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!(this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, this.container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._currentSpawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(),\n pxRatio = this.container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * half) * pxRatio,\n y: (elRect.y + elRect.height * half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: this.container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.precise\n };\n }\n }\n return this.options.size ?? (() => {\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent,\n width: 0\n });\n return size;\n })();\n }\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions);\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions);\n if (this.spawnColor) {\n const hslAnimation = this.options.spawnColor?.animation;\n if (hslAnimation) {\n const maxValues = {\n h: 360,\n s: 100,\n l: 100\n },\n colorFactor = 3.6;\n this.spawnColor.h = this._setColorAnimation(hslAnimation.h, this.spawnColor.h, maxValues.h, colorFactor);\n this.spawnColor.s = this._setColorAnimation(hslAnimation.s, this.spawnColor.s, maxValues.s);\n this.spawnColor.l = this._setColorAnimation(hslAnimation.l, this.spawnColor.l, maxValues.l);\n }\n setParticlesOptionsColor(particlesOptions, this.spawnColor);\n }\n const shapeOptions = this.options.shape;\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsColor(particlesOptions, shapePosData.color);\n }\n if (replaceData.opacity) {\n if (particlesOptions.opacity) {\n particlesOptions.opacity.value = shapePosData.opacity;\n } else {\n particlesOptions.opacity = {\n value: shapePosData.opacity\n };\n }\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/EmitterInstance.js?");
2167
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst half = 0.5,\n defaultLifeDelay = 0,\n minLifeCount = 0,\n defaultSpawnDelay = 0,\n defaultEmitDelay = 0,\n defaultLifeCount = -1,\n defaultColorAnimationFactor = 1;\nfunction setParticlesOptionsColor(particlesOptions, color) {\n if (particlesOptions.color) {\n particlesOptions.color.value = color;\n } else {\n particlesOptions.color = {\n value: color\n };\n }\n}\nclass EmitterInstance {\n constructor(engine, emitters, container, options, position) {\n this.emitters = emitters;\n this.container = container;\n this._destroy = () => {\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.emitters.removeEmitter(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n this._prepareToDie = () => {\n if (this._paused) {\n return;\n }\n const duration = this.options.life?.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined,\n minDuration = 0,\n minLifeCount = 0;\n if (this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n this._setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor) => {\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(animation.offset),\n delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay),\n emitFactor = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor,\n defaultColorSpeed = 0,\n colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed ?? defaultColorSpeed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n let particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions ??= {};\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawnColor) {\n this.spawnColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(() => {\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(() => {\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"style\", \"width\", \"height\"]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape,\n shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!(this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, this.container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._currentSpawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(),\n pxRatio = this.container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * half) * pxRatio,\n y: (elRect.y + elRect.height * half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: this.container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.precise\n };\n }\n }\n return this.options.size ?? (() => {\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent,\n width: 0\n });\n return size;\n })();\n }\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions);\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions);\n if (this.spawnColor) {\n const hslAnimation = this.options.spawnColor?.animation;\n if (hslAnimation) {\n const maxValues = {\n h: 360,\n s: 100,\n l: 100\n },\n colorFactor = 3.6;\n this.spawnColor.h = this._setColorAnimation(hslAnimation.h, this.spawnColor.h, maxValues.h, colorFactor);\n this.spawnColor.s = this._setColorAnimation(hslAnimation.s, this.spawnColor.s, maxValues.s);\n this.spawnColor.l = this._setColorAnimation(hslAnimation.l, this.spawnColor.l, maxValues.l);\n }\n setParticlesOptionsColor(particlesOptions, this.spawnColor);\n }\n const shapeOptions = this.options.shape;\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsColor(particlesOptions, shapePosData.color);\n }\n if (replaceData.opacity) {\n if (particlesOptions.opacity) {\n particlesOptions.opacity.value = shapePosData.opacity;\n } else {\n particlesOptions.opacity = {\n value: shapePosData.opacity\n };\n }\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/EmitterInstance.js?");
2128
2168
 
2129
2169
  /***/ }),
2130
2170
 
@@ -2214,7 +2254,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n\n\n//# sourceURL=webpack://@
2214
2254
  \**********************************************************************/
2215
2255
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2216
2256
 
2217
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\n\n\nclass Emitter {\n constructor() {\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.startCount = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n if (!this.size) {\n this.size = new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n }\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, particles => {\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n if (this.spawnColor === undefined) {\n this.spawnColor = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n }\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?");
2257
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitter: () => (/* binding */ Emitter)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterLife.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js\");\n/* harmony import */ var _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterRate.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js\");\n/* harmony import */ var _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShape.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js\");\n/* harmony import */ var _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\n\n\nclass Emitter {\n constructor() {\n this.autoPlay = true;\n this.fill = true;\n this.life = new _EmitterLife_js__WEBPACK_IMPORTED_MODULE_1__.EmitterLife();\n this.rate = new _EmitterRate_js__WEBPACK_IMPORTED_MODULE_2__.EmitterRate();\n this.shape = new _EmitterShape_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShape();\n this.startCount = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.size !== undefined) {\n if (!this.size) {\n this.size = new _EmitterSize_js__WEBPACK_IMPORTED_MODULE_4__.EmitterSize();\n }\n this.size.load(data.size);\n }\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.domId = data.domId;\n if (data.fill !== undefined) {\n this.fill = data.fill;\n }\n this.life.load(data.life);\n this.name = data.name;\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, particles => {\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n this.rate.load(data.rate);\n this.shape.load(data.shape);\n if (data.position !== undefined) {\n this.position = {};\n if (data.position.x !== undefined) {\n this.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.x);\n }\n if (data.position.y !== undefined) {\n this.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.position.y);\n }\n }\n if (data.spawnColor !== undefined) {\n if (this.spawnColor === undefined) {\n this.spawnColor = new _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AnimatableColor();\n }\n this.spawnColor.load(data.spawnColor);\n }\n if (data.startCount !== undefined) {\n this.startCount = data.startCount;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/Emitter.js?");
2218
2258
 
2219
2259
  /***/ }),
2220
2260
 
@@ -2224,7 +2264,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2224
2264
  \**************************************************************************/
2225
2265
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2226
2266
 
2227
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterLife: () => (/* binding */ EmitterLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterLife {\n constructor() {\n this.wait = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js?");
2267
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterLife: () => (/* binding */ EmitterLife)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterLife {\n constructor() {\n this.wait = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n if (data.duration !== undefined) {\n this.duration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.duration);\n }\n if (data.wait !== undefined) {\n this.wait = data.wait;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterLife.js?");
2228
2268
 
2229
2269
  /***/ }),
2230
2270
 
@@ -2234,7 +2274,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2234
2274
  \**************************************************************************/
2235
2275
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2236
2276
 
2237
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterRate: () => (/* binding */ EmitterRate)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterRate {\n constructor() {\n this.quantity = 1;\n this.delay = 0.1;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.quantity !== undefined) {\n this.quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.quantity);\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js?");
2277
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterRate: () => (/* binding */ EmitterRate)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterRate {\n constructor() {\n this.quantity = 1;\n this.delay = 0.1;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.quantity !== undefined) {\n this.quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.quantity);\n }\n if (data.delay !== undefined) {\n this.delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.delay);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterRate.js?");
2238
2278
 
2239
2279
  /***/ }),
2240
2280
 
@@ -2244,7 +2284,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2244
2284
  \***************************************************************************/
2245
2285
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2246
2286
 
2247
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShape: () => (/* binding */ EmitterShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterShapeReplace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterShapeReplace.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js\");\n\n\nclass EmitterShape {\n constructor() {\n this.options = {};\n this.replace = new _EmitterShapeReplace_js__WEBPACK_IMPORTED_MODULE_1__.EmitterShapeReplace();\n this.type = \"square\";\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.options !== undefined) {\n this.options = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.options ?? {});\n }\n this.replace.load(data.replace);\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js?");
2287
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShape: () => (/* binding */ EmitterShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterShapeReplace_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmitterShapeReplace.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js\");\n\n\nclass EmitterShape {\n constructor() {\n this.options = {};\n this.replace = new _EmitterShapeReplace_js__WEBPACK_IMPORTED_MODULE_1__.EmitterShapeReplace();\n this.type = \"square\";\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.options !== undefined) {\n this.options = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.options ?? {});\n }\n this.replace.load(data.replace);\n if (data.type !== undefined) {\n this.type = data.type;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterShape.js?");
2248
2288
 
2249
2289
  /***/ }),
2250
2290
 
@@ -2254,7 +2294,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2254
2294
  \**********************************************************************************/
2255
2295
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2256
2296
 
2257
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShapeReplace: () => (/* binding */ EmitterShapeReplace)\n/* harmony export */ });\nclass EmitterShapeReplace {\n constructor() {\n this.color = false;\n this.opacity = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js?");
2297
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterShapeReplace: () => (/* binding */ EmitterShapeReplace)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterShapeReplace {\n constructor() {\n this.color = false;\n this.opacity = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = data.color;\n }\n if (data.opacity !== undefined) {\n this.opacity = data.opacity;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterShapeReplace.js?");
2258
2298
 
2259
2299
  /***/ }),
2260
2300
 
@@ -2264,7 +2304,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2264
2304
  \**************************************************************************/
2265
2305
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2266
2306
 
2267
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSize: () => (/* binding */ EmitterSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSize {\n constructor() {\n this.mode = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if (data === undefined) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js?");
2307
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterSize: () => (/* binding */ EmitterSize)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass EmitterSize {\n constructor() {\n this.mode = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.PixelMode.percent;\n this.height = 0;\n this.width = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js?");
2268
2308
 
2269
2309
  /***/ }),
2270
2310
 
@@ -2284,7 +2324,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2284
2324
  \****************************************************/
2285
2325
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2286
2326
 
2287
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_7__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__.EmitterShapeBase),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmittersPlugin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\");\n/* harmony import */ var _ShapeManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\");\n/* harmony import */ var _EmitterContainer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EmitterContainer.js */ \"../../plugins/emitters/dist/browser/EmitterContainer.js\");\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _EmittersEngine_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmittersEngine.js */ \"../../plugins/emitters/dist/browser/EmittersEngine.js\");\n/* harmony import */ var _IEmitterShape_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./IEmitterShape.js */ \"../../plugins/emitters/dist/browser/IEmitterShape.js\");\n/* harmony import */ var _IEmitterShapeGenerator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./IEmitterShapeGenerator.js */ \"../../plugins/emitters/dist/browser/IEmitterShapeGenerator.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\n/* harmony import */ var _IRandomPositionData_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./IRandomPositionData.js */ \"../../plugins/emitters/dist/browser/IRandomPositionData.js\");\n\n\nasync function loadEmittersPlugin(engine, refresh = true) {\n if (!engine.emitterShapeManager) {\n engine.emitterShapeManager = new _ShapeManager_js__WEBPACK_IMPORTED_MODULE_1__.ShapeManager(engine);\n }\n if (!engine.addEmitterShapeGenerator) {\n engine.addEmitterShapeGenerator = (name, generator) => {\n engine.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n }\n const plugin = new _EmittersPlugin_js__WEBPACK_IMPORTED_MODULE_0__.EmittersPlugin(engine);\n await engine.addPlugin(plugin, refresh);\n}\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/index.js?");
2327
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterClickMode: () => (/* reexport safe */ _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_8__.EmitterClickMode),\n/* harmony export */ EmitterShapeBase: () => (/* reexport safe */ _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_4__.EmitterShapeBase),\n/* harmony export */ loadEmittersPlugin: () => (/* binding */ loadEmittersPlugin)\n/* harmony export */ });\n/* harmony import */ var _EmittersPlugin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmittersPlugin.js */ \"../../plugins/emitters/dist/browser/EmittersPlugin.js\");\n/* harmony import */ var _ShapeManager_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ShapeManager.js */ \"../../plugins/emitters/dist/browser/ShapeManager.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmitterContainer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmitterContainer.js */ \"../../plugins/emitters/dist/browser/EmitterContainer.js\");\n/* harmony import */ var _EmitterShapeBase_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./EmitterShapeBase.js */ \"../../plugins/emitters/dist/browser/EmitterShapeBase.js\");\n/* harmony import */ var _EmittersEngine_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./EmittersEngine.js */ \"../../plugins/emitters/dist/browser/EmittersEngine.js\");\n/* harmony import */ var _IEmitterShape_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./IEmitterShape.js */ \"../../plugins/emitters/dist/browser/IEmitterShape.js\");\n/* harmony import */ var _IEmitterShapeGenerator_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./IEmitterShapeGenerator.js */ \"../../plugins/emitters/dist/browser/IEmitterShapeGenerator.js\");\n/* harmony import */ var _Enums_EmitterClickMode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Enums/EmitterClickMode.js */ \"../../plugins/emitters/dist/browser/Enums/EmitterClickMode.js\");\n/* harmony import */ var _IRandomPositionData_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./IRandomPositionData.js */ \"../../plugins/emitters/dist/browser/IRandomPositionData.js\");\n\n\n\nasync function loadEmittersPlugin(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_2__.assertValidVersion)(engine, \"3.7.0\");\n if (!engine.emitterShapeManager) {\n engine.emitterShapeManager = new _ShapeManager_js__WEBPACK_IMPORTED_MODULE_1__.ShapeManager(engine);\n }\n if (!engine.addEmitterShapeGenerator) {\n engine.addEmitterShapeGenerator = (name, generator) => {\n engine.emitterShapeManager?.addShapeGenerator(name, generator);\n };\n }\n const plugin = new _EmittersPlugin_js__WEBPACK_IMPORTED_MODULE_0__.EmittersPlugin(engine);\n await engine.addPlugin(plugin, refresh);\n}\n\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/emitters/dist/browser/index.js?");
2288
2328
 
2289
2329
  /***/ }),
2290
2330
 
@@ -2314,7 +2354,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2314
2354
  \*******************************************************************/
2315
2355
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2316
2356
 
2317
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Motion: () => (/* binding */ Motion)\n/* harmony export */ });\n/* harmony import */ var _MotionReduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MotionReduce.js */ \"../../plugins/motion/dist/browser/Options/Classes/MotionReduce.js\");\n\nclass Motion {\n constructor() {\n this.disable = false;\n this.reduce = new _MotionReduce_js__WEBPACK_IMPORTED_MODULE_0__.MotionReduce();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.disable !== undefined) {\n this.disable = data.disable;\n }\n this.reduce.load(data.reduce);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/motion/dist/browser/Options/Classes/Motion.js?");
2357
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Motion: () => (/* binding */ Motion)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _MotionReduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MotionReduce.js */ \"../../plugins/motion/dist/browser/Options/Classes/MotionReduce.js\");\n\n\nclass Motion {\n constructor() {\n this.disable = false;\n this.reduce = new _MotionReduce_js__WEBPACK_IMPORTED_MODULE_1__.MotionReduce();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.disable !== undefined) {\n this.disable = data.disable;\n }\n this.reduce.load(data.reduce);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/motion/dist/browser/Options/Classes/Motion.js?");
2318
2358
 
2319
2359
  /***/ }),
2320
2360
 
@@ -2324,7 +2364,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2324
2364
  \*************************************************************************/
2325
2365
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2326
2366
 
2327
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MotionReduce: () => (/* binding */ MotionReduce)\n/* harmony export */ });\nclass MotionReduce {\n constructor() {\n this.factor = 4;\n this.value = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/motion/dist/browser/Options/Classes/MotionReduce.js?");
2367
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MotionReduce: () => (/* binding */ MotionReduce)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass MotionReduce {\n constructor() {\n this.factor = 4;\n this.value = true;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.factor !== undefined) {\n this.factor = data.factor;\n }\n if (data.value !== undefined) {\n this.value = data.value;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/motion/dist/browser/Options/Classes/MotionReduce.js?");
2328
2368
 
2329
2369
  /***/ }),
2330
2370
 
@@ -2334,7 +2374,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2334
2374
  \**************************************************/
2335
2375
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2336
2376
 
2337
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadMotionPlugin: () => (/* binding */ loadMotionPlugin)\n/* harmony export */ });\n/* harmony import */ var _MotionPlugin_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MotionPlugin.js */ \"../../plugins/motion/dist/browser/MotionPlugin.js\");\n\nasync function loadMotionPlugin(engine, refresh = true) {\n await engine.addPlugin(new _MotionPlugin_js__WEBPACK_IMPORTED_MODULE_0__.MotionPlugin(engine), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/motion/dist/browser/index.js?");
2377
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadMotionPlugin: () => (/* binding */ loadMotionPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _MotionPlugin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MotionPlugin.js */ \"../../plugins/motion/dist/browser/MotionPlugin.js\");\n\n\nasync function loadMotionPlugin(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addPlugin(new _MotionPlugin_js__WEBPACK_IMPORTED_MODULE_1__.MotionPlugin(engine), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../plugins/motion/dist/browser/index.js?");
2338
2378
 
2339
2379
  /***/ }),
2340
2380
 
@@ -2394,7 +2434,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2394
2434
  \************************************************/
2395
2435
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2396
2436
 
2397
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCardsShape: () => (/* binding */ loadCardsShape)\n/* harmony export */ });\n/* harmony import */ var _ClubDrawer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ClubDrawer.js */ \"../../shapes/cards/dist/browser/ClubDrawer.js\");\n/* harmony import */ var _DiamondDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DiamondDrawer.js */ \"../../shapes/cards/dist/browser/DiamondDrawer.js\");\n/* harmony import */ var _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./HeartDrawer.js */ \"../../shapes/cards/dist/browser/HeartDrawer.js\");\n/* harmony import */ var _SpadeDrawer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SpadeDrawer.js */ \"../../shapes/cards/dist/browser/SpadeDrawer.js\");\n\n\n\n\nasync function loadCardsShape(engine, refresh = true) {\n await engine.addShape(new _SpadeDrawer_js__WEBPACK_IMPORTED_MODULE_3__.SpadeDrawer(), refresh);\n await engine.addShape(new _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_2__.HeartDrawer(), refresh);\n await engine.addShape(new _DiamondDrawer_js__WEBPACK_IMPORTED_MODULE_1__.DiamondDrawer(), refresh);\n await engine.addShape(new _ClubDrawer_js__WEBPACK_IMPORTED_MODULE_0__.ClubDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/index.js?");
2437
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCardsShape: () => (/* binding */ loadCardsShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _ClubDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ClubDrawer.js */ \"../../shapes/cards/dist/browser/ClubDrawer.js\");\n/* harmony import */ var _DiamondDrawer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DiamondDrawer.js */ \"../../shapes/cards/dist/browser/DiamondDrawer.js\");\n/* harmony import */ var _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HeartDrawer.js */ \"../../shapes/cards/dist/browser/HeartDrawer.js\");\n/* harmony import */ var _SpadeDrawer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SpadeDrawer.js */ \"../../shapes/cards/dist/browser/SpadeDrawer.js\");\n\n\n\n\n\nasync function loadCardsShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _SpadeDrawer_js__WEBPACK_IMPORTED_MODULE_4__.SpadeDrawer(), refresh);\n await engine.addShape(new _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_3__.HeartDrawer(), refresh);\n await engine.addShape(new _DiamondDrawer_js__WEBPACK_IMPORTED_MODULE_2__.DiamondDrawer(), refresh);\n await engine.addShape(new _ClubDrawer_js__WEBPACK_IMPORTED_MODULE_1__.ClubDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/cards/dist/browser/index.js?");
2398
2438
 
2399
2439
  /***/ }),
2400
2440
 
@@ -2424,7 +2464,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2424
2464
  \*************************************************/
2425
2465
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2426
2466
 
2427
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\n/* harmony import */ var _CircleDrawer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\");\n\nasync function loadCircleShape(engine, refresh = true) {\n await engine.addShape(new _CircleDrawer_js__WEBPACK_IMPORTED_MODULE_0__.CircleDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/circle/dist/browser/index.js?");
2467
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _CircleDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\");\n\n\nasync function loadCircleShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _CircleDrawer_js__WEBPACK_IMPORTED_MODULE_1__.CircleDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/circle/dist/browser/index.js?");
2428
2468
 
2429
2469
  /***/ }),
2430
2470
 
@@ -2454,7 +2494,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2454
2494
  \************************************************/
2455
2495
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2456
2496
 
2457
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _EmojiDrawer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\");\n\nasync function loadEmojiShape(engine, refresh = true) {\n await engine.addShape(new _EmojiDrawer_js__WEBPACK_IMPORTED_MODULE_0__.EmojiDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/emoji/dist/browser/index.js?");
2497
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _EmojiDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\");\n\n\nasync function loadEmojiShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _EmojiDrawer_js__WEBPACK_IMPORTED_MODULE_1__.EmojiDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/emoji/dist/browser/index.js?");
2458
2498
 
2459
2499
  /***/ }),
2460
2500
 
@@ -2484,7 +2524,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2484
2524
  \************************************************/
2485
2525
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2486
2526
 
2487
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHeartShape: () => (/* binding */ loadHeartShape)\n/* harmony export */ });\n/* harmony import */ var _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HeartDrawer.js */ \"../../shapes/heart/dist/browser/HeartDrawer.js\");\n\nasync function loadHeartShape(engine, refresh = true) {\n await engine.addShape(new _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_0__.HeartDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/heart/dist/browser/index.js?");
2527
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHeartShape: () => (/* binding */ loadHeartShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./HeartDrawer.js */ \"../../shapes/heart/dist/browser/HeartDrawer.js\");\n\n\nasync function loadHeartShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _HeartDrawer_js__WEBPACK_IMPORTED_MODULE_1__.HeartDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/heart/dist/browser/index.js?");
2488
2528
 
2489
2529
  /***/ }),
2490
2530
 
@@ -2564,7 +2604,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2564
2604
  \******************************************************************/
2565
2605
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2566
2606
 
2567
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Preload: () => (/* binding */ Preload)\n/* harmony export */ });\nclass Preload {\n constructor() {\n this.src = \"\";\n this.gif = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.gif !== undefined) {\n this.gif = data.gif;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.replaceColor !== undefined) {\n this.replaceColor = data.replaceColor;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/Options/Classes/Preload.js?");
2607
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Preload: () => (/* binding */ Preload)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Preload {\n constructor() {\n this.src = \"\";\n this.gif = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.gif !== undefined) {\n this.gif = data.gif;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.replaceColor !== undefined) {\n this.replaceColor = data.replaceColor;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/Options/Classes/Preload.js?");
2568
2608
 
2569
2609
  /***/ }),
2570
2610
 
@@ -2584,7 +2624,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2584
2624
  \************************************************/
2585
2625
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2586
2626
 
2587
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _ImageDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ImageDrawer.js */ \"../../shapes/image/dist/browser/ImageDrawer.js\");\n/* harmony import */ var _ImagePreloader_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ImagePreloader.js */ \"../../shapes/image/dist/browser/ImagePreloader.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\");\n\n\n\n\n\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n if (engine.loadImage) {\n return;\n }\n engine.loadImage = async data => {\n if (!data.name && !data.src) {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_3__.errorPrefix} no image source provided`);\n }\n if (!engine.images) {\n engine.images = [];\n }\n if (engine.images.find(t => t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif ?? false,\n name: data.name ?? data.src,\n source: data.src,\n type: data.src.substring(data.src.length - extLength),\n error: false,\n loading: true,\n replaceColor: data.replaceColor,\n ratio: data.width && data.height ? data.width / data.height : undefined\n };\n engine.images.push(image);\n let imageFunc;\n if (data.gif) {\n imageFunc = _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.loadGifImage;\n } else {\n imageFunc = data.replaceColor ? _Utils_js__WEBPACK_IMPORTED_MODULE_0__.downloadSvgImage : _Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_3__.errorPrefix} ${data.name ?? data.src} not found`);\n }\n };\n}\nasync function loadImageShape(engine, refresh = true) {\n addLoadImageToEngine(engine);\n const preloader = new _ImagePreloader_js__WEBPACK_IMPORTED_MODULE_2__.ImagePreloaderPlugin(engine);\n await engine.addPlugin(preloader, refresh);\n await engine.addShape(new _ImageDrawer_js__WEBPACK_IMPORTED_MODULE_1__.ImageDrawer(engine), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/index.js?");
2627
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _ImageDrawer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ImageDrawer.js */ \"../../shapes/image/dist/browser/ImageDrawer.js\");\n/* harmony import */ var _ImagePreloader_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ImagePreloader.js */ \"../../shapes/image/dist/browser/ImagePreloader.js\");\n/* harmony import */ var _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\");\n\n\n\n\n\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n if (engine.loadImage) {\n return;\n }\n engine.loadImage = async data => {\n if (!data.name && !data.src) {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} no image source provided`);\n }\n if (!engine.images) {\n engine.images = [];\n }\n if (engine.images.find(t => t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif ?? false,\n name: data.name ?? data.src,\n source: data.src,\n type: data.src.substring(data.src.length - extLength),\n error: false,\n loading: true,\n replaceColor: data.replaceColor,\n ratio: data.width && data.height ? data.width / data.height : undefined\n };\n engine.images.push(image);\n let imageFunc;\n if (data.gif) {\n imageFunc = _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_4__.loadGifImage;\n } else {\n imageFunc = data.replaceColor ? _Utils_js__WEBPACK_IMPORTED_MODULE_0__.downloadSvgImage : _Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.errorPrefix} ${data.name ?? data.src} not found`);\n }\n };\n}\nasync function loadImageShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.assertValidVersion)(engine, \"3.7.0\");\n addLoadImageToEngine(engine);\n const preloader = new _ImagePreloader_js__WEBPACK_IMPORTED_MODULE_3__.ImagePreloaderPlugin(engine);\n await engine.addPlugin(preloader, refresh);\n await engine.addShape(new _ImageDrawer_js__WEBPACK_IMPORTED_MODULE_2__.ImageDrawer(engine), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/image/dist/browser/index.js?");
2588
2628
 
2589
2629
  /***/ }),
2590
2630
 
@@ -2634,7 +2674,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2634
2674
  \**************************************************/
2635
2675
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2636
2676
 
2637
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadGenericPolygonShape: () => (/* binding */ loadGenericPolygonShape),\n/* harmony export */ loadPolygonShape: () => (/* binding */ loadPolygonShape),\n/* harmony export */ loadTriangleShape: () => (/* binding */ loadTriangleShape)\n/* harmony export */ });\n/* harmony import */ var _PolygonDrawer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PolygonDrawer.js */ \"../../shapes/polygon/dist/browser/PolygonDrawer.js\");\n/* harmony import */ var _TriangleDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TriangleDrawer.js */ \"../../shapes/polygon/dist/browser/TriangleDrawer.js\");\n\n\nasync function loadGenericPolygonShape(engine, refresh = true) {\n await engine.addShape(new _PolygonDrawer_js__WEBPACK_IMPORTED_MODULE_0__.PolygonDrawer(), refresh);\n}\nasync function loadTriangleShape(engine, refresh = true) {\n await engine.addShape(new _TriangleDrawer_js__WEBPACK_IMPORTED_MODULE_1__.TriangleDrawer(), refresh);\n}\nasync function loadPolygonShape(engine, refresh = true) {\n await loadGenericPolygonShape(engine, refresh);\n await loadTriangleShape(engine, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/index.js?");
2677
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadGenericPolygonShape: () => (/* binding */ loadGenericPolygonShape),\n/* harmony export */ loadPolygonShape: () => (/* binding */ loadPolygonShape),\n/* harmony export */ loadTriangleShape: () => (/* binding */ loadTriangleShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _PolygonDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PolygonDrawer.js */ \"../../shapes/polygon/dist/browser/PolygonDrawer.js\");\n/* harmony import */ var _TriangleDrawer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TriangleDrawer.js */ \"../../shapes/polygon/dist/browser/TriangleDrawer.js\");\n\n\n\nasync function loadGenericPolygonShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _PolygonDrawer_js__WEBPACK_IMPORTED_MODULE_1__.PolygonDrawer(), refresh);\n}\nasync function loadTriangleShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _TriangleDrawer_js__WEBPACK_IMPORTED_MODULE_2__.TriangleDrawer(), refresh);\n}\nasync function loadPolygonShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await loadGenericPolygonShape(engine, refresh);\n await loadTriangleShape(engine, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/polygon/dist/browser/index.js?");
2638
2678
 
2639
2679
  /***/ }),
2640
2680
 
@@ -2664,7 +2704,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2664
2704
  \*************************************************/
2665
2705
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2666
2706
 
2667
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSquareShape: () => (/* binding */ loadSquareShape)\n/* harmony export */ });\n/* harmony import */ var _SquareDrawer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SquareDrawer.js */ \"../../shapes/square/dist/browser/SquareDrawer.js\");\n\nasync function loadSquareShape(engine, refresh = true) {\n await engine.addShape(new _SquareDrawer_js__WEBPACK_IMPORTED_MODULE_0__.SquareDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/square/dist/browser/index.js?");
2707
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSquareShape: () => (/* binding */ loadSquareShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _SquareDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SquareDrawer.js */ \"../../shapes/square/dist/browser/SquareDrawer.js\");\n\n\nasync function loadSquareShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _SquareDrawer_js__WEBPACK_IMPORTED_MODULE_1__.SquareDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/square/dist/browser/index.js?");
2668
2708
 
2669
2709
  /***/ }),
2670
2710
 
@@ -2694,7 +2734,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2694
2734
  \***********************************************/
2695
2735
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2696
2736
 
2697
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadStarShape: () => (/* binding */ loadStarShape)\n/* harmony export */ });\n/* harmony import */ var _StarDrawer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./StarDrawer.js */ \"../../shapes/star/dist/browser/StarDrawer.js\");\n\nasync function loadStarShape(engine, refresh = true) {\n await engine.addShape(new _StarDrawer_js__WEBPACK_IMPORTED_MODULE_0__.StarDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/star/dist/browser/index.js?");
2737
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadStarShape: () => (/* binding */ loadStarShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _StarDrawer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./StarDrawer.js */ \"../../shapes/star/dist/browser/StarDrawer.js\");\n\n\nasync function loadStarShape(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addShape(new _StarDrawer_js__WEBPACK_IMPORTED_MODULE_1__.StarDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../shapes/star/dist/browser/index.js?");
2698
2738
 
2699
2739
  /***/ }),
2700
2740
 
@@ -2704,7 +2744,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2704
2744
  \*********************************************************/
2705
2745
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2706
2746
 
2707
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColorUpdater: () => (/* binding */ ColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass ColorUpdater {\n constructor(container) {\n this.container = container;\n }\n init(particle) {\n const hslColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(particle.options.color, particle.id, particle.options.reduceDuplicates);\n if (hslColor) {\n particle.color = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getHslAnimationFromHsl)(hslColor, particle.options.color.animation, this.container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n const {\n h: hAnimation,\n s: sAnimation,\n l: lAnimation\n } = particle.options.color.animation,\n {\n color\n } = particle;\n return !particle.destroyed && !particle.spawning && (color?.h.value !== undefined && hAnimation.enable || color?.s.value !== undefined && sAnimation.enable || color?.l.value !== undefined && lAnimation.enable);\n }\n update(particle, delta) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateColor)(particle.color, delta);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/color/dist/browser/ColorUpdater.js?");
2747
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ColorUpdater: () => (/* binding */ ColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass ColorUpdater {\n constructor(container, engine) {\n this._container = container;\n this._engine = engine;\n }\n init(particle) {\n const hslColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, particle.options.color, particle.id, particle.options.reduceDuplicates);\n if (hslColor) {\n particle.color = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getHslAnimationFromHsl)(hslColor, particle.options.color.animation, this._container.retina.reduceFactor);\n }\n }\n isEnabled(particle) {\n const {\n h: hAnimation,\n s: sAnimation,\n l: lAnimation\n } = particle.options.color.animation,\n {\n color\n } = particle;\n return !particle.destroyed && !particle.spawning && (color?.h.value !== undefined && hAnimation.enable || color?.s.value !== undefined && sAnimation.enable || color?.l.value !== undefined && lAnimation.enable);\n }\n update(particle, delta) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.updateColor)(particle.color, delta);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/color/dist/browser/ColorUpdater.js?");
2708
2748
 
2709
2749
  /***/ }),
2710
2750
 
@@ -2714,7 +2754,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2714
2754
  \**************************************************/
2715
2755
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2716
2756
 
2717
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadColorUpdater: () => (/* binding */ loadColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _ColorUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ColorUpdater.js */ \"../../updaters/color/dist/browser/ColorUpdater.js\");\n\nasync function loadColorUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"color\", container => {\n return Promise.resolve(new _ColorUpdater_js__WEBPACK_IMPORTED_MODULE_0__.ColorUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/color/dist/browser/index.js?");
2757
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadColorUpdater: () => (/* binding */ loadColorUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _ColorUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ColorUpdater.js */ \"../../updaters/color/dist/browser/ColorUpdater.js\");\n\n\nasync function loadColorUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"color\", container => {\n return Promise.resolve(new _ColorUpdater_js__WEBPACK_IMPORTED_MODULE_1__.ColorUpdater(container, engine));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/color/dist/browser/index.js?");
2718
2758
 
2719
2759
  /***/ }),
2720
2760
 
@@ -2734,7 +2774,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2734
2774
  \****************************************************************/
2735
2775
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2736
2776
 
2737
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Life: () => (/* binding */ Life)\n/* harmony export */ });\n/* harmony import */ var _LifeDelay_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LifeDelay.js */ \"../../updaters/life/dist/browser/Options/Classes/LifeDelay.js\");\n/* harmony import */ var _LifeDuration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LifeDuration.js */ \"../../updaters/life/dist/browser/Options/Classes/LifeDuration.js\");\n\n\nclass Life {\n constructor() {\n this.count = 0;\n this.delay = new _LifeDelay_js__WEBPACK_IMPORTED_MODULE_0__.LifeDelay();\n this.duration = new _LifeDuration_js__WEBPACK_IMPORTED_MODULE_1__.LifeDuration();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.delay.load(data.delay);\n this.duration.load(data.duration);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/Options/Classes/Life.js?");
2777
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Life: () => (/* binding */ Life)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _LifeDelay_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LifeDelay.js */ \"../../updaters/life/dist/browser/Options/Classes/LifeDelay.js\");\n/* harmony import */ var _LifeDuration_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LifeDuration.js */ \"../../updaters/life/dist/browser/Options/Classes/LifeDuration.js\");\n\n\n\nclass Life {\n constructor() {\n this.count = 0;\n this.delay = new _LifeDelay_js__WEBPACK_IMPORTED_MODULE_1__.LifeDelay();\n this.duration = new _LifeDuration_js__WEBPACK_IMPORTED_MODULE_2__.LifeDuration();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.delay.load(data.delay);\n this.duration.load(data.duration);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/Options/Classes/Life.js?");
2738
2778
 
2739
2779
  /***/ }),
2740
2780
 
@@ -2744,7 +2784,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2744
2784
  \*********************************************************************/
2745
2785
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2746
2786
 
2747
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LifeDelay: () => (/* binding */ LifeDelay)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass LifeDelay extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/Options/Classes/LifeDelay.js?");
2787
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LifeDelay: () => (/* binding */ LifeDelay)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass LifeDelay extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.sync = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/Options/Classes/LifeDelay.js?");
2748
2788
 
2749
2789
  /***/ }),
2750
2790
 
@@ -2754,7 +2794,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2754
2794
  \************************************************************************/
2755
2795
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2756
2796
 
2757
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LifeDuration: () => (/* binding */ LifeDuration)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass LifeDuration extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/Options/Classes/LifeDuration.js?");
2797
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LifeDuration: () => (/* binding */ LifeDuration)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass LifeDuration extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.sync = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/Options/Classes/LifeDuration.js?");
2758
2798
 
2759
2799
  /***/ }),
2760
2800
 
@@ -2774,7 +2814,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2774
2814
  \*************************************************/
2775
2815
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2776
2816
 
2777
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadLifeUpdater: () => (/* binding */ loadLifeUpdater)\n/* harmony export */ });\n/* harmony import */ var _LifeUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./LifeUpdater.js */ \"../../updaters/life/dist/browser/LifeUpdater.js\");\n\nasync function loadLifeUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"life\", async container => {\n return Promise.resolve(new _LifeUpdater_js__WEBPACK_IMPORTED_MODULE_0__.LifeUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/index.js?");
2817
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadLifeUpdater: () => (/* binding */ loadLifeUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _LifeUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LifeUpdater.js */ \"../../updaters/life/dist/browser/LifeUpdater.js\");\n\n\nasync function loadLifeUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"life\", async container => {\n return Promise.resolve(new _LifeUpdater_js__WEBPACK_IMPORTED_MODULE_1__.LifeUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/life/dist/browser/index.js?");
2778
2818
 
2779
2819
  /***/ }),
2780
2820
 
@@ -2794,7 +2834,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2794
2834
  \****************************************************/
2795
2835
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2796
2836
 
2797
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadOpacityUpdater: () => (/* binding */ loadOpacityUpdater)\n/* harmony export */ });\n/* harmony import */ var _OpacityUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OpacityUpdater.js */ \"../../updaters/opacity/dist/browser/OpacityUpdater.js\");\n\nasync function loadOpacityUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"opacity\", container => {\n return Promise.resolve(new _OpacityUpdater_js__WEBPACK_IMPORTED_MODULE_0__.OpacityUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/opacity/dist/browser/index.js?");
2837
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadOpacityUpdater: () => (/* binding */ loadOpacityUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _OpacityUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./OpacityUpdater.js */ \"../../updaters/opacity/dist/browser/OpacityUpdater.js\");\n\n\nasync function loadOpacityUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"opacity\", container => {\n return Promise.resolve(new _OpacityUpdater_js__WEBPACK_IMPORTED_MODULE_1__.OpacityUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/opacity/dist/browser/index.js?");
2798
2838
 
2799
2839
  /***/ }),
2800
2840
 
@@ -2864,7 +2904,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2864
2904
  \*****************************************************/
2865
2905
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2866
2906
 
2867
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadOutModesUpdater: () => (/* binding */ loadOutModesUpdater)\n/* harmony export */ });\n/* harmony import */ var _OutOfCanvasUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./OutOfCanvasUpdater.js */ \"../../updaters/outModes/dist/browser/OutOfCanvasUpdater.js\");\n\nasync function loadOutModesUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"outModes\", container => {\n return Promise.resolve(new _OutOfCanvasUpdater_js__WEBPACK_IMPORTED_MODULE_0__.OutOfCanvasUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/outModes/dist/browser/index.js?");
2907
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadOutModesUpdater: () => (/* binding */ loadOutModesUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _OutOfCanvasUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./OutOfCanvasUpdater.js */ \"../../updaters/outModes/dist/browser/OutOfCanvasUpdater.js\");\n\n\nasync function loadOutModesUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"outModes\", container => {\n return Promise.resolve(new _OutOfCanvasUpdater_js__WEBPACK_IMPORTED_MODULE_1__.OutOfCanvasUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/outModes/dist/browser/index.js?");
2868
2908
 
2869
2909
  /***/ }),
2870
2910
 
@@ -2874,7 +2914,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2874
2914
  \****************************************************************/
2875
2915
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2876
2916
 
2877
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Roll: () => (/* binding */ Roll)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RollLight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollLight.js */ \"../../updaters/roll/dist/browser/Options/Classes/RollLight.js\");\n/* harmony import */ var _RollMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../RollMode.js */ \"../../updaters/roll/dist/browser/RollMode.js\");\n\n\n\nclass Roll {\n constructor() {\n this.darken = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.enable = false;\n this.enlighten = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.mode = _RollMode_js__WEBPACK_IMPORTED_MODULE_2__.RollMode.vertical;\n this.speed = 25;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.backColor !== undefined) {\n this.backColor = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.backColor, data.backColor);\n }\n this.darken.load(data.darken);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.enlighten.load(data.enlighten);\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/Options/Classes/Roll.js?");
2917
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Roll: () => (/* binding */ Roll)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RollLight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollLight.js */ \"../../updaters/roll/dist/browser/Options/Classes/RollLight.js\");\n/* harmony import */ var _RollMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../RollMode.js */ \"../../updaters/roll/dist/browser/RollMode.js\");\n\n\n\nclass Roll {\n constructor() {\n this.darken = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.enable = false;\n this.enlighten = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.mode = _RollMode_js__WEBPACK_IMPORTED_MODULE_2__.RollMode.vertical;\n this.speed = 25;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.backColor !== undefined) {\n this.backColor = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.backColor, data.backColor);\n }\n this.darken.load(data.darken);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.enlighten.load(data.enlighten);\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/Options/Classes/Roll.js?");
2878
2918
 
2879
2919
  /***/ }),
2880
2920
 
@@ -2884,7 +2924,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2884
2924
  \*********************************************************************/
2885
2925
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2886
2926
 
2887
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollLight: () => (/* binding */ RollLight)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass RollLight {\n constructor() {\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.value !== undefined) {\n this.value = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.value);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/Options/Classes/RollLight.js?");
2927
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollLight: () => (/* binding */ RollLight)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass RollLight {\n constructor() {\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.value !== undefined) {\n this.value = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.value);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/Options/Classes/RollLight.js?");
2888
2928
 
2889
2929
  /***/ }),
2890
2930
 
@@ -2904,7 +2944,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2904
2944
  \*******************************************************/
2905
2945
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2906
2946
 
2907
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollUpdater: () => (/* binding */ RollUpdater)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../updaters/roll/dist/browser/Utils.js\");\n/* harmony import */ var _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Roll.js */ \"../../updaters/roll/dist/browser/Options/Classes/Roll.js\");\n\n\nclass RollUpdater {\n getTransformValues(particle) {\n const roll = particle.roll?.enable && particle.roll,\n rollHorizontal = roll && roll.horizontal,\n rollVertical = roll && roll.vertical;\n return {\n a: rollHorizontal ? Math.cos(roll.angle) : undefined,\n d: rollVertical ? Math.sin(roll.angle) : undefined\n };\n }\n init(particle) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.initParticle)(particle);\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && !!roll?.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.roll) {\n options.roll = new _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__.Roll();\n }\n for (const source of sources) {\n options.roll.load(source?.roll);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.updateRoll)(particle, delta);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/RollUpdater.js?");
2947
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollUpdater: () => (/* binding */ RollUpdater)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../updaters/roll/dist/browser/Utils.js\");\n/* harmony import */ var _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Roll.js */ \"../../updaters/roll/dist/browser/Options/Classes/Roll.js\");\n\n\nclass RollUpdater {\n constructor(engine) {\n this._engine = engine;\n }\n getTransformValues(particle) {\n const roll = particle.roll?.enable && particle.roll,\n rollHorizontal = roll && roll.horizontal,\n rollVertical = roll && roll.vertical;\n return {\n a: rollHorizontal ? Math.cos(roll.angle) : undefined,\n d: rollVertical ? Math.sin(roll.angle) : undefined\n };\n }\n init(particle) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.initParticle)(this._engine, particle);\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && !!roll?.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.roll) {\n options.roll = new _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__.Roll();\n }\n for (const source of sources) {\n options.roll.load(source?.roll);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.updateRoll)(particle, delta);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/RollUpdater.js?");
2908
2948
 
2909
2949
  /***/ }),
2910
2950
 
@@ -2914,7 +2954,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2914
2954
  \*************************************************/
2915
2955
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2916
2956
 
2917
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initParticle: () => (/* binding */ initParticle),\n/* harmony export */ updateRoll: () => (/* binding */ updateRoll)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RollMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollMode.js */ \"../../updaters/roll/dist/browser/RollMode.js\");\n\n\nconst double = 2,\n doublePI = Math.PI * double,\n maxAngle = 360;\nfunction initParticle(particle) {\n const rollOpt = particle.options.roll;\n if (!rollOpt?.enable) {\n particle.roll = {\n enable: false,\n horizontal: false,\n vertical: false,\n angle: 0,\n speed: 0\n };\n return;\n }\n particle.roll = {\n enable: rollOpt.enable,\n horizontal: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.horizontal || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n vertical: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.vertical || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * doublePI,\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.speed) / maxAngle\n };\n if (rollOpt.backColor) {\n particle.backColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(rollOpt.backColor);\n } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.halfRandom ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten;\n particle.roll.alter = {\n type: alterType,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(alterType === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value)\n };\n } else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.darken.value)\n };\n } else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.enlighten.value)\n };\n }\n}\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll,\n data = particle.roll;\n if (!data || !roll?.enable) {\n return;\n }\n const speed = data.speed * delta.factor,\n max = doublePI;\n data.angle += speed;\n if (data.angle > max) {\n data.angle -= max;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/Utils.js?");
2957
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initParticle: () => (/* binding */ initParticle),\n/* harmony export */ updateRoll: () => (/* binding */ updateRoll)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RollMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollMode.js */ \"../../updaters/roll/dist/browser/RollMode.js\");\n\n\nconst double = 2,\n doublePI = Math.PI * double,\n maxAngle = 360;\nfunction initParticle(engine, particle) {\n const rollOpt = particle.options.roll;\n if (!rollOpt?.enable) {\n particle.roll = {\n enable: false,\n horizontal: false,\n vertical: false,\n angle: 0,\n speed: 0\n };\n return;\n }\n particle.roll = {\n enable: rollOpt.enable,\n horizontal: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.horizontal || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n vertical: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.vertical || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * doublePI,\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.speed) / maxAngle\n };\n if (rollOpt.backColor) {\n particle.backColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(engine, rollOpt.backColor);\n } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.halfRandom ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten;\n particle.roll.alter = {\n type: alterType,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(alterType === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value)\n };\n } else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.darken.value)\n };\n } else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.enlighten.value)\n };\n }\n}\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll,\n data = particle.roll;\n if (!data || !roll?.enable) {\n return;\n }\n const speed = data.speed * delta.factor,\n max = doublePI;\n data.angle += speed;\n if (data.angle > max) {\n data.angle -= max;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/Utils.js?");
2918
2958
 
2919
2959
  /***/ }),
2920
2960
 
@@ -2924,7 +2964,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2924
2964
  \*************************************************/
2925
2965
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2926
2966
 
2927
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRollUpdater: () => (/* binding */ loadRollUpdater)\n/* harmony export */ });\n/* harmony import */ var _RollUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RollUpdater.js */ \"../../updaters/roll/dist/browser/RollUpdater.js\");\n\nasync function loadRollUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"roll\", () => {\n return Promise.resolve(new _RollUpdater_js__WEBPACK_IMPORTED_MODULE_0__.RollUpdater());\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/index.js?");
2967
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRollUpdater: () => (/* binding */ loadRollUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RollUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollUpdater.js */ \"../../updaters/roll/dist/browser/RollUpdater.js\");\n\n\nasync function loadRollUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"roll\", () => {\n return Promise.resolve(new _RollUpdater_js__WEBPACK_IMPORTED_MODULE_1__.RollUpdater(engine));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/roll/dist/browser/index.js?");
2928
2968
 
2929
2969
  /***/ }),
2930
2970
 
@@ -2934,7 +2974,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2934
2974
  \********************************************************************/
2935
2975
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2936
2976
 
2937
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Rotate: () => (/* binding */ Rotate)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RotateAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RotateAnimation.js */ \"../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js\");\n\n\nclass Rotate extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.animation = new _RotateAnimation_js__WEBPACK_IMPORTED_MODULE_1__.RotateAnimation();\n this.direction = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.clockwise;\n this.path = false;\n this.value = 0;\n }\n load(data) {\n if (!data) {\n return;\n }\n super.load(data);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.animation.load(data.animation);\n if (data.path !== undefined) {\n this.path = data.path;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/rotate/dist/browser/Options/Classes/Rotate.js?");
2977
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Rotate: () => (/* binding */ Rotate)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RotateAnimation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RotateAnimation.js */ \"../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js\");\n\n\nclass Rotate extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.animation = new _RotateAnimation_js__WEBPACK_IMPORTED_MODULE_1__.RotateAnimation();\n this.direction = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.clockwise;\n this.path = false;\n this.value = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n super.load(data);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n this.animation.load(data.animation);\n if (data.path !== undefined) {\n this.path = data.path;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/rotate/dist/browser/Options/Classes/Rotate.js?");
2938
2978
 
2939
2979
  /***/ }),
2940
2980
 
@@ -2944,7 +2984,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2944
2984
  \*****************************************************************************/
2945
2985
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2946
2986
 
2947
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RotateAnimation: () => (/* binding */ RotateAnimation)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass RotateAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js?");
2987
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RotateAnimation: () => (/* binding */ RotateAnimation)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass RotateAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js?");
2948
2988
 
2949
2989
  /***/ }),
2950
2990
 
@@ -2964,7 +3004,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2964
3004
  \***************************************************/
2965
3005
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2966
3006
 
2967
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRotateUpdater: () => (/* binding */ loadRotateUpdater)\n/* harmony export */ });\n/* harmony import */ var _RotateUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./RotateUpdater.js */ \"../../updaters/rotate/dist/browser/RotateUpdater.js\");\n\nasync function loadRotateUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"rotate\", container => {\n return Promise.resolve(new _RotateUpdater_js__WEBPACK_IMPORTED_MODULE_0__.RotateUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/rotate/dist/browser/index.js?");
3007
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadRotateUpdater: () => (/* binding */ loadRotateUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _RotateUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RotateUpdater.js */ \"../../updaters/rotate/dist/browser/RotateUpdater.js\");\n\n\nasync function loadRotateUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"rotate\", container => {\n return Promise.resolve(new _RotateUpdater_js__WEBPACK_IMPORTED_MODULE_1__.RotateUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/rotate/dist/browser/index.js?");
2968
3008
 
2969
3009
  /***/ }),
2970
3010
 
@@ -2984,7 +3024,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2984
3024
  \*************************************************/
2985
3025
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2986
3026
 
2987
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSizeUpdater: () => (/* binding */ loadSizeUpdater)\n/* harmony export */ });\n/* harmony import */ var _SizeUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SizeUpdater.js */ \"../../updaters/size/dist/browser/SizeUpdater.js\");\n\nasync function loadSizeUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"size\", () => {\n return Promise.resolve(new _SizeUpdater_js__WEBPACK_IMPORTED_MODULE_0__.SizeUpdater());\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/size/dist/browser/index.js?");
3027
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSizeUpdater: () => (/* binding */ loadSizeUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _SizeUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SizeUpdater.js */ \"../../updaters/size/dist/browser/SizeUpdater.js\");\n\n\nasync function loadSizeUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"size\", () => {\n return Promise.resolve(new _SizeUpdater_js__WEBPACK_IMPORTED_MODULE_1__.SizeUpdater());\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/size/dist/browser/index.js?");
2988
3028
 
2989
3029
  /***/ }),
2990
3030
 
@@ -2994,7 +3034,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
2994
3034
  \****************************************************************/
2995
3035
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
2996
3036
 
2997
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tilt: () => (/* binding */ Tilt)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _TiltDirection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../TiltDirection.js */ \"../../updaters/tilt/dist/browser/TiltDirection.js\");\n/* harmony import */ var _TiltAnimation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TiltAnimation.js */ \"../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js\");\n\n\n\nclass Tilt extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.animation = new _TiltAnimation_js__WEBPACK_IMPORTED_MODULE_2__.TiltAnimation();\n this.direction = _TiltDirection_js__WEBPACK_IMPORTED_MODULE_1__.TiltDirection.clockwise;\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n super.load(data);\n if (!data) {\n return;\n }\n this.animation.load(data.animation);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/tilt/dist/browser/Options/Classes/Tilt.js?");
3037
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Tilt: () => (/* binding */ Tilt)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _TiltDirection_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../TiltDirection.js */ \"../../updaters/tilt/dist/browser/TiltDirection.js\");\n/* harmony import */ var _TiltAnimation_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TiltAnimation.js */ \"../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js\");\n\n\n\nclass Tilt extends _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ValueWithRandom {\n constructor() {\n super();\n this.animation = new _TiltAnimation_js__WEBPACK_IMPORTED_MODULE_2__.TiltAnimation();\n this.direction = _TiltDirection_js__WEBPACK_IMPORTED_MODULE_1__.TiltDirection.clockwise;\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n super.load(data);\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n this.animation.load(data.animation);\n if (data.direction !== undefined) {\n this.direction = data.direction;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/tilt/dist/browser/Options/Classes/Tilt.js?");
2998
3038
 
2999
3039
  /***/ }),
3000
3040
 
@@ -3004,7 +3044,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
3004
3044
  \*************************************************************************/
3005
3045
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
3006
3046
 
3007
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TiltAnimation: () => (/* binding */ TiltAnimation)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TiltAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js?");
3047
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TiltAnimation: () => (/* binding */ TiltAnimation)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass TiltAnimation {\n constructor() {\n this.enable = false;\n this.speed = 0;\n this.decay = 0;\n this.sync = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n if (data.decay !== undefined) {\n this.decay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.decay);\n }\n if (data.sync !== undefined) {\n this.sync = data.sync;\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/tilt/dist/browser/Options/Classes/TiltAnimation.js?");
3008
3048
 
3009
3049
  /***/ }),
3010
3050
 
@@ -3034,7 +3074,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
3034
3074
  \*************************************************/
3035
3075
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
3036
3076
 
3037
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTiltUpdater: () => (/* binding */ loadTiltUpdater)\n/* harmony export */ });\n/* harmony import */ var _TiltUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TiltUpdater.js */ \"../../updaters/tilt/dist/browser/TiltUpdater.js\");\n\nasync function loadTiltUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"tilt\", container => {\n return Promise.resolve(new _TiltUpdater_js__WEBPACK_IMPORTED_MODULE_0__.TiltUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/tilt/dist/browser/index.js?");
3077
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTiltUpdater: () => (/* binding */ loadTiltUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _TiltUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TiltUpdater.js */ \"../../updaters/tilt/dist/browser/TiltUpdater.js\");\n\n\nasync function loadTiltUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"tilt\", container => {\n return Promise.resolve(new _TiltUpdater_js__WEBPACK_IMPORTED_MODULE_1__.TiltUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/tilt/dist/browser/index.js?");
3038
3078
 
3039
3079
  /***/ }),
3040
3080
 
@@ -3044,7 +3084,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
3044
3084
  \********************************************************************/
3045
3085
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
3046
3086
 
3047
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Wobble: () => (/* binding */ Wobble)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _WobbleSpeed_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./WobbleSpeed.js */ \"../../updaters/wobble/dist/browser/Options/Classes/WobbleSpeed.js\");\n\n\nclass Wobble {\n constructor() {\n this.distance = 5;\n this.enable = false;\n this.speed = new _WobbleSpeed_js__WEBPACK_IMPORTED_MODULE_1__.WobbleSpeed();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.speed)) {\n this.speed.load({\n angle: data.speed\n });\n } else {\n const rangeSpeed = data.speed;\n if (rangeSpeed.min !== undefined) {\n this.speed.load({\n angle: rangeSpeed\n });\n } else {\n this.speed.load(data.speed);\n }\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/wobble/dist/browser/Options/Classes/Wobble.js?");
3087
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Wobble: () => (/* binding */ Wobble)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _WobbleSpeed_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./WobbleSpeed.js */ \"../../updaters/wobble/dist/browser/Options/Classes/WobbleSpeed.js\");\n\n\nclass Wobble {\n constructor() {\n this.distance = 5;\n this.enable = false;\n this.speed = new _WobbleSpeed_js__WEBPACK_IMPORTED_MODULE_1__.WobbleSpeed();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.distance !== undefined) {\n this.distance = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.distance);\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.speed !== undefined) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(data.speed)) {\n this.speed.load({\n angle: data.speed\n });\n } else {\n const rangeSpeed = data.speed;\n if (rangeSpeed.min !== undefined) {\n this.speed.load({\n angle: rangeSpeed\n });\n } else {\n this.speed.load(data.speed);\n }\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/wobble/dist/browser/Options/Classes/Wobble.js?");
3048
3088
 
3049
3089
  /***/ }),
3050
3090
 
@@ -3054,7 +3094,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
3054
3094
  \*************************************************************************/
3055
3095
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
3056
3096
 
3057
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WobbleSpeed: () => (/* binding */ WobbleSpeed)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass WobbleSpeed {\n constructor() {\n this.angle = 50;\n this.move = 10;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.angle !== undefined) {\n this.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.angle);\n }\n if (data.move !== undefined) {\n this.move = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.move);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/wobble/dist/browser/Options/Classes/WobbleSpeed.js?");
3097
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WobbleSpeed: () => (/* binding */ WobbleSpeed)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass WobbleSpeed {\n constructor() {\n this.angle = 50;\n this.move = 10;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.angle !== undefined) {\n this.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.angle);\n }\n if (data.move !== undefined) {\n this.move = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.move);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/wobble/dist/browser/Options/Classes/WobbleSpeed.js?");
3058
3098
 
3059
3099
  /***/ }),
3060
3100
 
@@ -3084,7 +3124,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
3084
3124
  \***************************************************/
3085
3125
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
3086
3126
 
3087
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadWobbleUpdater: () => (/* binding */ loadWobbleUpdater)\n/* harmony export */ });\n/* harmony import */ var _WobbleUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./WobbleUpdater.js */ \"../../updaters/wobble/dist/browser/WobbleUpdater.js\");\n\nasync function loadWobbleUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"wobble\", container => {\n return Promise.resolve(new _WobbleUpdater_js__WEBPACK_IMPORTED_MODULE_0__.WobbleUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/wobble/dist/browser/index.js?");
3127
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadWobbleUpdater: () => (/* binding */ loadWobbleUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _WobbleUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./WobbleUpdater.js */ \"../../updaters/wobble/dist/browser/WobbleUpdater.js\");\n\n\nasync function loadWobbleUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"wobble\", container => {\n return Promise.resolve(new _WobbleUpdater_js__WEBPACK_IMPORTED_MODULE_1__.WobbleUpdater(container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/confetti/../../updaters/wobble/dist/browser/index.js?");
3088
3128
 
3089
3129
  /***/ })
3090
3130