tsparticles 3.0.2 → 3.0.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/package.json +14 -14
- package/report.html +2 -2
- package/tsparticles.bundle.js +44 -45
- package/tsparticles.bundle.min.js +1 -1
- package/tsparticles.bundle.min.js.LICENSE.txt +1 -1
- package/tsparticles.js +1 -1
- package/tsparticles.min.js.LICENSE.txt +1 -1
package/tsparticles.bundle.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.0.
|
|
7
|
+
* v3.0.3
|
|
8
8
|
*/
|
|
9
9
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
10
10
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
@@ -5166,7 +5166,7 @@ class Engine {
|
|
|
5166
5166
|
return res;
|
|
5167
5167
|
}
|
|
5168
5168
|
get version() {
|
|
5169
|
-
return "3.0.
|
|
5169
|
+
return "3.0.3";
|
|
5170
5170
|
}
|
|
5171
5171
|
addConfig(config) {
|
|
5172
5172
|
const name = config.name ?? "default";
|
|
@@ -5281,7 +5281,7 @@ class Engine {
|
|
|
5281
5281
|
this._initialized = true;
|
|
5282
5282
|
}
|
|
5283
5283
|
async load(params) {
|
|
5284
|
-
const id = params.id ?? `tsparticles${Math.floor(getRandom() * 10000)}`,
|
|
5284
|
+
const id = params.id ?? params.element?.id ?? `tsparticles${Math.floor(getRandom() * 10000)}`,
|
|
5285
5285
|
{
|
|
5286
5286
|
index,
|
|
5287
5287
|
url
|
|
@@ -8182,8 +8182,9 @@ class EmojiDrawer {
|
|
|
8182
8182
|
this._emojiShapeDict = new Map();
|
|
8183
8183
|
}
|
|
8184
8184
|
destroy() {
|
|
8185
|
-
for (const [, emojiData] of this._emojiShapeDict) {
|
|
8185
|
+
for (const [key, emojiData] of this._emojiShapeDict) {
|
|
8186
8186
|
emojiData instanceof ImageBitmap && emojiData?.close();
|
|
8187
|
+
this._emojiShapeDict.delete(key);
|
|
8187
8188
|
}
|
|
8188
8189
|
}
|
|
8189
8190
|
draw(data) {
|
|
@@ -8218,52 +8219,50 @@ class EmojiDrawer {
|
|
|
8218
8219
|
delete particle.emojiData;
|
|
8219
8220
|
}
|
|
8220
8221
|
particleInit(container, particle) {
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8222
|
+
const shapeData = particle.shapeData;
|
|
8223
|
+
if (!shapeData?.value) {
|
|
8224
|
+
return;
|
|
8225
|
+
}
|
|
8226
|
+
const emoji = itemFromSingleOrMultiple(shapeData.value, particle.randomIndexData),
|
|
8227
|
+
font = shapeData.font ?? defaultFont;
|
|
8228
|
+
if (!emoji) {
|
|
8229
|
+
return;
|
|
8230
|
+
}
|
|
8231
|
+
const key = `${emoji}_${font}`,
|
|
8232
|
+
existingData = this._emojiShapeDict.get(key);
|
|
8233
|
+
if (existingData) {
|
|
8234
|
+
particle.emojiData = existingData;
|
|
8235
|
+
return;
|
|
8236
|
+
}
|
|
8237
|
+
const canvasSize = getRangeMax(particle.size.value) * 2;
|
|
8238
|
+
let emojiData;
|
|
8239
|
+
if (typeof OffscreenCanvas !== "undefined") {
|
|
8240
|
+
const canvas = new OffscreenCanvas(canvasSize, canvasSize),
|
|
8241
|
+
context = canvas.getContext("2d");
|
|
8242
|
+
if (!context) {
|
|
8229
8243
|
return;
|
|
8230
8244
|
}
|
|
8231
|
-
|
|
8232
|
-
|
|
8233
|
-
|
|
8234
|
-
|
|
8245
|
+
context.font = `400 ${getRangeMax(particle.size.value) * 2}px ${font}`;
|
|
8246
|
+
context.textBaseline = "middle";
|
|
8247
|
+
context.textAlign = "center";
|
|
8248
|
+
context.fillText(emoji, getRangeMax(particle.size.value), getRangeMax(particle.size.value));
|
|
8249
|
+
emojiData = canvas.transferToImageBitmap();
|
|
8250
|
+
} else {
|
|
8251
|
+
const canvas = document.createElement("canvas");
|
|
8252
|
+
canvas.width = canvasSize;
|
|
8253
|
+
canvas.height = canvasSize;
|
|
8254
|
+
const context = canvas.getContext("2d");
|
|
8255
|
+
if (!context) {
|
|
8235
8256
|
return;
|
|
8236
8257
|
}
|
|
8237
|
-
|
|
8238
|
-
|
|
8239
|
-
|
|
8240
|
-
|
|
8241
|
-
|
|
8242
|
-
if (!context) {
|
|
8243
|
-
return;
|
|
8244
|
-
}
|
|
8245
|
-
context.font = `400 ${getRangeMax(particle.size.value) * 2}px ${font}`;
|
|
8246
|
-
context.textBaseline = "middle";
|
|
8247
|
-
context.textAlign = "center";
|
|
8248
|
-
context.fillText(emoji, getRangeMax(particle.size.value), getRangeMax(particle.size.value));
|
|
8249
|
-
emojiData = canvas.transferToImageBitmap();
|
|
8250
|
-
} else {
|
|
8251
|
-
const canvas = document.createElement("canvas");
|
|
8252
|
-
canvas.width = canvasSize;
|
|
8253
|
-
canvas.height = canvasSize;
|
|
8254
|
-
const context = canvas.getContext("2d");
|
|
8255
|
-
if (!context) {
|
|
8256
|
-
return;
|
|
8257
|
-
}
|
|
8258
|
-
context.font = `400 ${getRangeMax(particle.size.value) * 2}px ${font}`;
|
|
8259
|
-
context.textBaseline = "middle";
|
|
8260
|
-
context.textAlign = "center";
|
|
8261
|
-
context.fillText(emoji, getRangeMax(particle.size.value), getRangeMax(particle.size.value));
|
|
8262
|
-
emojiData = canvas;
|
|
8263
|
-
}
|
|
8264
|
-
this._emojiShapeDict.set(key, emojiData);
|
|
8265
|
-
particle.emojiData = emojiData;
|
|
8258
|
+
context.font = `400 ${getRangeMax(particle.size.value) * 2}px ${font}`;
|
|
8259
|
+
context.textBaseline = "middle";
|
|
8260
|
+
context.textAlign = "center";
|
|
8261
|
+
context.fillText(emoji, getRangeMax(particle.size.value), getRangeMax(particle.size.value));
|
|
8262
|
+
emojiData = canvas;
|
|
8266
8263
|
}
|
|
8264
|
+
this._emojiShapeDict.set(key, emojiData);
|
|
8265
|
+
particle.emojiData = emojiData;
|
|
8267
8266
|
}
|
|
8268
8267
|
}
|
|
8269
8268
|
;// CONCATENATED MODULE: ../../shapes/emoji/dist/browser/index.js
|