@tsparticles/pjs 4.0.1 → 4.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.
@@ -1,5 +1,5 @@
1
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
- /* tsParticles v4.0.1 */
2
+ /* tsParticles v4.0.3 */
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
5
5
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -1118,7 +1118,7 @@
1118
1118
  return this._domArray;
1119
1119
  }
1120
1120
  get version() {
1121
- return "4.0.1";
1121
+ return "4.0.3";
1122
1122
  }
1123
1123
  addEventListener(type, listener) {
1124
1124
  this._eventDispatcher.addEventListener(type, listener);
@@ -3624,7 +3624,7 @@
3624
3624
  }
3625
3625
 
3626
3626
  async function loadInteractivityPlugin(engine) {
3627
- engine.checkVersion("4.0.1");
3627
+ engine.checkVersion("4.0.3");
3628
3628
  await engine.pluginManager.register(e => {
3629
3629
  const interactivityEngine = e, interactivityPluginManager = interactivityEngine.pluginManager;
3630
3630
  interactivityPluginManager.addPlugin(new InteractivityPlugin(interactivityPluginManager));
@@ -3898,7 +3898,7 @@
3898
3898
  }
3899
3899
 
3900
3900
  async function loadAbsorbersInteraction(engine) {
3901
- engine.checkVersion("4.0.1");
3901
+ engine.checkVersion("4.0.3");
3902
3902
  await engine.pluginManager.register(async (e) => {
3903
3903
  const pluginManager = e.pluginManager, instancesManager = await getAbsorbersInstancesManager(e);
3904
3904
  ensureInteractivityPluginLoaded(e);
@@ -3946,7 +3946,7 @@
3946
3946
  }
3947
3947
 
3948
3948
  async function loadAbsorbersPluginSimple(engine) {
3949
- engine.checkVersion("4.0.1");
3949
+ engine.checkVersion("4.0.3");
3950
3950
  await engine.pluginManager.register(async (e) => {
3951
3951
  const pluginManager = e.pluginManager, instancesManager = await getAbsorbersInstancesManager(e);
3952
3952
  pluginManager.addPlugin(new AbsorbersPlugin(instancesManager));
@@ -4311,7 +4311,7 @@
4311
4311
  }
4312
4312
 
4313
4313
  async function loadDestroyUpdater(engine) {
4314
- engine.checkVersion("4.0.1");
4314
+ engine.checkVersion("4.0.3");
4315
4315
  await engine.pluginManager.register(e => {
4316
4316
  e.pluginManager.addParticleUpdater("destroy", container => {
4317
4317
  return Promise.resolve(new DestroyUpdater(e.pluginManager, container));
@@ -4691,7 +4691,7 @@
4691
4691
  })(EmitterClickMode || (EmitterClickMode = {}));
4692
4692
 
4693
4693
  async function loadEmittersInteraction(engine) {
4694
- engine.checkVersion("4.0.1");
4694
+ engine.checkVersion("4.0.3");
4695
4695
  await engine.pluginManager.register(async (e) => {
4696
4696
  const instancesManager = await getEmittersInstancesManager(e);
4697
4697
  ensureInteractivityPluginLoaded(e);
@@ -4734,7 +4734,7 @@
4734
4734
  }
4735
4735
 
4736
4736
  async function loadEmittersPluginSimple(engine) {
4737
- engine.checkVersion("4.0.1");
4737
+ engine.checkVersion("4.0.3");
4738
4738
  await engine.pluginManager.register(async (e) => {
4739
4739
  const instancesManager = await getEmittersInstancesManager(e);
4740
4740
  await addEmittersShapesManager(e);
@@ -4792,7 +4792,7 @@
4792
4792
  }
4793
4793
 
4794
4794
  async function loadEmittersShapeCircle(engine) {
4795
- engine.checkVersion("4.0.1");
4795
+ engine.checkVersion("4.0.3");
4796
4796
  await engine.pluginManager.register((e) => {
4797
4797
  ensureEmittersPluginLoaded(e);
4798
4798
  e.pluginManager.addEmitterShapeGenerator?.("circle", new EmittersCircleShapeGenerator());
@@ -4873,7 +4873,7 @@
4873
4873
  }
4874
4874
 
4875
4875
  async function loadEmittersShapeSquare(engine) {
4876
- engine.checkVersion("4.0.1");
4876
+ engine.checkVersion("4.0.3");
4877
4877
  await engine.pluginManager.register((e) => {
4878
4878
  ensureEmittersPluginLoaded(e);
4879
4879
  e.pluginManager.addEmitterShapeGenerator?.("square", new EmittersSquareShapeGenerator());
@@ -5066,7 +5066,7 @@
5066
5066
  }
5067
5067
 
5068
5068
  async function loadExternalDragInteraction(engine) {
5069
- engine.checkVersion("4.0.1");
5069
+ engine.checkVersion("4.0.3");
5070
5070
  await engine.pluginManager.register((e) => {
5071
5071
  ensureInteractivityPluginLoaded(e);
5072
5072
  e.pluginManager.addInteractor?.("externalDrag", container => {
@@ -5270,7 +5270,7 @@
5270
5270
  }
5271
5271
 
5272
5272
  async function loadExternalTrailInteraction(engine) {
5273
- engine.checkVersion("4.0.1");
5273
+ engine.checkVersion("4.0.3");
5274
5274
  await engine.pluginManager.register((e) => {
5275
5275
  ensureInteractivityPluginLoaded(e);
5276
5276
  e.pluginManager.addInteractor?.("externalTrail", container => {
@@ -5430,7 +5430,7 @@
5430
5430
  }
5431
5431
 
5432
5432
  async function loadRollUpdater(engine) {
5433
- engine.checkVersion("4.0.1");
5433
+ engine.checkVersion("4.0.3");
5434
5434
  await engine.pluginManager.register(e => {
5435
5435
  e.pluginManager.addParticleUpdater("roll", () => {
5436
5436
  return Promise.resolve(new RollUpdater(e.pluginManager));
@@ -5438,6 +5438,58 @@
5438
5438
  });
5439
5439
  }
5440
5440
 
5441
+ class Blend {
5442
+ enable;
5443
+ mode;
5444
+ constructor() {
5445
+ this.mode = "destination-out";
5446
+ this.enable = false;
5447
+ }
5448
+ load(data) {
5449
+ if (isNull(data)) {
5450
+ return;
5451
+ }
5452
+ if (data.mode !== undefined) {
5453
+ this.mode = data.mode;
5454
+ }
5455
+ if (data.enable !== undefined) {
5456
+ this.enable = data.enable;
5457
+ }
5458
+ }
5459
+ }
5460
+
5461
+ class BlendPlugin {
5462
+ id = "blend";
5463
+ async getPlugin(container) {
5464
+ const { BlendPluginInstance } = await Promise.resolve().then(function () { return BlendPluginInstance$1; });
5465
+ return new BlendPluginInstance(container);
5466
+ }
5467
+ loadOptions(_container, options, source) {
5468
+ if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
5469
+ return;
5470
+ }
5471
+ let blendOptions = options.blend;
5472
+ if (!blendOptions?.load) {
5473
+ options.blend = blendOptions = new Blend();
5474
+ }
5475
+ blendOptions.load(source?.blend);
5476
+ }
5477
+ loadParticlesOptions(_container, options, source) {
5478
+ options.blend ??= new Blend();
5479
+ options.blend.load(source?.blend);
5480
+ }
5481
+ needsPlugin(options) {
5482
+ return !!options?.blend?.enable || !!options?.particles?.blend?.enable;
5483
+ }
5484
+ }
5485
+
5486
+ async function loadBlendPlugin(engine) {
5487
+ engine.checkVersion("4.0.3");
5488
+ await engine.pluginManager.register(e => {
5489
+ e.pluginManager.addPlugin(new BlendPlugin());
5490
+ });
5491
+ }
5492
+
5441
5493
  const minAngle$2 = 0;
5442
5494
  function drawCircle(data) {
5443
5495
  const { context, particle, radius } = data;
@@ -5469,7 +5521,7 @@
5469
5521
  }
5470
5522
 
5471
5523
  async function loadCircleShape(engine) {
5472
- engine.checkVersion("4.0.1");
5524
+ engine.checkVersion("4.0.3");
5473
5525
  await engine.pluginManager.register(e => {
5474
5526
  e.pluginManager.addShape(["circle"], () => {
5475
5527
  return Promise.resolve(new CircleDrawer());
@@ -5517,7 +5569,7 @@
5517
5569
  }
5518
5570
 
5519
5571
  async function loadHexColorPlugin(engine) {
5520
- engine.checkVersion("4.0.1");
5572
+ engine.checkVersion("4.0.3");
5521
5573
  await engine.pluginManager.register(e => {
5522
5574
  e.pluginManager.addColorManager("hex", new HexColorManager());
5523
5575
  });
@@ -5570,7 +5622,7 @@
5570
5622
  }
5571
5623
 
5572
5624
  async function loadHslColorPlugin(engine) {
5573
- engine.checkVersion("4.0.1");
5625
+ engine.checkVersion("4.0.3");
5574
5626
  await engine.pluginManager.register(e => {
5575
5627
  e.pluginManager.addColorManager("hsl", new HslColorManager());
5576
5628
  });
@@ -5594,7 +5646,7 @@
5594
5646
  }
5595
5647
 
5596
5648
  async function loadMovePlugin(engine) {
5597
- engine.checkVersion("4.0.1");
5649
+ engine.checkVersion("4.0.3");
5598
5650
  await engine.pluginManager.register(e => {
5599
5651
  const moveEngine = e, movePluginManager = moveEngine.pluginManager;
5600
5652
  movePluginManager.initializers.pathGenerators ??= new Map();
@@ -5655,7 +5707,7 @@
5655
5707
  }
5656
5708
 
5657
5709
  async function loadOpacityUpdater(engine) {
5658
- engine.checkVersion("4.0.1");
5710
+ engine.checkVersion("4.0.3");
5659
5711
  await engine.pluginManager.register(e => {
5660
5712
  e.pluginManager.addParticleUpdater("opacity", container => {
5661
5713
  return Promise.resolve(new OpacityUpdater(container));
@@ -6007,7 +6059,7 @@
6007
6059
  }
6008
6060
 
6009
6061
  async function loadOutModesUpdater(engine) {
6010
- engine.checkVersion("4.0.1");
6062
+ engine.checkVersion("4.0.3");
6011
6063
  await engine.pluginManager.register(e => {
6012
6064
  e.pluginManager.addParticleUpdater("outModes", container => {
6013
6065
  return Promise.resolve(new OutOfCanvasUpdater(container));
@@ -6078,7 +6130,7 @@
6078
6130
  }
6079
6131
 
6080
6132
  async function loadPaintUpdater(engine) {
6081
- engine.checkVersion("4.0.1");
6133
+ engine.checkVersion("4.0.3");
6082
6134
  await engine.pluginManager.register(e => {
6083
6135
  e.pluginManager.addParticleUpdater("paint", container => {
6084
6136
  return Promise.resolve(new PaintUpdater(e.pluginManager, container));
@@ -6133,7 +6185,7 @@
6133
6185
  }
6134
6186
 
6135
6187
  async function loadRgbColorPlugin(engine) {
6136
- engine.checkVersion("4.0.1");
6188
+ engine.checkVersion("4.0.3");
6137
6189
  await engine.pluginManager.register(e => {
6138
6190
  e.pluginManager.addColorManager("rgb", new RgbColorManager());
6139
6191
  });
@@ -6176,7 +6228,7 @@
6176
6228
  }
6177
6229
 
6178
6230
  async function loadSizeUpdater(engine) {
6179
- engine.checkVersion("4.0.1");
6231
+ engine.checkVersion("4.0.3");
6180
6232
  await engine.pluginManager.register(e => {
6181
6233
  e.pluginManager.addParticleUpdater("size", container => {
6182
6234
  return Promise.resolve(new SizeUpdater(container));
@@ -6185,9 +6237,10 @@
6185
6237
  }
6186
6238
 
6187
6239
  async function loadBasic(engine) {
6188
- engine.checkVersion("4.0.1");
6240
+ engine.checkVersion("4.0.3");
6189
6241
  await engine.pluginManager.register(async (e) => {
6190
6242
  await Promise.all([
6243
+ loadBlendPlugin(e),
6191
6244
  loadHexColorPlugin(e),
6192
6245
  loadHslColorPlugin(e),
6193
6246
  loadRgbColorPlugin(e),
@@ -6207,7 +6260,7 @@
6207
6260
  easingsFunctions.set(exports.EasingType.easeInOutQuad, value => (value < 0.5 ? 2 * value ** 2 : 1 - (-2 * value + 2) ** 2 / 2));
6208
6261
 
6209
6262
  async function loadEasingQuadPlugin(engine) {
6210
- engine.checkVersion("4.0.1");
6263
+ engine.checkVersion("4.0.3");
6211
6264
  await engine.pluginManager.register(e => {
6212
6265
  for (const [easing, easingFn] of easingsFunctions) {
6213
6266
  e.pluginManager.addEasing(easing, easingFn);
@@ -6315,7 +6368,7 @@
6315
6368
  }
6316
6369
 
6317
6370
  async function loadEmojiShape(engine) {
6318
- engine.checkVersion("4.0.1");
6371
+ engine.checkVersion("4.0.3");
6319
6372
  await engine.pluginManager.register(e => {
6320
6373
  e.pluginManager.addShape(validTypes$1, () => Promise.resolve(new EmojiDrawer()));
6321
6374
  });
@@ -6565,7 +6618,7 @@
6565
6618
  };
6566
6619
 
6567
6620
  async function loadExternalAttractInteraction(engine) {
6568
- engine.checkVersion("4.0.1");
6621
+ engine.checkVersion("4.0.3");
6569
6622
  await engine.pluginManager.register((e) => {
6570
6623
  ensureInteractivityPluginLoaded(e);
6571
6624
  e.pluginManager.addInteractor?.("externalAttract", container => {
@@ -6762,7 +6815,7 @@
6762
6815
  }
6763
6816
 
6764
6817
  async function loadExternalBounceInteraction(engine) {
6765
- engine.checkVersion("4.0.1");
6818
+ engine.checkVersion("4.0.3");
6766
6819
  await engine.pluginManager.register((e) => {
6767
6820
  ensureInteractivityPluginLoaded(e);
6768
6821
  e.pluginManager.addInteractor?.("externalBounce", container => {
@@ -7142,7 +7195,7 @@
7142
7195
  }
7143
7196
 
7144
7197
  async function loadExternalBubbleInteraction(engine) {
7145
- engine.checkVersion("4.0.1");
7198
+ engine.checkVersion("4.0.3");
7146
7199
  await engine.pluginManager.register((e) => {
7147
7200
  ensureInteractivityPluginLoaded(e);
7148
7201
  e.pluginManager.addInteractor?.("externalBubble", container => {
@@ -7287,7 +7340,7 @@
7287
7340
  }
7288
7341
 
7289
7342
  async function loadExternalConnectInteraction(engine) {
7290
- engine.checkVersion("4.0.1");
7343
+ engine.checkVersion("4.0.3");
7291
7344
  await engine.pluginManager.register((e) => {
7292
7345
  ensureInteractivityPluginLoaded(e);
7293
7346
  e.pluginManager.addInteractor?.("externalConnect", container => {
@@ -7399,7 +7452,7 @@
7399
7452
  }
7400
7453
 
7401
7454
  async function loadExternalDestroyInteraction(engine) {
7402
- engine.checkVersion("4.0.1");
7455
+ engine.checkVersion("4.0.3");
7403
7456
  await engine.pluginManager.register((e) => {
7404
7457
  ensureInteractivityPluginLoaded(e);
7405
7458
  e.pluginManager.addInteractor?.("externalDestroy", async (container) => {
@@ -7543,7 +7596,7 @@
7543
7596
  }
7544
7597
 
7545
7598
  async function loadExternalGrabInteraction(engine) {
7546
- engine.checkVersion("4.0.1");
7599
+ engine.checkVersion("4.0.3");
7547
7600
  await engine.pluginManager.register((e) => {
7548
7601
  ensureInteractivityPluginLoaded(e);
7549
7602
  e.pluginManager.addInteractor?.("externalGrab", container => {
@@ -7624,7 +7677,7 @@
7624
7677
  }
7625
7678
 
7626
7679
  async function loadExternalParallaxInteraction(engine) {
7627
- engine.checkVersion("4.0.1");
7680
+ engine.checkVersion("4.0.3");
7628
7681
  await engine.pluginManager.register((e) => {
7629
7682
  ensureInteractivityPluginLoaded(e);
7630
7683
  e.pluginManager.addInteractor?.("externalParallax", container => {
@@ -7667,7 +7720,7 @@
7667
7720
  }
7668
7721
 
7669
7722
  async function loadExternalPauseInteraction(engine) {
7670
- engine.checkVersion("4.0.1");
7723
+ engine.checkVersion("4.0.3");
7671
7724
  await engine.pluginManager.register((e) => {
7672
7725
  ensureInteractivityPluginLoaded(e);
7673
7726
  e.pluginManager.addInteractor?.("externalPause", container => {
@@ -7752,7 +7805,7 @@
7752
7805
  }
7753
7806
 
7754
7807
  async function loadExternalPushInteraction(engine) {
7755
- engine.checkVersion("4.0.1");
7808
+ engine.checkVersion("4.0.3");
7756
7809
  await engine.pluginManager.register((e) => {
7757
7810
  ensureInteractivityPluginLoaded(e);
7758
7811
  e.pluginManager.addInteractor?.("externalPush", container => {
@@ -7815,7 +7868,7 @@
7815
7868
  }
7816
7869
 
7817
7870
  async function loadExternalRemoveInteraction(engine) {
7818
- engine.checkVersion("4.0.1");
7871
+ engine.checkVersion("4.0.3");
7819
7872
  await engine.pluginManager.register((e) => {
7820
7873
  ensureInteractivityPluginLoaded(e);
7821
7874
  e.pluginManager.addInteractor?.("externalRemove", container => {
@@ -8148,7 +8201,7 @@
8148
8201
  }
8149
8202
 
8150
8203
  async function loadExternalRepulseInteraction(engine) {
8151
- engine.checkVersion("4.0.1");
8204
+ engine.checkVersion("4.0.3");
8152
8205
  await engine.pluginManager.register((e) => {
8153
8206
  ensureInteractivityPluginLoaded(e);
8154
8207
  const pluginManager = e.pluginManager;
@@ -8230,7 +8283,7 @@
8230
8283
  }
8231
8284
 
8232
8285
  async function loadExternalSlowInteraction(engine) {
8233
- engine.checkVersion("4.0.1");
8286
+ engine.checkVersion("4.0.3");
8234
8287
  await engine.pluginManager.register((e) => {
8235
8288
  ensureInteractivityPluginLoaded(e);
8236
8289
  e.pluginManager.addInteractor?.("externalSlow", container => {
@@ -9058,7 +9111,7 @@
9058
9111
  };
9059
9112
  }
9060
9113
  async function loadImageShape(engine) {
9061
- engine.checkVersion("4.0.1");
9114
+ engine.checkVersion("4.0.3");
9062
9115
  await engine.pluginManager.register(e => {
9063
9116
  addLoadImageToEngine(e);
9064
9117
  e.pluginManager.addPlugin(new ImagePreloaderPlugin(e));
@@ -9225,7 +9278,7 @@
9225
9278
  }
9226
9279
 
9227
9280
  async function loadLifeUpdater(engine) {
9228
- engine.checkVersion("4.0.1");
9281
+ engine.checkVersion("4.0.3");
9229
9282
  await engine.pluginManager.register(e => {
9230
9283
  e.pluginManager.addParticleUpdater("life", container => {
9231
9284
  return Promise.resolve(new LifeUpdater(container));
@@ -9251,7 +9304,7 @@
9251
9304
  }
9252
9305
 
9253
9306
  async function loadLineShape(engine) {
9254
- engine.checkVersion("4.0.1");
9307
+ engine.checkVersion("4.0.3");
9255
9308
  await engine.pluginManager.register(e => {
9256
9309
  e.pluginManager.addShape(["line"], () => Promise.resolve(new LineDrawer()));
9257
9310
  });
@@ -9344,7 +9397,7 @@
9344
9397
  }
9345
9398
 
9346
9399
  async function loadParticlesAttractInteraction(engine) {
9347
- engine.checkVersion("4.0.1");
9400
+ engine.checkVersion("4.0.3");
9348
9401
  await engine.pluginManager.register((e) => {
9349
9402
  ensureInteractivityPluginLoaded(e);
9350
9403
  e.pluginManager.addInteractor?.("particlesAttract", container => {
@@ -9584,7 +9637,7 @@
9584
9637
  }
9585
9638
 
9586
9639
  async function loadParticlesCollisionsInteraction(engine) {
9587
- engine.checkVersion("4.0.1");
9640
+ engine.checkVersion("4.0.3");
9588
9641
  await engine.pluginManager.register((e) => {
9589
9642
  ensureInteractivityPluginLoaded(e);
9590
9643
  e.pluginManager.addPlugin(new OverlapPlugin());
@@ -9887,7 +9940,7 @@
9887
9940
  }
9888
9941
 
9889
9942
  async function loadParticlesLinksInteraction(engine) {
9890
- engine.checkVersion("4.0.1");
9943
+ engine.checkVersion("4.0.3");
9891
9944
  await engine.pluginManager.register((e) => {
9892
9945
  const pluginManager = e.pluginManager;
9893
9946
  ensureInteractivityPluginLoaded(e);
@@ -9977,19 +10030,19 @@
9977
10030
  }
9978
10031
 
9979
10032
  async function loadGenericPolygonShape(engine) {
9980
- engine.checkVersion("4.0.1");
10033
+ engine.checkVersion("4.0.3");
9981
10034
  await engine.pluginManager.register(e => {
9982
10035
  e.pluginManager.addShape(["polygon"], () => Promise.resolve(new PolygonDrawer()));
9983
10036
  });
9984
10037
  }
9985
10038
  async function loadTriangleShape(engine) {
9986
- engine.checkVersion("4.0.1");
10039
+ engine.checkVersion("4.0.3");
9987
10040
  await engine.pluginManager.register(e => {
9988
10041
  e.pluginManager.addShape(["triangle"], () => Promise.resolve(new TriangleDrawer()));
9989
10042
  });
9990
10043
  }
9991
10044
  async function loadPolygonShape(engine) {
9992
- engine.checkVersion("4.0.1");
10045
+ engine.checkVersion("4.0.3");
9993
10046
  await Promise.all([
9994
10047
  loadGenericPolygonShape(engine),
9995
10048
  loadTriangleShape(engine),
@@ -10122,7 +10175,7 @@
10122
10175
  }
10123
10176
 
10124
10177
  async function loadRotateUpdater(engine) {
10125
- engine.checkVersion("4.0.1");
10178
+ engine.checkVersion("4.0.3");
10126
10179
  await engine.pluginManager.register(e => {
10127
10180
  e.pluginManager.addParticleUpdater("rotate", container => {
10128
10181
  return Promise.resolve(new RotateUpdater(container));
@@ -10146,7 +10199,7 @@
10146
10199
  }
10147
10200
 
10148
10201
  async function loadSquareShape(engine) {
10149
- engine.checkVersion("4.0.1");
10202
+ engine.checkVersion("4.0.3");
10150
10203
  await engine.pluginManager.register(e => {
10151
10204
  e.pluginManager.addShape(["edge", "square"], () => Promise.resolve(new SquareDrawer()));
10152
10205
  });
@@ -10180,14 +10233,14 @@
10180
10233
  }
10181
10234
 
10182
10235
  async function loadStarShape(engine) {
10183
- engine.checkVersion("4.0.1");
10236
+ engine.checkVersion("4.0.3");
10184
10237
  await engine.pluginManager.register(e => {
10185
10238
  e.pluginManager.addShape(["star"], () => Promise.resolve(new StarDrawer()));
10186
10239
  });
10187
10240
  }
10188
10241
 
10189
10242
  async function loadSlim(engine) {
10190
- engine.checkVersion("4.0.1");
10243
+ engine.checkVersion("4.0.3");
10191
10244
  await engine.pluginManager.register(async (e) => {
10192
10245
  const loadInteractivityForSlim = async (e) => {
10193
10246
  await loadInteractivityPlugin(e);
@@ -10304,7 +10357,7 @@
10304
10357
  }
10305
10358
 
10306
10359
  async function loadTextShape(engine) {
10307
- engine.checkVersion("4.0.1");
10360
+ engine.checkVersion("4.0.3");
10308
10361
  await engine.pluginManager.register(e => {
10309
10362
  e.pluginManager.addShape(validTypes, () => Promise.resolve(new TextDrawer()));
10310
10363
  });
@@ -10441,7 +10494,7 @@
10441
10494
  }
10442
10495
 
10443
10496
  async function loadTiltUpdater(engine) {
10444
- engine.checkVersion("4.0.1");
10497
+ engine.checkVersion("4.0.3");
10445
10498
  await engine.pluginManager.register(e => {
10446
10499
  e.pluginManager.addParticleUpdater("tilt", container => {
10447
10500
  return Promise.resolve(new TiltUpdater(container));
@@ -10574,7 +10627,7 @@
10574
10627
  }
10575
10628
 
10576
10629
  async function loadTwinkleUpdater(engine) {
10577
- engine.checkVersion("4.0.1");
10630
+ engine.checkVersion("4.0.3");
10578
10631
  await engine.pluginManager.register(e => {
10579
10632
  e.pluginManager.addParticleUpdater("twinkle", container => {
10580
10633
  return Promise.resolve(new TwinkleUpdater(e.pluginManager, container));
@@ -10696,7 +10749,7 @@
10696
10749
  }
10697
10750
 
10698
10751
  async function loadWobbleUpdater(engine) {
10699
- engine.checkVersion("4.0.1");
10752
+ engine.checkVersion("4.0.3");
10700
10753
  await engine.pluginManager.register(e => {
10701
10754
  e.pluginManager.addParticleUpdater("wobble", container => {
10702
10755
  return Promise.resolve(new WobbleUpdater(container));
@@ -10705,7 +10758,7 @@
10705
10758
  }
10706
10759
 
10707
10760
  async function loadFull(engine) {
10708
- engine.checkVersion("4.0.1");
10761
+ engine.checkVersion("4.0.3");
10709
10762
  await engine.pluginManager.register(async (e) => {
10710
10763
  const loadEmittersPluginBundle = async (e) => {
10711
10764
  await loadEmittersPlugin(e);
@@ -10810,14 +10863,14 @@
10810
10863
  }
10811
10864
 
10812
10865
  async function loadResponsivePlugin(engine) {
10813
- engine.checkVersion("4.0.1");
10866
+ engine.checkVersion("4.0.3");
10814
10867
  await engine.pluginManager.register(e => {
10815
10868
  e.pluginManager.addPlugin(new ResponsivePlugin());
10816
10869
  });
10817
10870
  }
10818
10871
 
10819
10872
  const initPjs = async (engine) => {
10820
- engine.checkVersion("4.0.1");
10873
+ engine.checkVersion("4.0.3");
10821
10874
  await engine.pluginManager.register(async (e) => {
10822
10875
  await Promise.all([loadFull(e), loadResponsivePlugin(e)]);
10823
10876
  });
@@ -13674,6 +13727,44 @@
13674
13727
  EmittersPluginInstance: EmittersPluginInstance
13675
13728
  });
13676
13729
 
13730
+ class BlendPluginInstance {
13731
+ _container;
13732
+ _defaultCompositeValue;
13733
+ constructor(container) {
13734
+ this._container = container;
13735
+ }
13736
+ drawParticleCleanup(context, particle) {
13737
+ if (!particle.options.blend?.enable) {
13738
+ return;
13739
+ }
13740
+ context.globalCompositeOperation = particle.originalBlendMode ?? defaultCompositeValue;
13741
+ particle.originalBlendMode = undefined;
13742
+ }
13743
+ drawParticleSetup(context, particle) {
13744
+ if (!particle.options.blend?.enable) {
13745
+ return;
13746
+ }
13747
+ particle.originalBlendMode = context.globalCompositeOperation;
13748
+ context.globalCompositeOperation = particle.options.blend.mode;
13749
+ }
13750
+ drawSettingsCleanup(context) {
13751
+ if (!this._defaultCompositeValue) {
13752
+ return;
13753
+ }
13754
+ context.globalCompositeOperation = this._defaultCompositeValue;
13755
+ }
13756
+ drawSettingsSetup(context) {
13757
+ const previousComposite = context.globalCompositeOperation, blend = this._container.actualOptions.blend;
13758
+ this._defaultCompositeValue = previousComposite;
13759
+ context.globalCompositeOperation = blend?.enable ? blend.mode : previousComposite;
13760
+ }
13761
+ }
13762
+
13763
+ var BlendPluginInstance$1 = /*#__PURE__*/Object.freeze({
13764
+ __proto__: null,
13765
+ BlendPluginInstance: BlendPluginInstance
13766
+ });
13767
+
13677
13768
  const minVelocity$1 = 0, identity = 1, moveSpeedFactor = 60, minSpinRadius = 0, spinFactor = 0.01, defaultPathDelay = 0, noDecay = 1;
13678
13769
  function applyDistance(particle) {
13679
13770
  const initialPosition = particle.initialPosition, { dx, dy } = getDistances(initialPosition, particle.position), dxFixed = Math.abs(dx), dyFixed = Math.abs(dy), { maxDistance } = particle.retina, hDistance = maxDistance.horizontal, vDistance = maxDistance.vertical;