@tsparticles/engine 3.0.0-beta.2 → 3.0.0-beta.3
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.
- package/browser/Core/Container.js +3 -5
- package/browser/Core/Engine.js +10 -50
- package/browser/Core/Particle.js +13 -13
- package/browser/Utils/CanvasUtils.js +9 -6
- package/browser/Utils/Utils.js +6 -0
- package/browser/export-types.js +0 -2
- package/cjs/Core/Container.js +3 -5
- package/cjs/Core/Engine.js +9 -49
- package/cjs/Core/Particle.js +13 -13
- package/cjs/Utils/CanvasUtils.js +9 -6
- package/cjs/Utils/Utils.js +8 -1
- package/cjs/export-types.js +0 -2
- package/esm/Core/Container.js +3 -5
- package/esm/Core/Engine.js +10 -50
- package/esm/Core/Particle.js +13 -13
- package/esm/Utils/CanvasUtils.js +9 -6
- package/esm/Utils/Utils.js +6 -0
- package/esm/export-types.js +0 -2
- package/package.json +1 -1
- package/report.html +2 -2
- package/tsparticles.engine.js +80 -70
- package/tsparticles.engine.min.js +1 -1
- package/tsparticles.engine.min.js.LICENSE.txt +1 -1
- package/types/Core/Container.d.ts +2 -2
- package/types/Core/Engine.d.ts +3 -4
- package/types/Core/Interfaces/IShapeDrawer.d.ts +19 -9
- package/types/Core/Particle.d.ts +1 -3
- package/types/Enums/Types/EventType.d.ts +1 -0
- package/types/Types/CustomEventArgs.d.ts +1 -1
- package/types/Utils/CanvasUtils.d.ts +11 -2
- package/types/Utils/ColorUtils.d.ts +2 -2
- package/types/Utils/Utils.d.ts +4 -3
- package/types/export-types.d.ts +0 -2
- package/umd/Core/Container.js +4 -6
- package/umd/Core/Engine.js +9 -49
- package/umd/Core/Particle.js +13 -13
- package/umd/Utils/CanvasUtils.js +9 -6
- package/umd/Utils/Utils.js +8 -1
- package/umd/export-types.js +1 -3
- package/browser/Core/Interfaces/IParticle.js +0 -1
- package/browser/Types/ShapeDrawerFunctions.js +0 -1
- package/cjs/Core/Interfaces/IParticle.js +0 -2
- package/cjs/Types/ShapeDrawerFunctions.js +0 -2
- package/esm/Core/Interfaces/IParticle.js +0 -1
- package/esm/Types/ShapeDrawerFunctions.js +0 -1
- package/types/Core/Interfaces/IParticle.d.ts +0 -48
- package/types/Types/ShapeDrawerFunctions.d.ts +0 -10
- package/umd/Core/Interfaces/IParticle.js +0 -12
- package/umd/Types/ShapeDrawerFunctions.js +0 -12
package/esm/Core/Particle.js
CHANGED
|
@@ -7,7 +7,17 @@ import { Vector3d } from "./Utils/Vector3d.js";
|
|
|
7
7
|
import { alterHsl } from "../Utils/CanvasUtils.js";
|
|
8
8
|
import { errorPrefix } from "./Utils/Constants.js";
|
|
9
9
|
import { loadParticlesOptions } from "../Utils/OptionsUtils.js";
|
|
10
|
-
|
|
10
|
+
function loadShapeData(shape, shapeOptions, id, reduceDuplicates) {
|
|
11
|
+
const shapeData = shapeOptions.options[shape];
|
|
12
|
+
if (!shapeData) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
return deepExtend({
|
|
16
|
+
close: shapeOptions.close,
|
|
17
|
+
fill: shapeOptions.fill,
|
|
18
|
+
}, itemFromSingleOrMultiple(shapeData, id, reduceDuplicates));
|
|
19
|
+
}
|
|
20
|
+
function fixOutMode(data) {
|
|
11
21
|
if (!isInArray(data.outMode, data.checkModes)) {
|
|
12
22
|
return;
|
|
13
23
|
}
|
|
@@ -18,7 +28,7 @@ const fixOutMode = (data) => {
|
|
|
18
28
|
else if (data.coord < diameter) {
|
|
19
29
|
data.setCb(data.radius);
|
|
20
30
|
}
|
|
21
|
-
}
|
|
31
|
+
}
|
|
22
32
|
export class Particle {
|
|
23
33
|
constructor(engine, id, container, position, overrideOptions, group) {
|
|
24
34
|
this.container = container;
|
|
@@ -129,16 +139,6 @@ export class Particle {
|
|
|
129
139
|
}
|
|
130
140
|
this.offset = Vector.origin;
|
|
131
141
|
};
|
|
132
|
-
this._loadShapeData = (shapeOptions, reduceDuplicates) => {
|
|
133
|
-
const shapeData = shapeOptions.options[this.shape];
|
|
134
|
-
if (!shapeData) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
return deepExtend({
|
|
138
|
-
close: shapeOptions.close,
|
|
139
|
-
fill: shapeOptions.fill,
|
|
140
|
-
}, itemFromSingleOrMultiple(shapeData, this.id, reduceDuplicates));
|
|
141
|
-
};
|
|
142
142
|
this._engine = engine;
|
|
143
143
|
this.init(id, position, overrideOptions, group);
|
|
144
144
|
}
|
|
@@ -217,7 +217,7 @@ export class Particle {
|
|
|
217
217
|
shapeOptions.load(overrideOptions.shape);
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
|
-
this.shapeData = this.
|
|
220
|
+
this.shapeData = loadShapeData(this.shape, shapeOptions, this.id, reduceDuplicates);
|
|
221
221
|
particlesOptions.load(overrideOptions);
|
|
222
222
|
const shapeData = this.shapeData;
|
|
223
223
|
if (shapeData) {
|
package/esm/Utils/CanvasUtils.js
CHANGED
|
@@ -58,7 +58,8 @@ export function drawParticle(data) {
|
|
|
58
58
|
if (colorStyles.stroke) {
|
|
59
59
|
context.strokeStyle = colorStyles.stroke;
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
const drawData = { container, context, particle, radius, opacity, delta };
|
|
62
|
+
drawShape(drawData);
|
|
62
63
|
if (strokeWidth > 0) {
|
|
63
64
|
context.stroke();
|
|
64
65
|
}
|
|
@@ -68,11 +69,12 @@ export function drawParticle(data) {
|
|
|
68
69
|
if (particle.fill) {
|
|
69
70
|
context.fill();
|
|
70
71
|
}
|
|
71
|
-
drawShapeAfterEffect(
|
|
72
|
+
drawShapeAfterEffect(drawData);
|
|
72
73
|
context.globalCompositeOperation = "source-over";
|
|
73
74
|
context.setTransform(1, 0, 0, 1, 0, 0);
|
|
74
75
|
}
|
|
75
|
-
export function drawShape(
|
|
76
|
+
export function drawShape(data) {
|
|
77
|
+
const { container, context, particle, radius, opacity, delta } = data;
|
|
76
78
|
if (!particle.shape) {
|
|
77
79
|
return;
|
|
78
80
|
}
|
|
@@ -80,9 +82,10 @@ export function drawShape(container, context, particle, radius, opacity, delta)
|
|
|
80
82
|
if (!drawer) {
|
|
81
83
|
return;
|
|
82
84
|
}
|
|
83
|
-
drawer.draw(context, particle, radius, opacity, delta, container.retina.pixelRatio);
|
|
85
|
+
drawer.draw({ context, particle, radius, opacity, delta, pixelRatio: container.retina.pixelRatio });
|
|
84
86
|
}
|
|
85
|
-
export function drawShapeAfterEffect(
|
|
87
|
+
export function drawShapeAfterEffect(data) {
|
|
88
|
+
const { container, context, particle, radius, opacity, delta } = data;
|
|
86
89
|
if (!particle.shape) {
|
|
87
90
|
return;
|
|
88
91
|
}
|
|
@@ -90,7 +93,7 @@ export function drawShapeAfterEffect(container, context, particle, radius, opaci
|
|
|
90
93
|
if (!drawer || !drawer.afterEffect) {
|
|
91
94
|
return;
|
|
92
95
|
}
|
|
93
|
-
drawer.afterEffect(context, particle, radius, opacity, delta, container.retina.pixelRatio);
|
|
96
|
+
drawer.afterEffect({ context, particle, radius, opacity, delta, pixelRatio: container.retina.pixelRatio });
|
|
94
97
|
}
|
|
95
98
|
export function drawPlugin(context, plugin, delta) {
|
|
96
99
|
if (!plugin.draw) {
|
package/esm/Utils/Utils.js
CHANGED
|
@@ -52,6 +52,12 @@ export function safeMatchMedia(query) {
|
|
|
52
52
|
}
|
|
53
53
|
return matchMedia(query);
|
|
54
54
|
}
|
|
55
|
+
export function safeIntersectionObserver(callback) {
|
|
56
|
+
if (isSsr() || typeof IntersectionObserver === "undefined") {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
return new IntersectionObserver(callback);
|
|
60
|
+
}
|
|
55
61
|
export function safeMutationObserver(callback) {
|
|
56
62
|
if (isSsr() || typeof MutationObserver === "undefined") {
|
|
57
63
|
return;
|
package/esm/export-types.js
CHANGED
|
@@ -15,7 +15,6 @@ export * from "./Core/Interfaces/IInteractor.js";
|
|
|
15
15
|
export * from "./Core/Interfaces/ILoadParams.js";
|
|
16
16
|
export * from "./Core/Interfaces/IMouseData.js";
|
|
17
17
|
export * from "./Core/Interfaces/IMovePathGenerator.js";
|
|
18
|
-
export * from "./Core/Interfaces/IParticle.js";
|
|
19
18
|
export * from "./Core/Interfaces/IParticleColorStyle.js";
|
|
20
19
|
export * from "./Core/Interfaces/IParticleHslAnimation.js";
|
|
21
20
|
export * from "./Core/Interfaces/IParticleLife.js";
|
|
@@ -93,5 +92,4 @@ export * from "./Types/PathOptions.js";
|
|
|
93
92
|
export * from "./Types/RangeValue.js";
|
|
94
93
|
export * from "./Types/RecursivePartial.js";
|
|
95
94
|
export * from "./Types/ShapeData.js";
|
|
96
|
-
export * from "./Types/ShapeDrawerFunctions.js";
|
|
97
95
|
export * from "./Types/SingleOrMultiple.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/engine",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.3",
|
|
4
4
|
"description": "Easily create highly customizable particle, confetti and fireworks animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"scripts": {
|
package/report.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>@tsparticles/engine [
|
|
6
|
+
<title>@tsparticles/engine [20 Sep 2023 at 09:23]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -49,7 +49,7 @@ var t="[object Symbol]",n=/[&<>"'`]/g,i=RegExp(n.source),r="object"==typeof self
|
|
|
49
49
|
<body>
|
|
50
50
|
<div id="app"></div>
|
|
51
51
|
<script>
|
|
52
|
-
window.chartData = [{"label":"tsparticles.engine.js","isAsset":true,"statSize":153020,"parsedSize":155319,"gzipSize":29631,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":153020,"groups":[{"id":394,"label":"index.js + 78 modules (concatenated)","path":"./dist/browser/index.js + 78 modules (concatenated)","statSize":153020,"parsedSize":155319,"gzipSize":29631,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser","statSize":153020,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/index.js","statSize":246,"parsedSize":249,"gzipSize":47,"inaccurateSizes":true},{"id":null,"label":"init.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/init.js","statSize":481,"parsedSize":488,"gzipSize":93,"inaccurateSizes":true},{"label":"Utils","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils","statSize":30706,"groups":[{"id":null,"label":"Utils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/Utils.js","statSize":10883,"parsedSize":11046,"gzipSize":2107,"inaccurateSizes":true},{"id":null,"label":"RgbColorManager.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/RgbColorManager.js","statSize":1053,"parsedSize":1068,"gzipSize":203,"inaccurateSizes":true},{"id":null,"label":"NumberUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/NumberUtils.js","statSize":4645,"parsedSize":4714,"gzipSize":899,"inaccurateSizes":true},{"id":null,"label":"HslColorManager.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/HslColorManager.js","statSize":1215,"parsedSize":1233,"gzipSize":235,"inaccurateSizes":true},{"id":null,"label":"ColorUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/ColorUtils.js","statSize":7728,"parsedSize":7844,"gzipSize":1496,"inaccurateSizes":true},{"id":null,"label":"OptionsUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/OptionsUtils.js","statSize":436,"parsedSize":442,"gzipSize":84,"inaccurateSizes":true},{"id":null,"label":"CanvasUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/CanvasUtils.js","statSize":3737,"parsedSize":3793,"gzipSize":723,"inaccurateSizes":true},{"id":null,"label":"EventDispatcher.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/EventDispatcher.js","statSize":1009,"parsedSize":1024,"gzipSize":195,"inaccurateSizes":true}],"parsedSize":31167,"gzipSize":5945,"inaccurateSizes":true},{"id":null,"label":"exports.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/exports.js","statSize":4910,"parsedSize":4983,"gzipSize":950,"inaccurateSizes":true},{"label":"Core","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core","statSize":80697,"groups":[{"label":"Utils","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils","statSize":21480,"groups":[{"id":null,"label":"Vector.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Vector.js","statSize":336,"parsedSize":341,"gzipSize":65,"inaccurateSizes":true},{"id":null,"label":"Vector3d.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Vector3d.js","statSize":2398,"parsedSize":2434,"gzipSize":464,"inaccurateSizes":true},{"id":null,"label":"Constants.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Constants.js","statSize":587,"parsedSize":595,"gzipSize":113,"inaccurateSizes":true},{"id":null,"label":"Rectangle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Rectangle.js","statSize":913,"parsedSize":926,"gzipSize":176,"inaccurateSizes":true},{"id":null,"label":"Range.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Range.js","statSize":100,"parsedSize":101,"gzipSize":19,"inaccurateSizes":true},{"id":null,"label":"Circle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Circle.js","statSize":1057,"parsedSize":1072,"gzipSize":204,"inaccurateSizes":true},{"id":null,"label":"Point.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Point.js","statSize":122,"parsedSize":123,"gzipSize":23,"inaccurateSizes":true},{"id":null,"label":"ExternalInteractorBase.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/ExternalInteractorBase.js","statSize":130,"parsedSize":131,"gzipSize":25,"inaccurateSizes":true},{"id":null,"label":"ParticlesInteractorBase.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/ParticlesInteractorBase.js","statSize":132,"parsedSize":133,"gzipSize":25,"inaccurateSizes":true},{"id":null,"label":"EventListeners.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/EventListeners.js","statSize":12224,"parsedSize":12407,"gzipSize":2367,"inaccurateSizes":true},{"id":null,"label":"InteractionManager.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/InteractionManager.js","statSize":1600,"parsedSize":1624,"gzipSize":309,"inaccurateSizes":true},{"id":null,"label":"QuadTree.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/QuadTree.js","statSize":1881,"parsedSize":1909,"gzipSize":364,"inaccurateSizes":true}],"parsedSize":21802,"gzipSize":4159,"inaccurateSizes":true},{"id":null,"label":"Engine.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Engine.js","statSize":8423,"parsedSize":8549,"gzipSize":1631,"inaccurateSizes":true},{"id":null,"label":"Container.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Container.js","statSize":13013,"parsedSize":13208,"gzipSize":2519,"inaccurateSizes":true},{"id":null,"label":"Retina.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Retina.js","statSize":1850,"parsedSize":1877,"gzipSize":358,"inaccurateSizes":true},{"id":null,"label":"Canvas.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Canvas.js","statSize":13955,"parsedSize":14164,"gzipSize":2702,"inaccurateSizes":true},{"id":null,"label":"Particles.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Particles.js","statSize":9949,"parsedSize":10098,"gzipSize":1926,"inaccurateSizes":true},{"id":null,"label":"Particle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Particle.js","statSize":12027,"parsedSize":12207,"gzipSize":2328,"inaccurateSizes":true}],"parsedSize":81909,"gzipSize":15626,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes","statSize":35980,"groups":[{"id":null,"label":"Options.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Options.js","statSize":5269,"parsedSize":5348,"gzipSize":1020,"inaccurateSizes":true},{"label":"Background","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Background","statSize":815,"groups":[{"id":null,"label":"Background.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Background/Background.js","statSize":815,"parsedSize":827,"gzipSize":157,"inaccurateSizes":true}],"parsedSize":827,"gzipSize":157,"inaccurateSizes":true},{"id":null,"label":"OptionsColor.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/OptionsColor.js","statSize":536,"parsedSize":544,"gzipSize":103,"inaccurateSizes":true},{"label":"BackgroundMask","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/BackgroundMask","statSize":1193,"groups":[{"id":null,"label":"BackgroundMask.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js","statSize":753,"parsedSize":764,"gzipSize":145,"inaccurateSizes":true},{"id":null,"label":"BackgroundMaskCover.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js","statSize":440,"parsedSize":446,"gzipSize":85,"inaccurateSizes":true}],"parsedSize":1210,"gzipSize":231,"inaccurateSizes":true},{"label":"FullScreen","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/FullScreen","statSize":302,"groups":[{"id":null,"label":"FullScreen.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/FullScreen/FullScreen.js","statSize":302,"parsedSize":306,"gzipSize":58,"inaccurateSizes":true}],"parsedSize":306,"gzipSize":58,"inaccurateSizes":true},{"label":"Interactivity","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity","statSize":3851,"groups":[{"id":null,"label":"Interactivity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Interactivity.js","statSize":503,"parsedSize":510,"gzipSize":97,"inaccurateSizes":true},{"label":"Events","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events","statSize":2845,"groups":[{"id":null,"label":"Events.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/Events.js","statSize":927,"parsedSize":940,"gzipSize":179,"inaccurateSizes":true},{"id":null,"label":"ClickEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js","statSize":296,"parsedSize":300,"gzipSize":57,"inaccurateSizes":true},{"id":null,"label":"DivEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js","statSize":500,"parsedSize":507,"gzipSize":96,"inaccurateSizes":true},{"id":null,"label":"HoverEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js","statSize":413,"parsedSize":419,"gzipSize":79,"inaccurateSizes":true},{"id":null,"label":"Parallax.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/Parallax.js","statSize":395,"parsedSize":400,"gzipSize":76,"inaccurateSizes":true},{"id":null,"label":"ResizeEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js","statSize":314,"parsedSize":318,"gzipSize":60,"inaccurateSizes":true}],"parsedSize":2887,"gzipSize":550,"inaccurateSizes":true},{"label":"Modes","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Modes","statSize":503,"groups":[{"id":null,"label":"Modes.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Modes/Modes.js","statSize":503,"parsedSize":510,"gzipSize":97,"inaccurateSizes":true}],"parsedSize":510,"gzipSize":97,"inaccurateSizes":true}],"parsedSize":3908,"gzipSize":745,"inaccurateSizes":true},{"label":"Particles","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles","statSize":17291,"groups":[{"id":null,"label":"ParticlesOptions.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/ParticlesOptions.js","statSize":2897,"parsedSize":2940,"gzipSize":560,"inaccurateSizes":true},{"label":"Bounce","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Bounce","statSize":573,"groups":[{"id":null,"label":"ParticlesBounce.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js","statSize":360,"parsedSize":365,"gzipSize":69,"inaccurateSizes":true},{"id":null,"label":"ParticlesBounceFactor.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js","statSize":213,"parsedSize":216,"gzipSize":41,"inaccurateSizes":true}],"parsedSize":581,"gzipSize":110,"inaccurateSizes":true},{"label":"Collisions","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions","statSize":1422,"groups":[{"id":null,"label":"Collisions.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions/Collisions.js","statSize":905,"parsedSize":918,"gzipSize":175,"inaccurateSizes":true},{"id":null,"label":"CollisionsAbsorb.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js","statSize":204,"parsedSize":207,"gzipSize":39,"inaccurateSizes":true},{"id":null,"label":"CollisionsOverlap.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js","statSize":313,"parsedSize":317,"gzipSize":60,"inaccurateSizes":true}],"parsedSize":1443,"gzipSize":275,"inaccurateSizes":true},{"label":"Move","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move","statSize":7212,"groups":[{"id":null,"label":"Move.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Move.js","statSize":2663,"parsedSize":2703,"gzipSize":515,"inaccurateSizes":true},{"id":null,"label":"MoveAngle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveAngle.js","statSize":391,"parsedSize":396,"gzipSize":75,"inaccurateSizes":true},{"id":null,"label":"MoveAttract.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveAttract.js","statSize":706,"parsedSize":716,"gzipSize":136,"inaccurateSizes":true},{"id":null,"label":"MoveCenter.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveCenter.js","statSize":455,"parsedSize":461,"gzipSize":88,"inaccurateSizes":true},{"id":null,"label":"MoveGravity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveGravity.js","statSize":638,"parsedSize":647,"gzipSize":123,"inaccurateSizes":true},{"label":"Path","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Path","statSize":647,"groups":[{"id":null,"label":"MovePath.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js","statSize":647,"parsedSize":656,"gzipSize":125,"inaccurateSizes":true}],"parsedSize":656,"gzipSize":125,"inaccurateSizes":true},{"id":null,"label":"OutModes.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/OutModes.js","statSize":384,"parsedSize":389,"gzipSize":74,"inaccurateSizes":true},{"id":null,"label":"Spin.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Spin.js","statSize":543,"parsedSize":551,"gzipSize":105,"inaccurateSizes":true},{"id":null,"label":"MoveTrail.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveTrail.js","statSize":466,"parsedSize":473,"gzipSize":90,"inaccurateSizes":true},{"id":null,"label":"MoveTrailFill.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveTrailFill.js","statSize":319,"parsedSize":323,"gzipSize":61,"inaccurateSizes":true}],"parsedSize":7320,"gzipSize":1396,"inaccurateSizes":true},{"label":"Number","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Number","statSize":904,"groups":[{"id":null,"label":"ParticlesNumber.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js","statSize":454,"parsedSize":460,"gzipSize":87,"inaccurateSizes":true},{"id":null,"label":"ParticlesDensity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js","statSize":450,"parsedSize":456,"gzipSize":87,"inaccurateSizes":true}],"parsedSize":917,"gzipSize":175,"inaccurateSizes":true},{"label":"Opacity","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Opacity","statSize":868,"groups":[{"id":null,"label":"Opacity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Opacity/Opacity.js","statSize":497,"parsedSize":504,"gzipSize":96,"inaccurateSizes":true},{"id":null,"label":"OpacityAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js","statSize":371,"parsedSize":376,"gzipSize":71,"inaccurateSizes":true}],"parsedSize":881,"gzipSize":168,"inaccurateSizes":true},{"id":null,"label":"Shadow.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Shadow.js","statSize":743,"parsedSize":754,"gzipSize":143,"inaccurateSizes":true},{"label":"Shape","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Shape","statSize":726,"groups":[{"id":null,"label":"Shape.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Shape/Shape.js","statSize":726,"parsedSize":736,"gzipSize":140,"inaccurateSizes":true}],"parsedSize":736,"gzipSize":140,"inaccurateSizes":true},{"label":"Size","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Size","statSize":851,"groups":[{"id":null,"label":"Size.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Size/Size.js","statSize":483,"parsedSize":490,"gzipSize":93,"inaccurateSizes":true},{"id":null,"label":"SizeAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js","statSize":368,"parsedSize":373,"gzipSize":71,"inaccurateSizes":true}],"parsedSize":863,"gzipSize":164,"inaccurateSizes":true},{"id":null,"label":"Stroke.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Stroke.js","statSize":532,"parsedSize":539,"gzipSize":103,"inaccurateSizes":true},{"label":"ZIndex","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/ZIndex","statSize":563,"groups":[{"id":null,"label":"ZIndex.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js","statSize":563,"parsedSize":571,"gzipSize":109,"inaccurateSizes":true}],"parsedSize":571,"gzipSize":109,"inaccurateSizes":true}],"parsedSize":17550,"gzipSize":3348,"inaccurateSizes":true},{"id":null,"label":"ValueWithRandom.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/ValueWithRandom.js","statSize":1218,"parsedSize":1236,"gzipSize":235,"inaccurateSizes":true},{"id":null,"label":"AnimationOptions.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/AnimationOptions.js","statSize":1189,"parsedSize":1206,"gzipSize":230,"inaccurateSizes":true},{"id":null,"label":"AnimatableColor.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/AnimatableColor.js","statSize":922,"parsedSize":935,"gzipSize":178,"inaccurateSizes":true},{"id":null,"label":"HslAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/HslAnimation.js","statSize":341,"parsedSize":346,"gzipSize":66,"inaccurateSizes":true},{"id":null,"label":"ColorAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/ColorAnimation.js","statSize":906,"parsedSize":919,"gzipSize":175,"inaccurateSizes":true},{"id":null,"label":"ManualParticle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/ManualParticle.js","statSize":397,"parsedSize":402,"gzipSize":76,"inaccurateSizes":true},{"id":null,"label":"Responsive.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Responsive.js","statSize":572,"parsedSize":580,"gzipSize":110,"inaccurateSizes":true},{"label":"Theme","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Theme","statSize":855,"groups":[{"id":null,"label":"Theme.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Theme/Theme.js","statSize":465,"parsedSize":471,"gzipSize":90,"inaccurateSizes":true},{"id":null,"label":"ThemeDefault.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Theme/ThemeDefault.js","statSize":390,"parsedSize":395,"gzipSize":75,"inaccurateSizes":true}],"parsedSize":867,"gzipSize":165,"inaccurateSizes":true},{"id":null,"label":"Random.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Random.js","statSize":323,"parsedSize":327,"gzipSize":62,"inaccurateSizes":true}],"parsedSize":36520,"gzipSize":6967,"inaccurateSizes":true}],"parsedSize":155319,"gzipSize":29631,"inaccurateSizes":true}]}],"parsedSize":155319,"gzipSize":29631}],"isInitialByEntrypoint":{"tsparticles.engine":true}}];
|
|
52
|
+
window.chartData = [{"label":"tsparticles.engine.js","isAsset":true,"statSize":152343,"parsedSize":154719,"gzipSize":29477,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":152343,"groups":[{"id":394,"label":"index.js + 78 modules (concatenated)","path":"./dist/browser/index.js + 78 modules (concatenated)","statSize":152343,"parsedSize":154719,"gzipSize":29477,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser","statSize":152343,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/index.js","statSize":246,"parsedSize":249,"gzipSize":47,"inaccurateSizes":true},{"id":null,"label":"init.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/init.js","statSize":481,"parsedSize":488,"gzipSize":93,"inaccurateSizes":true},{"label":"Utils","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils","statSize":31087,"groups":[{"id":null,"label":"Utils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/Utils.js","statSize":11063,"parsedSize":11235,"gzipSize":2140,"inaccurateSizes":true},{"id":null,"label":"RgbColorManager.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/RgbColorManager.js","statSize":1053,"parsedSize":1069,"gzipSize":203,"inaccurateSizes":true},{"id":null,"label":"NumberUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/NumberUtils.js","statSize":4645,"parsedSize":4717,"gzipSize":898,"inaccurateSizes":true},{"id":null,"label":"HslColorManager.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/HslColorManager.js","statSize":1215,"parsedSize":1233,"gzipSize":235,"inaccurateSizes":true},{"id":null,"label":"ColorUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/ColorUtils.js","statSize":7728,"parsedSize":7848,"gzipSize":1495,"inaccurateSizes":true},{"id":null,"label":"OptionsUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/OptionsUtils.js","statSize":436,"parsedSize":442,"gzipSize":84,"inaccurateSizes":true},{"id":null,"label":"CanvasUtils.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/CanvasUtils.js","statSize":3938,"parsedSize":3999,"gzipSize":761,"inaccurateSizes":true},{"id":null,"label":"EventDispatcher.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Utils/EventDispatcher.js","statSize":1009,"parsedSize":1024,"gzipSize":195,"inaccurateSizes":true}],"parsedSize":31571,"gzipSize":6015,"inaccurateSizes":true},{"id":null,"label":"exports.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/exports.js","statSize":4910,"parsedSize":4986,"gzipSize":950,"inaccurateSizes":true},{"label":"Core","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core","statSize":79639,"groups":[{"label":"Utils","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils","statSize":21480,"groups":[{"id":null,"label":"Vector.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Vector.js","statSize":336,"parsedSize":341,"gzipSize":65,"inaccurateSizes":true},{"id":null,"label":"Vector3d.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Vector3d.js","statSize":2398,"parsedSize":2435,"gzipSize":463,"inaccurateSizes":true},{"id":null,"label":"Constants.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Constants.js","statSize":587,"parsedSize":596,"gzipSize":113,"inaccurateSizes":true},{"id":null,"label":"Rectangle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Rectangle.js","statSize":913,"parsedSize":927,"gzipSize":176,"inaccurateSizes":true},{"id":null,"label":"Range.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Range.js","statSize":100,"parsedSize":101,"gzipSize":19,"inaccurateSizes":true},{"id":null,"label":"Circle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Circle.js","statSize":1057,"parsedSize":1073,"gzipSize":204,"inaccurateSizes":true},{"id":null,"label":"Point.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/Point.js","statSize":122,"parsedSize":123,"gzipSize":23,"inaccurateSizes":true},{"id":null,"label":"ExternalInteractorBase.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/ExternalInteractorBase.js","statSize":130,"parsedSize":132,"gzipSize":25,"inaccurateSizes":true},{"id":null,"label":"ParticlesInteractorBase.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/ParticlesInteractorBase.js","statSize":132,"parsedSize":134,"gzipSize":25,"inaccurateSizes":true},{"id":null,"label":"EventListeners.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/EventListeners.js","statSize":12224,"parsedSize":12414,"gzipSize":2365,"inaccurateSizes":true},{"id":null,"label":"InteractionManager.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/InteractionManager.js","statSize":1600,"parsedSize":1624,"gzipSize":309,"inaccurateSizes":true},{"id":null,"label":"QuadTree.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Utils/QuadTree.js","statSize":1881,"parsedSize":1910,"gzipSize":363,"inaccurateSizes":true}],"parsedSize":21815,"gzipSize":4156,"inaccurateSizes":true},{"id":null,"label":"Engine.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Engine.js","statSize":7448,"parsedSize":7564,"gzipSize":1441,"inaccurateSizes":true},{"id":null,"label":"Container.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Container.js","statSize":12960,"parsedSize":13162,"gzipSize":2507,"inaccurateSizes":true},{"id":null,"label":"Retina.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Retina.js","statSize":1850,"parsedSize":1878,"gzipSize":357,"inaccurateSizes":true},{"id":null,"label":"Canvas.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Canvas.js","statSize":13955,"parsedSize":14172,"gzipSize":2700,"inaccurateSizes":true},{"id":null,"label":"Particles.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Particles.js","statSize":9949,"parsedSize":10104,"gzipSize":1925,"inaccurateSizes":true},{"id":null,"label":"Particle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Core/Particle.js","statSize":11997,"parsedSize":12184,"gzipSize":2321,"inaccurateSizes":true}],"parsedSize":80881,"gzipSize":15409,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes","statSize":35980,"groups":[{"id":null,"label":"Options.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Options.js","statSize":5269,"parsedSize":5351,"gzipSize":1019,"inaccurateSizes":true},{"label":"Background","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Background","statSize":815,"groups":[{"id":null,"label":"Background.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Background/Background.js","statSize":815,"parsedSize":827,"gzipSize":157,"inaccurateSizes":true}],"parsedSize":827,"gzipSize":157,"inaccurateSizes":true},{"id":null,"label":"OptionsColor.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/OptionsColor.js","statSize":536,"parsedSize":544,"gzipSize":103,"inaccurateSizes":true},{"label":"BackgroundMask","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/BackgroundMask","statSize":1193,"groups":[{"id":null,"label":"BackgroundMask.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js","statSize":753,"parsedSize":764,"gzipSize":145,"inaccurateSizes":true},{"id":null,"label":"BackgroundMaskCover.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js","statSize":440,"parsedSize":446,"gzipSize":85,"inaccurateSizes":true}],"parsedSize":1211,"gzipSize":230,"inaccurateSizes":true},{"label":"FullScreen","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/FullScreen","statSize":302,"groups":[{"id":null,"label":"FullScreen.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/FullScreen/FullScreen.js","statSize":302,"parsedSize":306,"gzipSize":58,"inaccurateSizes":true}],"parsedSize":306,"gzipSize":58,"inaccurateSizes":true},{"label":"Interactivity","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity","statSize":3851,"groups":[{"id":null,"label":"Interactivity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Interactivity.js","statSize":503,"parsedSize":510,"gzipSize":97,"inaccurateSizes":true},{"label":"Events","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events","statSize":2845,"groups":[{"id":null,"label":"Events.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/Events.js","statSize":927,"parsedSize":941,"gzipSize":179,"inaccurateSizes":true},{"id":null,"label":"ClickEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js","statSize":296,"parsedSize":300,"gzipSize":57,"inaccurateSizes":true},{"id":null,"label":"DivEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js","statSize":500,"parsedSize":507,"gzipSize":96,"inaccurateSizes":true},{"id":null,"label":"HoverEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js","statSize":413,"parsedSize":419,"gzipSize":79,"inaccurateSizes":true},{"id":null,"label":"Parallax.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/Parallax.js","statSize":395,"parsedSize":401,"gzipSize":76,"inaccurateSizes":true},{"id":null,"label":"ResizeEvent.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js","statSize":314,"parsedSize":318,"gzipSize":60,"inaccurateSizes":true}],"parsedSize":2889,"gzipSize":550,"inaccurateSizes":true},{"label":"Modes","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Modes","statSize":503,"groups":[{"id":null,"label":"Modes.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Interactivity/Modes/Modes.js","statSize":503,"parsedSize":510,"gzipSize":97,"inaccurateSizes":true}],"parsedSize":510,"gzipSize":97,"inaccurateSizes":true}],"parsedSize":3911,"gzipSize":745,"inaccurateSizes":true},{"label":"Particles","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles","statSize":17291,"groups":[{"id":null,"label":"ParticlesOptions.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/ParticlesOptions.js","statSize":2897,"parsedSize":2942,"gzipSize":560,"inaccurateSizes":true},{"label":"Bounce","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Bounce","statSize":573,"groups":[{"id":null,"label":"ParticlesBounce.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js","statSize":360,"parsedSize":365,"gzipSize":69,"inaccurateSizes":true},{"id":null,"label":"ParticlesBounceFactor.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js","statSize":213,"parsedSize":216,"gzipSize":41,"inaccurateSizes":true}],"parsedSize":581,"gzipSize":110,"inaccurateSizes":true},{"label":"Collisions","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions","statSize":1422,"groups":[{"id":null,"label":"Collisions.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions/Collisions.js","statSize":905,"parsedSize":919,"gzipSize":175,"inaccurateSizes":true},{"id":null,"label":"CollisionsAbsorb.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js","statSize":204,"parsedSize":207,"gzipSize":39,"inaccurateSizes":true},{"id":null,"label":"CollisionsOverlap.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js","statSize":313,"parsedSize":317,"gzipSize":60,"inaccurateSizes":true}],"parsedSize":1444,"gzipSize":275,"inaccurateSizes":true},{"label":"Move","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move","statSize":7212,"groups":[{"id":null,"label":"Move.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Move.js","statSize":2663,"parsedSize":2704,"gzipSize":515,"inaccurateSizes":true},{"id":null,"label":"MoveAngle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveAngle.js","statSize":391,"parsedSize":397,"gzipSize":75,"inaccurateSizes":true},{"id":null,"label":"MoveAttract.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveAttract.js","statSize":706,"parsedSize":717,"gzipSize":136,"inaccurateSizes":true},{"id":null,"label":"MoveCenter.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveCenter.js","statSize":455,"parsedSize":462,"gzipSize":88,"inaccurateSizes":true},{"id":null,"label":"MoveGravity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveGravity.js","statSize":638,"parsedSize":647,"gzipSize":123,"inaccurateSizes":true},{"label":"Path","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Path","statSize":647,"groups":[{"id":null,"label":"MovePath.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js","statSize":647,"parsedSize":657,"gzipSize":125,"inaccurateSizes":true}],"parsedSize":657,"gzipSize":125,"inaccurateSizes":true},{"id":null,"label":"OutModes.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/OutModes.js","statSize":384,"parsedSize":389,"gzipSize":74,"inaccurateSizes":true},{"id":null,"label":"Spin.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/Spin.js","statSize":543,"parsedSize":551,"gzipSize":105,"inaccurateSizes":true},{"id":null,"label":"MoveTrail.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveTrail.js","statSize":466,"parsedSize":473,"gzipSize":90,"inaccurateSizes":true},{"id":null,"label":"MoveTrailFill.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Move/MoveTrailFill.js","statSize":319,"parsedSize":323,"gzipSize":61,"inaccurateSizes":true}],"parsedSize":7324,"gzipSize":1395,"inaccurateSizes":true},{"label":"Number","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Number","statSize":904,"groups":[{"id":null,"label":"ParticlesNumber.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js","statSize":454,"parsedSize":461,"gzipSize":87,"inaccurateSizes":true},{"id":null,"label":"ParticlesDensity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js","statSize":450,"parsedSize":457,"gzipSize":87,"inaccurateSizes":true}],"parsedSize":918,"gzipSize":174,"inaccurateSizes":true},{"label":"Opacity","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Opacity","statSize":868,"groups":[{"id":null,"label":"Opacity.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Opacity/Opacity.js","statSize":497,"parsedSize":504,"gzipSize":96,"inaccurateSizes":true},{"id":null,"label":"OpacityAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js","statSize":371,"parsedSize":376,"gzipSize":71,"inaccurateSizes":true}],"parsedSize":881,"gzipSize":167,"inaccurateSizes":true},{"id":null,"label":"Shadow.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Shadow.js","statSize":743,"parsedSize":754,"gzipSize":143,"inaccurateSizes":true},{"label":"Shape","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Shape","statSize":726,"groups":[{"id":null,"label":"Shape.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Shape/Shape.js","statSize":726,"parsedSize":737,"gzipSize":140,"inaccurateSizes":true}],"parsedSize":737,"gzipSize":140,"inaccurateSizes":true},{"label":"Size","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Size","statSize":851,"groups":[{"id":null,"label":"Size.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Size/Size.js","statSize":483,"parsedSize":490,"gzipSize":93,"inaccurateSizes":true},{"id":null,"label":"SizeAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js","statSize":368,"parsedSize":373,"gzipSize":71,"inaccurateSizes":true}],"parsedSize":864,"gzipSize":164,"inaccurateSizes":true},{"id":null,"label":"Stroke.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/Stroke.js","statSize":532,"parsedSize":540,"gzipSize":102,"inaccurateSizes":true},{"label":"ZIndex","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/ZIndex","statSize":563,"groups":[{"id":null,"label":"ZIndex.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js","statSize":563,"parsedSize":571,"gzipSize":108,"inaccurateSizes":true}],"parsedSize":571,"gzipSize":108,"inaccurateSizes":true}],"parsedSize":17560,"gzipSize":3345,"inaccurateSizes":true},{"id":null,"label":"ValueWithRandom.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/ValueWithRandom.js","statSize":1218,"parsedSize":1236,"gzipSize":235,"inaccurateSizes":true},{"id":null,"label":"AnimationOptions.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/AnimationOptions.js","statSize":1189,"parsedSize":1207,"gzipSize":230,"inaccurateSizes":true},{"id":null,"label":"AnimatableColor.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/AnimatableColor.js","statSize":922,"parsedSize":936,"gzipSize":178,"inaccurateSizes":true},{"id":null,"label":"HslAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/HslAnimation.js","statSize":341,"parsedSize":346,"gzipSize":65,"inaccurateSizes":true},{"id":null,"label":"ColorAnimation.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/ColorAnimation.js","statSize":906,"parsedSize":920,"gzipSize":175,"inaccurateSizes":true},{"id":null,"label":"ManualParticle.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/ManualParticle.js","statSize":397,"parsedSize":403,"gzipSize":76,"inaccurateSizes":true},{"id":null,"label":"Responsive.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Responsive.js","statSize":572,"parsedSize":580,"gzipSize":110,"inaccurateSizes":true},{"label":"Theme","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Theme","statSize":855,"groups":[{"id":null,"label":"Theme.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Theme/Theme.js","statSize":465,"parsedSize":472,"gzipSize":89,"inaccurateSizes":true},{"id":null,"label":"ThemeDefault.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Theme/ThemeDefault.js","statSize":390,"parsedSize":396,"gzipSize":75,"inaccurateSizes":true}],"parsedSize":868,"gzipSize":165,"inaccurateSizes":true},{"id":null,"label":"Random.js","path":"./dist/browser/index.js + 78 modules (concatenated)/dist/browser/Options/Classes/Random.js","statSize":323,"parsedSize":328,"gzipSize":62,"inaccurateSizes":true}],"parsedSize":36541,"gzipSize":6961,"inaccurateSizes":true}],"parsedSize":154719,"gzipSize":29477,"inaccurateSizes":true}]}],"parsedSize":154719,"gzipSize":29477}],"isInitialByEntrypoint":{"tsparticles.engine":true}}];
|
|
53
53
|
window.entrypoints = ["tsparticles.engine","tsparticles.engine.min"];
|
|
54
54
|
window.defaultSizes = "parsed";
|
|
55
55
|
</script>
|
package/tsparticles.engine.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* tsParticles Engine v3.0.0-beta.
|
|
2
|
+
* tsParticles Engine v3.0.0-beta.3
|
|
3
3
|
* Author: Matteo Bruni
|
|
4
4
|
* MIT license: https://opensource.org/licenses/MIT
|
|
5
5
|
* Website: https://particles.js.org/
|
|
@@ -207,6 +207,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
207
207
|
rectBounce: () => (/* reexport */ rectBounce),
|
|
208
208
|
resizeEvent: () => (/* reexport */ resizeEvent),
|
|
209
209
|
rgbToHsl: () => (/* reexport */ rgbToHsl),
|
|
210
|
+
safeIntersectionObserver: () => (/* reexport */ safeIntersectionObserver),
|
|
210
211
|
safeMatchMedia: () => (/* reexport */ safeMatchMedia),
|
|
211
212
|
safeMutationObserver: () => (/* reexport */ safeMutationObserver),
|
|
212
213
|
setLogger: () => (/* reexport */ setLogger),
|
|
@@ -573,6 +574,12 @@ function safeMatchMedia(query) {
|
|
|
573
574
|
}
|
|
574
575
|
return matchMedia(query);
|
|
575
576
|
}
|
|
577
|
+
function safeIntersectionObserver(callback) {
|
|
578
|
+
if (isSsr() || typeof IntersectionObserver === "undefined") {
|
|
579
|
+
return;
|
|
580
|
+
}
|
|
581
|
+
return new IntersectionObserver(callback);
|
|
582
|
+
}
|
|
576
583
|
function safeMutationObserver(callback) {
|
|
577
584
|
if (isSsr() || typeof MutationObserver === "undefined") {
|
|
578
585
|
return;
|
|
@@ -1232,7 +1239,15 @@ function drawParticle(data) {
|
|
|
1232
1239
|
if (colorStyles.stroke) {
|
|
1233
1240
|
context.strokeStyle = colorStyles.stroke;
|
|
1234
1241
|
}
|
|
1235
|
-
|
|
1242
|
+
const drawData = {
|
|
1243
|
+
container,
|
|
1244
|
+
context,
|
|
1245
|
+
particle,
|
|
1246
|
+
radius,
|
|
1247
|
+
opacity,
|
|
1248
|
+
delta
|
|
1249
|
+
};
|
|
1250
|
+
drawShape(drawData);
|
|
1236
1251
|
if (strokeWidth > 0) {
|
|
1237
1252
|
context.stroke();
|
|
1238
1253
|
}
|
|
@@ -1242,11 +1257,19 @@ function drawParticle(data) {
|
|
|
1242
1257
|
if (particle.fill) {
|
|
1243
1258
|
context.fill();
|
|
1244
1259
|
}
|
|
1245
|
-
drawShapeAfterEffect(
|
|
1260
|
+
drawShapeAfterEffect(drawData);
|
|
1246
1261
|
context.globalCompositeOperation = "source-over";
|
|
1247
1262
|
context.setTransform(1, 0, 0, 1, 0, 0);
|
|
1248
1263
|
}
|
|
1249
|
-
function drawShape(
|
|
1264
|
+
function drawShape(data) {
|
|
1265
|
+
const {
|
|
1266
|
+
container,
|
|
1267
|
+
context,
|
|
1268
|
+
particle,
|
|
1269
|
+
radius,
|
|
1270
|
+
opacity,
|
|
1271
|
+
delta
|
|
1272
|
+
} = data;
|
|
1250
1273
|
if (!particle.shape) {
|
|
1251
1274
|
return;
|
|
1252
1275
|
}
|
|
@@ -1254,9 +1277,24 @@ function drawShape(container, context, particle, radius, opacity, delta) {
|
|
|
1254
1277
|
if (!drawer) {
|
|
1255
1278
|
return;
|
|
1256
1279
|
}
|
|
1257
|
-
drawer.draw(
|
|
1280
|
+
drawer.draw({
|
|
1281
|
+
context,
|
|
1282
|
+
particle,
|
|
1283
|
+
radius,
|
|
1284
|
+
opacity,
|
|
1285
|
+
delta,
|
|
1286
|
+
pixelRatio: container.retina.pixelRatio
|
|
1287
|
+
});
|
|
1258
1288
|
}
|
|
1259
|
-
function drawShapeAfterEffect(
|
|
1289
|
+
function drawShapeAfterEffect(data) {
|
|
1290
|
+
const {
|
|
1291
|
+
container,
|
|
1292
|
+
context,
|
|
1293
|
+
particle,
|
|
1294
|
+
radius,
|
|
1295
|
+
opacity,
|
|
1296
|
+
delta
|
|
1297
|
+
} = data;
|
|
1260
1298
|
if (!particle.shape) {
|
|
1261
1299
|
return;
|
|
1262
1300
|
}
|
|
@@ -1264,7 +1302,14 @@ function drawShapeAfterEffect(container, context, particle, radius, opacity, del
|
|
|
1264
1302
|
if (!drawer || !drawer.afterEffect) {
|
|
1265
1303
|
return;
|
|
1266
1304
|
}
|
|
1267
|
-
drawer.afterEffect(
|
|
1305
|
+
drawer.afterEffect({
|
|
1306
|
+
context,
|
|
1307
|
+
particle,
|
|
1308
|
+
radius,
|
|
1309
|
+
opacity,
|
|
1310
|
+
delta,
|
|
1311
|
+
pixelRatio: container.retina.pixelRatio
|
|
1312
|
+
});
|
|
1268
1313
|
}
|
|
1269
1314
|
function drawPlugin(context, plugin, delta) {
|
|
1270
1315
|
if (!plugin.draw) {
|
|
@@ -3648,7 +3693,17 @@ class InteractionManager {
|
|
|
3648
3693
|
|
|
3649
3694
|
|
|
3650
3695
|
|
|
3651
|
-
|
|
3696
|
+
function loadShapeData(shape, shapeOptions, id, reduceDuplicates) {
|
|
3697
|
+
const shapeData = shapeOptions.options[shape];
|
|
3698
|
+
if (!shapeData) {
|
|
3699
|
+
return;
|
|
3700
|
+
}
|
|
3701
|
+
return deepExtend({
|
|
3702
|
+
close: shapeOptions.close,
|
|
3703
|
+
fill: shapeOptions.fill
|
|
3704
|
+
}, itemFromSingleOrMultiple(shapeData, id, reduceDuplicates));
|
|
3705
|
+
}
|
|
3706
|
+
function fixOutMode(data) {
|
|
3652
3707
|
if (!isInArray(data.outMode, data.checkModes)) {
|
|
3653
3708
|
return;
|
|
3654
3709
|
}
|
|
@@ -3658,7 +3713,7 @@ const fixOutMode = data => {
|
|
|
3658
3713
|
} else if (data.coord < diameter) {
|
|
3659
3714
|
data.setCb(data.radius);
|
|
3660
3715
|
}
|
|
3661
|
-
}
|
|
3716
|
+
}
|
|
3662
3717
|
class Particle {
|
|
3663
3718
|
constructor(engine, id, container, position, overrideOptions, group) {
|
|
3664
3719
|
this.container = container;
|
|
@@ -3783,16 +3838,6 @@ class Particle {
|
|
|
3783
3838
|
}
|
|
3784
3839
|
this.offset = Vector.origin;
|
|
3785
3840
|
};
|
|
3786
|
-
this._loadShapeData = (shapeOptions, reduceDuplicates) => {
|
|
3787
|
-
const shapeData = shapeOptions.options[this.shape];
|
|
3788
|
-
if (!shapeData) {
|
|
3789
|
-
return;
|
|
3790
|
-
}
|
|
3791
|
-
return deepExtend({
|
|
3792
|
-
close: shapeOptions.close,
|
|
3793
|
-
fill: shapeOptions.fill
|
|
3794
|
-
}, itemFromSingleOrMultiple(shapeData, this.id, reduceDuplicates));
|
|
3795
|
-
};
|
|
3796
3841
|
this._engine = engine;
|
|
3797
3842
|
this.init(id, position, overrideOptions, group);
|
|
3798
3843
|
}
|
|
@@ -3881,7 +3926,7 @@ class Particle {
|
|
|
3881
3926
|
shapeOptions.load(overrideOptions.shape);
|
|
3882
3927
|
}
|
|
3883
3928
|
}
|
|
3884
|
-
this.shapeData = this.
|
|
3929
|
+
this.shapeData = loadShapeData(this.shape, shapeOptions, this.id, reduceDuplicates);
|
|
3885
3930
|
particlesOptions.load(overrideOptions);
|
|
3886
3931
|
const shapeData = this.shapeData;
|
|
3887
3932
|
if (shapeData) {
|
|
@@ -4477,7 +4522,6 @@ function loadContainerOptions(engine, container, ...sourceOptionsArr) {
|
|
|
4477
4522
|
}
|
|
4478
4523
|
class Container {
|
|
4479
4524
|
constructor(engine, id, sourceOptions) {
|
|
4480
|
-
this.id = id;
|
|
4481
4525
|
this._intersectionManager = entries => {
|
|
4482
4526
|
if (!guardCheck(this) || !this.actualOptions.pauseOnOutsideViewport) {
|
|
4483
4527
|
return;
|
|
@@ -4516,6 +4560,7 @@ class Container {
|
|
|
4516
4560
|
}
|
|
4517
4561
|
};
|
|
4518
4562
|
this._engine = engine;
|
|
4563
|
+
this.id = Symbol(id);
|
|
4519
4564
|
this.fpsLimit = 120;
|
|
4520
4565
|
this.smooth = false;
|
|
4521
4566
|
this._delay = 0;
|
|
@@ -4545,9 +4590,7 @@ class Container {
|
|
|
4545
4590
|
this._options = loadContainerOptions(this._engine, this);
|
|
4546
4591
|
this.actualOptions = loadContainerOptions(this._engine, this);
|
|
4547
4592
|
this._eventListeners = new EventListeners(this);
|
|
4548
|
-
|
|
4549
|
-
this._intersectionObserver = new IntersectionObserver(entries => this._intersectionManager(entries));
|
|
4550
|
-
}
|
|
4593
|
+
this._intersectionObserver = safeIntersectionObserver(entries => this._intersectionManager(entries));
|
|
4551
4594
|
this._engine.dispatchEvent("containerBuilt", {
|
|
4552
4595
|
container: this
|
|
4553
4596
|
});
|
|
@@ -4990,17 +5033,17 @@ class Engine {
|
|
|
4990
5033
|
return res;
|
|
4991
5034
|
}
|
|
4992
5035
|
get version() {
|
|
4993
|
-
return "3.0.0-beta.
|
|
5036
|
+
return "3.0.0-beta.3";
|
|
4994
5037
|
}
|
|
4995
|
-
addConfig(
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5038
|
+
addConfig(config) {
|
|
5039
|
+
const name = config.name ?? "default";
|
|
5040
|
+
this._configs.set(name, config);
|
|
5041
|
+
this._eventDispatcher.dispatchEvent("configAdded", {
|
|
5042
|
+
data: {
|
|
5043
|
+
name,
|
|
5044
|
+
config
|
|
5000
5045
|
}
|
|
5001
|
-
}
|
|
5002
|
-
this._configs.set(nameOrConfig.name ?? "default", nameOrConfig);
|
|
5003
|
-
}
|
|
5046
|
+
});
|
|
5004
5047
|
}
|
|
5005
5048
|
addEventListener(type, listener) {
|
|
5006
5049
|
this._eventDispatcher.addEventListener(type, listener);
|
|
@@ -5029,44 +5072,11 @@ class Engine {
|
|
|
5029
5072
|
(override || !this.getPreset(preset)) && this.presets.set(preset, options);
|
|
5030
5073
|
await this.refresh(refresh);
|
|
5031
5074
|
}
|
|
5032
|
-
async addShape(shape, drawer,
|
|
5033
|
-
let customDrawer;
|
|
5034
|
-
let realRefresh = refresh,
|
|
5035
|
-
realInit,
|
|
5036
|
-
realAfterEffect,
|
|
5037
|
-
realDestroy;
|
|
5038
|
-
if (isBoolean(initOrRefresh)) {
|
|
5039
|
-
realRefresh = initOrRefresh;
|
|
5040
|
-
realInit = undefined;
|
|
5041
|
-
} else {
|
|
5042
|
-
realInit = initOrRefresh;
|
|
5043
|
-
}
|
|
5044
|
-
if (isBoolean(afterEffectOrRefresh)) {
|
|
5045
|
-
realRefresh = afterEffectOrRefresh;
|
|
5046
|
-
realAfterEffect = undefined;
|
|
5047
|
-
} else {
|
|
5048
|
-
realAfterEffect = afterEffectOrRefresh;
|
|
5049
|
-
}
|
|
5050
|
-
if (isBoolean(destroyOrRefresh)) {
|
|
5051
|
-
realRefresh = destroyOrRefresh;
|
|
5052
|
-
realDestroy = undefined;
|
|
5053
|
-
} else {
|
|
5054
|
-
realDestroy = destroyOrRefresh;
|
|
5055
|
-
}
|
|
5056
|
-
if (isFunction(drawer)) {
|
|
5057
|
-
customDrawer = {
|
|
5058
|
-
afterEffect: realAfterEffect,
|
|
5059
|
-
destroy: realDestroy,
|
|
5060
|
-
draw: drawer,
|
|
5061
|
-
init: realInit
|
|
5062
|
-
};
|
|
5063
|
-
} else {
|
|
5064
|
-
customDrawer = drawer;
|
|
5065
|
-
}
|
|
5075
|
+
async addShape(shape, drawer, refresh = true) {
|
|
5066
5076
|
executeOnSingleOrMultiple(shape, type => {
|
|
5067
|
-
!this.getShapeDrawer(type) && this.drawers.set(type,
|
|
5077
|
+
!this.getShapeDrawer(type) && this.drawers.set(type, drawer);
|
|
5068
5078
|
});
|
|
5069
|
-
await this.refresh(
|
|
5079
|
+
await this.refresh(refresh);
|
|
5070
5080
|
}
|
|
5071
5081
|
clearPlugins(container) {
|
|
5072
5082
|
this.updaters.delete(container);
|
|
@@ -5144,7 +5154,7 @@ class Engine {
|
|
|
5144
5154
|
}
|
|
5145
5155
|
const currentOptions = itemFromSingleOrMultiple(options, index),
|
|
5146
5156
|
dom = this.dom(),
|
|
5147
|
-
oldIndex = dom.findIndex(v => v.id === id);
|
|
5157
|
+
oldIndex = dom.findIndex(v => v.id.description === id);
|
|
5148
5158
|
if (oldIndex >= 0) {
|
|
5149
5159
|
const old = this.domItem(oldIndex);
|
|
5150
5160
|
if (old && !old.destroyed) {
|