@tsparticles/preset-snow 4.0.0-alpha.2 → 4.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/110.min.js +1 -0
  2. package/115.min.js +1 -0
  3. package/146.min.js +1 -0
  4. package/15.min.js +1 -0
  5. package/154.min.js +1 -0
  6. package/162.min.js +1 -0
  7. package/177.min.js +1 -0
  8. package/218.min.js +1 -0
  9. package/240.min.js +1 -0
  10. package/252.min.js +1 -0
  11. package/258.min.js +1 -0
  12. package/298.min.js +1 -0
  13. package/341.min.js +1 -0
  14. package/355.min.js +1 -0
  15. package/386.min.js +1 -0
  16. package/402.min.js +1 -0
  17. package/418.min.js +1 -0
  18. package/486.min.js +1 -0
  19. package/488.min.js +1 -0
  20. package/584.min.js +1 -0
  21. package/609.min.js +1 -0
  22. package/72.min.js +1 -0
  23. package/722.min.js +1 -0
  24. package/dist_browser_options_js.js +2 -2
  25. package/node_modules_pnpm_tsparticles_basic_4_0_0-alpha_14_node_modules_tsparticles_basic_browser_index_js.js +30 -0
  26. package/{node_modules_pnpm_tsparticles_move-base_4_0_0-alpha_5_node_modules_tsparticles_move-base_brow-29272f.js → node_modules_pnpm_tsparticles_move-base_4_0_0-alpha_14_node_modules_tsparticles_move-base_bro-0258ba.js} +7 -7
  27. package/node_modules_pnpm_tsparticles_move-base_4_0_0-alpha_14_node_modules_tsparticles_move-base_bro-5558e3.js +40 -0
  28. package/{node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-alpha_5_node_modules_tsparticles_plugin--7ee633.js → node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-alpha_14_node_modules_tsparticles_plugin-5a675f.js} +7 -7
  29. package/{node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-alpha_5_node_modules_tsparticles_plugin--082572.js → node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-alpha_14_node_modules_tsparticles_plugin-bd3833.js} +7 -7
  30. package/{node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-alpha_5_node_modules_tsparticles_plugin--d17710.js → node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-alpha_14_node_modules_tsparticles_plugin-651bc0.js} +7 -7
  31. package/node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-alpha_14_node_modules_tsparticles_plugin-9b85f2.js +30 -0
  32. package/{node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-alpha_5_node_modules_tsparticles_plugin--8050b3.js → node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-alpha_14_node_modules_tsparticles_plugin-2d40c5.js} +7 -7
  33. package/node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-alpha_14_node_modules_tsparticles_plugin-9d691b.js +30 -0
  34. package/{node_modules_pnpm_tsparticles_shape-circle_4_0_0-alpha_5_node_modules_tsparticles_shape-circl-2a85dc.js → node_modules_pnpm_tsparticles_shape-circle_4_0_0-alpha_14_node_modules_tsparticles_shape-circ-21bd73.js} +12 -12
  35. package/{node_modules_pnpm_tsparticles_shape-circle_4_0_0-alpha_5_node_modules_tsparticles_shape-circl-d95142.js → node_modules_pnpm_tsparticles_shape-circle_4_0_0-alpha_14_node_modules_tsparticles_shape-circ-365204.js} +7 -7
  36. package/{node_modules_pnpm_tsparticles_updater-color_4_0_0-alpha_5_node_modules_tsparticles_updater-co-9b6d65.js → node_modules_pnpm_tsparticles_updater-color_4_0_0-alpha_14_node_modules_tsparticles_updater-c-a242d8.js} +7 -7
  37. package/{node_modules_pnpm_tsparticles_updater-color_4_0_0-alpha_5_node_modules_tsparticles_updater-co-a17be7.js → node_modules_pnpm_tsparticles_updater-color_4_0_0-alpha_14_node_modules_tsparticles_updater-c-ed63c1.js} +7 -7
  38. package/node_modules_pnpm_tsparticles_updater-opacity_4_0_0-alpha_14_node_modules_tsparticles_updater-2e428a.js +30 -0
  39. package/{node_modules_pnpm_tsparticles_updater-opacity_4_0_0-alpha_5_node_modules_tsparticles_updater--35fbab.js → node_modules_pnpm_tsparticles_updater-opacity_4_0_0-alpha_14_node_modules_tsparticles_updater-349756.js} +7 -7
  40. package/{node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-alpha_5_node_modules_tsparticles_update-04964a.js → node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-alpha_14_node_modules_tsparticles_updat-54df0b.js} +7 -7
  41. package/node_modules_pnpm_tsparticles_updater-size_4_0_0-alpha_14_node_modules_tsparticles_updater-si-1784d7.js +30 -0
  42. package/{node_modules_pnpm_tsparticles_updater-size_4_0_0-alpha_5_node_modules_tsparticles_updater-siz-7c3e56.js → node_modules_pnpm_tsparticles_updater-size_4_0_0-alpha_14_node_modules_tsparticles_updater-si-9bb044.js} +7 -7
  43. package/node_modules_pnpm_tsparticles_updater-wobble_4_0_0-alpha_14_node_modules_tsparticles_updater--00df7a.js +60 -0
  44. package/{node_modules_pnpm_tsparticles_updater-wobble_4_0_0-alpha_5_node_modules_tsparticles_updater-w-b92958.js → node_modules_pnpm_tsparticles_updater-wobble_4_0_0-alpha_14_node_modules_tsparticles_updater--63e164.js} +7 -7
  45. package/package.json +4 -4
  46. package/report.html +3 -3
  47. package/tsparticles.preset.snow.bundle.js +328 -316
  48. package/tsparticles.preset.snow.bundle.min.js +2 -2
  49. package/tsparticles.preset.snow.js +16 -4
  50. package/tsparticles.preset.snow.min.js +2 -2
  51. package/vendors-node_modules_pnpm_tsparticles_engine_4_0_0-alpha_14_node_modules_tsparticles_engine_b-f5db4e.js +90 -0
  52. package/vendors-node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-alpha_14_node_modules_tsparticl-56603a.js +80 -0
  53. package/171.min.js +0 -2
  54. package/171.min.js.LICENSE.txt +0 -1
  55. package/196.min.js +0 -2
  56. package/196.min.js.LICENSE.txt +0 -1
  57. package/202.min.js +0 -2
  58. package/202.min.js.LICENSE.txt +0 -1
  59. package/294.min.js +0 -2
  60. package/294.min.js.LICENSE.txt +0 -1
  61. package/352.min.js +0 -2
  62. package/352.min.js.LICENSE.txt +0 -1
  63. package/413.min.js +0 -2
  64. package/413.min.js.LICENSE.txt +0 -1
  65. package/426.min.js +0 -2
  66. package/426.min.js.LICENSE.txt +0 -1
  67. package/440.min.js +0 -2
  68. package/440.min.js.LICENSE.txt +0 -1
  69. package/464.min.js +0 -2
  70. package/464.min.js.LICENSE.txt +0 -1
  71. package/505.min.js +0 -2
  72. package/505.min.js.LICENSE.txt +0 -1
  73. package/544.min.js +0 -2
  74. package/544.min.js.LICENSE.txt +0 -1
  75. package/56.min.js +0 -2
  76. package/56.min.js.LICENSE.txt +0 -1
  77. package/60.min.js +0 -2
  78. package/60.min.js.LICENSE.txt +0 -1
  79. package/668.min.js +0 -2
  80. package/668.min.js.LICENSE.txt +0 -1
  81. package/684.min.js +0 -2
  82. package/684.min.js.LICENSE.txt +0 -1
  83. package/688.min.js +0 -2
  84. package/688.min.js.LICENSE.txt +0 -1
  85. package/726.min.js +0 -2
  86. package/726.min.js.LICENSE.txt +0 -1
  87. package/778.min.js +0 -2
  88. package/778.min.js.LICENSE.txt +0 -1
  89. package/792.min.js +0 -2
  90. package/792.min.js.LICENSE.txt +0 -1
  91. package/847.min.js +0 -2
  92. package/847.min.js.LICENSE.txt +0 -1
  93. package/864.min.js +0 -2
  94. package/864.min.js.LICENSE.txt +0 -1
  95. package/949.min.js +0 -2
  96. package/949.min.js.LICENSE.txt +0 -1
  97. package/990.min.js +0 -2
  98. package/990.min.js.LICENSE.txt +0 -1
  99. package/node_modules_pnpm_tsparticles_basic_4_0_0-alpha_5_node_modules_tsparticles_basic_browser_index_js.js +0 -30
  100. package/node_modules_pnpm_tsparticles_move-base_4_0_0-alpha_5_node_modules_tsparticles_move-base_brow-26eaee.js +0 -40
  101. package/node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-alpha_5_node_modules_tsparticles_plugin--175cc6.js +0 -30
  102. package/node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-alpha_5_node_modules_tsparticles_plugin--3fa544.js +0 -30
  103. package/node_modules_pnpm_tsparticles_updater-opacity_4_0_0-alpha_5_node_modules_tsparticles_updater--4bc1f3.js +0 -30
  104. package/node_modules_pnpm_tsparticles_updater-size_4_0_0-alpha_5_node_modules_tsparticles_updater-siz-547e88.js +0 -30
  105. package/node_modules_pnpm_tsparticles_updater-wobble_4_0_0-alpha_5_node_modules_tsparticles_updater-w-690404.js +0 -60
  106. package/tsparticles.preset.snow.bundle.min.js.LICENSE.txt +0 -1
  107. package/tsparticles.preset.snow.min.js.LICENSE.txt +0 -1
  108. package/vendors-node_modules_pnpm_tsparticles_engine_4_0_0-alpha_5_node_modules_tsparticles_engine_br-85ef38.js +0 -90
  109. package/vendors-node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-alpha_5_node_modules_tsparticle-f9a455.js +0 -80
@@ -0,0 +1,90 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v4.0.0-alpha.4
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_preset_snow"] = this["webpackChunk_tsparticles_preset_snow"] || []).push([["vendors-node_modules_pnpm_tsparticles_engine_4_0_0-alpha_14_node_modules_tsparticles_engine_b-f5db4e"],{
19
+
20
+ /***/ "../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Canvas.js"
21
+ /*!***************************************************************************************************************************!*\
22
+ !*** ../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Canvas.js ***!
23
+ \***************************************************************************************************************************/
24
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
+
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Canvas: () => (/* binding */ Canvas)\n/* harmony export */ });\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/ColorUtils.js\");\n\n\n\n\nconst fColorIndex = 0, sColorIndex = 1;\nfunction setTransformValue(factor, newFactor, key) {\n const newValue = newFactor[key];\n if (newValue !== undefined) {\n factor[key] = (factor[key] ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultTransformValue) * newValue;\n }\n}\nfunction setStyle(canvas, style, important = false) {\n if (!style) {\n return;\n }\n const element = canvas, elementStyle = element.style, keys = new Set();\n for (let i = 0; i < elementStyle.length; i++) {\n const key = elementStyle.item(i);\n if (!key) {\n continue;\n }\n keys.add(key);\n }\n for (let i = 0; i < style.length; i++) {\n const key = style.item(i);\n if (!key) {\n continue;\n }\n keys.add(key);\n }\n for (const key of keys) {\n const value = style.getPropertyValue(key);\n if (value) {\n elementStyle.setProperty(key, value, important ? \"important\" : \"\");\n }\n else {\n elementStyle.removeProperty(key);\n }\n }\n}\nclass Canvas {\n container;\n element;\n size;\n _canvasClearPlugins;\n _canvasPaintPlugins;\n _canvasSettings;\n _clearDrawPlugins;\n _colorPlugins;\n _context;\n _drawParticlePlugins;\n _drawParticlesCleanupPlugins;\n _drawParticlesSetupPlugins;\n _drawPlugins;\n _drawSettingsCleanupPlugins;\n _drawSettingsSetupPlugins;\n _engine;\n _generated;\n _mutationObserver;\n _originalStyle;\n _pointerEvents;\n _postDrawUpdaters;\n _preDrawUpdaters;\n _resizePlugins;\n _reusableColorStyles = {};\n _reusablePluginColors = [undefined, undefined];\n _reusableTransform = {};\n _standardSize;\n constructor(container, engine) {\n this.container = container;\n this._engine = engine;\n this._standardSize = {\n height: 0,\n width: 0,\n };\n const pxRatio = container.retina.pixelRatio, 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 this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n this._pointerEvents = \"none\";\n }\n get settings() {\n return this._canvasSettings;\n }\n get _fullScreen() {\n return this.container.actualOptions.fullScreen.enable;\n }\n canvasClear() {\n if (!this.container.actualOptions.clear) {\n return;\n }\n this.draw(ctx => {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n clear() {\n let pluginHandled = false;\n for (const plugin of this._canvasClearPlugins) {\n pluginHandled = plugin.canvasClear?.() ?? false;\n if (pluginHandled) {\n break;\n }\n }\n if (pluginHandled) {\n return;\n }\n this.canvasClear();\n }\n destroy() {\n this.stop();\n if (this._generated) {\n const element = this.element;\n element?.remove();\n this.element = undefined;\n }\n else {\n this._resetOriginalStyle();\n }\n this._preDrawUpdaters = [];\n this._postDrawUpdaters = [];\n this._resizePlugins = [];\n this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n }\n draw(cb) {\n const ctx = this._context;\n if (!ctx) {\n return;\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 if (radius <= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.minimumSize) {\n return;\n }\n const pfColor = particle.getFillColor(), psColor = particle.getStrokeColor() ?? pfColor;\n let [fColor, sColor] = this._getPluginParticleColors(particle);\n fColor ??= pfColor;\n sColor ??= psColor;\n if (!fColor && !sColor) {\n return;\n }\n const container = this.container, zIndexOptions = particle.options.zIndex, zIndexFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.zIndexFactorOffset - particle.zIndexFactor, { opacity, strokeOpacity } = particle.getOpacity(), transform = this._reusableTransform, colorStyles = this._reusableColorStyles, fill = fColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromHsl)(fColor, container.hdr, opacity) : undefined, stroke = sColor ? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromHsl)(sColor, container.hdr, strokeOpacity) : fill;\n transform.a = transform.b = transform.c = transform.d = undefined;\n colorStyles.fill = fill;\n colorStyles.stroke = stroke;\n this.draw((context) => {\n for (const plugin of this._drawParticlesSetupPlugins) {\n plugin.drawParticleSetup?.(context, particle, delta);\n }\n this._applyPreDrawUpdaters(context, particle, radius, opacity, colorStyles, transform);\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticle)({\n container,\n context,\n particle,\n delta,\n colorStyles,\n radius: radius * zIndexFactor ** zIndexOptions.sizeRate,\n opacity: opacity,\n transform,\n });\n this._applyPostDrawUpdaters(particle);\n for (const plugin of this._drawParticlesCleanupPlugins) {\n plugin.drawParticleCleanup?.(context, particle, delta);\n }\n });\n }\n drawParticlePlugins(particle, delta) {\n this.draw(ctx => {\n for (const plugin of this._drawParticlePlugins) {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.drawParticlePlugin)(ctx, plugin, particle, delta);\n }\n });\n }\n drawParticles(delta) {\n const { particles } = this.container;\n this.clear();\n particles.update(delta);\n this.draw(ctx => {\n for (const plugin of this._drawSettingsSetupPlugins) {\n plugin.drawSettingsSetup?.(ctx, delta);\n }\n for (const plugin of this._drawPlugins) {\n plugin.draw?.(ctx, delta);\n }\n particles.drawParticles(delta);\n for (const plugin of this._clearDrawPlugins) {\n plugin.clearDraw?.(ctx, delta);\n }\n for (const plugin of this._drawSettingsCleanupPlugins) {\n plugin.drawSettingsCleanup?.(ctx, delta);\n }\n });\n }\n init() {\n this._safeMutationObserver(obs => {\n obs.disconnect();\n });\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 this.initBackground();\n this._safeMutationObserver(obs => {\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, { attributes: true });\n });\n this.initUpdaters();\n this.initPlugins();\n this.paint();\n }\n initBackground() {\n const { container } = this, options = container.actualOptions, background = options.background, element = this.element;\n if (!element) {\n return;\n }\n const elementStyle = element.style, color = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToRgb)(this._engine, background.color);\n if (color) {\n elementStyle.backgroundColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.getStyleFromRgb)(color, container.hdr, background.opacity);\n }\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 this._colorPlugins = [];\n this._canvasClearPlugins = [];\n this._canvasPaintPlugins = [];\n this._clearDrawPlugins = [];\n this._drawParticlePlugins = [];\n this._drawParticlesSetupPlugins = [];\n this._drawParticlesCleanupPlugins = [];\n this._drawPlugins = [];\n this._drawSettingsSetupPlugins = [];\n this._drawSettingsCleanupPlugins = [];\n for (const plugin of this.container.plugins) {\n if (plugin.resize) {\n this._resizePlugins.push(plugin);\n }\n if (plugin.particleFillColor ?? plugin.particleStrokeColor) {\n this._colorPlugins.push(plugin);\n }\n if (plugin.canvasClear) {\n this._canvasClearPlugins.push(plugin);\n }\n if (plugin.canvasPaint) {\n this._canvasPaintPlugins.push(plugin);\n }\n if (plugin.drawParticle) {\n this._drawParticlePlugins.push(plugin);\n }\n if (plugin.drawParticleSetup) {\n this._drawParticlesSetupPlugins.push(plugin);\n }\n if (plugin.drawParticleCleanup) {\n this._drawParticlesCleanupPlugins.push(plugin);\n }\n if (plugin.draw) {\n this._drawPlugins.push(plugin);\n }\n if (plugin.drawSettingsSetup) {\n this._drawSettingsSetupPlugins.push(plugin);\n }\n if (plugin.drawSettingsCleanup) {\n this._drawSettingsCleanupPlugins.push(plugin);\n }\n if (plugin.clearDraw) {\n this._clearDrawPlugins.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 const container = this.container;\n this._generated =\n _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute in canvas.dataset ? canvas.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.generatedAttribute] === \"true\" : this._generated;\n this.element = canvas;\n this.element.ariaHidden = \"true\";\n this._originalStyle = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.cloneStyle)(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, retinaSize = this.size;\n canvas.height = retinaSize.height = standardSize.height * pxRatio;\n canvas.width = retinaSize.width = standardSize.width * pxRatio;\n const canSupportHdrQuery = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeMatchMedia)(\"(color-gamut: p3)\");\n this._canvasSettings = {\n alpha: true,\n colorSpace: canSupportHdrQuery?.matches && container.hdr ? \"display-p3\" : \"srgb\",\n desynchronized: true,\n willReadFrequently: false,\n };\n this._context = this.element.getContext(\"2d\", this._canvasSettings);\n this._safeMutationObserver(obs => {\n obs.disconnect();\n });\n container.retina.init();\n this.initBackground();\n this._safeMutationObserver(obs => {\n if (!this.element || !(this.element instanceof Node)) {\n return;\n }\n obs.observe(this.element, { attributes: true });\n });\n }\n paint() {\n let handled = false;\n for (const plugin of this._canvasPaintPlugins) {\n handled = plugin.canvasPaint?.() ?? false;\n if (handled) {\n break;\n }\n }\n if (handled) {\n return;\n }\n this.paintBase();\n }\n paintBase(baseColor) {\n this.draw(ctx => {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintBase)(ctx, this.size, baseColor);\n });\n }\n paintImage(image, opacity) {\n this.draw(ctx => {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.paintImage)(ctx, this.size, image, opacity);\n });\n }\n resize() {\n if (!this.element) {\n return false;\n }\n const container = this.container, currentSize = container.canvas._standardSize, newSize = {\n width: this.element.offsetWidth,\n height: this.element.offsetHeight,\n }, pxRatio = container.retina.pixelRatio, retinaSize = {\n width: newSize.width * pxRatio,\n height: newSize.height * pxRatio,\n };\n if (newSize.height === currentSize.height &&\n newSize.width === currentSize.width &&\n retinaSize.height === this.element.height &&\n retinaSize.width === this.element.width) {\n return false;\n }\n const oldSize = { ...currentSize };\n currentSize.height = newSize.height;\n currentSize.width = newSize.width;\n const canvasSize = this.size;\n this.element.width = canvasSize.width = retinaSize.width;\n this.element.height = canvasSize.height = retinaSize.height;\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 setPointerEvents(type) {\n const element = this.element;\n if (!element) {\n return;\n }\n this._pointerEvents = type;\n this._repairStyle();\n }\n stop() {\n this._safeMutationObserver(obs => {\n obs.disconnect();\n });\n this._mutationObserver = undefined;\n this.draw(ctx => {\n (0,_Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_0__.clear)(ctx, this.size);\n });\n }\n async windowResize() {\n if (!this.element || !this.resize()) {\n return;\n }\n const container = this.container, needsRefresh = container.updateActualOptions();\n container.particles.setDensity();\n this._applyResizePlugins();\n if (needsRefresh) {\n await container.refresh();\n }\n }\n _applyPostDrawUpdaters = particle => {\n for (const updater of this._postDrawUpdaters) {\n updater.afterDraw?.(particle);\n }\n };\n _applyPreDrawUpdaters = (ctx, particle, radius, zOpacity, colorStyles, transform) => {\n for (const updater of this._preDrawUpdaters) {\n if (updater.getColorStyles) {\n const { fill, stroke } = 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 _applyResizePlugins = () => {\n for (const plugin of this._resizePlugins) {\n plugin.resize?.();\n }\n };\n _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_3__.rangeColorToHsl)(this._engine, plugin.particleFillColor(particle));\n }\n if (!sColor && plugin.particleStrokeColor) {\n sColor = (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_3__.rangeColorToHsl)(this._engine, plugin.particleStrokeColor(particle));\n }\n if (fColor && sColor) {\n break;\n }\n }\n this._reusablePluginColors[fColorIndex] = fColor;\n this._reusablePluginColors[sColorIndex] = sColor;\n return this._reusablePluginColors;\n };\n _initStyle = () => {\n const element = this.element, options = this.container.actualOptions;\n if (!element) {\n return;\n }\n if (this._fullScreen) {\n this._setFullScreenStyle();\n }\n else {\n this._resetOriginalStyle();\n }\n for (const key in options.style) {\n if (!key || !Object.hasOwn(options.style, key)) {\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 _repairStyle = () => {\n const element = this.element;\n if (!element) {\n return;\n }\n this._safeMutationObserver(observer => {\n observer.disconnect();\n });\n this._initStyle();\n this.initBackground();\n const pointerEvents = this._pointerEvents;\n element.style.pointerEvents = pointerEvents;\n element.setAttribute(\"pointer-events\", pointerEvents);\n this._safeMutationObserver(observer => {\n if (!(element instanceof Node)) {\n return;\n }\n observer.observe(element, { attributes: true });\n });\n };\n _resetOriginalStyle = () => {\n const element = this.element, originalStyle = this._originalStyle;\n if (!element || !originalStyle) {\n return;\n }\n setStyle(element, originalStyle, true);\n };\n _safeMutationObserver = callback => {\n if (!this._mutationObserver) {\n return;\n }\n callback(this._mutationObserver);\n };\n _setFullScreenStyle = () => {\n const element = this.element;\n if (!element) {\n return;\n }\n setStyle(element, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getFullScreenStyle)(this.container.actualOptions.fullScreen.zIndex), true);\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Canvas.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Container.js"
31
+ /*!******************************************************************************************************************************!*\
32
+ !*** ../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Container.js ***!
33
+ \******************************************************************************************************************************/
34
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
+
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Container: () => (/* binding */ Container)\n/* harmony export */ });\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Canvas_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Canvas.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Canvas.js\");\n/* harmony import */ var _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/EventListeners.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/EventListeners.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Options/Classes/Options.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Options/Classes/Options.js\");\n/* harmony import */ var _Particles_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Particles.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particles.js\");\n/* harmony import */ var _Retina_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Retina.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Retina.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\nfunction guardCheck(container) {\n return !container.destroyed;\n}\nfunction updateDelta(delta, value, fpsLimit = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps, smooth = false) {\n delta.value = value;\n delta.factor = smooth ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps / fpsLimit : (_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFps * value) / _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n}\nfunction loadContainerOptions(engine, container, ...sourceOptionsArr) {\n const options = new _Options_Classes_Options_js__WEBPACK_IMPORTED_MODULE_5__.Options(engine, container);\n (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_9__.loadOptions)(options, ...sourceOptionsArr);\n return options;\n}\nclass Container {\n actualOptions;\n canvas;\n destroyed;\n fpsLimit;\n hdr;\n id;\n pageHidden;\n particleCreatedPlugins;\n particleDestroyedPlugins;\n particlePositionPlugins;\n particles;\n plugins;\n retina;\n started;\n zLayers;\n _delay;\n _delayTimeout;\n _delta = { value: 0, factor: 0 };\n _drawAnimationFrame;\n _duration;\n _engine;\n _eventListeners;\n _firstStart;\n _initialSourceOptions;\n _lastFrameTime;\n _lifeTime;\n _options;\n _paused;\n _smooth;\n _sourceOptions;\n constructor(engine, id, sourceOptions) {\n this._engine = engine;\n this.id = Symbol(id);\n this.fpsLimit = 120;\n this.hdr = false;\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._sourceOptions = sourceOptions;\n this._initialSourceOptions = sourceOptions;\n this.retina = new _Retina_js__WEBPACK_IMPORTED_MODULE_7__.Retina(this);\n this.canvas = new _Canvas_js__WEBPACK_IMPORTED_MODULE_2__.Canvas(this, this._engine);\n this.particles = new _Particles_js__WEBPACK_IMPORTED_MODULE_6__.Particles(this._engine, this);\n this.plugins = [];\n this.particleDestroyedPlugins = [];\n this.particleCreatedPlugins = [];\n this.particlePositionPlugins = [];\n this._options = loadContainerOptions(this._engine, this);\n this.actualOptions = loadContainerOptions(this._engine, this);\n this._eventListeners = new _Utils_EventListeners_js__WEBPACK_IMPORTED_MODULE_3__.EventListeners(this);\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerBuilt, { container: this });\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 addLifeTime(value) {\n this._lifeTime += value;\n }\n alive() {\n return !this._duration || this._lifeTime <= this._duration;\n }\n destroy(remove = true) {\n if (!guardCheck(this)) {\n return;\n }\n this.stop();\n this.particles.destroy();\n this.canvas.destroy();\n for (const plugin of this.plugins) {\n plugin.destroy?.();\n }\n this.plugins.length = 0;\n this._engine.clearPlugins(this);\n this.destroyed = true;\n if (remove) {\n const mainArr = this._engine.items, idx = mainArr.indexOf(this);\n if (idx >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.removeMinIndex) {\n mainArr.splice(idx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.removeDeleteCount);\n }\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerDestroyed, { container: this });\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_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.animate)(timestamp => {\n frame(timestamp);\n });\n }\n async export(type, options = {}) {\n for (const plugin of this.plugins) {\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_LogUtils_js__WEBPACK_IMPORTED_MODULE_8__.getLogger)().error(`Export plugin with type ${type} not found`);\n return undefined;\n }\n async init() {\n if (!guardCheck(this)) {\n return;\n }\n const allContainerPlugins = new Map();\n for (const plugin of this._engine.plugins) {\n const containerPlugin = await plugin.getPlugin(this);\n if (containerPlugin.preInit) {\n await containerPlugin.preInit();\n }\n allContainerPlugins.set(plugin, containerPlugin);\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 this.plugins.length = 0;\n this.particleDestroyedPlugins.length = 0;\n this.particleCreatedPlugins.length = 0;\n this.particlePositionPlugins.length = 0;\n for (const [plugin, containerPlugin] of allContainerPlugins) {\n if (plugin.needsPlugin(this.actualOptions)) {\n this.plugins.push(containerPlugin);\n if (containerPlugin.particleCreated) {\n this.particleCreatedPlugins.push(containerPlugin);\n }\n if (containerPlugin.particleDestroyed) {\n this.particleDestroyedPlugins.push(containerPlugin);\n }\n if (containerPlugin.particlePosition) {\n this.particlePositionPlugins.push(containerPlugin);\n }\n }\n }\n this.retina.init();\n this.canvas.init();\n this.updateActualOptions();\n this.canvas.initBackground();\n this.canvas.resize();\n const { delay, duration, fpsLimit, hdr, smooth, zLayers } = this.actualOptions;\n this.hdr = hdr;\n this.zLayers = zLayers;\n this._duration = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(duration) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._delay = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(delay) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds;\n this._lifeTime = 0;\n this.fpsLimit = fpsLimit > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.minFpsLimit ? fpsLimit : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.defaultFpsLimit;\n this._smooth = smooth;\n for (const plugin of this.plugins) {\n await plugin.init?.();\n }\n await this.particles.init();\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerInit, { container: this });\n this.particles.setDensity();\n for (const plugin of this.plugins) {\n plugin.particlesSetup?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.particlesSetup, { container: this });\n }\n pause() {\n if (!guardCheck(this)) {\n return;\n }\n if (this._drawAnimationFrame !== undefined) {\n (0,_Utils_MathUtils_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) {\n plugin.pause?.();\n }\n if (!this.pageHidden) {\n this._paused = true;\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerPaused, { container: this });\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) {\n if (plugin.play) {\n plugin.play();\n }\n }\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerPlay, { container: this });\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 for (const plugin of this.plugins) {\n await plugin.start?.();\n }\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerStarted, { container: this });\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 for (const plugin of this.plugins) {\n plugin.stop?.();\n }\n this.particleCreatedPlugins.length = 0;\n this.particleDestroyedPlugins.length = 0;\n this.particlePositionPlugins.length = 0;\n this._sourceOptions = this._options;\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__.EventType.containerStopped, { container: this });\n }\n updateActualOptions() {\n let refresh = false;\n for (const plugin of this.plugins) {\n if (plugin.updateActualOptions) {\n refresh = plugin.updateActualOptions() || refresh;\n }\n }\n return refresh;\n }\n _nextFrame = (timestamp) => {\n try {\n if (!this._smooth &&\n this._lastFrameTime !== undefined &&\n 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 updateDelta(this._delta, timestamp - this._lastFrameTime, this.fpsLimit, this._smooth);\n this.addLifeTime(this._delta.value);\n this._lastFrameTime = timestamp;\n if (this._delta.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds) {\n this.draw(false);\n return;\n }\n this.canvas.drawParticles(this._delta);\n if (!this.alive()) {\n this.destroy();\n return;\n }\n if (this.animationStatus) {\n this.draw(false);\n }\n }\n catch (e) {\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_8__.getLogger)().error(\"error in animation loop\", e);\n }\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Container.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particle.js"
41
+ /*!*****************************************************************************************************************************!*\
42
+ !*** ../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particle.js ***!
43
+ \*****************************************************************************************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particle: () => (/* binding */ Particle)\n/* harmony export */ });\n/* harmony import */ var _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Vectors.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Vectors.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/Utils.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Directions/MoveDirection.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Enums/Directions/MoveDirection.js\");\n/* harmony import */ var _Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Enums/Modes/OutMode.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Enums/Modes/OutMode.js\");\n/* harmony import */ var _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Types/ParticleOutType.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Enums/Types/ParticleOutType.js\");\n/* harmony import */ var _Utils_CanvasUtils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Utils/CanvasUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/CanvasUtils.js\");\n/* harmony import */ var _Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Utils/ColorUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/ColorUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction loadEffectData(effect, effectOptions, id, reduceDuplicates) {\n const effectData = effectOptions.options[effect];\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.deepExtend)({\n close: effectOptions.close,\n fill: effectOptions.fill,\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(effectData, id, reduceDuplicates));\n}\nfunction loadShapeData(shape, shapeOptions, id, reduceDuplicates) {\n const shapeData = shapeOptions.options[shape];\n return (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.deepExtend)({\n close: shapeOptions.close,\n fill: shapeOptions.fill,\n }, (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(shapeData, id, reduceDuplicates));\n}\nfunction fixOutMode(data) {\n if (!(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.isInArray)(data.outMode, data.checkModes)) {\n return;\n }\n const diameter = data.radius * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.double;\n if (data.coord > data.maxCoord - diameter) {\n data.setCb(-data.radius);\n }\n else if (data.coord < diameter) {\n data.setCb(data.radius);\n }\n}\nclass Particle {\n container;\n backColor;\n bubble;\n color;\n destroyed;\n direction;\n effect;\n effectClose;\n effectData;\n effectFill;\n group;\n id;\n ignoresResizeRatio;\n initialPosition;\n initialVelocity;\n isRotating;\n lastPathTime;\n misplaced;\n moveCenter;\n moveDecay;\n offset;\n opacity;\n options;\n outType;\n pathDelay;\n pathGenerator;\n pathRotation;\n position;\n randomIndexData;\n retina;\n roll;\n rotation;\n shape;\n shapeClose;\n shapeData;\n shapeFill;\n sides;\n size;\n slow;\n spawning;\n strokeColor;\n strokeOpacity;\n strokeWidth;\n unbreakable;\n velocity;\n zIndexFactor;\n _cachedOpacityData = {\n opacity: _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultOpacity,\n strokeOpacity: _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultOpacity,\n };\n _cachedPosition = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.origin;\n _cachedRotateData = { sin: 0, cos: 0 };\n _cachedTransform = {\n a: 1,\n b: 0,\n c: 0,\n d: 1,\n };\n _engine;\n constructor(engine, container) {\n this.container = container;\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, pathGenerator = this.pathGenerator, shapeDrawer = this.shape ? container.particles.shapeDrawers.get(this.shape) : undefined;\n shapeDrawer?.particleDestroy?.(this);\n for (const plugin of container.particleDestroyedPlugins) {\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_4__.EventType.particleDestroyed, {\n container: this.container,\n data: {\n particle: this,\n },\n });\n }\n draw(delta) {\n const container = this.container, canvas = container.canvas;\n canvas.drawParticlePlugins(this, delta);\n canvas.drawParticle(this, delta);\n }\n getAngle() {\n return this.rotation + (this.pathRotation ? this.velocity.angle : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultAngle);\n }\n getFillColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_9__.getHslFromAnimation)(this.color));\n }\n getMass() {\n return this.getRadius() ** _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.squareExp * Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half;\n }\n getOpacity() {\n const zIndexOptions = this.options.zIndex, zIndexFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.zIndexFactorOffset - this.zIndexFactor, zOpacityFactor = zIndexFactor ** zIndexOptions.opacityRate, opacity = this.bubble.opacity ?? (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(this.opacity?.value ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultOpacity), strokeOpacity = this.strokeOpacity ?? opacity;\n this._cachedOpacityData.opacity = opacity * zOpacityFactor;\n this._cachedOpacityData.strokeOpacity = strokeOpacity * zOpacityFactor;\n return this._cachedOpacityData;\n }\n getPosition() {\n this._cachedPosition.x = this.position.x + this.offset.x;\n this._cachedPosition.y = this.position.y + this.offset.y;\n this._cachedPosition.z = this.position.z;\n return this._cachedPosition;\n }\n getRadius() {\n return this.bubble.radius ?? this.size.value;\n }\n getRotateData() {\n const angle = this.getAngle();\n this._cachedRotateData.sin = Math.sin(angle);\n this._cachedRotateData.cos = Math.cos(angle);\n return this._cachedRotateData;\n }\n getStrokeColor() {\n return this._getRollColor(this.bubble.color ?? (0,_Utils_ColorUtils_js__WEBPACK_IMPORTED_MODULE_9__.getHslFromAnimation)(this.strokeColor));\n }\n getTransformData(externalTransform) {\n const rotateData = this.getRotateData(), rotating = this.isRotating;\n this._cachedTransform.a = rotateData.cos * (externalTransform.a ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultTransform.a);\n this._cachedTransform.b = rotating\n ? rotateData.sin * (externalTransform.b ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.identity)\n : (externalTransform.b ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultTransform.b);\n this._cachedTransform.c = rotating\n ? -rotateData.sin * (externalTransform.c ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.identity)\n : (externalTransform.c ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultTransform.c);\n this._cachedTransform.d = rotateData.cos * (externalTransform.d ?? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultTransform.d);\n return this._cachedTransform;\n }\n init(id, position, overrideOptions, group) {\n const container = this.container;\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_7__.ParticleOutType.normal;\n this.ignoresResizeRatio = true;\n const pxRatio = container.retina.pixelRatio, mainOptions = container.actualOptions, particlesOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_10__.loadParticlesOptions)(this._engine, container, mainOptions.particles), reduceDuplicates = particlesOptions.reduceDuplicates, effectType = particlesOptions.effect.type, shapeType = particlesOptions.shape.type;\n this.effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(effectType, this.id, reduceDuplicates);\n this.shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(shapeType, this.id, reduceDuplicates);\n const effectOptions = particlesOptions.effect, shapeOptions = particlesOptions.shape;\n if (overrideOptions) {\n if (overrideOptions.effect?.type) {\n const overrideEffectType = overrideOptions.effect.type, effect = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.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, shape = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.itemFromSingleOrMultiple)(overrideShapeType, this.id, reduceDuplicates);\n if (shape) {\n this.shape = shape;\n shapeOptions.load(overrideOptions.shape);\n }\n }\n }\n if (this.effect === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.randomColorValue) {\n const availableEffects = [...this.container.particles.effectDrawers.keys()];\n this.effect = availableEffects[Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRandom)() * availableEffects.length)];\n }\n if (this.shape === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.randomColorValue) {\n const availableShapes = [...this.container.particles.shapeDrawers.keys()];\n this.shape = availableShapes[Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRandom)() * availableShapes.length)];\n }\n this.effectData = this.effect ? loadEffectData(this.effect, effectOptions, this.id, reduceDuplicates) : undefined;\n this.shapeData = this.shape ? loadShapeData(this.shape, shapeOptions, this.id, reduceDuplicates) : undefined;\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 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_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(pathOptions.delay.value) * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.millisecondsToSeconds;\n if (pathOptions.generator) {\n let pathGenerator = this.container.particles.pathGenerators.get(pathOptions.generator);\n if (!pathGenerator) {\n pathGenerator = this.container.particles.availablePathGenerators.get(pathOptions.generator);\n if (pathGenerator) {\n this.container.particles.pathGenerators.set(pathOptions.generator, pathGenerator);\n pathGenerator.init();\n }\n }\n this.pathGenerator = pathGenerator;\n }\n container.retina.initParticle(this);\n this.size = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.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 this.moveDecay = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.decayOffset - (0,_Utils_MathUtils_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, shapeDrawer;\n if (this.effect) {\n effectDrawer = container.particles.effectDrawers.get(this.effect);\n }\n if (effectDrawer?.loadEffect) {\n effectDrawer.loadEffect(this);\n }\n if (this.shape) {\n shapeDrawer = container.particles.shapeDrawers.get(this.shape);\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 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.particleCreatedPlugins) {\n plugin.particleCreated?.(this);\n }\n }\n isInsideCanvas() {\n const radius = this.getRadius(), canvasSize = this.container.canvas.size, position = this.position;\n return (position.x >= -radius &&\n position.y >= -radius &&\n position.y <= canvasSize.height + radius &&\n position.x <= canvasSize.width + radius);\n }\n isShowingBack() {\n if (!this.roll) {\n return false;\n }\n const angle = this.roll.angle;\n if (this.roll.horizontal && this.roll.vertical) {\n const normalizedAngle = angle % _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.doublePI, adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultAngle ? normalizedAngle + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.doublePI : normalizedAngle;\n return adjustedAngle >= Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.triple * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half;\n }\n if (this.roll.horizontal) {\n const normalizedAngle = (angle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half) % (Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.double), adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultAngle ? normalizedAngle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.double : normalizedAngle;\n return adjustedAngle >= Math.PI && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.double;\n }\n if (this.roll.vertical) {\n const normalizedAngle = angle % (Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.double), adjustedAngle = normalizedAngle < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultAngle ? normalizedAngle + Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.double : normalizedAngle;\n return adjustedAngle >= Math.PI && adjustedAngle < Math.PI * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.double;\n }\n return false;\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 _calcPosition = (position, zIndex) => {\n let tryCount = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.defaultRetryCount, posVec = position ? _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(position.x, position.y, zIndex) : undefined;\n const container = this.container, plugins = container.particlePositionPlugins, outModes = this.options.move.outModes, radius = this.getRadius(), canvasSize = container.canvas.size, abortController = new AbortController(), { signal } = abortController;\n while (!signal.aborted) {\n for (const plugin of plugins) {\n const pluginPos = plugin.particlePosition?.(posVec, this);\n if (pluginPos) {\n return _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(pluginPos.x, pluginPos.y, zIndex);\n }\n }\n const exactPosition = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.calcExactPositionOrRandomFromSize)({\n size: canvasSize,\n position: posVec,\n }), pos = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector3d.create(exactPosition.x, exactPosition.y, zIndex);\n this._fixHorizontal(pos, radius, outModes.left ?? outModes.default);\n this._fixHorizontal(pos, radius, outModes.right ?? outModes.default);\n this._fixVertical(pos, radius, outModes.top ?? outModes.default);\n this._fixVertical(pos, radius, outModes.bottom ?? outModes.default);\n let isValidPosition = true;\n for (const plugin of container.particles.checkParticlePositionPlugins) {\n isValidPosition = plugin.checkParticlePosition?.(this, pos, tryCount) ?? true;\n if (!isValidPosition) {\n break;\n }\n }\n if (isValidPosition) {\n return pos;\n }\n tryCount += _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.tryCountIncrement;\n posVec = undefined;\n }\n return posVec;\n };\n _calculateVelocity = () => {\n const baseVelocity = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getParticleBaseVelocity)(this.direction), res = baseVelocity.copy(), moveOptions = this.options.move;\n if (moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_5__.MoveDirection.inside || moveOptions.direction === _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_5__.MoveDirection.outside) {\n return res;\n }\n const rad = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.degToRad)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.angle.value)), radOffset = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.degToRad)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.angle.offset)), range = {\n left: radOffset - rad * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half,\n right: radOffset + rad * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.half,\n };\n if (!moveOptions.straight) {\n res.angle += (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.randomInRangeValue)((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.setRangeValue)(range.left, range.right));\n }\n if (moveOptions.random && typeof moveOptions.speed === \"number\") {\n res.length *= (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRandom)();\n }\n return res;\n };\n _fixHorizontal = (pos, radius, outMode) => {\n fixOutMode({\n outMode,\n checkModes: [_Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_6__.OutMode.bounce],\n coord: pos.x,\n maxCoord: this.container.canvas.size.width,\n setCb: (value) => (pos.x += value),\n radius,\n });\n };\n _fixVertical = (pos, radius, outMode) => {\n fixOutMode({\n outMode,\n checkModes: [_Enums_Modes_OutMode_js__WEBPACK_IMPORTED_MODULE_6__.OutMode.bounce],\n coord: pos.y,\n maxCoord: this.container.canvas.size.height,\n setCb: (value) => (pos.y += value),\n radius,\n });\n };\n _getRollColor = color => {\n if (!color || !this.roll || (!this.backColor && !this.roll.alter)) {\n return color;\n }\n if (!this.isShowingBack()) {\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_8__.alterHsl)(color, this.roll.alter.type, this.roll.alter.value);\n }\n return color;\n };\n _initPosition = position => {\n const container = this.container, zIndexValue = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(this.options.zIndex.value), initialPosition = this._calcPosition(position, (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.clamp)(zIndexValue, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_2__.minZ, container.zLayers));\n if (!initialPosition) {\n throw new Error(\"a valid position cannot be found for particle\");\n }\n this.position = initialPosition;\n this.initialPosition = this.position.copy();\n const canvasSize = container.canvas.size;\n this.moveCenter = {\n ...(0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_3__.getPosition)(this.options.move.center, canvasSize),\n radius: this.options.move.center.radius,\n mode: this.options.move.center.mode,\n };\n this.direction = (0,_Utils_MathUtils_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_5__.MoveDirection.inside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_7__.ParticleOutType.inside;\n break;\n case _Enums_Directions_MoveDirection_js__WEBPACK_IMPORTED_MODULE_5__.MoveDirection.outside:\n this.outType = _Enums_Types_ParticleOutType_js__WEBPACK_IMPORTED_MODULE_7__.ParticleOutType.outside;\n break;\n default:\n break;\n }\n this.offset = _Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particle.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particles.js"
51
+ /*!******************************************************************************************************************************!*\
52
+ !*** ../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particles.js ***!
53
+ \******************************************************************************************************************************/
54
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
+
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Particles: () => (/* binding */ Particles)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Enums/Types/EventType.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Enums/Types/EventType.js\");\n/* harmony import */ var _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Enums/Modes/LimitMode.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Enums/Modes/LimitMode.js\");\n/* harmony import */ var _Particle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Particle.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particle.js\");\n/* harmony import */ var _Utils_Point_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Utils/Point.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Point.js\");\n/* harmony import */ var _Utils_QuadTree_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Utils/QuadTree.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/QuadTree.js\");\n/* harmony import */ var _Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Utils/Ranges.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Ranges.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Utils/OptionsUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/OptionsUtils.js\");\n\n\n\n\n\n\n\n\n\nconst qTreeRectangle = (canvasSize) => {\n const { height, width } = canvasSize;\n return new _Utils_Ranges_js__WEBPACK_IMPORTED_MODULE_6__.Rectangle(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.posOffset * width, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.posOffset * height, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.sizeFactor * width, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.sizeFactor * height);\n};\nclass Particles {\n availablePathGenerators;\n checkParticlePositionPlugins;\n effectDrawers;\n movers;\n pathGenerators;\n quadTree;\n shapeDrawers;\n updaters;\n _array;\n _container;\n _engine;\n _groupLimits;\n _limit;\n _maxZIndex;\n _minZIndex;\n _needsSort;\n _nextId;\n _particleResetPlugins;\n _particleUpdatePlugins;\n _pool;\n _postParticleUpdatePlugins;\n _postUpdatePlugins;\n _resizeFactor;\n _updatePlugins;\n _zArray;\n constructor(engine, container) {\n this._engine = engine;\n this._container = container;\n this._nextId = 0;\n this._array = [];\n this._zArray = [];\n this._pool = [];\n this._limit = 0;\n this._groupLimits = new Map();\n this._needsSort = false;\n this._minZIndex = 0;\n this._maxZIndex = 0;\n const canvasSize = container.canvas.size;\n this.quadTree = new _Utils_QuadTree_js__WEBPACK_IMPORTED_MODULE_5__.QuadTree(qTreeRectangle(canvasSize), _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.qTreeCapacity);\n this.effectDrawers = new Map();\n this.movers = [];\n this.availablePathGenerators = new Map();\n this.pathGenerators = new Map();\n this.shapeDrawers = new Map();\n this.updaters = [];\n this.checkParticlePositionPlugins = [];\n this._particleResetPlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._postParticleUpdatePlugins = [];\n this._updatePlugins = [];\n }\n get count() {\n return this._array.length;\n }\n addParticle(position, overrideOptions, group, initializer) {\n const limitMode = this._container.actualOptions.particles.number.limit.mode, limit = group === undefined ? this._limit : (this._groupLimits.get(group) ?? this._limit), currentCount = this.count;\n if (limit > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minLimit) {\n switch (limitMode) {\n case _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode.delete: {\n const countToRemove = currentCount + _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.countOffset - limit;\n if (countToRemove > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minCount) {\n this.removeQuantity(countToRemove);\n }\n break;\n }\n case _Enums_Modes_LimitMode_js__WEBPACK_IMPORTED_MODULE_2__.LimitMode.wait:\n if (currentCount >= limit) {\n return;\n }\n break;\n default:\n break;\n }\n }\n try {\n const particle = this._pool.pop() ?? new _Particle_js__WEBPACK_IMPORTED_MODULE_3__.Particle(this._engine, this._container);\n particle.init(this._nextId, position, overrideOptions, group);\n let canAdd = true;\n if (initializer) {\n canAdd = initializer(particle);\n }\n if (!canAdd) {\n this._pool.push(particle);\n return;\n }\n this._array.push(particle);\n this._zArray.push(particle);\n this._nextId++;\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleAdded, {\n container: this._container,\n data: {\n particle,\n },\n });\n return particle;\n }\n catch (e) {\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_7__.getLogger)().warning(`error adding particle: ${e}`);\n }\n return undefined;\n }\n clear() {\n this._array = [];\n this._zArray = [];\n }\n destroy() {\n const container = this._container;\n for (const [, effectDrawer] of this.effectDrawers) {\n effectDrawer.destroy?.(container);\n }\n for (const [, shapeDrawer] of this.shapeDrawers) {\n shapeDrawer.destroy?.(container);\n }\n this._array = [];\n this._pool.length = 0;\n this._zArray = [];\n this.effectDrawers = new Map();\n this.movers = [];\n this.availablePathGenerators = new Map();\n this.pathGenerators = new Map();\n this.shapeDrawers = new Map();\n this.updaters = [];\n this.checkParticlePositionPlugins = [];\n this._particleResetPlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._postParticleUpdatePlugins = [];\n this._updatePlugins = [];\n }\n drawParticles(delta) {\n for (const particle of this._zArray) {\n particle.draw(delta);\n }\n }\n filter(condition) {\n return this._array.filter(condition);\n }\n find(condition) {\n return this._array.find(condition);\n }\n get(index) {\n return this._array[index];\n }\n async init() {\n const container = this._container, options = container.actualOptions;\n this._minZIndex = 0;\n this._maxZIndex = 0;\n this._needsSort = false;\n this.checkParticlePositionPlugins = [];\n this._updatePlugins = [];\n this._particleUpdatePlugins = [];\n this._postUpdatePlugins = [];\n this._particleResetPlugins = [];\n this._postParticleUpdatePlugins = [];\n for (const plugin of container.plugins) {\n if (plugin.redrawInit) {\n await plugin.redrawInit();\n }\n if (plugin.checkParticlePosition) {\n this.checkParticlePositionPlugins.push(plugin);\n }\n if (plugin.update) {\n this._updatePlugins.push(plugin);\n }\n if (plugin.particleUpdate) {\n this._particleUpdatePlugins.push(plugin);\n }\n if (plugin.postUpdate) {\n this._postUpdatePlugins.push(plugin);\n }\n if (plugin.particleReset) {\n this._particleResetPlugins.push(plugin);\n }\n if (plugin.postParticleUpdate) {\n this._postParticleUpdatePlugins.push(plugin);\n }\n }\n await this.initPlugins();\n for (const drawer of this.effectDrawers.values()) {\n await drawer.init?.(container);\n }\n for (const drawer of this.shapeDrawers.values()) {\n await drawer.init?.(container);\n }\n let handled = false;\n for (const plugin of container.plugins) {\n handled = plugin.particlesInitialization?.() ?? handled;\n if (handled) {\n break;\n }\n }\n if (!handled) {\n const particlesOptions = options.particles, groups = particlesOptions.groups;\n for (const group in groups) {\n const groupOptions = groups[group];\n if (!groupOptions) {\n continue;\n }\n for (let i = this.count, j = 0; j < groupOptions.number.value && i < particlesOptions.number.value; i++, j++) {\n this.addParticle(undefined, groupOptions, group);\n }\n }\n for (let i = this.count; i < particlesOptions.number.value; i++) {\n this.addParticle();\n }\n }\n }\n async initPlugins() {\n const container = this._container;\n this.effectDrawers = await this._engine.getEffectDrawers(container, true);\n this.movers = await this._engine.getMovers(container, true);\n this.availablePathGenerators = await this._engine.getPathGenerators(container, true);\n this.pathGenerators = new Map();\n this.shapeDrawers = await this._engine.getShapeDrawers(container, true);\n this.updaters = await this._engine.getUpdaters(container, true);\n for (const pathGenerator of this.pathGenerators.values()) {\n pathGenerator.init();\n }\n }\n push(nb, position, overrideOptions, group) {\n for (let i = 0; i < nb; i++) {\n this.addParticle(position, overrideOptions, group);\n }\n }\n async redraw() {\n this.clear();\n await this.init();\n this._container.canvas.drawParticles({ value: 0, factor: 0 });\n }\n remove(particle, group, override) {\n this.removeAt(this._array.indexOf(particle), undefined, group, override);\n }\n removeAt(index, quantity = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultRemoveQuantity, group, override) {\n if (index < _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex || index > this.count) {\n return;\n }\n let deleted = 0;\n for (let i = index; deleted < quantity && i < this.count; i++) {\n if (this._removeParticle(i, group, override)) {\n i--;\n deleted++;\n }\n }\n }\n removeQuantity(quantity, group) {\n this.removeAt(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex, quantity, group);\n }\n setDensity() {\n const options = this._container.actualOptions, groups = options.particles.groups;\n let pluginsCount = 0;\n for (const plugin of this._container.plugins) {\n if (plugin.particlesDensityCount) {\n pluginsCount += plugin.particlesDensityCount();\n }\n }\n for (const group in groups) {\n const groupData = groups[group];\n if (!groupData) {\n continue;\n }\n const groupDataOptions = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_8__.loadParticlesOptions)(this._engine, this._container, groupData);\n this._applyDensity(groupDataOptions, pluginsCount, group);\n }\n this._applyDensity(options.particles, pluginsCount);\n }\n setLastZIndex(zIndex) {\n this._needsSort ||= zIndex >= this._maxZIndex || (zIndex > this._minZIndex && zIndex < this._maxZIndex);\n }\n setResizeFactor(factor) {\n this._resizeFactor = factor;\n }\n update(delta) {\n const container = this._container, particlesToDelete = new Set();\n this.quadTree = new _Utils_QuadTree_js__WEBPACK_IMPORTED_MODULE_5__.QuadTree(qTreeRectangle(container.canvas.size), _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.qTreeCapacity);\n for (const pathGenerator of this.pathGenerators.values()) {\n pathGenerator.update();\n }\n for (const plugin of this._updatePlugins) {\n plugin.update?.(delta);\n }\n const resizeFactor = this._resizeFactor;\n for (const particle of this._array) {\n if (resizeFactor && !particle.ignoresResizeRatio) {\n particle.position.x *= resizeFactor.width;\n particle.position.y *= resizeFactor.height;\n particle.initialPosition.x *= resizeFactor.width;\n particle.initialPosition.y *= resizeFactor.height;\n }\n particle.ignoresResizeRatio = false;\n for (const plugin of this._particleResetPlugins) {\n plugin.particleReset?.(particle);\n }\n for (const plugin of this._particleUpdatePlugins) {\n if (particle.destroyed) {\n break;\n }\n plugin.particleUpdate?.(particle, delta);\n }\n for (const mover of this.movers) {\n if (mover.isEnabled(particle)) {\n mover.move(particle, delta);\n }\n }\n if (particle.destroyed) {\n particlesToDelete.add(particle);\n continue;\n }\n this.quadTree.insert(new _Utils_Point_js__WEBPACK_IMPORTED_MODULE_4__.Point(particle.getPosition(), particle));\n }\n if (particlesToDelete.size) {\n const checkDelete = (p) => !particlesToDelete.has(p);\n this._array = this.filter(checkDelete);\n this._zArray = this._zArray.filter(checkDelete);\n for (const particle of particlesToDelete) {\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n container: this._container,\n data: {\n particle,\n },\n });\n }\n this._addToPool(...particlesToDelete);\n }\n for (const plugin of this._postUpdatePlugins) {\n plugin.postUpdate?.(delta);\n }\n for (const particle of this._array) {\n for (const updater of this.updaters) {\n updater.update(particle, delta);\n }\n if (!particle.destroyed && !particle.spawning) {\n for (const plugin of this._postParticleUpdatePlugins) {\n plugin.postParticleUpdate?.(particle, delta);\n }\n }\n }\n delete this._resizeFactor;\n if (this._needsSort) {\n const zArray = this._zArray;\n zArray.sort((a, b) => b.position.z - a.position.z || a.id - b.id);\n const firstItem = zArray[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minIndex], lastItem = zArray[zArray.length - _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.lengthOffset];\n if (!firstItem || !lastItem) {\n return;\n }\n this._maxZIndex = firstItem.position.z;\n this._minZIndex = lastItem.position.z;\n this._needsSort = false;\n }\n }\n _addToPool = (...particles) => {\n this._pool.push(...particles);\n };\n _applyDensity = (options, pluginsCount, group, groupOptions) => {\n const numberOptions = options.number;\n if (!numberOptions.density.enable) {\n if (group === undefined) {\n this._limit = numberOptions.limit.value;\n }\n else if (groupOptions?.number.limit.value ?? numberOptions.limit.value) {\n this._groupLimits.set(group, groupOptions?.number.limit.value ?? numberOptions.limit.value);\n }\n return;\n }\n const densityFactor = this._initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, optParticlesLimit = numberOptions.limit.value > _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.minLimit ? numberOptions.limit.value : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + pluginsCount, particlesCount = Math.min(this.count, this.filter(t => t.group === group).length);\n if (group === undefined) {\n this._limit = numberOptions.limit.value * densityFactor;\n }\n else {\n this._groupLimits.set(group, numberOptions.limit.value * densityFactor);\n }\n if (particlesCount < particlesNumber) {\n this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);\n }\n else if (particlesCount > particlesNumber) {\n this.removeQuantity(particlesCount - particlesNumber, group);\n }\n };\n _initDensityFactor = densityOptions => {\n const container = this._container;\n if (!container.canvas.element || !densityOptions.enable) {\n return _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultDensityFactor;\n }\n const canvas = container.canvas.element, pxRatio = container.retina.pixelRatio;\n return (canvas.width * canvas.height) / (densityOptions.height * densityOptions.width * pxRatio ** _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.squareExp);\n };\n _removeParticle = (index, group, override) => {\n const particle = this._array[index];\n if (!particle) {\n return false;\n }\n if (particle.group !== group) {\n return false;\n }\n const zIdx = this._zArray.indexOf(particle);\n this._array.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.deleteCount);\n this._zArray.splice(zIdx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.deleteCount);\n particle.destroy(override);\n this._engine.dispatchEvent(_Enums_Types_EventType_js__WEBPACK_IMPORTED_MODULE_1__.EventType.particleRemoved, {\n container: this._container,\n data: {\n particle,\n },\n });\n this._addToPool(particle);\n return true;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Particles.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Retina.js"
61
+ /*!***************************************************************************************************************************!*\
62
+ !*** ../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Retina.js ***!
63
+ \***************************************************************************************************************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Retina: () => (/* binding */ Retina)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/MathUtils.js\");\n\n\nclass Retina {\n container;\n maxSpeed;\n pixelRatio;\n reduceFactor;\n sizeAnimationSpeed;\n constructor(container) {\n this.container = container;\n this.pixelRatio = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultRatio;\n this.reduceFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultReduceFactor;\n }\n init() {\n const container = this.container, options = container.actualOptions;\n this.pixelRatio = options.detectRetina ? devicePixelRatio : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultRatio;\n this.reduceFactor = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.defaultReduceFactor;\n const ratio = this.pixelRatio, canvas = container.canvas;\n if (canvas.element) {\n const element = canvas.element;\n canvas.size.width = element.offsetWidth * ratio;\n canvas.size.height = element.offsetHeight * ratio;\n }\n const particles = options.particles, moveOptions = particles.move;\n this.maxSpeed = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.gravity.maxSpeed) * ratio;\n this.sizeAnimationSpeed = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(particles.size.animation.speed) * ratio;\n }\n initParticle(particle) {\n const options = particle.options, ratio = this.pixelRatio, moveOptions = options.move, moveDistance = moveOptions.distance, props = particle.retina;\n props.moveDrift = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.drift) * ratio;\n props.moveSpeed = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.speed) * ratio;\n props.sizeAnimationSpeed = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(options.size.animation.speed) * ratio;\n const maxDistance = props.maxDistance;\n maxDistance.horizontal = moveDistance.horizontal !== undefined ? moveDistance.horizontal * ratio : undefined;\n maxDistance.vertical = moveDistance.vertical !== undefined ? moveDistance.vertical * ratio : undefined;\n props.maxSpeed = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_1__.getRangeValue)(moveOptions.gravity.maxSpeed) * ratio;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Retina.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/EventListeners.js"
71
+ /*!*****************************************************************************************************************************************!*\
72
+ !*** ../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/EventListeners.js ***!
73
+ \*****************************************************************************************************************************************/
74
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
+
76
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EventListeners: () => (/* binding */ EventListeners)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/Utils.js\");\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js\");\n\n\nclass EventListeners {\n container;\n _handlers;\n _resizeObserver;\n _resizeTimeout;\n constructor(container) {\n this.container = container;\n this._handlers = {\n visibilityChange: () => {\n this._handleVisibilityChange();\n },\n resize: () => {\n this._handleWindowResize();\n },\n };\n }\n addListeners() {\n this._manageListeners(true);\n }\n removeListeners() {\n this._manageListeners(false);\n }\n _handleVisibilityChange = () => {\n const container = this.container, options = container.actualOptions;\n if (!options.pauseOnBlur) {\n return;\n }\n if ((0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().hidden) {\n container.pageHidden = true;\n container.pause();\n }\n else {\n container.pageHidden = false;\n if (container.animationStatus) {\n container.play(true);\n }\n else {\n container.draw(true);\n }\n }\n };\n _handleWindowResize = () => {\n if (this._resizeTimeout) {\n clearTimeout(this._resizeTimeout);\n delete this._resizeTimeout;\n }\n const handleResize = async () => {\n const canvas = this.container.canvas;\n await canvas.windowResize();\n };\n this._resizeTimeout = setTimeout(() => void handleResize(), this.container.actualOptions.resize.delay * _Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds);\n };\n _manageListeners = add => {\n const handlers = this._handlers;\n this._manageResize(add);\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.manageListener)(document, _Constants_js__WEBPACK_IMPORTED_MODULE_1__.visibilityChangeEvent, handlers.visibilityChange, add, false);\n };\n _manageResize = add => {\n const handlers = this._handlers, container = this.container, options = container.actualOptions;\n if (!options.resize.enable) {\n return;\n }\n if (typeof ResizeObserver === \"undefined\") {\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.manageListener)(globalThis, _Constants_js__WEBPACK_IMPORTED_MODULE_1__.resizeEvent, handlers.resize, add);\n return;\n }\n const canvasEl = container.canvas.element;\n if (this._resizeObserver && !add) {\n if (canvasEl) {\n this._resizeObserver.unobserve(canvasEl);\n }\n this._resizeObserver.disconnect();\n delete this._resizeObserver;\n }\n else if (!this._resizeObserver && add && canvasEl) {\n this._resizeObserver = new ResizeObserver((entries) => {\n const entry = entries.find(e => e.target === canvasEl);\n if (!entry) {\n return;\n }\n this._handleWindowResize();\n });\n this._resizeObserver.observe(canvasEl);\n }\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/EventListeners.js?\n}");
77
+
78
+ /***/ },
79
+
80
+ /***/ "../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/QuadTree.js"
81
+ /*!***********************************************************************************************************************************!*\
82
+ !*** ../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/QuadTree.js ***!
83
+ \***********************************************************************************************************************************/
84
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
85
+
86
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ QuadTree: () => (/* binding */ QuadTree)\n/* harmony export */ });\n/* harmony import */ var _Ranges_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Ranges.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Ranges.js\");\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Utils/MathUtils.js */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Utils/MathUtils.js\");\n\n\n\nclass QuadTree {\n rectangle;\n capacity;\n _divided;\n _points;\n _subs;\n constructor(rectangle, capacity) {\n this.rectangle = rectangle;\n this.capacity = capacity;\n this._points = [];\n this._divided = false;\n this._subs = [];\n }\n insert(point) {\n if (!this.rectangle.contains(point.position)) {\n return false;\n }\n if (this._points.length < this.capacity) {\n this._points.push(point);\n return true;\n }\n if (!this._divided) {\n this._subdivide();\n }\n return this._subs.some(sub => sub.insert(point));\n }\n query(range, check) {\n const res = [];\n if (!range.intersects(this.rectangle)) {\n return [];\n }\n for (const p of this._points) {\n if (!range.contains(p.position) &&\n (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_2__.getDistance)(range.position, p.position) > p.particle.getRadius() &&\n (!check || check(p.particle))) {\n continue;\n }\n res.push(p.particle);\n }\n if (this._divided) {\n for (const sub of this._subs) {\n res.push(...sub.query(range, check));\n }\n }\n return res;\n }\n queryCircle(position, radius, check) {\n return this.query(new _Ranges_js__WEBPACK_IMPORTED_MODULE_0__.Circle(position.x, position.y, radius), check);\n }\n queryRectangle(position, size, check) {\n return this.query(new _Ranges_js__WEBPACK_IMPORTED_MODULE_0__.Rectangle(position.x, position.y, size.width, size.height), check);\n }\n _subdivide = () => {\n const { x, y } = this.rectangle.position, { width, height } = this.rectangle.size, { capacity } = this;\n for (let i = 0; i < _Constants_js__WEBPACK_IMPORTED_MODULE_1__.subdivideCount; i++) {\n const fixedIndex = i % _Constants_js__WEBPACK_IMPORTED_MODULE_1__.double;\n this._subs.push(new QuadTree(new _Ranges_js__WEBPACK_IMPORTED_MODULE_0__.Rectangle(x + width * _Constants_js__WEBPACK_IMPORTED_MODULE_1__.half * fixedIndex, y + height * _Constants_js__WEBPACK_IMPORTED_MODULE_1__.half * (Math.round(i * _Constants_js__WEBPACK_IMPORTED_MODULE_1__.half) - fixedIndex), width * _Constants_js__WEBPACK_IMPORTED_MODULE_1__.half, height * _Constants_js__WEBPACK_IMPORTED_MODULE_1__.half), capacity));\n }\n this._divided = true;\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/Core/Utils/QuadTree.js?\n}");
87
+
88
+ /***/ }
89
+
90
+ }]);
@@ -0,0 +1,80 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v4.0.0-alpha.4
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_preset_snow"] = this["webpackChunk_tsparticles_preset_snow"] || []).push([["vendors-node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-alpha_14_node_modules_tsparticl-56603a"],{
19
+
20
+ /***/ "../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/BounceOutMode.js"
21
+ /*!***************************************************************************************************************************************************!*\
22
+ !*** ../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/BounceOutMode.js ***!
23
+ \***************************************************************************************************************************************************/
24
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
+
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BounceOutMode: () => (/* binding */ BounceOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/index.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/Utils.js\");\n\n\nclass BounceOutMode {\n container;\n modes;\n _particleBouncePlugins;\n constructor(container) {\n this.container = container;\n this.modes = [\n _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.bounce,\n _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.split,\n ];\n this._particleBouncePlugins = container.plugins.filter(p => p.particleBounce !== undefined);\n }\n update(particle, direction, delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n let handled = false;\n for (const plugin of this._particleBouncePlugins) {\n handled = plugin.particleBounce?.(particle, delta, direction) ?? false;\n if (handled) {\n break;\n }\n }\n if (handled) {\n return;\n }\n const pos = particle.getPosition(), offset = particle.offset, size = particle.getRadius(), bounds = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calculateBounds)(pos, size), canvasSize = container.canvas.size;\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.bounceHorizontal)({ particle, outMode, direction, bounds, canvasSize, offset, size });\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.bounceVertical)({ particle, outMode, direction, bounds, canvasSize, offset, size });\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/BounceOutMode.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/DestroyOutMode.js"
31
+ /*!****************************************************************************************************************************************************!*\
32
+ !*** ../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/DestroyOutMode.js ***!
33
+ \****************************************************************************************************************************************************/
34
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
+
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DestroyOutMode: () => (/* binding */ DestroyOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/index.js\");\n\nconst minVelocity = 0;\nclass DestroyOutMode {\n container;\n modes;\n constructor(container) {\n this.container = container;\n this.modes = [_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.destroy];\n }\n update(particle, direction, _delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch (particle.outType) {\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.normal:\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.outside:\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(particle.position, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin, particle.getRadius(), direction)) {\n return;\n }\n break;\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.inside: {\n const { dx, dy } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(particle.position, particle.moveCenter), { x: vx, y: vy } = particle.velocity;\n if ((vx < minVelocity && dx > particle.moveCenter.radius) ||\n (vy < minVelocity && dy > particle.moveCenter.radius) ||\n (vx >= minVelocity && dx < -particle.moveCenter.radius) ||\n (vy >= minVelocity && dy < -particle.moveCenter.radius)) {\n return;\n }\n break;\n }\n }\n container.particles.remove(particle, particle.group, true);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/DestroyOutMode.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/NoneOutMode.js"
41
+ /*!*************************************************************************************************************************************************!*\
42
+ !*** ../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/NoneOutMode.js ***!
43
+ \*************************************************************************************************************************************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ NoneOutMode: () => (/* binding */ NoneOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/index.js\");\n\nconst minVelocity = 0;\nclass NoneOutMode {\n container;\n modes;\n constructor(container) {\n this.container = container;\n this.modes = [_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.none];\n }\n update(particle, direction, _delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n if ((particle.options.move.distance.horizontal &&\n (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left || direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right)) ??\n (particle.options.move.distance.vertical &&\n (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top || direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom))) {\n return;\n }\n const gravityOptions = particle.options.move.gravity, container = this.container, canvasSize = container.canvas.size, pRadius = particle.getRadius();\n if (!gravityOptions.enable) {\n if ((particle.velocity.y > minVelocity && particle.position.y <= canvasSize.height + pRadius) ||\n (particle.velocity.y < minVelocity && particle.position.y >= -pRadius) ||\n (particle.velocity.x > minVelocity && particle.position.x <= canvasSize.width + pRadius) ||\n (particle.velocity.x < minVelocity && particle.position.x >= -pRadius)) {\n return;\n }\n if (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(particle.position, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin, pRadius, direction)) {\n container.particles.remove(particle);\n }\n }\n else {\n const position = particle.position;\n if ((!gravityOptions.inverse &&\n position.y > canvasSize.height + pRadius &&\n direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom) ||\n (gravityOptions.inverse && position.y < -pRadius && direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top)) {\n container.particles.remove(particle);\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/NoneOutMode.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/OutOfCanvasUpdater.js"
51
+ /*!********************************************************************************************************************************************************!*\
52
+ !*** ../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/OutOfCanvasUpdater.js ***!
53
+ \********************************************************************************************************************************************************/
54
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
+
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OutOfCanvasUpdater: () => (/* binding */ OutOfCanvasUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/index.js\");\n/* harmony import */ var _BounceOutMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BounceOutMode.js */ \"../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/BounceOutMode.js\");\n/* harmony import */ var _DestroyOutMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DestroyOutMode.js */ \"../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/DestroyOutMode.js\");\n/* harmony import */ var _NoneOutMode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NoneOutMode.js */ \"../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/NoneOutMode.js\");\n/* harmony import */ var _OutOutMode_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./OutOutMode.js */ \"../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/OutOutMode.js\");\n\n\n\n\n\nconst checkOutMode = (outModes, outMode) => {\n return (outModes.default === outMode ||\n outModes.bottom === outMode ||\n outModes.left === outMode ||\n outModes.right === outMode ||\n outModes.top === outMode);\n};\nclass OutOfCanvasUpdater {\n updaters;\n container;\n constructor(container) {\n this.container = container;\n this.updaters = new Map();\n }\n init(particle) {\n this._addUpdaterIfMissing(particle, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.bounce, container => new _BounceOutMode_js__WEBPACK_IMPORTED_MODULE_1__.BounceOutMode(container));\n this._addUpdaterIfMissing(particle, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.out, container => new _OutOutMode_js__WEBPACK_IMPORTED_MODULE_4__.OutOutMode(container));\n this._addUpdaterIfMissing(particle, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.destroy, container => new _DestroyOutMode_js__WEBPACK_IMPORTED_MODULE_2__.DestroyOutMode(container));\n this._addUpdaterIfMissing(particle, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.none, container => new _NoneOutMode_js__WEBPACK_IMPORTED_MODULE_3__.NoneOutMode(container));\n }\n isEnabled(particle) {\n return !particle.destroyed && !particle.spawning;\n }\n update(particle, delta) {\n const outModes = particle.options.move.outModes;\n this._updateOutMode(particle, delta, outModes.bottom ?? outModes.default, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom);\n this._updateOutMode(particle, delta, outModes.left ?? outModes.default, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left);\n this._updateOutMode(particle, delta, outModes.right ?? outModes.default, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right);\n this._updateOutMode(particle, delta, outModes.top ?? outModes.default, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top);\n }\n _addUpdaterIfMissing = (particle, outMode, getUpdater) => {\n const outModes = particle.options.move.outModes;\n if (!this.updaters.has(outMode) && checkOutMode(outModes, outMode)) {\n this.updaters.set(outMode, getUpdater(this.container));\n }\n };\n _updateOutMode = (particle, delta, outMode, direction) => {\n for (const updater of this.updaters.values()) {\n updater.update(particle, direction, delta, outMode);\n }\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/OutOfCanvasUpdater.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/OutOutMode.js"
61
+ /*!************************************************************************************************************************************************!*\
62
+ !*** ../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/OutOutMode.js ***!
63
+ \************************************************************************************************************************************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ OutOutMode: () => (/* binding */ OutOutMode)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/index.js\");\n\nconst minVelocity = 0, minDistance = 0;\nclass OutOutMode {\n container;\n modes;\n constructor(container) {\n this.container = container;\n this.modes = [_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.out];\n }\n update(particle, direction, _delta, outMode) {\n if (!this.modes.includes(outMode)) {\n return;\n }\n const container = this.container;\n switch (particle.outType) {\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.inside: {\n const { x: vx, y: vy } = particle.velocity, circVec = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n circVec.length = particle.moveCenter.radius;\n circVec.angle = particle.velocity.angle + Math.PI;\n circVec.addTo(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(particle.moveCenter));\n const { dx, dy } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(particle.position, circVec);\n if ((vx <= minVelocity && dx >= minDistance) ||\n (vy <= minVelocity && dy >= minDistance) ||\n (vx >= minVelocity && dx <= minDistance) ||\n (vy >= minVelocity && dy <= minDistance)) {\n return;\n }\n particle.position.x = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)({\n min: 0,\n max: container.canvas.size.width,\n }));\n particle.position.y = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)({\n min: 0,\n max: container.canvas.size.height,\n }));\n const { dx: newDx, dy: newDy } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(particle.position, particle.moveCenter);\n particle.direction = Math.atan2(-newDy, -newDx);\n particle.velocity.angle = particle.direction;\n break;\n }\n default: {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(particle.position, container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin, particle.getRadius(), direction)) {\n return;\n }\n switch (particle.outType) {\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.outside: {\n particle.position.x =\n Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)({\n min: -particle.moveCenter.radius,\n max: particle.moveCenter.radius,\n })) + particle.moveCenter.x;\n particle.position.y =\n Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)({\n min: -particle.moveCenter.radius,\n max: particle.moveCenter.radius,\n })) + particle.moveCenter.y;\n const { dx, dy } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(particle.position, particle.moveCenter);\n if (particle.moveCenter.radius) {\n particle.direction = Math.atan2(dy, dx);\n particle.velocity.angle = particle.direction;\n }\n break;\n }\n case _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.ParticleOutType.normal: {\n const warp = particle.options.move.warp, canvasSize = container.canvas.size, newPos = {\n bottom: canvasSize.height + particle.getRadius() + particle.offset.y,\n left: -particle.getRadius() - particle.offset.x,\n right: canvasSize.width + particle.getRadius() + particle.offset.x,\n top: -particle.getRadius() - particle.offset.y,\n }, sizeValue = particle.getRadius(), nextBounds = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calculateBounds)(particle.position, sizeValue);\n if (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right && nextBounds.left > canvasSize.width + particle.offset.x) {\n particle.position.x = newPos.left;\n particle.initialPosition.x = particle.position.x;\n if (!warp) {\n particle.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n else if (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left && nextBounds.right < -particle.offset.x) {\n particle.position.x = newPos.right;\n particle.initialPosition.x = particle.position.x;\n if (!warp) {\n particle.position.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * canvasSize.height;\n particle.initialPosition.y = particle.position.y;\n }\n }\n if (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom && nextBounds.top > canvasSize.height + particle.offset.y) {\n if (!warp) {\n particle.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n particle.position.y = newPos.top;\n particle.initialPosition.y = particle.position.y;\n }\n else if (direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top && nextBounds.bottom < -particle.offset.y) {\n if (!warp) {\n particle.position.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * canvasSize.width;\n particle.initialPosition.x = particle.position.x;\n }\n particle.position.y = newPos.bottom;\n particle.initialPosition.y = particle.position.y;\n }\n break;\n }\n }\n break;\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/OutOutMode.js?\n}");
67
+
68
+ /***/ },
69
+
70
+ /***/ "../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/Utils.js"
71
+ /*!*******************************************************************************************************************************************!*\
72
+ !*** ../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/Utils.js ***!
73
+ \*******************************************************************************************************************************************/
74
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
75
+
76
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bounceHorizontal: () => (/* binding */ bounceHorizontal),\n/* harmony export */ bounceVertical: () => (/* binding */ bounceVertical)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../node_modules/.pnpm/@tsparticles+engine@4.0.0-alpha.14/node_modules/@tsparticles/engine/browser/index.js\");\n\nconst minVelocity = 0, boundsMin = 0;\nfunction bounceHorizontal(data) {\n if ((data.outMode !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.bounce && data.outMode !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.split) ||\n (data.direction !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left && data.direction !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right)) {\n return;\n }\n if (data.bounds.right < boundsMin && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left) {\n data.particle.position.x = data.size + data.offset.x;\n }\n else if (data.bounds.left > data.canvasSize.width && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right) {\n data.particle.position.x = data.canvasSize.width - data.size - data.offset.x;\n }\n const velocity = data.particle.velocity.x;\n let bounced = false;\n if ((data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right &&\n data.bounds.right >= data.canvasSize.width &&\n velocity > minVelocity) ||\n (data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left && data.bounds.left <= boundsMin && velocity < minVelocity)) {\n const newVelocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(data.particle.options.bounce.horizontal.value);\n data.particle.velocity.x *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.x + data.size;\n if (data.bounds.right >= data.canvasSize.width && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.right) {\n data.particle.position.x = data.canvasSize.width - minPos;\n }\n else if (data.bounds.left <= boundsMin && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.left) {\n data.particle.position.x = minPos;\n }\n if (data.outMode === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.split) {\n data.particle.destroy();\n }\n}\nfunction bounceVertical(data) {\n if ((data.outMode !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.bounce && data.outMode !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.split) ||\n (data.direction !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom && data.direction !== _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top)) {\n return;\n }\n if (data.bounds.bottom < boundsMin && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top) {\n data.particle.position.y = data.size + data.offset.y;\n }\n else if (data.bounds.top > data.canvasSize.height && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom) {\n data.particle.position.y = data.canvasSize.height - data.size - data.offset.y;\n }\n const velocity = data.particle.velocity.y;\n let bounced = false;\n if ((data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom &&\n data.bounds.bottom >= data.canvasSize.height &&\n velocity > minVelocity) ||\n (data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top && data.bounds.top <= boundsMin && velocity < minVelocity)) {\n const newVelocity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(data.particle.options.bounce.vertical.value);\n data.particle.velocity.y *= -newVelocity;\n bounced = true;\n }\n if (!bounced) {\n return;\n }\n const minPos = data.offset.y + data.size;\n if (data.bounds.bottom >= data.canvasSize.height && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.bottom) {\n data.particle.position.y = data.canvasSize.height - minPos;\n }\n else if (data.bounds.top <= boundsMin && data.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutModeDirection.top) {\n data.particle.position.y = minPos;\n }\n if (data.outMode === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OutMode.split) {\n data.particle.destroy();\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-snow/../../node_modules/.pnpm/@tsparticles+updater-out-modes@4.0.0-alpha.14/node_modules/@tsparticles/updater-out-modes/browser/Utils.js?\n}");
77
+
78
+ /***/ }
79
+
80
+ }]);
package/171.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 171.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[171],{1171(e,n,s){s.d(n,{WobbleUpdater:()=>i});var t=s(3511);class a{constructor(){this.angle=50,this.move=10}load(e){(0,t.kZJ)(e)||(void 0!==e.angle&&(this.angle=(0,t.DT4)(e.angle)),void 0!==e.move&&(this.move=(0,t.DT4)(e.move)))}}class o{constructor(){this.distance=5,this.enable=!1,this.speed=new a}load(e){if(!(0,t.kZJ)(e)&&(void 0!==e.distance&&(this.distance=(0,t.DT4)(e.distance)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed))if((0,t.EtT)(e.speed))this.speed.load({angle:e.speed});else{const n=e.speed;Object.hasOwn(n,"min")?this.speed.load({angle:n}):this.speed.load(e.speed)}}}class i{constructor(e){this.container=e}init(e){const n=e.options.wobble;e.wobble=n?.enable?{angle:(0,t.G0i)()*t.R1e,angleSpeed:(0,t.VGA)(n.speed.angle)/360,moveSpeed:(0,t.VGA)(n.speed.move)/10}:{angle:0,angleSpeed:0,moveSpeed:0},e.retina.wobbleDistance=(0,t.VGA)(n?.distance??0)*this.container.retina.pixelRatio}isEnabled(e){return!e.destroyed&&!e.spawning&&!!e.options.wobble?.enable}loadOptions(e,...n){e.wobble??=new o;for(const s of n)e.wobble.load(s?.wobble)}update(e,n){this.isEnabled(e)&&function(e,n){const{wobble:s}=e.options,{container:a,wobble:o}=e;if(!s?.enable||!o)return;const i=a.retina.reduceFactor,l=o.angleSpeed*n.factor*i,d=o.moveSpeed*n.factor*i*(e.retina.wobbleDistance??0)/(t.XuV/60),b=t.R1e,{position:c}=e;o.angle+=l,o.angle>b&&(o.angle-=b),c.x+=d*Math.cos(o.angle),c.y+=d*Math.abs(Math.sin(o.angle))}(e,n)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/196.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 196.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[196],{1196(a,t,i){async function e(a){a.checkVersion("4.0.0-alpha.5"),await a.register(async a=>{const{loadHexColorPlugin:t}=await i.e(684).then(i.bind(i,1684)),{loadHslColorPlugin:e}=await i.e(688).then(i.bind(i,8688)),{loadRgbColorPlugin:n}=await i.e(56).then(i.bind(i,8056)),{loadBaseMover:d}=await i.e(464).then(i.bind(i,3464)),{loadCircleShape:o}=await i.e(426).then(i.bind(i,2426)),{loadColorUpdater:w}=await i.e(352).then(i.bind(i,6352)),{loadOpacityUpdater:l}=await i.e(60).then(i.bind(i,6060)),{loadOutModesUpdater:s}=await i.e(864).then(i.bind(i,3864)),{loadSizeUpdater:h}=await i.e(440).then(i.bind(i,4440));await t(a),await e(a),await n(a),await d(a),await o(a),await w(a),await l(a),await s(a),await h(a)})}i.d(t,{loadBasic:()=>e})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/202.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 202.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[202],{3202(o,e,n){n.d(e,{ColorUpdater:()=>i});var t=n(3511);class i{constructor(o,e){this._container=e,this._engine=o}init(o){const e=(0,t.R5R)(this._engine,o.options.color,o.id,o.options.reduceDuplicates);e&&(o.color=(0,t.pzy)(e,o.options.color.animation,this._container.retina.reduceFactor))}isEnabled(o){const{h:e,s:n,l:t}=o.options.color.animation,{color:i}=o;return!o.destroyed&&!o.spawning&&(void 0!==i?.h.value&&e.enable||void 0!==i?.s.value&&n.enable||void 0!==i?.l.value&&t.enable)}update(o,e){(0,t.JvX)(o.color,e)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/294.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 294.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[294],{2294(t,i,o){o.d(i,{OutOfCanvasUpdater:()=>c});var e=o(3511);class s{constructor(t){this.container=t,this.modes=[e.Yzx.bounce,e.Yzx.split]}update(t,i,o,s){if(!this.modes.includes(s))return;const n=this.container;let a=!1;for(const e of n.plugins)if(void 0!==e.particleBounce&&(a=e.particleBounce(t,o,i)),a)break;if(a)return;const r=t.getPosition(),c=t.offset,d=t.getRadius(),p=(0,e.AEc)(r,d),u=n.canvas.size;!function(t){if(t.outMode!==e.Yzx.bounce&&t.outMode!==e.Yzx.split||t.direction!==e.v5k.left&&t.direction!==e.v5k.right)return;t.bounds.right<0&&t.direction===e.v5k.left?t.particle.position.x=t.size+t.offset.x:t.bounds.left>t.canvasSize.width&&t.direction===e.v5k.right&&(t.particle.position.x=t.canvasSize.width-t.size-t.offset.x);const i=t.particle.velocity.x;let o=!1;if(t.direction===e.v5k.right&&t.bounds.right>=t.canvasSize.width&&i>0||t.direction===e.v5k.left&&t.bounds.left<=0&&i<0){const i=(0,e.VGA)(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-i,o=!0}if(!o)return;const s=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width&&t.direction===e.v5k.right?t.particle.position.x=t.canvasSize.width-s:t.bounds.left<=0&&t.direction===e.v5k.left&&(t.particle.position.x=s),t.outMode===e.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:i,bounds:p,canvasSize:u,offset:c,size:d}),function(t){if(t.outMode!==e.Yzx.bounce&&t.outMode!==e.Yzx.split||t.direction!==e.v5k.bottom&&t.direction!==e.v5k.top)return;t.bounds.bottom<0&&t.direction===e.v5k.top?t.particle.position.y=t.size+t.offset.y:t.bounds.top>t.canvasSize.height&&t.direction===e.v5k.bottom&&(t.particle.position.y=t.canvasSize.height-t.size-t.offset.y);const i=t.particle.velocity.y;let o=!1;if(t.direction===e.v5k.bottom&&t.bounds.bottom>=t.canvasSize.height&&i>0||t.direction===e.v5k.top&&t.bounds.top<=0&&i<0){const i=(0,e.VGA)(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-i,o=!0}if(!o)return;const s=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height&&t.direction===e.v5k.bottom?t.particle.position.y=t.canvasSize.height-s:t.bounds.top<=0&&t.direction===e.v5k.top&&(t.particle.position.y=s),t.outMode===e.Yzx.split&&t.particle.destroy()}({particle:t,outMode:s,direction:i,bounds:p,canvasSize:u,offset:c,size:d})}}class n{constructor(t){this.container=t,this.modes=[e.Yzx.destroy]}update(t,i,o,s){if(!this.modes.includes(s))return;const n=this.container;switch(t.outType){case e.x_I.normal:case e.x_I.outside:if((0,e.Tj8)(t.position,n.canvas.size,e.Miz.origin,t.getRadius(),i))return;break;case e.x_I.inside:{const{dx:i,dy:o}=(0,e.vrU)(t.position,t.moveCenter),{x:s,y:n}=t.velocity;if(s<0&&i>t.moveCenter.radius||n<0&&o>t.moveCenter.radius||s>=0&&i<-t.moveCenter.radius||n>=0&&o<-t.moveCenter.radius)return;break}}n.particles.remove(t,t.group,!0)}}class a{constructor(t){this.container=t,this.modes=[e.Yzx.none]}update(t,i,o,s){if(!this.modes.includes(s))return;if((t.options.move.distance.horizontal&&(i===e.v5k.left||i===e.v5k.right))??(t.options.move.distance.vertical&&(i===e.v5k.top||i===e.v5k.bottom)))return;const n=t.options.move.gravity,a=this.container,r=a.canvas.size,c=t.getRadius();if(n.enable){const o=t.position;(!n.inverse&&o.y>r.height+c&&i===e.v5k.bottom||n.inverse&&o.y<-c&&i===e.v5k.top)&&a.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=r.height+c||t.velocity.y<0&&t.position.y>=-c||t.velocity.x>0&&t.position.x<=r.width+c||t.velocity.x<0&&t.position.x>=-c)return;(0,e.Tj8)(t.position,a.canvas.size,e.Miz.origin,c,i)||a.particles.remove(t)}}}class r{constructor(t){this.container=t,this.modes=[e.Yzx.out]}update(t,i,o,s){if(!this.modes.includes(s))return;const n=this.container;switch(t.outType){case e.x_I.inside:{const{x:i,y:o}=t.velocity,s=e.Miz.origin;s.length=t.moveCenter.radius,s.angle=t.velocity.angle+Math.PI,s.addTo(e.Miz.create(t.moveCenter));const{dx:a,dy:r}=(0,e.vrU)(t.position,s);if(i<=0&&a>=0||o<=0&&r>=0||i>=0&&a<=0||o>=0&&r<=0)return;t.position.x=Math.floor((0,e.vEz)({min:0,max:n.canvas.size.width})),t.position.y=Math.floor((0,e.vEz)({min:0,max:n.canvas.size.height}));const{dx:c,dy:d}=(0,e.vrU)(t.position,t.moveCenter);t.direction=Math.atan2(-d,-c),t.velocity.angle=t.direction;break}default:if((0,e.Tj8)(t.position,n.canvas.size,e.Miz.origin,t.getRadius(),i))return;switch(t.outType){case e.x_I.outside:{t.position.x=Math.floor((0,e.vEz)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x,t.position.y=Math.floor((0,e.vEz)({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;const{dx:i,dy:o}=(0,e.vrU)(t.position,t.moveCenter);t.moveCenter.radius&&(t.direction=Math.atan2(o,i),t.velocity.angle=t.direction);break}case e.x_I.normal:{const o=t.options.move.warp,s=n.canvas.size,a={bottom:s.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:s.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},r=t.getRadius(),c=(0,e.AEc)(t.position,r);i===e.v5k.right&&c.left>s.width+t.offset.x?(t.position.x=a.left,t.initialPosition.x=t.position.x,o||(t.position.y=(0,e.G0i)()*s.height,t.initialPosition.y=t.position.y)):i===e.v5k.left&&c.right<-t.offset.x&&(t.position.x=a.right,t.initialPosition.x=t.position.x,o||(t.position.y=(0,e.G0i)()*s.height,t.initialPosition.y=t.position.y)),i===e.v5k.bottom&&c.top>s.height+t.offset.y?(o||(t.position.x=(0,e.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=a.top,t.initialPosition.y=t.position.y):i===e.v5k.top&&c.bottom<-t.offset.y&&(o||(t.position.x=(0,e.G0i)()*s.width,t.initialPosition.x=t.position.x),t.position.y=a.bottom,t.initialPosition.y=t.position.y);break}}}}}class c{constructor(t){this._addUpdaterIfMissing=(t,i,o)=>{const e=t.options.move.outModes;!this.updaters.has(i)&&((t,i)=>t.default===i||t.bottom===i||t.left===i||t.right===i||t.top===i)(e,i)&&this.updaters.set(i,o(this.container))},this._updateOutMode=(t,i,o,e)=>{for(const s of this.updaters.values())s.update(t,e,i,o)},this.container=t,this.updaters=new Map}init(t){this._addUpdaterIfMissing(t,e.Yzx.bounce,t=>new s(t)),this._addUpdaterIfMissing(t,e.Yzx.out,t=>new r(t)),this._addUpdaterIfMissing(t,e.Yzx.destroy,t=>new n(t)),this._addUpdaterIfMissing(t,e.Yzx.none,t=>new a(t))}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,i){const o=t.options.move.outModes;this._updateOutMode(t,i,o.bottom??o.default,e.v5k.bottom),this._updateOutMode(t,i,o.left??o.default,e.v5k.left),this._updateOutMode(t,i,o.right??o.default,e.v5k.right),this._updateOutMode(t,i,o.top??o.default,e.v5k.top)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/352.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 352.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[352],{6352(e,t,a){async function r(e){e.checkVersion("4.0.0-alpha.5"),await e.register(e=>{e.addParticleUpdater("color",async t=>{const{ColorUpdater:r}=await a.e(202).then(a.bind(a,3202));return new r(e,t)})})}a.d(t,{loadColorUpdater:()=>r})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/413.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 413.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[413],{9413(e,i,t){t.d(i,{BaseMover:()=>o});var n=t(3511);function a(e,i,t,a,o,s,c){!function(e,i){const t=e.options,a=t.move.path;if(!a.enable)return;if(e.lastPathTime<=e.pathDelay)return void(e.lastPathTime+=i.value);const o=e.pathGenerator?.generate(e,i);o&&e.velocity.addTo(o);a.clamp&&(e.velocity.x=(0,n.qE8)(e.velocity.x,-1,1),e.velocity.y=(0,n.qE8)(e.velocity.y,-1,1));e.lastPathTime-=e.pathDelay}(e,c);const r=e.gravity,l=r?.enable&&r.inverse?-1:1;o&&t&&(e.velocity.x+=o*c.factor/(60*t)),r?.enable&&t&&(e.velocity.y+=l*(r.acceleration*c.factor)/(60*t));const p=e.moveDecay;e.velocity.multTo(p);const y=e.velocity.mult(t);r?.enable&&a>0&&(!r.inverse&&y.y>=0&&y.y>=a||r.inverse&&y.y<=0&&y.y<=-a)&&(y.y=l*a,t&&(e.velocity.y=y.y/t));const v=e.options.zIndex,d=(1-e.zIndexFactor)**v.velocityRate;y.multTo(d),y.multTo(s);const{position:x}=e;x.addTo(y),i.vibrate&&(x.x+=Math.sin(x.x*Math.cos(x.y))*s,x.y+=Math.cos(x.y*Math.sin(x.x))*s)}class o{init(e){const i=e.options.move.gravity;e.gravity={enable:i.enable,acceleration:(0,n.VGA)(i.acceleration),inverse:i.inverse},function(e){const i=e.container,t=e.options.move.spin;if(!t.enable)return;const a=t.position??{x:50,y:50},o={x:.01*a.x*i.canvas.size.width,y:.01*a.y*i.canvas.size.height},s=e.getPosition(),c=(0,n.YfF)(s,o),r=(0,n.VGA)(t.acceleration);e.retina.spinAcceleration=r*i.retina.pixelRatio,e.spin={center:o,direction:e.velocity.x>=0?n.pTR.clockwise:n.pTR.counterClockwise,angle:(0,n.G0i)()*n.R1e,radius:c,acceleration:e.retina.spinAcceleration}}(e)}isEnabled(e){return!e.destroyed&&e.options.move.enable}move(e,i){const t=e.options,o=t.move;if(!o.enable)return;const s=e.container,c=s.retina.pixelRatio;e.retina.moveSpeed??=(0,n.VGA)(o.speed)*c,e.retina.moveDrift??=(0,n.VGA)(e.options.move.drift)*c;const r=function(e){return e.slow.inRange?e.slow.factor:1}(e),l=s.retina.reduceFactor,p=e.retina.moveSpeed,y=e.retina.moveDrift,v=(0,n.W9e)(t.size.value)*c,d=p*(o.size?e.getRadius()/v:1)*r*(i.factor||1)/2,x=e.retina.maxSpeed??s.retina.maxSpeed;o.spin.enable?function(e,i,t){const a=e.container;if(!e.spin)return;const o=e.spin.direction===n.pTR.clockwise,s={x:o?Math.cos:Math.sin,y:o?Math.sin:Math.cos};e.position.x=e.spin.center.x+e.spin.radius*s.x(e.spin.angle)*t,e.position.y=e.spin.center.y+e.spin.radius*s.y(e.spin.angle)*t,e.spin.radius+=e.spin.acceleration*t;const c=Math.max(a.canvas.size.width,a.canvas.size.height),r=c*n.MXx;e.spin.radius>r?(e.spin.radius=r,e.spin.acceleration*=-1):e.spin.radius<0&&(e.spin.radius=0,e.spin.acceleration*=-1),e.spin.angle+=.01*i*(1-e.spin.radius/c)}(e,d,l):a(e,o,d,x,y,l,i),function(e){const i=e.initialPosition,{dx:t,dy:a}=(0,n.vrU)(i,e.position),o=Math.abs(t),s=Math.abs(a),{maxDistance:c}=e.retina,r=c.horizontal,l=c.vertical;if(!r&&!l)return;if((r&&o>=r||l&&s>=l)&&!e.misplaced)e.misplaced=!!r&&o>r||!!l&&s>l,r&&(e.velocity.x=e.velocity.y*n.MXx-e.velocity.x),l&&(e.velocity.y=e.velocity.x*n.MXx-e.velocity.y);else if((!r||o<r)&&(!l||s<l)&&e.misplaced)e.misplaced=!1;else if(e.misplaced){const t=e.position,a=e.velocity;r&&(t.x<i.x&&a.x<0||t.x>i.x&&a.x>0)&&(a.x*=-(0,n.G0i)()),l&&(t.y<i.y&&a.y<0||t.y>i.y&&a.y>0)&&(a.y*=-(0,n.G0i)())}}(e)}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/426.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 426.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[426],{2426(e,a,s){async function t(e){e.checkVersion("4.0.0-alpha.5"),await e.register(async e=>{const{CircleDrawer:a}=await s.e(668).then(s.bind(s,1668));e.addShape(new a)})}s.d(a,{loadCircleShape:()=>t})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/440.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 440.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[440],{4440(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.5"),await e.register(e=>{e.addParticleUpdater("size",async()=>{const{SizeUpdater:e}=await a.e(726).then(a.bind(a,726));return new e})})}a.d(t,{loadSizeUpdater:()=>s})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/464.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 464.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[464],{3464(e,s,a){async function t(e){e.checkVersion("4.0.0-alpha.5"),await e.register(e=>{e.addMover("base",async()=>{const{BaseMover:e}=await a.e(413).then(a.bind(a,9413));return new e})})}a.d(s,{loadBaseMover:()=>t})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/505.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 505.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[505],{5505(s,t,e){e.d(t,{HslColorManager:()=>l});var a,n=e(3511);!function(s){s[s.h=1]="h",s[s.s=2]="s",s[s.l=3]="l",s[s.a=5]="a"}(a||(a={}));const h=/hsla?\(\s*(\d+)\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class l{constructor(){this.key="hsl"}accepts(s){return s.startsWith("hsl")}handleColor(s){const t=s.value.hsl??s.value;if(Object.hasOwn(t,"h")&&Object.hasOwn(t,"s")&&Object.hasOwn(t,"l"))return(0,n.YLU)(t)}handleRangeColor(s){const t=s.value.hsl??s.value;if(Object.hasOwn(t,"h")&&Object.hasOwn(t,"s")&&Object.hasOwn(t,"l"))return(0,n.YLU)({h:(0,n.VGA)(t.h),l:(0,n.VGA)(t.l),s:(0,n.VGA)(t.s)})}parseString(s){if(!this.accepts(s))return;const t=h.exec(s);return t?(0,n.ayx)({a:t.length>4?(0,n.M3Y)(t[a.a]):1,h:parseInt(t[a.h]??"0",10),l:parseInt(t[a.l]??"0",10),s:parseInt(t[a.s]??"0",10)}):void 0}}}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/544.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 544.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[544],{5544(e,t,a){async function s(e){e.checkVersion("4.0.0-alpha.5"),await e.register(e=>{e.addParticleUpdater("wobble",async e=>{const{WobbleUpdater:t}=await a.e(171).then(a.bind(a,1171));return new t(e)})})}a.d(t,{loadWobbleUpdater:()=>s})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/56.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 56.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[56],{8056(a,e,n){async function s(a){a.checkVersion("4.0.0-alpha.5"),await a.register(async a=>{const{RgbColorManager:e}=await n.e(949).then(n.bind(n,949));a.addColorManager(new e)})}n.d(e,{loadRgbColorPlugin:()=>s})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */
package/60.min.js DELETED
@@ -1,2 +0,0 @@
1
- /*! For license information please see 60.min.js.LICENSE.txt */
2
- (this.webpackChunk_tsparticles_preset_snow=this.webpackChunk_tsparticles_preset_snow||[]).push([[60],{6060(t,a,e){async function s(t){t.checkVersion("4.0.0-alpha.5"),await t.register(t=>{t.addParticleUpdater("opacity",async t=>{const{OpacityUpdater:a}=await e.e(792).then(e.bind(e,5792));return new a(t)})})}e.d(a,{loadOpacityUpdater:()=>s})}}]);
@@ -1 +0,0 @@
1
- /*! tsParticles Snow Preset v4.0.0-alpha.2 by Matteo Bruni */