@tsparticles/preset-ambient 4.0.0-beta.0 → 4.0.0-beta.15

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 (64) hide show
  1. package/browser/browser.js +5 -0
  2. package/browser/bundle.js +4 -0
  3. package/browser/index.js +3 -7
  4. package/browser/index.lazy.js +11 -0
  5. package/cjs/browser.js +5 -0
  6. package/cjs/bundle.js +4 -0
  7. package/cjs/index.js +3 -7
  8. package/cjs/index.lazy.js +11 -0
  9. package/esm/browser.js +5 -0
  10. package/esm/bundle.js +4 -0
  11. package/esm/index.js +3 -7
  12. package/esm/index.lazy.js +11 -0
  13. package/package.json +11 -4
  14. package/report.html +4949 -94
  15. package/tsparticles.preset.ambient.bundle.js +5871 -967
  16. package/tsparticles.preset.ambient.bundle.min.js +1 -2
  17. package/tsparticles.preset.ambient.js +122 -352
  18. package/tsparticles.preset.ambient.min.js +1 -2
  19. package/types/browser.d.ts +1 -0
  20. package/types/index.lazy.d.ts +2 -0
  21. package/172.min.js +0 -1
  22. package/188.min.js +0 -1
  23. package/304.min.js +0 -1
  24. package/361.min.js +0 -1
  25. package/392.min.js +0 -1
  26. package/404.min.js +0 -1
  27. package/467.min.js +0 -1
  28. package/48.min.js +0 -1
  29. package/592.min.js +0 -1
  30. package/63.min.js +0 -1
  31. package/632.min.js +0 -1
  32. package/659.min.js +0 -1
  33. package/700.min.js +0 -1
  34. package/714.min.js +0 -1
  35. package/719.min.js +0 -1
  36. package/72.min.js +0 -1
  37. package/74.min.js +0 -1
  38. package/750.min.js +0 -1
  39. package/857.min.js +0 -1
  40. package/86.min.js +0 -1
  41. package/892.min.js +0 -1
  42. package/957.min.js +0 -1
  43. package/dist_browser_options_js.js +0 -30
  44. package/node_modules_pnpm_tsparticles_basic_4_0_0-beta_11_node_modules_tsparticles_basic_browser_index_js.js +0 -30
  45. package/node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_1-5e0ff2.js +0 -30
  46. package/node_modules_pnpm_tsparticles_plugin-hex-color_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_1-b0d0ee.js +0 -30
  47. package/node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_1-060416.js +0 -30
  48. package/node_modules_pnpm_tsparticles_plugin-hsl-color_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_1-a6d106.js +0 -30
  49. package/node_modules_pnpm_tsparticles_plugin-move_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_nod-3a792b.js +0 -30
  50. package/node_modules_pnpm_tsparticles_plugin-move_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_nod-e1bc4b.js +0 -30
  51. package/node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_1-d9836d.js +0 -30
  52. package/node_modules_pnpm_tsparticles_plugin-rgb-color_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_1-f22022.js +0 -30
  53. package/node_modules_pnpm_tsparticles_shape-circle_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_no-7552ae.js +0 -40
  54. package/node_modules_pnpm_tsparticles_shape-circle_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_no-b06fc7.js +0 -30
  55. package/node_modules_pnpm_tsparticles_updater-opacity_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11-8f9e09.js +0 -30
  56. package/node_modules_pnpm_tsparticles_updater-opacity_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11-da77ce.js +0 -30
  57. package/node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_-df7144.js +0 -30
  58. package/node_modules_pnpm_tsparticles_updater-paint_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_n-589482.js +0 -30
  59. package/node_modules_pnpm_tsparticles_updater-paint_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_n-b1f330.js +0 -30
  60. package/node_modules_pnpm_tsparticles_updater-size_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_no-a47b81.js +0 -30
  61. package/node_modules_pnpm_tsparticles_updater-size_4_0_0-beta_11__tsparticles_engine_4_0_0-beta_11_no-d2508a.js +0 -30
  62. package/vendors-node_modules_pnpm_tsparticles_engine_4_0_0-beta_11_node_modules_tsparticles_engine_br-ca098e.js +0 -100
  63. package/vendors-node_modules_pnpm_tsparticles_plugin-move_4_0_0-beta_11__tsparticles_engine_4_0_0-bet-5f2b78.js +0 -40
  64. package/vendors-node_modules_pnpm_tsparticles_updater-out-modes_4_0_0-beta_11__tsparticles_engine_4_0-09fa1a.js +0 -80
@@ -1,357 +1,127 @@
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-beta.0
8
- */
9
- /*
10
- * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
11
- * This devtool is neither made for production nor for readable output files.
12
- * It uses "eval()" calls to create a separate source file in the browser devtools.
13
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
14
- * or disable the default devtool with "devtool: false".
15
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
16
- */
17
- (function webpackUniversalModuleDefinition(root, factory) {
18
- if(typeof exports === 'object' && typeof module === 'object')
19
- module.exports = factory(require("@tsparticles/basic"), require("@tsparticles/engine"));
20
- else if(typeof define === 'function' && define.amd)
21
- define(["@tsparticles/basic", "@tsparticles/engine"], factory);
22
- else {
23
- var a = typeof exports === 'object' ? factory(require("@tsparticles/basic"), require("@tsparticles/engine")) : factory(root["window"], root["window"]);
24
- for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
25
- }
26
- })(this, (__WEBPACK_EXTERNAL_MODULE__tsparticles_basic__, __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__) => {
27
- return /******/ (() => { // webpackBootstrap
28
- /******/ "use strict";
29
- /******/ var __webpack_modules__ = ({
1
+ (function(g){g.__tsParticlesInternals=g.__tsParticlesInternals||{};g.__tsParticlesInternals.bundles=g.__tsParticlesInternals.bundles||{};g.__tsParticlesInternals.effects=g.__tsParticlesInternals.effects||{};g.__tsParticlesInternals.engine=g.__tsParticlesInternals.engine||{};g.__tsParticlesInternals.interactions=g.__tsParticlesInternals.interactions||{};g.__tsParticlesInternals.palettes=g.__tsParticlesInternals.palettes||{};g.__tsParticlesInternals.paths=g.__tsParticlesInternals.paths||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins.emittersShapes=g.__tsParticlesInternals.plugins.emittersShapes||{};g.__tsParticlesInternals.presets=g.__tsParticlesInternals.presets||{};g.__tsParticlesInternals.shapes=g.__tsParticlesInternals.shapes||{};g.__tsParticlesInternals.updaters=g.__tsParticlesInternals.updaters||{};g.__tsParticlesInternals.utils=g.__tsParticlesInternals.utils||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas.utils=g.__tsParticlesInternals.canvas.utils||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path.utils=g.__tsParticlesInternals.path.utils||{};var __tsProxyFactory=typeof Proxy!=="undefined"?function(obj){return new Proxy(obj,{get:function(target,key){if(!(key in target)){target[key]={};}return target[key];}});}:function(obj){return obj;};g.__tsParticlesInternals.bundles=__tsProxyFactory(g.__tsParticlesInternals.bundles);g.__tsParticlesInternals.effects=__tsProxyFactory(g.__tsParticlesInternals.effects);g.__tsParticlesInternals.interactions=__tsProxyFactory(g.__tsParticlesInternals.interactions);g.__tsParticlesInternals.palettes=__tsProxyFactory(g.__tsParticlesInternals.palettes);g.__tsParticlesInternals.paths=__tsProxyFactory(g.__tsParticlesInternals.paths);g.__tsParticlesInternals.plugins=__tsProxyFactory(g.__tsParticlesInternals.plugins);g.__tsParticlesInternals.plugins.emittersShapes=__tsProxyFactory(g.__tsParticlesInternals.plugins.emittersShapes);g.__tsParticlesInternals.presets=__tsProxyFactory(g.__tsParticlesInternals.presets);g.__tsParticlesInternals.shapes=__tsProxyFactory(g.__tsParticlesInternals.shapes);g.__tsParticlesInternals.updaters=__tsProxyFactory(g.__tsParticlesInternals.updaters);g.__tsParticlesInternals.utils=__tsProxyFactory(g.__tsParticlesInternals.utils);g.__tsParticlesInternals.canvas=__tsProxyFactory(g.__tsParticlesInternals.canvas);g.__tsParticlesInternals.path=__tsProxyFactory(g.__tsParticlesInternals.path);g.tsparticlesInternalExports=g.tsparticlesInternalExports||{};})(typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:this);
2
+ /* Preset v4.0.0-beta.15 */
3
+ (function (global, factory) {
4
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@tsparticles/basic'), require('@tsparticles/engine')) :
5
+ typeof define === 'function' && define.amd ? define(['exports', '@tsparticles/basic', '@tsparticles/engine'], factory) :
6
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.__tsParticlesInternals = global.__tsParticlesInternals || {}, global.__tsParticlesInternals.presets = global.__tsParticlesInternals.presets || {}, global.__tsParticlesInternals.presets.ambient = global.__tsParticlesInternals.presets.ambient || {}), global.__tsParticlesInternals.bundles.basic, global.__tsParticlesInternals.engine));
7
+ })(this, (function (exports, basic, engine) { 'use strict';
30
8
 
31
- /***/ "@tsparticles/basic"
32
- /*!******************************************************************************************************************************!*\
33
- !*** external {"commonjs":"@tsparticles/basic","commonjs2":"@tsparticles/basic","amd":"@tsparticles/basic","root":"window"} ***!
34
- \******************************************************************************************************************************/
35
- (module) {
9
+ const options = {
10
+ fpsLimit: 120,
11
+ background: {
12
+ color: "#191d1e",
13
+ image: "linear-gradient(0deg, #191d1e 50%,#283139 100%)",
14
+ },
15
+ particles: {
16
+ number: {
17
+ value: 200,
18
+ density: {
19
+ enable: true,
20
+ },
21
+ },
22
+ shape: {
23
+ type: "circle",
24
+ options: {
25
+ circle: [
26
+ {
27
+ particles: {
28
+ paint: {
29
+ fill: {
30
+ enable: false,
31
+ },
32
+ stroke: {
33
+ width: 1,
34
+ color: {
35
+ value: "#0cdbf3",
36
+ },
37
+ },
38
+ },
39
+ opacity: {
40
+ value: { min: 0, max: 0.8 },
41
+ animation: {
42
+ enable: true,
43
+ speed: 0.1,
44
+ },
45
+ },
46
+ size: {
47
+ value: { min: 3, max: 5 },
48
+ },
49
+ },
50
+ },
51
+ {
52
+ particles: {
53
+ paint: {
54
+ fill: {
55
+ color: {
56
+ value: "#6fd2f3",
57
+ },
58
+ enable: true,
59
+ },
60
+ },
61
+ opacity: {
62
+ value: { min: 0, max: 0.6 },
63
+ animation: {
64
+ enable: true,
65
+ speed: 0.1,
66
+ },
67
+ },
68
+ size: {
69
+ value: { min: 5, max: 7 },
70
+ },
71
+ },
72
+ },
73
+ {
74
+ particles: {
75
+ paint: {
76
+ fill: {
77
+ color: {
78
+ value: "#93e9f3",
79
+ },
80
+ enable: true,
81
+ },
82
+ },
83
+ opacity: {
84
+ value: { min: 0, max: 0.4 },
85
+ animation: {
86
+ enable: true,
87
+ speed: 0.1,
88
+ },
89
+ },
90
+ size: {
91
+ value: { min: 10, max: 20 },
92
+ },
93
+ },
94
+ },
95
+ ],
96
+ },
97
+ },
98
+ move: {
99
+ enable: true,
100
+ speed: {
101
+ min: 0.1,
102
+ max: 0.5,
103
+ },
104
+ direction: engine.MoveDirection.none,
105
+ outModes: engine.OutMode.bounce,
106
+ },
107
+ },
108
+ detectRetina: true,
109
+ };
36
110
 
37
- module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_basic__;
111
+ const presetName = "ambient";
112
+ async function loadAmbientPreset(engine) {
113
+ await engine.pluginManager.register(async (e) => {
114
+ await basic.loadBasic(e);
115
+ e.pluginManager.addPreset(presetName, options);
116
+ });
117
+ }
38
118
 
39
- /***/ },
119
+ const globalObject = globalThis;
120
+ globalObject.__tsParticlesInternals = globalObject.__tsParticlesInternals ?? {};
121
+ globalObject.loadAmbientPreset = loadAmbientPreset;
40
122
 
41
- /***/ "@tsparticles/engine"
42
- /*!*********************************************************************************************************************************!*\
43
- !*** external {"commonjs":"@tsparticles/engine","commonjs2":"@tsparticles/engine","amd":"@tsparticles/engine","root":"window"} ***!
44
- \*********************************************************************************************************************************/
45
- (module) {
123
+ exports.loadAmbientPreset = loadAmbientPreset;
46
124
 
47
- module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__;
48
-
49
- /***/ },
50
-
51
- /***/ "./dist/browser/index.js"
52
- /*!*******************************!*\
53
- !*** ./dist/browser/index.js ***!
54
- \*******************************/
55
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
56
-
57
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadAmbientPreset: () => (/* binding */ loadAmbientPreset)\n/* harmony export */ });\nconst presetName = \"ambient\";\nasync function loadAmbientPreset(engine) {\n await engine.pluginManager.register(async (e)=>{\n const [{ loadBasic }, { options }] = await Promise.all([\n Promise.resolve(/*! import() */).then(__webpack_require__.t.bind(__webpack_require__, /*! @tsparticles/basic */ \"@tsparticles/basic\", 19)),\n __webpack_require__.e(/*! import() */ \"dist_browser_options_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./options.js */ \"./dist/browser/options.js\"))\n ]);\n await Promise.all([\n loadBasic(e)\n ]);\n e.pluginManager.addPreset(presetName, options);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/preset-ambient/./dist/browser/index.js?\n}");
58
-
59
- /***/ }
60
-
61
- /******/ });
62
- /************************************************************************/
63
- /******/ // The module cache
64
- /******/ var __webpack_module_cache__ = {};
65
- /******/
66
- /******/ // The require function
67
- /******/ function __webpack_require__(moduleId) {
68
- /******/ // Check if module is in cache
69
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
70
- /******/ if (cachedModule !== undefined) {
71
- /******/ return cachedModule.exports;
72
- /******/ }
73
- /******/ // Create a new module (and put it into the cache)
74
- /******/ var module = __webpack_module_cache__[moduleId] = {
75
- /******/ // no module.id needed
76
- /******/ // no module.loaded needed
77
- /******/ exports: {}
78
- /******/ };
79
- /******/
80
- /******/ // Execute the module function
81
- /******/ if (!(moduleId in __webpack_modules__)) {
82
- /******/ delete __webpack_module_cache__[moduleId];
83
- /******/ var e = new Error("Cannot find module '" + moduleId + "'");
84
- /******/ e.code = 'MODULE_NOT_FOUND';
85
- /******/ throw e;
86
- /******/ }
87
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
88
- /******/
89
- /******/ // Return the exports of the module
90
- /******/ return module.exports;
91
- /******/ }
92
- /******/
93
- /******/ // expose the modules object (__webpack_modules__)
94
- /******/ __webpack_require__.m = __webpack_modules__;
95
- /******/
96
- /************************************************************************/
97
- /******/ /* webpack/runtime/create fake namespace object */
98
- /******/ (() => {
99
- /******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
100
- /******/ var leafPrototypes;
101
- /******/ // create a fake namespace object
102
- /******/ // mode & 1: value is a module id, require it
103
- /******/ // mode & 2: merge all properties of value into the ns
104
- /******/ // mode & 4: return value when already ns object
105
- /******/ // mode & 16: return value when it's Promise-like
106
- /******/ // mode & 8|1: behave like require
107
- /******/ __webpack_require__.t = function(value, mode) {
108
- /******/ if(mode & 1) value = this(value);
109
- /******/ if(mode & 8) return value;
110
- /******/ if(typeof value === 'object' && value) {
111
- /******/ if((mode & 4) && value.__esModule) return value;
112
- /******/ if((mode & 16) && typeof value.then === 'function') return value;
113
- /******/ }
114
- /******/ var ns = Object.create(null);
115
- /******/ __webpack_require__.r(ns);
116
- /******/ var def = {};
117
- /******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
118
- /******/ for(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {
119
- /******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
120
- /******/ }
121
- /******/ def['default'] = () => (value);
122
- /******/ __webpack_require__.d(ns, def);
123
- /******/ return ns;
124
- /******/ };
125
- /******/ })();
126
- /******/
127
- /******/ /* webpack/runtime/define property getters */
128
- /******/ (() => {
129
- /******/ // define getter functions for harmony exports
130
- /******/ __webpack_require__.d = (exports, definition) => {
131
- /******/ for(var key in definition) {
132
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
133
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
134
- /******/ }
135
- /******/ }
136
- /******/ };
137
- /******/ })();
138
- /******/
139
- /******/ /* webpack/runtime/ensure chunk */
140
- /******/ (() => {
141
- /******/ __webpack_require__.f = {};
142
- /******/ // This file contains only the entry chunk.
143
- /******/ // The chunk loading function for additional chunks
144
- /******/ __webpack_require__.e = (chunkId) => {
145
- /******/ return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
146
- /******/ __webpack_require__.f[key](chunkId, promises);
147
- /******/ return promises;
148
- /******/ }, []));
149
- /******/ };
150
- /******/ })();
151
- /******/
152
- /******/ /* webpack/runtime/get javascript chunk filename */
153
- /******/ (() => {
154
- /******/ // This function allow to reference async chunks
155
- /******/ __webpack_require__.u = (chunkId) => {
156
- /******/ // return url for filenames based on template
157
- /******/ return "" + chunkId + ".js";
158
- /******/ };
159
- /******/ })();
160
- /******/
161
- /******/ /* webpack/runtime/global */
162
- /******/ (() => {
163
- /******/ __webpack_require__.g = (function() {
164
- /******/ if (typeof globalThis === 'object') return globalThis;
165
- /******/ try {
166
- /******/ return this || new Function('return this')();
167
- /******/ } catch (e) {
168
- /******/ if (typeof window === 'object') return window;
169
- /******/ }
170
- /******/ })();
171
- /******/ })();
172
- /******/
173
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
174
- /******/ (() => {
175
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
176
- /******/ })();
177
- /******/
178
- /******/ /* webpack/runtime/load script */
179
- /******/ (() => {
180
- /******/ var inProgress = {};
181
- /******/ var dataWebpackPrefix = "@tsparticles/preset-ambient:";
182
- /******/ // loadScript function to load a script via script tag
183
- /******/ __webpack_require__.l = (url, done, key, chunkId) => {
184
- /******/ if(inProgress[url]) { inProgress[url].push(done); return; }
185
- /******/ var script, needAttach;
186
- /******/ if(key !== undefined) {
187
- /******/ var scripts = document.getElementsByTagName("script");
188
- /******/ for(var i = 0; i < scripts.length; i++) {
189
- /******/ var s = scripts[i];
190
- /******/ if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
191
- /******/ }
192
- /******/ }
193
- /******/ if(!script) {
194
- /******/ needAttach = true;
195
- /******/ script = document.createElement('script');
196
- /******/
197
- /******/ script.charset = 'utf-8';
198
- /******/ if (__webpack_require__.nc) {
199
- /******/ script.setAttribute("nonce", __webpack_require__.nc);
200
- /******/ }
201
- /******/ script.setAttribute("data-webpack", dataWebpackPrefix + key);
202
- /******/
203
- /******/ script.src = url;
204
- /******/ }
205
- /******/ inProgress[url] = [done];
206
- /******/ var onScriptComplete = (prev, event) => {
207
- /******/ // avoid mem leaks in IE.
208
- /******/ script.onerror = script.onload = null;
209
- /******/ clearTimeout(timeout);
210
- /******/ var doneFns = inProgress[url];
211
- /******/ delete inProgress[url];
212
- /******/ script.parentNode && script.parentNode.removeChild(script);
213
- /******/ doneFns && doneFns.forEach((fn) => (fn(event)));
214
- /******/ if(prev) return prev(event);
215
- /******/ }
216
- /******/ var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
217
- /******/ script.onerror = onScriptComplete.bind(null, script.onerror);
218
- /******/ script.onload = onScriptComplete.bind(null, script.onload);
219
- /******/ needAttach && document.head.appendChild(script);
220
- /******/ };
221
- /******/ })();
222
- /******/
223
- /******/ /* webpack/runtime/make namespace object */
224
- /******/ (() => {
225
- /******/ // define __esModule on exports
226
- /******/ __webpack_require__.r = (exports) => {
227
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
228
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
229
- /******/ }
230
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
231
- /******/ };
232
- /******/ })();
233
- /******/
234
- /******/ /* webpack/runtime/publicPath */
235
- /******/ (() => {
236
- /******/ var scriptUrl;
237
- /******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
238
- /******/ var document = __webpack_require__.g.document;
239
- /******/ if (!scriptUrl && document) {
240
- /******/ if (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')
241
- /******/ scriptUrl = document.currentScript.src;
242
- /******/ if (!scriptUrl) {
243
- /******/ var scripts = document.getElementsByTagName("script");
244
- /******/ if(scripts.length) {
245
- /******/ var i = scripts.length - 1;
246
- /******/ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
247
- /******/ }
248
- /******/ }
249
- /******/ }
250
- /******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
251
- /******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
252
- /******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
253
- /******/ scriptUrl = scriptUrl.replace(/^blob:/, "").replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
254
- /******/ __webpack_require__.p = scriptUrl;
255
- /******/ })();
256
- /******/
257
- /******/ /* webpack/runtime/jsonp chunk loading */
258
- /******/ (() => {
259
- /******/ // no baseURI
260
- /******/
261
- /******/ // object to store loaded and loading chunks
262
- /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
263
- /******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
264
- /******/ var installedChunks = {
265
- /******/ "tsparticles.preset.ambient": 0
266
- /******/ };
267
- /******/
268
- /******/ __webpack_require__.f.j = (chunkId, promises) => {
269
- /******/ // JSONP chunk loading for javascript
270
- /******/ var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
271
- /******/ if(installedChunkData !== 0) { // 0 means "already installed".
272
- /******/
273
- /******/ // a Promise means "currently loading".
274
- /******/ if(installedChunkData) {
275
- /******/ promises.push(installedChunkData[2]);
276
- /******/ } else {
277
- /******/ if(true) { // all chunks have JS
278
- /******/ // setup Promise in chunk cache
279
- /******/ var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));
280
- /******/ promises.push(installedChunkData[2] = promise);
281
- /******/
282
- /******/ // start chunk loading
283
- /******/ var url = __webpack_require__.p + __webpack_require__.u(chunkId);
284
- /******/ // create error before stack unwound to get useful stacktrace later
285
- /******/ var error = new Error();
286
- /******/ var loadingEnded = (event) => {
287
- /******/ if(__webpack_require__.o(installedChunks, chunkId)) {
288
- /******/ installedChunkData = installedChunks[chunkId];
289
- /******/ if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
290
- /******/ if(installedChunkData) {
291
- /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
292
- /******/ var realSrc = event && event.target && event.target.src;
293
- /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
294
- /******/ error.name = 'ChunkLoadError';
295
- /******/ error.type = errorType;
296
- /******/ error.request = realSrc;
297
- /******/ installedChunkData[1](error);
298
- /******/ }
299
- /******/ }
300
- /******/ };
301
- /******/ __webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
302
- /******/ }
303
- /******/ }
304
- /******/ }
305
- /******/ };
306
- /******/
307
- /******/ // no prefetching
308
- /******/
309
- /******/ // no preloaded
310
- /******/
311
- /******/ // no HMR
312
- /******/
313
- /******/ // no HMR manifest
314
- /******/
315
- /******/ // no on chunks loaded
316
- /******/
317
- /******/ // install a JSONP callback for chunk loading
318
- /******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
319
- /******/ var [chunkIds, moreModules, runtime] = data;
320
- /******/ // add "moreModules" to the modules object,
321
- /******/ // then flag all "chunkIds" as loaded and fire callback
322
- /******/ var moduleId, chunkId, i = 0;
323
- /******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
324
- /******/ for(moduleId in moreModules) {
325
- /******/ if(__webpack_require__.o(moreModules, moduleId)) {
326
- /******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
327
- /******/ }
328
- /******/ }
329
- /******/ if(runtime) var result = runtime(__webpack_require__);
330
- /******/ }
331
- /******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
332
- /******/ for(;i < chunkIds.length; i++) {
333
- /******/ chunkId = chunkIds[i];
334
- /******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
335
- /******/ installedChunks[chunkId][0]();
336
- /******/ }
337
- /******/ installedChunks[chunkId] = 0;
338
- /******/ }
339
- /******/
340
- /******/ }
341
- /******/
342
- /******/ var chunkLoadingGlobal = this["webpackChunk_tsparticles_preset_ambient"] = this["webpackChunk_tsparticles_preset_ambient"] || [];
343
- /******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
344
- /******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
345
- /******/ })();
346
- /******/
347
- /************************************************************************/
348
- /******/
349
- /******/ // startup
350
- /******/ // Load entry module and return exports
351
- /******/ // This entry module can't be inlined because the eval devtool is used.
352
- /******/ var __webpack_exports__ = __webpack_require__("./dist/browser/index.js");
353
- /******/
354
- /******/ return __webpack_exports__;
355
- /******/ })()
356
- ;
357
- });
125
+ }));
126
+ Object.assign(globalThis.window || globalThis, { loadAmbientPreset: (globalThis.__tsParticlesInternals.presets.ambient || {}).loadAmbientPreset });
127
+ delete (globalThis.window || globalThis).tsparticlesInternalExports;
@@ -1,2 +1 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t(require("@tsparticles/basic"),require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/basic","@tsparticles/engine"],t);else{var r="object"==typeof exports?t(require("@tsparticles/basic"),require("@tsparticles/engine")):t(e.window,e.window);for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,(e,t)=>(()=>{"use strict";var r,o,i,n={145(t){t.exports=e},303(e){e.exports=t}},a={};function s(e){var t=a[e];if(void 0!==t)return t.exports;var r=a[e]={exports:{}};return n[e](r,r.exports,s),r.exports}s.m=n,p=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,s.t=function(e,t){if(1&t&&(e=this(e)),8&t||"object"==typeof e&&e&&(4&t&&e.__esModule||16&t&&"function"==typeof e.then))return e;var r=Object.create(null);s.r(r);var o={};c=c||[null,p({}),p([]),p(p)];for(var i=2&t&&e;("object"==typeof i||"function"==typeof i)&&!~c.indexOf(i);i=p(i))Object.getOwnPropertyNames(i).forEach(t=>o[t]=()=>e[t]);return o.default=()=>e,s.d(r,o),r},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,r)=>(s.f[r](e,t),t),[])),s.u=e=>""+e+".min.js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),l={},s.l=(e,t,r,o)=>{if(l[e])return void l[e].push(t);if(void 0!==r)for(var i,n,a=document.getElementsByTagName("script"),c=0;c<a.length;c++){var p=a[c];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")=="@tsparticles/preset-ambient:"+r){i=p;break}}i||(n=!0,(i=document.createElement("script")).charset="utf-8",s.nc&&i.setAttribute("nonce",s.nc),i.setAttribute("data-webpack","@tsparticles/preset-ambient:"+r),i.src=e),l[e]=[t];var u=(t,r)=>{i.onerror=i.onload=null,clearTimeout(f);var o=l[e];if(delete l[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(e=>e(r)),t)return t(r)},f=setTimeout(u.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=u.bind(null,i.onerror),i.onload=u.bind(null,i.onload),n&&document.head.appendChild(i)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(u=s.g.location+"");var c,p,l,u,f=s.g.document;if(!u&&f&&(f.currentScript&&"SCRIPT"===f.currentScript.tagName.toUpperCase()&&(u=f.currentScript.src),!u)){var d=f.getElementsByTagName("script");if(d.length)for(var b=d.length-1;b>-1&&(!u||!/^http(s?):/.test(u));)u=d[b--].src}if(!u)throw Error("Automatic publicPath is not supported in this browser");s.p=u=u.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r={916:0},s.f.j=(e,t)=>{var o=s.o(r,e)?r[e]:void 0;if(0!==o)if(o)t.push(o[2]);else{var i=new Promise((t,i)=>o=r[e]=[t,i]);t.push(o[2]=i);var n=s.p+s.u(e),a=Error();s.l(n,t=>{if(s.o(r,e)&&(0!==(o=r[e])&&(r[e]=void 0),o)){var i=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;a.message="Loading chunk "+e+` failed.
2
- (`+i+": "+n+")",a.name="ChunkLoadError",a.type=i,a.request=n,o[1](a)}},"chunk-"+e,e)}},o=(e,t)=>{var o,i,[n,a,c]=t,p=0;if(n.some(e=>0!==r[e])){for(o in a)s.o(a,o)&&(s.m[o]=a[o]);c&&c(s)}for(e&&e(t);p<n.length;p++)i=n[p],s.o(r,i)&&r[i]&&r[i][0](),r[i]=0},(i=this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).forEach(o.bind(null,0)),i.push=o.bind(null,i.push.bind(i));var m={};async function g(e){await e.pluginManager.register(async e=>{let[{loadBasic:t},{options:r}]=await Promise.all([Promise.resolve().then(s.t.bind(s,145,19)),s.e(361).then(s.bind(s,361))]);await Promise.all([t(e)]),e.pluginManager.addPreset("ambient",r)})}return s.r(m),s.d(m,{loadAmbientPreset:()=>g}),m})());
1
+ !function(t){t.__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.bundles=t.__tsParticlesInternals.bundles||{},t.__tsParticlesInternals.effects=t.__tsParticlesInternals.effects||{},t.__tsParticlesInternals.engine=t.__tsParticlesInternals.engine||{},t.__tsParticlesInternals.interactions=t.__tsParticlesInternals.interactions||{},t.__tsParticlesInternals.palettes=t.__tsParticlesInternals.palettes||{},t.__tsParticlesInternals.paths=t.__tsParticlesInternals.paths||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins=t.__tsParticlesInternals.plugins||{},t.__tsParticlesInternals.plugins.emittersShapes=t.__tsParticlesInternals.plugins.emittersShapes||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.shapes=t.__tsParticlesInternals.shapes||{},t.__tsParticlesInternals.updaters=t.__tsParticlesInternals.updaters||{},t.__tsParticlesInternals.utils=t.__tsParticlesInternals.utils||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas=t.__tsParticlesInternals.canvas||{},t.__tsParticlesInternals.canvas.utils=t.__tsParticlesInternals.canvas.utils||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path=t.__tsParticlesInternals.path||{},t.__tsParticlesInternals.path.utils=t.__tsParticlesInternals.path.utils||{};var s="undefined"!=typeof Proxy?function(t){return new Proxy(t,{get:function(t,s){return s in t||(t[s]={}),t[s]}})}:function(t){return t};t.__tsParticlesInternals.bundles=s(t.__tsParticlesInternals.bundles),t.__tsParticlesInternals.effects=s(t.__tsParticlesInternals.effects),t.__tsParticlesInternals.interactions=s(t.__tsParticlesInternals.interactions),t.__tsParticlesInternals.palettes=s(t.__tsParticlesInternals.palettes),t.__tsParticlesInternals.paths=s(t.__tsParticlesInternals.paths),t.__tsParticlesInternals.plugins=s(t.__tsParticlesInternals.plugins),t.__tsParticlesInternals.plugins.emittersShapes=s(t.__tsParticlesInternals.plugins.emittersShapes),t.__tsParticlesInternals.presets=s(t.__tsParticlesInternals.presets),t.__tsParticlesInternals.shapes=s(t.__tsParticlesInternals.shapes),t.__tsParticlesInternals.updaters=s(t.__tsParticlesInternals.updaters),t.__tsParticlesInternals.utils=s(t.__tsParticlesInternals.utils),t.__tsParticlesInternals.canvas=s(t.__tsParticlesInternals.canvas),t.__tsParticlesInternals.path=s(t.__tsParticlesInternals.path),t.tsparticlesInternalExports=t.tsparticlesInternalExports||{}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(t,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("@tsparticles/basic"),require("@tsparticles/engine")):"function"==typeof define&&define.amd?define(["exports","@tsparticles/basic","@tsparticles/engine"],s):s(((t="undefined"!=typeof globalThis?globalThis:t||self).__tsParticlesInternals=t.__tsParticlesInternals||{},t.__tsParticlesInternals.presets=t.__tsParticlesInternals.presets||{},t.__tsParticlesInternals.presets.ambient=t.__tsParticlesInternals.presets.ambient||{}),t.__tsParticlesInternals.bundles.basic,t.__tsParticlesInternals.engine)}(this,function(t,s,e){"use strict";const a={fpsLimit:120,background:{color:"#191d1e",image:"linear-gradient(0deg, #191d1e 50%,#283139 100%)"},particles:{number:{value:200,density:{enable:!0}},shape:{type:"circle",options:{circle:[{particles:{paint:{fill:{enable:!1},stroke:{width:1,color:{value:"#0cdbf3"}}},opacity:{value:{min:0,max:.8},animation:{enable:!0,speed:.1}},size:{value:{min:3,max:5}}}},{particles:{paint:{fill:{color:{value:"#6fd2f3"},enable:!0}},opacity:{value:{min:0,max:.6},animation:{enable:!0,speed:.1}},size:{value:{min:5,max:7}}}},{particles:{paint:{fill:{color:{value:"#93e9f3"},enable:!0}},opacity:{value:{min:0,max:.4},animation:{enable:!0,speed:.1}},size:{value:{min:10,max:20}}}}]}},move:{enable:!0,speed:{min:.1,max:.5},direction:e.MoveDirection.none,outModes:e.OutMode.bounce}},detectRetina:!0};async function n(t){await t.pluginManager.register(async t=>{await s.loadBasic(t),t.pluginManager.addPreset("ambient",a)})}const l=globalThis;l.__tsParticlesInternals=l.__tsParticlesInternals??{},l.loadAmbientPreset=n,t.loadAmbientPreset=n}),Object.assign(globalThis.window||globalThis,{loadAmbientPreset:(globalThis.__tsParticlesInternals.presets.ambient||{}).loadAmbientPreset}),delete(globalThis.window||globalThis).tsparticlesInternalExports;
@@ -0,0 +1 @@
1
+ export * from "./index.js";
@@ -0,0 +1,2 @@
1
+ import { type Engine } from "@tsparticles/engine/lazy";
2
+ export declare function loadAmbientPreset(engine: Engine): Promise<void>;
package/172.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).push([[172],{3172(e,t,n){n.d(t,{MovePlugin:()=>i});class i{id="move";_pluginManager;constructor(e){this._pluginManager=e}async getPlugin(e){let{MovePluginInstance:t}=await n.e(714).then(n.bind(n,6714));return new t(this._pluginManager,e)}loadOptions(){}needsPlugin(){return!0}}}}]);
package/188.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).push([[188],{188(e,a,t){t.d(a,{CircleDrawer:()=>n});var i=t(3227);class n{draw(e){!function(e){let{context:a,particle:t,radius:n}=e;t.circleRange??={min:0,max:i.R1e};let r=t.circleRange;a.arc(i.boI.x,i.boI.y,n,r.min,r.max,!1)}(e)}getSidesCount(){return 12}particleInit(e,a){let t=a.shapeData,n=t?.angle??{max:360,min:0};a.circleRange=(0,i.Gvm)(n)?{min:(0,i.puj)(n.min),max:(0,i.puj)(n.max)}:{min:0,max:(0,i.puj)(n)}}}}}]);
package/304.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).push([[304],{8304(e,t,a){async function i(e){e.checkVersion("4.0.0-beta.11"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("size",async e=>{let{SizeUpdater:t}=await a.e(750).then(a.bind(a,4750));return new t(e)})})}a.r(t),a.d(t,{loadSizeUpdater:()=>i})}}]);
package/361.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).push([[361],{1361(e,a,i){i.r(a),i.d(a,{options:()=>t});var n=i(3227);let t={fpsLimit:120,background:{color:"#191d1e",image:"linear-gradient(0deg, #191d1e 50%,#283139 100%)"},particles:{number:{value:200,density:{enable:!0}},shape:{type:"circle",options:{circle:[{particles:{paint:{fill:{enable:!1},stroke:{width:1,color:{value:"#0cdbf3"}}},opacity:{value:{min:0,max:.8},animation:{enable:!0,speed:.1}},size:{value:{min:3,max:5}}}},{particles:{paint:{fill:{color:{value:"#6fd2f3"},enable:!0}},opacity:{value:{min:0,max:.6},animation:{enable:!0,speed:.1}},size:{value:{min:5,max:7}}}},{particles:{paint:{fill:{color:{value:"#93e9f3"},enable:!0}},opacity:{value:{min:0,max:.4},animation:{enable:!0,speed:.1}},size:{value:{min:10,max:20}}}}]}},move:{enable:!0,speed:{min:.1,max:.5},direction:n.FWc.none,outModes:n.Yzx.bounce}},detectRetina:!0}}}]);
package/392.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).push([[392],{9392(e,a,t){async function n(e){e.checkVersion("4.0.0-beta.11"),await e.pluginManager.register(async e=>{let{HslColorManager:a}=await t.e(857).then(t.bind(t,5857));e.pluginManager.addColorManager("hsl",new a)})}t.r(a),t.d(a,{loadHslColorPlugin:()=>n})}}]);
package/404.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).push([[404],{7404(e,a,t){async function n(e){e.checkVersion("4.0.0-beta.11"),await e.pluginManager.register(e=>{e.pluginManager.addParticleUpdater("paint",async a=>{let{PaintUpdater:n}=await t.e(659).then(t.bind(t,3659));return new n(e.pluginManager,a)})})}t.r(a),t.d(a,{loadPaintUpdater:()=>n})}}]);
package/467.min.js DELETED
@@ -1 +0,0 @@
1
- "use strict";(this.webpackChunk_tsparticles_preset_ambient=this.webpackChunk_tsparticles_preset_ambient||[]).push([[467],{1467(t,i,e){e.d(i,{Container:()=>O});var s=e(8770),a=e(8660),r=e(8664),n=e(7621),l=e(3252);class o{_canvasClearPlugins;_canvasManager;_canvasPaintPlugins;_clearDrawPlugins;_colorPlugins;_container;_context;_contextSettings;_drawParticlePlugins;_drawParticlesCleanupPlugins;_drawParticlesSetupPlugins;_drawPlugins;_drawSettingsCleanupPlugins;_drawSettingsSetupPlugins;_pluginManager;_postDrawUpdaters;_preDrawUpdaters;_reusableColorStyles={};_reusablePluginColors=[void 0,void 0];_reusableTransform={};constructor(t,i,e){this._pluginManager=t,this._container=i,this._canvasManager=e,this._context=null,this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[]}get settings(){return this._contextSettings}canvasClear(){this._container.actualOptions.clear&&this.draw(t=>{(0,l.IU)(t,this._canvasManager.size)})}clear(){let t=!1;for(let i of this._canvasClearPlugins)if(t=i.canvasClear?.()??!1)break;t||this.canvasClear()}destroy(){this.stop(),this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesCleanupPlugins=[],this._drawParticlesSetupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[]}draw(t){let i=this._context;if(i)return t(i)}drawParticle(t,i){if(t.spawning||t.destroyed)return;let e=t.getRadius();if(e<=a.w2)return;let s=t.getFillColor(),r=t.getStrokeColor(),[o,h]=this._getPluginParticleColors(t);if(o??=s,h??=r,!o&&!h)return;let c=this._container,d=t.options.zIndex,p=a.RV-t.zIndexFactor,{fillOpacity:u,opacity:_,strokeOpacity:g}=t.getOpacity(),f=this._reusableTransform,P=this._reusableColorStyles,m=o?(0,n.LC)(o,c.hdr,u*_):void 0,y=h?(0,n.LC)(h,c.hdr,g*_):m;f.a=f.b=f.c=f.d=void 0,P.fill=m,P.stroke=y,this.draw(s=>{for(let e of this._drawParticlesSetupPlugins)e.drawParticleSetup?.(s,t,i);for(let a of(this._applyPreDrawUpdaters(s,t,e,_,P,f),(0,l.p0)({container:c,context:s,particle:t,delta:i,colorStyles:P,radius:e*p**d.sizeRate,opacity:_,transform:f}),this._applyPostDrawUpdaters(t),this._drawParticlesCleanupPlugins))a.drawParticleCleanup?.(s,t,i)})}drawParticlePlugins(t,i){this.draw(e=>{for(let s of this._drawParticlePlugins)(0,l.Wb)(e,s,t,i)})}drawParticles(t){let{particles:i}=this._container;this.clear(),i.update(t),this.draw(e=>{for(let i of this._drawSettingsSetupPlugins)i.drawSettingsSetup?.(e,t);for(let i of this._drawPlugins)i.draw?.(e,t);for(let s of(i.drawParticles(t),this._clearDrawPlugins))s.clearDraw?.(e,t);for(let i of this._drawSettingsCleanupPlugins)i.drawSettingsCleanup?.(e,t)})}init(){this.initUpdaters(),this.initPlugins(),this.paint()}initPlugins(){for(let t of(this._colorPlugins=[],this._canvasClearPlugins=[],this._canvasPaintPlugins=[],this._clearDrawPlugins=[],this._drawParticlePlugins=[],this._drawParticlesSetupPlugins=[],this._drawParticlesCleanupPlugins=[],this._drawPlugins=[],this._drawSettingsSetupPlugins=[],this._drawSettingsCleanupPlugins=[],this._container.plugins))(t.particleFillColor??t.particleStrokeColor)&&this._colorPlugins.push(t),t.canvasClear&&this._canvasClearPlugins.push(t),t.canvasPaint&&this._canvasPaintPlugins.push(t),t.drawParticle&&this._drawParticlePlugins.push(t),t.drawParticleSetup&&this._drawParticlesSetupPlugins.push(t),t.drawParticleCleanup&&this._drawParticlesCleanupPlugins.push(t),t.draw&&this._drawPlugins.push(t),t.drawSettingsSetup&&this._drawSettingsSetupPlugins.push(t),t.drawSettingsCleanup&&this._drawSettingsCleanupPlugins.push(t),t.clearDraw&&this._clearDrawPlugins.push(t)}initUpdaters(){for(let t of(this._preDrawUpdaters=[],this._postDrawUpdaters=[],this._container.particleUpdaters))t.afterDraw&&this._postDrawUpdaters.push(t),(t.getColorStyles??t.getTransformValues??t.beforeDraw)&&this._preDrawUpdaters.push(t)}paint(){let t=!1;for(let i of this._canvasPaintPlugins)if(t=i.canvasPaint?.()??!1)break;t||this.paintBase()}paintBase(t){this.draw(i=>{(0,l.Sn)(i,this._canvasManager.size,t)})}paintImage(t,i){this.draw(e=>{(0,l.Md)(e,this._canvasManager.size,t,i)})}setContext(t){this._context=t,this._context&&(this._context.globalCompositeOperation=a.yj)}setContextSettings(t){this._contextSettings=t}stop(){this.draw(t=>{(0,l.IU)(t,this._canvasManager.size)})}_applyPostDrawUpdaters=t=>{for(let i of this._postDrawUpdaters)i.afterDraw?.(t)};_applyPreDrawUpdaters=(t,i,e,s,r,n)=>{for(let l of this._preDrawUpdaters){if(l.getColorStyles){let{fill:a,stroke:n}=l.getColorStyles(i,t,e,s);a&&(r.fill=a),n&&(r.stroke=n)}if(l.getTransformValues){let t=l.getTransformValues(i);for(let i in t)!function(t,i,e){let s=i[e];void 0!==s&&(t[e]=(t[e]??a.zs)*s)}(n,t,i)}l.beforeDraw?.(i)}};_getPluginParticleColors=t=>{let i,e;for(let s of this._colorPlugins)if(!i&&s.particleFillColor&&(i=(0,n.R5)(this._pluginManager,s.particleFillColor(t))),!e&&s.particleStrokeColor&&(e=(0,n.R5)(this._pluginManager,s.particleStrokeColor(t))),i&&e)break;return this._reusablePluginColors[0]=i,this._reusablePluginColors[1]=e,this._reusablePluginColors}}function h(t,i,e=!1){if(!i)return;let s=t.style,a=new Set;for(let t=0;t<s.length;t++){let i=s.item(t);i&&a.add(i)}for(let t=0;t<i.length;t++){let e=i.item(t);e&&a.add(e)}for(let t of a){let a=i.getPropertyValue(t);a?s.setProperty(t,a,e?"important":""):s.removeProperty(t)}}class c{element;render;size;zoom=a.Pf;_container;_generated;_mutationObserver;_originalStyle;_pluginManager;_pointerEvents;_resizePlugins;_standardSize;_zoomCenter;constructor(t,i){this._pluginManager=t,this._container=i,this.render=new o(t,i,this),this._standardSize={height:0,width:0};const e=i.retina.pixelRatio,s=this._standardSize;this.size={height:s.height*e,width:s.width*e},this._generated=!1,this._resizePlugins=[],this._pointerEvents="none"}get _fullScreen(){return this._container.actualOptions.fullScreen.enable}destroy(){if(this.stop(),this._generated){let t=this.element;t?.remove(),this.element=void 0}else this._resetOriginalStyle();this.render.destroy(),this._resizePlugins=[]}getZoomCenter(){let t=this._container.retina.pixelRatio,{width:i,height:e}=this.size;return this._zoomCenter?this._zoomCenter:{x:i*a.MX/t,y:e*a.MX/t}}init(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=(0,r.tG)(t=>{for(let i of t)"attributes"===i.type&&"style"===i.attributeName&&this._repairStyle()}),this.resize(),this._initStyle(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})}),this.initPlugins(),this.render.init()}initBackground(){let{_container:t}=this,i=t.actualOptions.background,e=this.element;if(!e)return;let s=e.style,a=(0,n.BN)(this._pluginManager,i.color);a?s.backgroundColor=(0,n.xx)(a,t.hdr,i.opacity):s.backgroundColor="",s.backgroundImage=i.image||"",s.backgroundPosition=i.position||"",s.backgroundRepeat=i.repeat||"",s.backgroundSize=i.size||""}initPlugins(){for(let t of(this._resizePlugins=[],this._container.plugins))t.resize&&this._resizePlugins.push(t)}loadCanvas(t){this._generated&&this.element&&this.element.remove();let i=this._container;this._generated=a.eb in t.dataset?"true"===t.dataset[a.eb]:this._generated,this.element=t,this.element.ariaHidden="true",this._originalStyle=(0,r.td)(this.element.style);let e=this._standardSize;e.height=t.offsetHeight,e.width=t.offsetWidth;let s=this._container.retina.pixelRatio,n=this.size;t.height=n.height=e.height*s,t.width=n.width=e.width*s;let l=(0,r.lV)("(color-gamut: p3)");this.render.setContextSettings({alpha:!0,colorSpace:l?.matches&&i.hdr?"display-p3":"srgb",desynchronized:!0,willReadFrequently:!1}),this.render.setContext(this.element.getContext("2d",this.render.settings)),this._safeMutationObserver(t=>{t.disconnect()}),i.retina.init(),this.initBackground(),this._safeMutationObserver(t=>{this.element&&this.element instanceof Node&&t.observe(this.element,{attributes:!0})})}resize(){if(!this.element)return!1;let t=this._container,i=t.canvas._standardSize,e={width:this.element.offsetWidth,height:this.element.offsetHeight},s=t.retina.pixelRatio,a={width:e.width*s,height:e.height*s};if(e.height===i.height&&e.width===i.width&&a.height===this.element.height&&a.width===this.element.width)return!1;let r={...i};i.height=e.height,i.width=e.width;let n=this.size;return this.element.width=n.width=a.width,this.element.height=n.height=a.height,this._container.started&&t.particles.setResizeFactor({width:i.width/r.width,height:i.height/r.height}),!0}setPointerEvents(t){this.element&&(this._pointerEvents=t,this._repairStyle())}setZoom(t,i){this.zoom=t,this._zoomCenter=i}stop(){this._safeMutationObserver(t=>{t.disconnect()}),this._mutationObserver=void 0,this.render.stop()}async windowResize(){if(!this.element||!this.resize())return;let t=this._container,i=t.updateActualOptions();t.particles.setDensity(),this._applyResizePlugins(),i&&await t.refresh()}_applyResizePlugins=()=>{for(let t of this._resizePlugins)t.resize?.()};_initStyle=()=>{let t=this.element,i=this._container.actualOptions;if(t)for(let e in this._fullScreen?this._setFullScreenStyle():this._resetOriginalStyle(),i.style){if(!e||!(e in i.style))continue;let s=i.style[e];s&&t.style.setProperty(e,s,"important")}};_repairStyle=()=>{let t=this.element;if(!t)return;this._safeMutationObserver(t=>{t.disconnect()}),this._initStyle(),this.initBackground();let i=this._pointerEvents;t.style.pointerEvents=i,t.setAttribute("pointer-events",i),this._safeMutationObserver(i=>{t instanceof Node&&i.observe(t,{attributes:!0})})};_resetOriginalStyle=()=>{let t=this.element,i=this._originalStyle;t&&i&&h(t,i,!0)};_safeMutationObserver=t=>{this._mutationObserver&&t(this._mutationObserver)};_setFullScreenStyle=()=>{let t=this.element;t&&h(t,(0,r.hJ)(this._container.actualOptions.fullScreen.zIndex),!0)}}class d{container;_handlers;_resizeObserver;_resizeTimeout;constructor(t){this.container=t,this._handlers={visibilityChange:()=>{this._handleVisibilityChange()},resize:()=>{this._handleWindowResize()}}}addListeners(){this._manageListeners(!0)}removeListeners(){this._manageListeners(!1)}_handleVisibilityChange=()=>{let t=this.container;t.actualOptions.pauseOnBlur&&((0,r.T5)().hidden?(t.pageHidden=!0,t.pause()):(t.pageHidden=!1,t.animationStatus?t.play(!0):t.draw(!0)))};_handleWindowResize=()=>{this._resizeTimeout&&(clearTimeout(this._resizeTimeout),delete this._resizeTimeout);let t=async()=>{let t=this.container.canvas;await t.windowResize()};this._resizeTimeout=setTimeout(()=>void t(),this.container.actualOptions.resize.delay*a.Xu)};_manageListeners=t=>{let i=this._handlers;this._manageResize(t),(0,r.Kp)(document,a.nK,i.visibilityChange,t,!1)};_manageResize=t=>{let i=this._handlers,e=this.container;if(!e.actualOptions.resize.enable)return;if("u"<typeof ResizeObserver)return void(0,r.Kp)(globalThis,a.NF,i.resize,t);let s=e.canvas.element;this._resizeObserver&&!t?(s&&this._resizeObserver.unobserve(s),this._resizeObserver.disconnect(),delete this._resizeObserver):!this._resizeObserver&&t&&s&&(this._resizeObserver=new ResizeObserver(t=>{t.find(t=>t.target===s)&&this._handleWindowResize()}),this._resizeObserver.observe(s))}}var p=e(6128),u=e(8850),_=e(7345),g=e(4037),f=e(5327),P=e(3942),m=e(510),y=e(2222);function w(t){if(!(0,r.hn)(t.outMode,t.checkModes))return;let i=t.radius*a.gd;t.coord>t.maxCoord-i?t.setCb(-t.radius):t.coord<i&&t.setCb(t.radius)}class v{backColor;bubble;destroyed;direction;effect;effectClose;effectData;fillColor;fillEnabled;fillOpacity;group;id;ignoresResizeRatio;initialPosition;initialVelocity;isRotating;lastPathTime;misplaced;moveCenter;offset;opacity;options;outType;pathRotation;position;randomIndexData;retina;roll;rotation;shape;shapeClose;shapeData;sides;size;slow;spawning;strokeColor;strokeOpacity;strokeWidth;unbreakable;velocity;zIndexFactor;_cachedOpacityData={fillOpacity:a.hv,opacity:a.hv,strokeOpacity:a.hv};_cachedPosition=g.p.origin;_cachedRotateData={sin:0,cos:0};_cachedTransform={a:1,b:0,c:0,d:1};_container;_pluginManager;constructor(t,i){this._pluginManager=t,this._container=i}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=!0,this.bubble.inRange=!1,this.slow.inRange=!1;let i=this._container,e=this.shape?i.shapeDrawers.get(this.shape):void 0;for(let s of(e?.particleDestroy?.(this),i.particleDestroyedPlugins))s.particleDestroyed?.(this,t);for(let e of i.particleUpdaters)e.particleDestroyed?.(this,t);this._container.dispatchEvent(p.B.particleDestroyed,{particle:this})}draw(t){let i=this._container.canvas.render;i.drawParticlePlugins(this,t),i.drawParticle(this,t)}getAngle(){return this.rotation+(this.pathRotation?this.velocity.angle:a.tA)}getFillColor(){return this._getRollColor(this.bubble.color??(0,n.O_)(this.fillColor))}getMass(){return this.getRadius()**a.dm*Math.PI*a.MX}getOpacity(){let t=this.options.zIndex,i=a.RV-this.zIndexFactor,e=i**t.opacityRate,r=this.bubble.opacity??(0,s.VG)(this.opacity?.value??a.hv),n=this.fillOpacity??a.hv,l=this.strokeOpacity??a.hv;return this._cachedOpacityData.fillOpacity=r*n*e,this._cachedOpacityData.opacity=r*e,this._cachedOpacityData.strokeOpacity=r*l*e,this._cachedOpacityData}getPosition(){return this._cachedPosition.x=this.position.x+this.offset.x,this._cachedPosition.y=this.position.y+this.offset.y,this._cachedPosition.z=this.position.z,this._cachedPosition}getRadius(){return this.bubble.radius??this.size.value}getRotateData(){let t=this.getAngle();return this._cachedRotateData.sin=Math.sin(t),this._cachedRotateData.cos=Math.cos(t),this._cachedRotateData}getStrokeColor(){return this._getRollColor(this.bubble.color??(0,n.O_)(this.strokeColor))}getTransformData(t){let i=this.getRotateData(),e=this.isRotating;return this._cachedTransform.a=i.cos*(t.a??a.Ug.a),this._cachedTransform.b=e?i.sin*(t.b??a.D_):t.b??a.Ug.b,this._cachedTransform.c=e?-i.sin*(t.c??a.D_):t.c??a.Ug.c,this._cachedTransform.d=i.cos*(t.d??a.Ug.d),this._cachedTransform}init(t,i,e,n){var l,o,h,c;let d,p,u,_,g=this._container;this.id=t,this.group=n,this.effectClose=!0,this.shapeClose=!0,this.pathRotation=!1,this.lastPathTime=0,this.destroyed=!1,this.unbreakable=!1,this.isRotating=!1,this.rotation=0,this.misplaced=!1,this.retina={maxDistance:{},maxSpeed:0,moveDrift:0,moveSpeed:0,sizeAnimationSpeed:0},this.outType=m.x.normal,this.ignoresResizeRatio=!0;let f=g.retina.pixelRatio,P=g.actualOptions,w=(0,y.y)(this._pluginManager,g,P.particles),v=w.reduceDuplicates,z=w.effect.type,b=w.shape.type;this.effect=(0,r.TA)(z,this.id,v),this.shape=(0,r.TA)(b,this.id,v);let S=w.effect,C=w.shape;if(e){if(e.effect?.type){let t=e.effect.type,i=(0,r.TA)(t,this.id,v);i&&(this.effect=i,S.load(e.effect))}if(e.shape?.type){let t=e.shape.type,i=(0,r.TA)(t,this.id,v);i&&(this.shape=i,C.load(e.shape))}}if(this.effect===a.mR){let t=[...this._container.effectDrawers.keys()];this.effect=t[Math.floor((0,s.G0)()*t.length)]}if(this.shape===a.mR){let t=[...this._container.shapeDrawers.keys()];this.shape=t[Math.floor((0,s.G0)()*t.length)]}this.effectData=this.effect?(l=this.effect,o=this.id,u=S.options[l],(0,r.zw)({close:S.close},(0,r.TA)(u,o,v))):void 0,this.shapeData=this.shape?(h=this.shape,c=this.id,_=C.options[h],(0,r.zw)({close:C.close},(0,r.TA)(_,c,v))):void 0,w.load(e);let x=this.effectData;x&&w.load(x.particles);let D=this.shapeData;D&&w.load(D.particles),this.effectClose=x?.close??w.effect.close,this.shapeClose=D?.close??w.shape.close,this.options=w,g.retina.initParticle(this),this.size=(0,r.Xs)(this.options.size,f),this.bubble={inRange:!1},this.slow={inRange:!1,factor:1},this._initPosition(i),this.initialVelocity=this._calculateVelocity(),this.velocity=this.initialVelocity.copy(),g.particles.setLastZIndex(this.position.z),this.zIndexFactor=this.position.z/g.zLayers,this.sides=24,this.effect&&(d=g.effectDrawers.get(this.effect)),d?.loadEffect&&d.loadEffect(this),this.shape&&(p=g.shapeDrawers.get(this.shape)),p?.loadShape&&p.loadShape(this);let M=p?.getSidesCount;for(let t of(M&&(this.sides=M(this)),this.spawning=!1,g.particleUpdaters))t.init(this);for(let t of(d?.particleInit?.(g,this),p?.particleInit?.(g,this),g.particleCreatedPlugins))t.particleCreated?.(this)}isInsideCanvas(){let t=this.getRadius(),i=this._container.canvas.size,e=this.position;return e.x>=-t&&e.y>=-t&&e.y<=i.height+t&&e.x<=i.width+t}isShowingBack(){if(!this.roll)return!1;let t=this.roll.angle;if(this.roll.horizontal&&this.roll.vertical){let i=t%a.R1,e=i<a.tA?i+a.R1:i;return e>=Math.PI*a.MX&&e<Math.PI*a.Nu*a.MX}if(this.roll.horizontal){let i=(t+Math.PI*a.MX)%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}if(this.roll.vertical){let i=t%(Math.PI*a.gd),e=i<a.tA?i+Math.PI*a.gd:i;return e>=Math.PI&&e<Math.PI*a.gd}return!1}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){for(let t of this._container.particleUpdaters)t.reset?.(this)}_calcPosition=(t,i)=>{let e=a.rq,r=t?g.p.create(t.x,t.y,i):void 0,n=this._container,l=n.particlePositionPlugins,o=this.options.move.outModes,h=this.getRadius(),c=n.canvas.size,{signal:d}=new AbortController;for(;!d.aborted;){for(let t of l){let e=t.particlePosition?.(r,this);if(e)return g.p.create(e.x,e.y,i)}let t=(0,s.Nx)({size:c,position:r}),d=g.p.create(t.x,t.y,i);this._fixHorizontal(d,h,o.left??o.default),this._fixHorizontal(d,h,o.right??o.default),this._fixVertical(d,h,o.top??o.default),this._fixVertical(d,h,o.bottom??o.default);let p=!0;for(let t of n.particles.checkParticlePositionPlugins)if(!(p=t.checkParticlePosition?.(this,d,e)??!0))break;if(p)return d;e+=a.Eo,r=void 0}return r};_calculateVelocity=()=>{let t=(0,s.$m)(this.direction).copy(),i=this.options.move;if(i.direction===f.F.inside||i.direction===f.F.outside)return t;let e=(0,s.pu)((0,s.VG)(i.angle.value)),r=(0,s.pu)((0,s.VG)(i.angle.offset)),n={left:r-e*a.MX,right:r+e*a.MX};return i.straight||(t.angle+=(0,s.vE)((0,s.DT)(n.left,n.right))),i.random&&"number"==typeof i.speed&&(t.length*=(0,s.G0)()),t};_fixHorizontal=(t,i,e)=>{w({outMode:e,checkModes:[P.Y.bounce],coord:t.x,maxCoord:this._container.canvas.size.width,setCb:i=>t.x+=i,radius:i})};_fixVertical=(t,i,e)=>{w({outMode:e,checkModes:[P.Y.bounce],coord:t.y,maxCoord:this._container.canvas.size.height,setCb:i=>t.y+=i,radius:i})};_getRollColor=t=>t&&this.roll&&(this.backColor||this.roll.alter)&&this.isShowingBack()?this.backColor?this.backColor:this.roll.alter?(0,n.yx)(t,this.roll.alter.type,this.roll.alter.value):t:t;_initPosition=t=>{let i=this._container,e=(0,s.VG)(this.options.zIndex.value),n=this._calcPosition(t,(0,s.qE)(e,a.X_,i.zLayers));if(!n)throw Error("a valid position cannot be found for particle");this.position=n,this.initialPosition=this.position.copy();let l=i.canvas.size;switch(this.moveCenter={...(0,r.E9)(this.options.move.center,l),radius:this.options.move.center.radius,mode:this.options.move.center.mode},this.direction=(0,s.JY)(this.options.move.direction,this.position,this.moveCenter),this.options.move.direction){case f.F.inside:this.outType=m.x.inside;break;case f.F.outside:this.outType=m.x.outside}this.offset=g.M.origin}}var z=e(6197);class b{_cellSize;_cells=new Map;_circlePool=[];_circlePoolIdx;_pendingCellSize;_rectanglePool=[];_rectanglePoolIdx;constructor(t){this._cellSize=t,this._circlePoolIdx=0,this._rectanglePoolIdx=0}clear(){this._cells.clear();let t=this._pendingCellSize;t&&(this._cellSize=t),this._pendingCellSize=void 0}insert(t){let{x:i,y:e}=t.getPosition(),s=this._cellKeyFromCoords(i,e);this._cells.has(s)||this._cells.set(s,[]),this._cells.get(s)?.push(t)}query(t,i,e=[]){let s=this._getRangeBounds(t);if(!s)return e;let a=Math.floor(s.minX/this._cellSize),r=Math.floor(s.maxX/this._cellSize),n=Math.floor(s.minY/this._cellSize),l=Math.floor(s.maxY/this._cellSize);for(let s=a;s<=r;s++)for(let a=n;a<=l;a++){let r=`${s}_${a}`,n=this._cells.get(r);if(n)for(let s of n)(!i||i(s))&&t.contains(s.getPosition())&&e.push(s)}return e}queryCircle(t,i,e,s=[]){let a=this._acquireCircle(t.x,t.y,i),r=this.query(a,e,s);return this._releaseShapes(),r}queryRectangle(t,i,e,s=[]){let a=this._acquireRectangle(t.x,t.y,i.width,i.height),r=this.query(a,e,s);return this._releaseShapes(),r}setCellSize(t){this._pendingCellSize=t}_acquireCircle(t,i,e){return(this._circlePool[this._circlePoolIdx++]??=new z.jl(t,i,e)).reset(t,i,e)}_acquireRectangle(t,i,e,s){return(this._rectanglePool[this._rectanglePoolIdx++]??=new z.M_(t,i,e,s)).reset(t,i,e,s)}_cellKeyFromCoords(t,i){let e=Math.floor(t/this._cellSize),s=Math.floor(i/this._cellSize);return`${e}_${s}`}_getRangeBounds(t){if(t instanceof z.jl){let i=t.radius,{x:e,y:s}=t.position;return{minX:e-i,maxX:e+i,minY:s-i,maxY:s+i}}if(t instanceof z.M_){let{x:i,y:e}=t.position,{width:s,height:a}=t.size;return{minX:i,maxX:i+s,minY:e,maxY:e+a}}return null}_releaseShapes(){this._circlePoolIdx=0,this._rectanglePoolIdx=0}}var S=e(2914);class C{checkParticlePositionPlugins;grid;_array;_container;_groupLimits;_limit;_maxZIndex;_minZIndex;_needsSort;_nextId;_particleResetPlugins;_particleUpdatePlugins;_pluginManager;_pool;_postParticleUpdatePlugins;_postUpdatePlugins;_resizeFactor;_updatePlugins;_zArray;constructor(t,i){this._pluginManager=t,this._container=i,this._nextId=0,this._array=[],this._zArray=[],this._pool=[],this._limit=0,this._groupLimits=new Map,this._needsSort=!1,this._minZIndex=0,this._maxZIndex=0,this.grid=new b(a.iX),this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}get count(){return this._array.length}addParticle(t,i,e,s){let r=this._container.actualOptions.particles.number.limit.mode,n=void 0===e?this._limit:this._groupLimits.get(e)??this._limit,l=this.count;if(n>a.ou)switch(r){case _.d.delete:{let t=l+a.nq-n;t>a.wM&&this.removeQuantity(t);break}case _.d.wait:if(l>=n)return}try{let a=this._pool.pop()??new v(this._pluginManager,this._container);a.init(this._nextId,t,i,e);let r=!0;if(s&&(r=s(a)),!r)return void this._pool.push(a);return this._array.push(a),this._zArray.push(a),this._nextId++,this._container.dispatchEvent(p.B.particleAdded,{particle:a}),a}catch(t){(0,S.t)().warning(`error adding particle: ${t}`)}}clear(){this._array=[],this._zArray=[]}destroy(){this._array=[],this._pool.length=0,this._zArray=[],this.checkParticlePositionPlugins=[],this._particleResetPlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._postParticleUpdatePlugins=[],this._updatePlugins=[]}drawParticles(t){for(let i of this._zArray)i.draw(t)}filter(t){return this._array.filter(t)}find(t){return this._array.find(t)}get(t){return this._array[t]}async init(){let t=this._container,i=t.actualOptions;for(let i of(this._minZIndex=0,this._maxZIndex=0,this._needsSort=!1,this.checkParticlePositionPlugins=[],this._updatePlugins=[],this._particleUpdatePlugins=[],this._postUpdatePlugins=[],this._particleResetPlugins=[],this._postParticleUpdatePlugins=[],this.grid=new b(a.iX*t.retina.pixelRatio),t.plugins))i.redrawInit&&await i.redrawInit(),i.checkParticlePosition&&this.checkParticlePositionPlugins.push(i),i.update&&this._updatePlugins.push(i),i.particleUpdate&&this._particleUpdatePlugins.push(i),i.postUpdate&&this._postUpdatePlugins.push(i),i.particleReset&&this._particleResetPlugins.push(i),i.postParticleUpdate&&this._postParticleUpdatePlugins.push(i);for(let i of(await this._container.initDrawersAndUpdaters(),this._container.effectDrawers.values()))await i.init?.(t);for(let i of this._container.shapeDrawers.values())await i.init?.(t);let e=!1;for(let i of t.plugins)if(e=i.particlesInitialization?.()??e)break;if(!e){let t=i.particles,e=t.groups;for(let i in e){let s=e[i];if(s)for(let e=this.count,a=0;a<s.number.value&&e<t.number.value;e++,a++)this.addParticle(void 0,s,i)}for(let i=this.count;i<t.number.value;i++)this.addParticle()}}push(t,i,e,s){for(let a=0;a<t;a++)this.addParticle(i,e,s)}async redraw(){this.clear(),await this.init(),this._container.canvas.render.drawParticles({value:0,factor:0})}remove(t,i,e){this.removeAt(this._array.indexOf(t),void 0,i,e)}removeAt(t,i=a.xd,e,s){if(t<a.z9||t>this.count)return;let r=0;for(let a=t;r<i&&a<this.count;a++)this._removeParticle(a,e,s)&&(a--,r++)}removeQuantity(t,i){this.removeAt(a.z9,t,i)}setDensity(){let t=this._container.actualOptions,i=t.particles.groups,e=0;for(let t of this._container.plugins)t.particlesDensityCount&&(e+=t.particlesDensityCount());for(let t in i){let s=i[t];if(!s)continue;let a=(0,y.y)(this._pluginManager,this._container,s);this._applyDensity(a,e,t)}this._applyDensity(t.particles,e)}setLastZIndex(t){this._needsSort||=t>=this._maxZIndex||t>this._minZIndex&&t<this._maxZIndex}setResizeFactor(t){this._resizeFactor=t}update(t){let i=new Set;for(let i of(this.grid.clear(),this._updatePlugins))i.update?.(t);let e=this._resizeFactor;for(let s of this._array){for(let t of(e&&!s.ignoresResizeRatio&&(s.position.x*=e.width,s.position.y*=e.height,s.initialPosition.x*=e.width,s.initialPosition.y*=e.height),s.ignoresResizeRatio=!1,this._particleResetPlugins))t.particleReset?.(s);for(let i of this._particleUpdatePlugins){if(s.destroyed)break;i.particleUpdate?.(s,t)}if(s.destroyed){i.add(s);continue}this.grid.insert(s)}for(let i of this._postUpdatePlugins)i.postUpdate?.(t);for(let e of this._array){if(e.destroyed){i.add(e);continue}for(let i of this._container.particleUpdaters)i.update(e,t);if(e.destroyed||e.spawning)e.destroyed&&i.add(e);else for(let i of this._postParticleUpdatePlugins)i.postParticleUpdate?.(e,t)}if(i.size)for(let t of i)this.remove(t);if(delete this._resizeFactor,this._needsSort){let t=this._zArray;t.sort((t,i)=>i.position.z-t.position.z||t.id-i.id);let i=t[a.z9],e=t[t.length-a.K3];if(!i||!e)return;this._maxZIndex=i.position.z,this._minZIndex=e.position.z,this._needsSort=!1}}_addToPool=(...t)=>{this._pool.push(...t)};_applyDensity=(t,i,e,s)=>{let r=t.number;if(!r.density.enable)return void(void 0===e?this._limit=r.limit.value:(s?.number.limit.value??r.limit.value)&&this._groupLimits.set(e,s?.number.limit.value??r.limit.value));let n=this._initDensityFactor(r.density),l=r.value,o=r.limit.value>a.ou?r.limit.value:l,h=Math.min(l,o)*n+i,c=Math.min(this.count,this.filter(t=>t.group===e).length);void 0===e?this._limit=r.limit.value*n:this._groupLimits.set(e,r.limit.value*n),c<h?this.push(Math.abs(h-c),void 0,t,e):c>h&&this.removeQuantity(c-h,e)};_initDensityFactor=t=>{let i=this._container;if(!i.canvas.element||!t.enable)return a.lA;let e=i.canvas.element,s=i.retina.pixelRatio;return e.width*e.height/(t.height*t.width*s**a.dm)};_removeParticle=(t,i,e)=>{let s=this._array[t];if(!s||s.group!==i)return!1;let r=this._zArray.indexOf(s);return this._array.splice(t,a.LD),this._zArray.splice(r,a.LD),s.destroy(e),this._container.dispatchEvent(p.B.particleRemoved,{particle:s}),this._addToPool(s),!0}}class x{container;pixelRatio;reduceFactor;constructor(t){this.container=t,this.pixelRatio=a.$x,this.reduceFactor=a.Zp}init(){let t=this.container,i=t.actualOptions;this.pixelRatio=i.detectRetina?devicePixelRatio:a.$x,this.reduceFactor=a.Zp;let e=this.pixelRatio,s=t.canvas;if(s.element){let t=s.element;s.size.width=t.offsetWidth*e,s.size.height=t.offsetHeight*e}}initParticle(t){let i=t.options,e=this.pixelRatio,a=i.move,r=a.distance,n=t.retina;n.maxSpeed=(0,s.VG)(a.gravity.maxSpeed)*e,n.moveDrift=(0,s.VG)(a.drift)*e,n.moveSpeed=(0,s.VG)(a.speed)*e,n.sizeAnimationSpeed=(0,s.VG)(i.size.animation.speed)*e;let l=n.maxDistance;l.horizontal=void 0===r.horizontal?void 0:r.horizontal*e,l.vertical=void 0===r.vertical?void 0:r.vertical*e}}function D(t){return!t.destroyed}function M(t,i,...e){let s=new u.J(t,i);return(0,y.Z)(s,...e),s}class O{actualOptions;canvas;destroyed;effectDrawers;fpsLimit;hdr;id;pageHidden;particleCreatedPlugins;particleDestroyedPlugins;particlePositionPlugins;particleUpdaters;particles;plugins;retina;shapeDrawers;started;zLayers;_delay;_delayTimeout;_delta={value:0,factor:0};_dispatchCallback;_drawAnimationFrame;_duration;_eventListeners;_firstStart;_initialSourceOptions;_lastFrameTime;_lifeTime;_onDestroy;_options;_paused;_pluginManager;_smooth;_sourceOptions;constructor(t){const{dispatchCallback:i,pluginManager:e,id:s,onDestroy:a,sourceOptions:r}=t;this._pluginManager=e,this._dispatchCallback=i,this._onDestroy=a,this.id=Symbol(s),this.fpsLimit=120,this.hdr=!1,this._smooth=!1,this._delay=0,this._duration=0,this._lifeTime=0,this._firstStart=!0,this.started=!1,this.destroyed=!1,this._paused=!0,this._lastFrameTime=0,this.zLayers=100,this.pageHidden=!1,this._sourceOptions=r,this._initialSourceOptions=r,this.effectDrawers=new Map,this.shapeDrawers=new Map,this.particleUpdaters=[],this.retina=new x(this),this.canvas=new c(this._pluginManager,this),this.particles=new C(this._pluginManager,this),this.plugins=[],this.particleDestroyedPlugins=[],this.particleCreatedPlugins=[],this.particlePositionPlugins=[],this._options=M(this._pluginManager,this),this.actualOptions=M(this._pluginManager,this),this._eventListeners=new d(this),this.dispatchEvent(p.B.containerBuilt)}get animationStatus(){return!this._paused&&!this.pageHidden&&D(this)}get options(){return this._options}get sourceOptions(){return this._sourceOptions}addLifeTime(t){this._lifeTime+=t}alive(){return!this._duration||this._lifeTime<=this._duration}destroy(t=!0){if(D(this)){for(let[,t]of(this.stop(),this.particles.destroy(),this.canvas.destroy(),this.effectDrawers))t.destroy?.(this);for(let[,t]of this.shapeDrawers)t.destroy?.(this);for(let t of this.plugins)t.destroy?.();this.effectDrawers=new Map,this.shapeDrawers=new Map,this.particleUpdaters=[],this.plugins.length=0,this._pluginManager.clearPlugins(this),this.destroyed=!0,this._onDestroy(t),this.dispatchEvent(p.B.containerDestroyed)}}dispatchEvent(t,i){this._dispatchCallback(t,{container:this,data:i})}draw(t){if(!D(this))return;let i=t;this._drawAnimationFrame=(0,s.i0)(t=>{i&&(this._lastFrameTime=void 0,i=!1),this._nextFrame(t)})}async export(t,i={}){for(let e of this.plugins){if(!e.export)continue;let s=await e.export(t,i);if(s.supported)return s.blob}(0,S.t)().error(`Export plugin with type ${t} not found`)}async init(){if(!D(this))return;let t=new Map;for(let i of this._pluginManager.plugins){let e=await i.getPlugin(this);e.preInit&&await e.preInit(),t.set(i,e)}for(let[i,e]of(await this.initDrawersAndUpdaters(),this._options=M(this._pluginManager,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=M(this._pluginManager,this,this._options),this.plugins.length=0,this.particleDestroyedPlugins.length=0,this.particleCreatedPlugins.length=0,this.particlePositionPlugins.length=0,t))i.needsPlugin(this.actualOptions)&&(this.plugins.push(e),e.particleCreated&&this.particleCreatedPlugins.push(e),e.particleDestroyed&&this.particleDestroyedPlugins.push(e),e.particlePosition&&this.particlePositionPlugins.push(e));this.retina.init(),this.canvas.init(),this.updateActualOptions(),this.canvas.initBackground(),this.canvas.resize();let{delay:i,duration:e,fpsLimit:r,hdr:n,smooth:l,zLayers:o}=this.actualOptions;for(let t of(this.hdr=n,this.zLayers=o,this._duration=(0,s.VG)(e)*a.Xu,this._delay=(0,s.VG)(i)*a.Xu,this._lifeTime=0,this.fpsLimit=r>a.DN?r:a.i8,this._smooth=l,this.plugins))await t.init?.();for(let t of(await this.particles.init(),this.dispatchEvent(p.B.containerInit),this.particles.setDensity(),this.plugins))t.particlesSetup?.();this.dispatchEvent(p.B.particlesSetup)}async initDrawersAndUpdaters(){let t=this._pluginManager;this.effectDrawers=await t.getEffectDrawers(this,!0),this.shapeDrawers=await t.getShapeDrawers(this,!0),this.particleUpdaters=await t.getUpdaters(this,!0)}pause(){if(D(this)&&(void 0!==this._drawAnimationFrame&&((0,s.px)(this._drawAnimationFrame),delete this._drawAnimationFrame),!this._paused)){for(let t of this.plugins)t.pause?.();this.pageHidden||(this._paused=!0),this.dispatchEvent(p.B.containerPaused)}}play(t){if(!D(this))return;let i=this._paused||t;if(this._firstStart&&!this.actualOptions.autoPlay){this._firstStart=!1;return}if(this._paused&&(this._paused=!1),i)for(let t of this.plugins)t.play&&t.play();this.dispatchEvent(p.B.containerPlay),this.draw(i??!1)}async refresh(){if(D(this))return this.stop(),this.start()}async reset(t){if(D(this))return this._initialSourceOptions=t,this._sourceOptions=t,this._options=M(this._pluginManager,this,this._initialSourceOptions,this.sourceOptions),this.actualOptions=M(this._pluginManager,this,this._options),this.refresh()}async start(){D(this)&&!this.started&&(await this.init(),this.started=!0,await new Promise(t=>{let i=async()=>{for(let t of(this._eventListeners.addListeners(),this.plugins))await t.start?.();this.dispatchEvent(p.B.containerStarted),this.play(),t()};this._delayTimeout=setTimeout(()=>void i(),this._delay)}))}stop(){if(D(this)&&this.started){for(let t of(this._delayTimeout&&(clearTimeout(this._delayTimeout),delete this._delayTimeout),this._firstStart=!0,this.started=!1,this._eventListeners.removeListeners(),this.pause(),this.particles.clear(),this.canvas.stop(),this.plugins))t.stop?.();this.particleCreatedPlugins.length=0,this.particleDestroyedPlugins.length=0,this.particlePositionPlugins.length=0,this._sourceOptions=this._options,this.dispatchEvent(p.B.containerStopped)}}updateActualOptions(){let t=!1;for(let i of this.plugins)i.updateActualOptions&&(t=i.updateActualOptions()||t);return t}_nextFrame=t=>{try{if(!this._smooth&&void 0!==this._lastFrameTime&&t<this._lastFrameTime+a.Xu/this.fpsLimit||(this._lastFrameTime??=t,!function(t,i,e=a.z$,s=!1){t.value=i,t.factor=s?a.z$/e:a.z$*i/a.Xu}(this._delta,t-this._lastFrameTime,this.fpsLimit,this._smooth),this.addLifeTime(this._delta.value),this._lastFrameTime=t,this._delta.value>a.Xu))return void this.draw(!1);if(this.canvas.render.drawParticles(this._delta),!this.alive())return void this.destroy();this.animationStatus&&this.draw(!1)}catch(t){(0,S.t)().error("error in animation loop",t)}}}}}]);