tsparticles 1.41.0 → 1.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/Core/Container.js +2 -2
  2. package/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  3. package/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  4. package/Core/Particles.d.ts +3 -3
  5. package/Core/Particles.js +7 -7
  6. package/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  7. package/Core/Utils/FrameManager.d.ts +1 -1
  8. package/Core/Utils/FrameManager.js +2 -2
  9. package/Core/Utils/InteractionManager.d.ts +2 -2
  10. package/Core/Utils/InteractionManager.js +4 -4
  11. package/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  12. package/Interactions/External/Attract/Attractor.d.ts +1 -1
  13. package/Interactions/External/Attract/Attractor.js +1 -1
  14. package/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  15. package/Interactions/External/Bounce/Bouncer.js +1 -1
  16. package/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  17. package/Interactions/External/Bubble/Bubbler.js +1 -1
  18. package/Interactions/External/Connect/Connector.d.ts +1 -1
  19. package/Interactions/External/Connect/Connector.js +1 -1
  20. package/Interactions/External/Grab/Grabber.d.ts +1 -1
  21. package/Interactions/External/Grab/Grabber.js +1 -1
  22. package/Interactions/External/Repulse/Repulser.d.ts +1 -1
  23. package/Interactions/External/Repulse/Repulser.js +1 -1
  24. package/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  25. package/Interactions/External/Trail/TrailMaker.js +1 -1
  26. package/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  27. package/Interactions/Particles/Attract/Attractor.js +1 -1
  28. package/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  29. package/Interactions/Particles/Collisions/Collider.js +1 -1
  30. package/Interactions/Particles/Links/Linker.d.ts +1 -1
  31. package/Interactions/Particles/Links/Linker.js +1 -1
  32. package/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
  33. package/browser/Core/Container.js +2 -2
  34. package/browser/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  35. package/browser/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  36. package/browser/Core/Particles.d.ts +3 -3
  37. package/browser/Core/Particles.js +7 -7
  38. package/browser/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  39. package/browser/Core/Utils/FrameManager.d.ts +1 -1
  40. package/browser/Core/Utils/FrameManager.js +2 -2
  41. package/browser/Core/Utils/InteractionManager.d.ts +2 -2
  42. package/browser/Core/Utils/InteractionManager.js +4 -4
  43. package/browser/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  44. package/browser/Interactions/External/Attract/Attractor.d.ts +1 -1
  45. package/browser/Interactions/External/Attract/Attractor.js +1 -1
  46. package/browser/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  47. package/browser/Interactions/External/Bounce/Bouncer.js +1 -1
  48. package/browser/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  49. package/browser/Interactions/External/Bubble/Bubbler.js +1 -1
  50. package/browser/Interactions/External/Connect/Connector.d.ts +1 -1
  51. package/browser/Interactions/External/Connect/Connector.js +1 -1
  52. package/browser/Interactions/External/Grab/Grabber.d.ts +1 -1
  53. package/browser/Interactions/External/Grab/Grabber.js +1 -1
  54. package/browser/Interactions/External/Repulse/Repulser.d.ts +1 -1
  55. package/browser/Interactions/External/Repulse/Repulser.js +1 -1
  56. package/browser/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  57. package/browser/Interactions/External/Trail/TrailMaker.js +1 -1
  58. package/browser/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  59. package/browser/Interactions/Particles/Attract/Attractor.js +1 -1
  60. package/browser/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  61. package/browser/Interactions/Particles/Collisions/Collider.js +1 -1
  62. package/browser/Interactions/Particles/Links/Linker.d.ts +1 -1
  63. package/browser/Interactions/Particles/Links/Linker.js +1 -1
  64. package/browser/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
  65. package/esm/Core/Container.js +2 -2
  66. package/esm/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  67. package/esm/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  68. package/esm/Core/Particles.d.ts +3 -3
  69. package/esm/Core/Particles.js +7 -7
  70. package/esm/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  71. package/esm/Core/Utils/FrameManager.d.ts +1 -1
  72. package/esm/Core/Utils/FrameManager.js +2 -2
  73. package/esm/Core/Utils/InteractionManager.d.ts +2 -2
  74. package/esm/Core/Utils/InteractionManager.js +4 -4
  75. package/esm/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  76. package/esm/Interactions/External/Attract/Attractor.d.ts +1 -1
  77. package/esm/Interactions/External/Attract/Attractor.js +1 -1
  78. package/esm/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  79. package/esm/Interactions/External/Bounce/Bouncer.js +1 -1
  80. package/esm/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  81. package/esm/Interactions/External/Bubble/Bubbler.js +1 -1
  82. package/esm/Interactions/External/Connect/Connector.d.ts +1 -1
  83. package/esm/Interactions/External/Connect/Connector.js +1 -1
  84. package/esm/Interactions/External/Grab/Grabber.d.ts +1 -1
  85. package/esm/Interactions/External/Grab/Grabber.js +1 -1
  86. package/esm/Interactions/External/Repulse/Repulser.d.ts +1 -1
  87. package/esm/Interactions/External/Repulse/Repulser.js +1 -1
  88. package/esm/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  89. package/esm/Interactions/External/Trail/TrailMaker.js +1 -1
  90. package/esm/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  91. package/esm/Interactions/Particles/Attract/Attractor.js +1 -1
  92. package/esm/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  93. package/esm/Interactions/Particles/Collisions/Collider.js +1 -1
  94. package/esm/Interactions/Particles/Links/Linker.d.ts +1 -1
  95. package/esm/Interactions/Particles/Links/Linker.js +1 -1
  96. package/esm/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
  97. package/package.json +1 -1
  98. package/report.html +6 -5
  99. package/report.slim.html +6 -5
  100. package/tsparticles.engine.js +15 -15
  101. package/tsparticles.engine.min.js +2 -2
  102. package/tsparticles.interaction.external.attract.js +14 -14
  103. package/tsparticles.interaction.external.attract.min.js +2 -2
  104. package/tsparticles.interaction.external.bounce.js +14 -14
  105. package/tsparticles.interaction.external.bounce.min.js +2 -2
  106. package/tsparticles.interaction.external.bubble.js +14 -14
  107. package/tsparticles.interaction.external.bubble.min.js +2 -2
  108. package/tsparticles.interaction.external.connect.js +14 -14
  109. package/tsparticles.interaction.external.connect.min.js +2 -2
  110. package/tsparticles.interaction.external.grab.js +14 -14
  111. package/tsparticles.interaction.external.grab.min.js +2 -2
  112. package/tsparticles.interaction.external.repulse.js +14 -14
  113. package/tsparticles.interaction.external.repulse.min.js +2 -2
  114. package/tsparticles.interaction.external.trail.js +14 -14
  115. package/tsparticles.interaction.external.trail.min.js +2 -2
  116. package/tsparticles.interaction.particles.attract.js +14 -14
  117. package/tsparticles.interaction.particles.attract.min.js +2 -2
  118. package/tsparticles.interaction.particles.collisions.js +14 -14
  119. package/tsparticles.interaction.particles.collisions.min.js +2 -2
  120. package/tsparticles.interaction.particles.links.js +14 -14
  121. package/tsparticles.interaction.particles.links.min.js +2 -2
  122. package/tsparticles.js +27 -27
  123. package/tsparticles.min.js +2 -2
  124. package/tsparticles.pathseg.min.js +1 -1
  125. package/tsparticles.plugins.absorbers.js +13 -13
  126. package/tsparticles.plugins.absorbers.min.js +1 -1
  127. package/tsparticles.plugins.emitters.js +13 -13
  128. package/tsparticles.plugins.emitters.min.js +1 -1
  129. package/tsparticles.plugins.polygonMask.js +15 -15
  130. package/tsparticles.plugins.polygonMask.min.js +2 -2
  131. package/tsparticles.shape.circle.min.js +1 -1
  132. package/tsparticles.shape.image.js +13 -13
  133. package/tsparticles.shape.image.min.js +1 -1
  134. package/tsparticles.shape.line.min.js +1 -1
  135. package/tsparticles.shape.polygon.min.js +1 -1
  136. package/tsparticles.shape.square.min.js +1 -1
  137. package/tsparticles.shape.star.min.js +1 -1
  138. package/tsparticles.shape.text.js +13 -13
  139. package/tsparticles.shape.text.min.js +1 -1
  140. package/tsparticles.slim.js +24 -24
  141. package/tsparticles.slim.min.js +2 -2
  142. package/tsparticles.updater.angle.js +13 -13
  143. package/tsparticles.updater.angle.min.js +1 -1
  144. package/tsparticles.updater.color.js +13 -13
  145. package/tsparticles.updater.color.min.js +1 -1
  146. package/tsparticles.updater.life.js +13 -13
  147. package/tsparticles.updater.life.min.js +1 -1
  148. package/tsparticles.updater.opacity.js +13 -13
  149. package/tsparticles.updater.opacity.min.js +1 -1
  150. package/tsparticles.updater.outModes.js +13 -13
  151. package/tsparticles.updater.outModes.min.js +1 -1
  152. package/tsparticles.updater.roll.js +13 -13
  153. package/tsparticles.updater.roll.min.js +1 -1
  154. package/tsparticles.updater.size.js +13 -13
  155. package/tsparticles.updater.size.min.js +1 -1
  156. package/tsparticles.updater.strokeColor.js +13 -13
  157. package/tsparticles.updater.strokeColor.min.js +1 -1
  158. package/tsparticles.updater.tilt.js +13 -13
  159. package/tsparticles.updater.tilt.min.js +1 -1
  160. package/tsparticles.updater.wobble.js +13 -13
  161. package/tsparticles.updater.wobble.min.js +1 -1
  162. package/umd/Core/Container.js +2 -2
  163. package/umd/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  164. package/umd/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  165. package/umd/Core/Particles.d.ts +3 -3
  166. package/umd/Core/Particles.js +7 -7
  167. package/umd/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  168. package/umd/Core/Utils/FrameManager.d.ts +1 -1
  169. package/umd/Core/Utils/FrameManager.js +2 -2
  170. package/umd/Core/Utils/InteractionManager.d.ts +2 -2
  171. package/umd/Core/Utils/InteractionManager.js +4 -4
  172. package/umd/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  173. package/umd/Interactions/External/Attract/Attractor.d.ts +1 -1
  174. package/umd/Interactions/External/Attract/Attractor.js +1 -1
  175. package/umd/Interactions/External/Bounce/Bouncer.d.ts +1 -1
  176. package/umd/Interactions/External/Bounce/Bouncer.js +1 -1
  177. package/umd/Interactions/External/Bubble/Bubbler.d.ts +1 -1
  178. package/umd/Interactions/External/Bubble/Bubbler.js +1 -1
  179. package/umd/Interactions/External/Connect/Connector.d.ts +1 -1
  180. package/umd/Interactions/External/Connect/Connector.js +1 -1
  181. package/umd/Interactions/External/Grab/Grabber.d.ts +1 -1
  182. package/umd/Interactions/External/Grab/Grabber.js +1 -1
  183. package/umd/Interactions/External/Repulse/Repulser.d.ts +1 -1
  184. package/umd/Interactions/External/Repulse/Repulser.js +1 -1
  185. package/umd/Interactions/External/Trail/TrailMaker.d.ts +1 -1
  186. package/umd/Interactions/External/Trail/TrailMaker.js +1 -1
  187. package/umd/Interactions/Particles/Attract/Attractor.d.ts +1 -1
  188. package/umd/Interactions/Particles/Attract/Attractor.js +1 -1
  189. package/umd/Interactions/Particles/Collisions/Collider.d.ts +1 -1
  190. package/umd/Interactions/Particles/Collisions/Collider.js +1 -1
  191. package/umd/Interactions/Particles/Links/Linker.d.ts +1 -1
  192. package/umd/Interactions/Particles/Links/Linker.js +1 -1
  193. package/umd/Plugins/PolygonMask/PolygonMaskInstance.js +1 -1
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.0 by Matteo Bruni */
2
- !function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var i=n();for(var e in i)("object"==typeof exports?exports:t)[e]=i[e]}}(window,(function(){return function(){"use strict";var t={d:function(n,i){for(var e in i)t.o(i,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:i[e]})},o:function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};function i(t,n,i,e){return Math.floor((t*i+n*e)/(i+e))}function e(t){const n=s(t);let i=o(t);return n===i&&(i=0),Math.random()*(n-i)+i}function o(t){return"number"==typeof t?t:t.min}function s(t){return"number"==typeof t?t:t.max}function r(t,n){if(t===n||void 0===n&&"number"==typeof t)return t;const i=o(t),e=s(t);return void 0!==n?{min:Math.min(i,n),max:Math.max(e,n)}:r(i,e)}function a(t,n){const i=t.x-n.x,e=t.y-n.y;return{dx:i,dy:e,distance:Math.sqrt(i*i+e*e)}}function l(t,n){return a(t,n).distance}function c(t,n,i=!0){return t[void 0!==n&&i?n%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function u(t,n,i){let e=i;return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function d(t){if(t.startsWith("rgb")){const n=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?{a:n.length>4?parseFloat(n[5]):1,b:parseInt(n[3],10),g:parseInt(n[2],10),r:parseInt(n[1],10)}:void 0}if(t.startsWith("hsl")){const n=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=f(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),l:parseInt(n[3],10),s:parseInt(n[2],10)}):void 0}if(t.startsWith("hsv")){const n=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=p(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),s:parseInt(n[2],10),v:parseInt(n[3],10)}):void 0}{const n=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,i=t.replace(n,((t,n,i,e,o)=>n+n+i+i+e+e+(void 0!==o?o+o:""))),e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(i);return e?{a:void 0!==e[4]?parseInt(e[4],16)/255:1,b:parseInt(e[3],16),g:parseInt(e[2],16),r:parseInt(e[1],16)}:void 0}}function h(t,n,i=!0){var e,o,s;if(void 0===t)return;const r="string"==typeof t?{value:t}:t;let a;if("string"==typeof r.value)a=r.value===M.randomColorValue?y():function(t){return d(t)}(r.value);else if(r.value instanceof Array){a=h({value:c(r.value,n,i)})}else{const t=r.value,n=null!==(e=t.rgb)&&void 0!==e?e:r.value;if(void 0!==n.r)a=n;else{const n=null!==(o=t.hsl)&&void 0!==o?o:r.value;if(void 0!==n.h&&void 0!==n.l)a=f(n);else{const n=null!==(s=t.hsv)&&void 0!==s?s:r.value;void 0!==n.h&&void 0!==n.v&&(a=p(n))}}}return a}function f(t){const n={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(0===i.s)n.b=i.l,n.g=i.l,n.r=i.l;else{const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,e=2*i.l-t;n.r=u(e,t,i.h+1/3),n.g=u(e,t,i.h),n.b=u(e,t,i.h-1/3)}return n.r=Math.floor(255*n.r),n.g=Math.floor(255*n.g),n.b=Math.floor(255*n.b),n}function p(t){const n={b:0,g:0,r:0},i=t.h/60,e=t.s/100,o=t.v/100,s=o*e,r=s*(1-Math.abs(i%2-1));let a;if(i>=0&&i<=1?a={r:s,g:r,b:0}:i>1&&i<=2?a={r:r,g:s,b:0}:i>2&&i<=3?a={r:0,g:s,b:r}:i>3&&i<=4?a={r:0,g:r,b:s}:i>4&&i<=5?a={r:r,g:0,b:s}:i>5&&i<=6&&(a={r:s,g:0,b:r}),a){const t=o-s;n.r=Math.floor(255*(a.r+t)),n.g=Math.floor(255*(a.g+t)),n.b=Math.floor(255*(a.b+t))}return n}function y(t){const n=null!=t?t:0;return{b:Math.floor(e(r(n,256))),g:Math.floor(e(r(n,256))),r:Math.floor(e(r(n,256)))}}function g(t,n){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=n?n:1})`}function v(t,n,e){var o,s;if(e===M.randomColorValue)return y();if("mid"!==e)return e;{const e=null!==(o=t.getFillColor())&&void 0!==o?o:t.getStrokeColor(),r=null!==(s=null==n?void 0:n.getFillColor())&&void 0!==s?s:null==n?void 0:n.getStrokeColor();if(e&&r&&n)return function(t,n,e,o){let s=t,r=n;return void 0===s.r&&(s=f(t)),void 0===r.r&&(r=f(n)),{b:i(s.b,r.b,e,o),g:i(s.g,r.g,e,o),r:i(s.r,r.r,e,o)}}(e,r,t.getRadius(),n.getRadius());{const t=null!=e?e:r;if(t)return f(t)}}}function x(t,n,i){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.closePath()}t.r(n),t.d(n,{loadParticlesLinksInteraction:function(){return I}});class k{constructor(t,n){this.position={x:t,y:n}}}class b extends k{constructor(t,n,i){super(t,n),this.radius=i}contains(t){return l(t,this.position)<=this.radius}intersects(t){const n=t,i=t,e=this.position,o=t.position,s=Math.abs(o.x-e.x),r=Math.abs(o.y-e.y),a=this.radius;if(void 0!==i.radius){return a+i.radius>Math.sqrt(s*s+r+r)}if(void 0!==n.size){const t=n.size.width,i=n.size.height,e=Math.pow(s-t,2)+Math.pow(r-i,2);return!(s>a+t||r>a+i)&&(s<=t||r<=i||e<=a*a)}return!1}}class w extends k{constructor(t,n,i,e){super(t,n),this.size={height:e,width:i}}contains(t){const n=this.size.width,i=this.size.height,e=this.position;return t.x>=e.x&&t.x<=e.x+n&&t.y>=e.y&&t.y<=e.y+i}intersects(t){const n=t,i=t,e=this.size.width,o=this.size.height,s=this.position,r=t.position;if(void 0!==i.radius)return i.intersects(this);if(void 0!==n.size){const t=n.size,i=t.width,a=t.height;return r.x<s.x+e&&r.x+i>s.x&&r.y<s.y+o&&r.y+a>s.y}return!1}}class m extends b{constructor(t,n,i,e){super(t,n,i),this.canvasSize=e,this.canvasSize={height:e.height,width:e.width}}contains(t){if(super.contains(t))return!0;const n={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(n))return!0;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return!0;const e={x:t.x,y:t.y-this.canvasSize.height};return super.contains(e)}intersects(t){if(super.intersects(t))return!0;const n=t,i=t,e={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new b(e.x,e.y,2*i.radius);return super.intersects(t)}if(void 0!==n.size){const t=new w(e.x,e.y,2*n.size.width,2*n.size.height);return super.intersects(t)}return!1}}class M{}M.generatedAttribute="generated",M.randomColorValue="random",M.midColorValue="mid",M.touchEndEvent="touchend",M.mouseDownEvent="mousedown",M.mouseUpEvent="mouseup",M.mouseMoveEvent="mousemove",M.touchStartEvent="touchstart",M.touchMoveEvent="touchmove",M.mouseLeaveEvent="mouseleave",M.mouseOutEvent="mouseout",M.touchCancelEvent="touchcancel",M.resizeEvent="resize",M.visibilityChangeEvent="visibilitychange",M.noPolygonDataLoaded="No polygon data loaded.",M.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function C(t,n,i,e,o){let s=l(t,n);if(!o||s<=i)return s;if(s=l(t,{x:n.x-e.width,y:n.y}),s<=i)return s;if(s=l(t,{x:n.x-e.width,y:n.y-e.height}),s<=i)return s;return s=l(t,{x:n.x,y:n.y-e.height}),s}new WeakMap;class z extends class{constructor(t){this.container=t,this.type=1}}{constructor(t){super(t)}isEnabled(t){return t.options.links.enable}reset(){}interact(t){var n;t.links=[];const i=t.getPosition(),e=this.container,o=e.canvas.size;if(i.x<0||i.y<0||i.x>o.width||i.y>o.height)return;const s=t.options.links,r=s.opacity,a=null!==(n=t.retina.linksDistance)&&void 0!==n?n:e.retina.linksDistance,l=s.warp,c=l?new m(i.x,i.y,a,o):new b(i.x,i.y,a),u=e.particles.quadTree.query(c);for(const n of u){const e=n.options.links;if(t===n||!e.enable||s.id!==e.id||n.spawning||n.destroyed||-1!==t.links.map((t=>t.destination)).indexOf(n)||-1!==n.links.map((t=>t.destination)).indexOf(t))continue;const c=n.getPosition();if(c.x<0||c.y<0||c.x>o.width||c.y>o.height)continue;const u=C(i,c,a,o,l&&e.warp);if(u>a)return;const d=(1-u/a)*r;this.setColor(t),t.links.push({destination:n,opacity:d})}}setColor(t){const n=this.container,i=t.options.links;let e=void 0===i.id?n.particles.linksColor:n.particles.linksColors.get(i.id);if(!e){e=function(t,n,i){const e="string"==typeof t?t:t.value;return e===M.randomColorValue?i?h({value:e}):n?M.randomColorValue:M.midColorValue:h({value:e})}(i.color,i.blink,i.consent),void 0===i.id?n.particles.linksColor=e:n.particles.linksColors.set(i.id,e)}}}class P{constructor(t){this.container=t}particleCreated(t){t.links=[]}particleDestroyed(t){t.links=[]}drawParticle(t,n){const i=n,e=this.container,o=e.particles,s=n.options;if(i.links.length>0){t.save();const n=i.links.filter((t=>e.particles.getLinkFrequency(i,t.destination)<=s.links.frequency));for(const t of n){const r=t.destination;if(s.links.triangles.enable){const a=n.map((t=>t.destination)),l=r.links.filter((t=>e.particles.getLinkFrequency(r,t.destination)<=r.options.links.frequency&&a.indexOf(t.destination)>=0));if(l.length)for(const n of l){const e=n.destination;o.getTriangleFrequency(i,r,e)>s.links.triangles.frequency||this.drawLinkTriangle(i,t,n)}}t.opacity>0&&e.retina.linksWidth>0&&this.drawLinkLine(i,t)}t.restore()}}drawLinkTriangle(t,n,i){var e;const o=this.container,s=o.actualOptions,r=n.destination,a=i.destination,c=t.options.links.triangles,u=null!==(e=c.opacity)&&void 0!==e?e:(n.opacity+i.opacity)/2;if(u<=0)return;const d=t.getPosition(),f=r.getPosition(),p=a.getPosition();o.canvas.draw((n=>{if(l(d,f)>o.retina.linksDistance||l(p,f)>o.retina.linksDistance||l(p,d)>o.retina.linksDistance)return;let i=h(c.color);if(!i){const n=t.options.links,e=void 0!==n.id?o.particles.linksColors.get(n.id):o.particles.linksColor;i=v(t,r,e)}i&&function(t,n,i,e,o,s,r,a){!function(t,n,i,e){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.lineTo(e.x,e.y),t.closePath()}(t,n,i,e),o&&(t.globalCompositeOperation=s),t.fillStyle=g(r,a),t.fill()}(n,d,f,p,s.backgroundMask.enable,s.backgroundMask.composite,i,u)}))}drawLinkLine(t,n){const i=this.container,e=i.actualOptions,o=n.destination;let s=n.opacity;const r=t.getPosition(),c=o.getPosition();i.canvas.draw((n=>{var u,d;let f;const p=t.options.twinkle.lines;if(p.enable){const t=p.frequency,n=h(p.color);Math.random()<t&&void 0!==n&&(f=n,s=p.opacity)}if(!f){const n=t.options.links,e=void 0!==n.id?i.particles.linksColors.get(n.id):i.particles.linksColor;f=v(t,o,e)}if(!f)return;const y=null!==(u=t.retina.linksWidth)&&void 0!==u?u:i.retina.linksWidth,k=null!==(d=t.retina.linksDistance)&&void 0!==d?d:i.retina.linksDistance;!function(t,n,i,e,o,s,r,c,u,d,f,p){let y=!1;if(l(i,e)<=o)x(t,i,e),y=!0;else if(r){let n,r;const l=a(i,{x:e.x-s.width,y:e.y});if(l.distance<=o){const t=i.y-l.dy/l.dx*i.x;n={x:0,y:t},r={x:s.width,y:t}}else{const t=a(i,{x:e.x,y:e.y-s.height});if(t.distance<=o){const e=-(i.y-t.dy/t.dx*i.x)/(t.dy/t.dx);n={x:e,y:0},r={x:e,y:s.height}}else{const t=a(i,{x:e.x-s.width,y:e.y-s.height});if(t.distance<=o){const e=i.y-t.dy/t.dx*i.x;n={x:-e/(t.dy/t.dx),y:e},r={x:n.x+s.width,y:n.y+s.height}}}}n&&r&&(x(t,i,n),x(t,e,r),y=!0)}if(y){if(t.lineWidth=n,c&&(t.globalCompositeOperation=u),t.strokeStyle=g(d,f),p.enable){const n=h(p.color);n&&(t.shadowBlur=p.blur,t.shadowColor=g(n))}t.stroke()}}(n,y,r,c,k,i.canvas.size,t.options.links.warp,e.backgroundMask.enable,e.backgroundMask.composite,f,s,t.options.links.shadow)}))}}class S{constructor(){this.id="links"}getPlugin(t){return new P(t)}needsPlugin(){return!0}loadOptions(){}}async function I(t){await async function(t){await t.addInteractor("particlesLinks",(t=>new z(t)))}(t),await async function(t){const n=new S;await t.addPlugin(n)}(t)}return n}()}));
1
+ /*! tsParticles v1.41.1 by Matteo Bruni */
2
+ !function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var i=n();for(var e in i)("object"==typeof exports?exports:t)[e]=i[e]}}(window,(function(){return function(){"use strict";var t={d:function(n,i){for(var e in i)t.o(i,e)&&!t.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:i[e]})},o:function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},n={};function i(t,n,i,e){return Math.floor((t*i+n*e)/(i+e))}function e(t){const n=s(t);let i=o(t);return n===i&&(i=0),Math.random()*(n-i)+i}function o(t){return"number"==typeof t?t:t.min}function s(t){return"number"==typeof t?t:t.max}function r(t,n){if(t===n||void 0===n&&"number"==typeof t)return t;const i=o(t),e=s(t);return void 0!==n?{min:Math.min(i,n),max:Math.max(e,n)}:r(i,e)}function a(t,n){const i=t.x-n.x,e=t.y-n.y;return{dx:i,dy:e,distance:Math.sqrt(i*i+e*e)}}function l(t,n){return a(t,n).distance}function c(t,n,i=!0){return t[void 0!==n&&i?n%t.length:function(t){return Math.floor(Math.random()*t.length)}(t)]}function u(t,n,i){let e=i;return e<0&&(e+=1),e>1&&(e-=1),e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}function d(t){if(t.startsWith("rgb")){const n=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?{a:n.length>4?parseFloat(n[5]):1,b:parseInt(n[3],10),g:parseInt(n[2],10),r:parseInt(n[1],10)}:void 0}if(t.startsWith("hsl")){const n=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=f(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),l:parseInt(n[3],10),s:parseInt(n[2],10)}):void 0}if(t.startsWith("hsv")){const n=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(t);return n?function(t){const n=p(t);return{a:t.a,b:n.b,g:n.g,r:n.r}}({a:n.length>4?parseFloat(n[5]):1,h:parseInt(n[1],10),s:parseInt(n[2],10),v:parseInt(n[3],10)}):void 0}{const n=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,i=t.replace(n,((t,n,i,e,o)=>n+n+i+i+e+e+(void 0!==o?o+o:""))),e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(i);return e?{a:void 0!==e[4]?parseInt(e[4],16)/255:1,b:parseInt(e[3],16),g:parseInt(e[2],16),r:parseInt(e[1],16)}:void 0}}function h(t,n,i=!0){var e,o,s;if(void 0===t)return;const r="string"==typeof t?{value:t}:t;let a;if("string"==typeof r.value)a=r.value===M.randomColorValue?y():function(t){return d(t)}(r.value);else if(r.value instanceof Array){a=h({value:c(r.value,n,i)})}else{const t=r.value,n=null!==(e=t.rgb)&&void 0!==e?e:r.value;if(void 0!==n.r)a=n;else{const n=null!==(o=t.hsl)&&void 0!==o?o:r.value;if(void 0!==n.h&&void 0!==n.l)a=f(n);else{const n=null!==(s=t.hsv)&&void 0!==s?s:r.value;void 0!==n.h&&void 0!==n.v&&(a=p(n))}}}return a}function f(t){const n={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(0===i.s)n.b=i.l,n.g=i.l,n.r=i.l;else{const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,e=2*i.l-t;n.r=u(e,t,i.h+1/3),n.g=u(e,t,i.h),n.b=u(e,t,i.h-1/3)}return n.r=Math.floor(255*n.r),n.g=Math.floor(255*n.g),n.b=Math.floor(255*n.b),n}function p(t){const n={b:0,g:0,r:0},i=t.h/60,e=t.s/100,o=t.v/100,s=o*e,r=s*(1-Math.abs(i%2-1));let a;if(i>=0&&i<=1?a={r:s,g:r,b:0}:i>1&&i<=2?a={r:r,g:s,b:0}:i>2&&i<=3?a={r:0,g:s,b:r}:i>3&&i<=4?a={r:0,g:r,b:s}:i>4&&i<=5?a={r:r,g:0,b:s}:i>5&&i<=6&&(a={r:s,g:0,b:r}),a){const t=o-s;n.r=Math.floor(255*(a.r+t)),n.g=Math.floor(255*(a.g+t)),n.b=Math.floor(255*(a.b+t))}return n}function y(t){const n=null!=t?t:0;return{b:Math.floor(e(r(n,256))),g:Math.floor(e(r(n,256))),r:Math.floor(e(r(n,256)))}}function g(t,n){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!=n?n:1})`}function v(t,n,e){var o,s;if(e===M.randomColorValue)return y();if("mid"!==e)return e;{const e=null!==(o=t.getFillColor())&&void 0!==o?o:t.getStrokeColor(),r=null!==(s=null==n?void 0:n.getFillColor())&&void 0!==s?s:null==n?void 0:n.getStrokeColor();if(e&&r&&n)return function(t,n,e,o){let s=t,r=n;return void 0===s.r&&(s=f(t)),void 0===r.r&&(r=f(n)),{b:i(s.b,r.b,e,o),g:i(s.g,r.g,e,o),r:i(s.r,r.r,e,o)}}(e,r,t.getRadius(),n.getRadius());{const t=null!=e?e:r;if(t)return f(t)}}}function x(t,n,i){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.closePath()}t.r(n),t.d(n,{loadParticlesLinksInteraction:function(){return I}});class k{constructor(t,n){this.position={x:t,y:n}}}class b extends k{constructor(t,n,i){super(t,n),this.radius=i}contains(t){return l(t,this.position)<=this.radius}intersects(t){const n=t,i=t,e=this.position,o=t.position,s=Math.abs(o.x-e.x),r=Math.abs(o.y-e.y),a=this.radius;if(void 0!==i.radius){return a+i.radius>Math.sqrt(s*s+r+r)}if(void 0!==n.size){const t=n.size.width,i=n.size.height,e=Math.pow(s-t,2)+Math.pow(r-i,2);return!(s>a+t||r>a+i)&&(s<=t||r<=i||e<=a*a)}return!1}}class w extends k{constructor(t,n,i,e){super(t,n),this.size={height:e,width:i}}contains(t){const n=this.size.width,i=this.size.height,e=this.position;return t.x>=e.x&&t.x<=e.x+n&&t.y>=e.y&&t.y<=e.y+i}intersects(t){const n=t,i=t,e=this.size.width,o=this.size.height,s=this.position,r=t.position;if(void 0!==i.radius)return i.intersects(this);if(void 0!==n.size){const t=n.size,i=t.width,a=t.height;return r.x<s.x+e&&r.x+i>s.x&&r.y<s.y+o&&r.y+a>s.y}return!1}}class m extends b{constructor(t,n,i,e){super(t,n,i),this.canvasSize=e,this.canvasSize={height:e.height,width:e.width}}contains(t){if(super.contains(t))return!0;const n={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(n))return!0;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return!0;const e={x:t.x,y:t.y-this.canvasSize.height};return super.contains(e)}intersects(t){if(super.intersects(t))return!0;const n=t,i=t,e={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new b(e.x,e.y,2*i.radius);return super.intersects(t)}if(void 0!==n.size){const t=new w(e.x,e.y,2*n.size.width,2*n.size.height);return super.intersects(t)}return!1}}class M{}M.generatedAttribute="generated",M.randomColorValue="random",M.midColorValue="mid",M.touchEndEvent="touchend",M.mouseDownEvent="mousedown",M.mouseUpEvent="mouseup",M.mouseMoveEvent="mousemove",M.touchStartEvent="touchstart",M.touchMoveEvent="touchmove",M.mouseLeaveEvent="mouseleave",M.mouseOutEvent="mouseout",M.touchCancelEvent="touchcancel",M.resizeEvent="resize",M.visibilityChangeEvent="visibilitychange",M.noPolygonDataLoaded="No polygon data loaded.",M.noPolygonFound="No polygon found, you need to specify SVG url in config.";new WeakMap;new WeakMap;new WeakMap,new WeakSet;new WeakMap;new WeakMap;new WeakMap;function C(t,n,i,e,o){let s=l(t,n);if(!o||s<=i)return s;if(s=l(t,{x:n.x-e.width,y:n.y}),s<=i)return s;if(s=l(t,{x:n.x-e.width,y:n.y-e.height}),s<=i)return s;return s=l(t,{x:n.x,y:n.y-e.height}),s}new WeakMap;class z extends class{constructor(t){this.container=t,this.type=1}}{constructor(t){super(t)}isEnabled(t){return t.options.links.enable}reset(){}async interact(t){var n;t.links=[];const i=t.getPosition(),e=this.container,o=e.canvas.size;if(i.x<0||i.y<0||i.x>o.width||i.y>o.height)return;const s=t.options.links,r=s.opacity,a=null!==(n=t.retina.linksDistance)&&void 0!==n?n:e.retina.linksDistance,l=s.warp,c=l?new m(i.x,i.y,a,o):new b(i.x,i.y,a),u=e.particles.quadTree.query(c);for(const n of u){const e=n.options.links;if(t===n||!e.enable||s.id!==e.id||n.spawning||n.destroyed||-1!==t.links.map((t=>t.destination)).indexOf(n)||-1!==n.links.map((t=>t.destination)).indexOf(t))continue;const c=n.getPosition();if(c.x<0||c.y<0||c.x>o.width||c.y>o.height)continue;const u=C(i,c,a,o,l&&e.warp);if(u>a)return;const d=(1-u/a)*r;this.setColor(t),t.links.push({destination:n,opacity:d})}}setColor(t){const n=this.container,i=t.options.links;let e=void 0===i.id?n.particles.linksColor:n.particles.linksColors.get(i.id);if(!e){e=function(t,n,i){const e="string"==typeof t?t:t.value;return e===M.randomColorValue?i?h({value:e}):n?M.randomColorValue:M.midColorValue:h({value:e})}(i.color,i.blink,i.consent),void 0===i.id?n.particles.linksColor=e:n.particles.linksColors.set(i.id,e)}}}class P{constructor(t){this.container=t}particleCreated(t){t.links=[]}particleDestroyed(t){t.links=[]}drawParticle(t,n){const i=n,e=this.container,o=e.particles,s=n.options;if(i.links.length>0){t.save();const n=i.links.filter((t=>e.particles.getLinkFrequency(i,t.destination)<=s.links.frequency));for(const t of n){const r=t.destination;if(s.links.triangles.enable){const a=n.map((t=>t.destination)),l=r.links.filter((t=>e.particles.getLinkFrequency(r,t.destination)<=r.options.links.frequency&&a.indexOf(t.destination)>=0));if(l.length)for(const n of l){const e=n.destination;o.getTriangleFrequency(i,r,e)>s.links.triangles.frequency||this.drawLinkTriangle(i,t,n)}}t.opacity>0&&e.retina.linksWidth>0&&this.drawLinkLine(i,t)}t.restore()}}drawLinkTriangle(t,n,i){var e;const o=this.container,s=o.actualOptions,r=n.destination,a=i.destination,c=t.options.links.triangles,u=null!==(e=c.opacity)&&void 0!==e?e:(n.opacity+i.opacity)/2;if(u<=0)return;const d=t.getPosition(),f=r.getPosition(),p=a.getPosition();o.canvas.draw((n=>{if(l(d,f)>o.retina.linksDistance||l(p,f)>o.retina.linksDistance||l(p,d)>o.retina.linksDistance)return;let i=h(c.color);if(!i){const n=t.options.links,e=void 0!==n.id?o.particles.linksColors.get(n.id):o.particles.linksColor;i=v(t,r,e)}i&&function(t,n,i,e,o,s,r,a){!function(t,n,i,e){t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(i.x,i.y),t.lineTo(e.x,e.y),t.closePath()}(t,n,i,e),o&&(t.globalCompositeOperation=s),t.fillStyle=g(r,a),t.fill()}(n,d,f,p,s.backgroundMask.enable,s.backgroundMask.composite,i,u)}))}drawLinkLine(t,n){const i=this.container,e=i.actualOptions,o=n.destination;let s=n.opacity;const r=t.getPosition(),c=o.getPosition();i.canvas.draw((n=>{var u,d;let f;const p=t.options.twinkle.lines;if(p.enable){const t=p.frequency,n=h(p.color);Math.random()<t&&void 0!==n&&(f=n,s=p.opacity)}if(!f){const n=t.options.links,e=void 0!==n.id?i.particles.linksColors.get(n.id):i.particles.linksColor;f=v(t,o,e)}if(!f)return;const y=null!==(u=t.retina.linksWidth)&&void 0!==u?u:i.retina.linksWidth,k=null!==(d=t.retina.linksDistance)&&void 0!==d?d:i.retina.linksDistance;!function(t,n,i,e,o,s,r,c,u,d,f,p){let y=!1;if(l(i,e)<=o)x(t,i,e),y=!0;else if(r){let n,r;const l=a(i,{x:e.x-s.width,y:e.y});if(l.distance<=o){const t=i.y-l.dy/l.dx*i.x;n={x:0,y:t},r={x:s.width,y:t}}else{const t=a(i,{x:e.x,y:e.y-s.height});if(t.distance<=o){const e=-(i.y-t.dy/t.dx*i.x)/(t.dy/t.dx);n={x:e,y:0},r={x:e,y:s.height}}else{const t=a(i,{x:e.x-s.width,y:e.y-s.height});if(t.distance<=o){const e=i.y-t.dy/t.dx*i.x;n={x:-e/(t.dy/t.dx),y:e},r={x:n.x+s.width,y:n.y+s.height}}}}n&&r&&(x(t,i,n),x(t,e,r),y=!0)}if(y){if(t.lineWidth=n,c&&(t.globalCompositeOperation=u),t.strokeStyle=g(d,f),p.enable){const n=h(p.color);n&&(t.shadowBlur=p.blur,t.shadowColor=g(n))}t.stroke()}}(n,y,r,c,k,i.canvas.size,t.options.links.warp,e.backgroundMask.enable,e.backgroundMask.composite,f,s,t.options.links.shadow)}))}}class S{constructor(){this.id="links"}getPlugin(t){return new P(t)}needsPlugin(){return!0}loadOptions(){}}async function I(t){await async function(t){await t.addInteractor("particlesLinks",(t=>new z(t)))}(t),await async function(t){const n=new S;await t.addPlugin(n)}(t)}return n}()}));
package/tsparticles.js CHANGED
@@ -288,7 +288,7 @@
288
288
  if (__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
289
289
  installedChunks[chunkId][0]();
290
290
  }
291
- installedChunks[chunkIds[i]] = 0;
291
+ installedChunks[chunkId] = 0;
292
292
  }
293
293
  return __webpack_require__.O(result);
294
294
  };
@@ -2156,7 +2156,7 @@
2156
2156
  constructor(container) {
2157
2157
  this.container = container;
2158
2158
  }
2159
- nextFrame(timestamp) {
2159
+ async nextFrame(timestamp) {
2160
2160
  var _a;
2161
2161
  try {
2162
2162
  const container = this.container;
@@ -2176,7 +2176,7 @@
2176
2176
  container.draw(false);
2177
2177
  return;
2178
2178
  }
2179
- container.particles.draw(delta);
2179
+ await container.particles.draw(delta);
2180
2180
  if (container.duration > 0 && container.lifeTime > container.duration) {
2181
2181
  container.destroy();
2182
2182
  return;
@@ -2227,20 +2227,20 @@
2227
2227
  }
2228
2228
  }
2229
2229
  }
2230
- externalInteract(delta) {
2230
+ async externalInteract(delta) {
2231
2231
  for (const interactor of this.externalInteractors) {
2232
2232
  if (interactor.isEnabled()) {
2233
- interactor.interact(delta);
2233
+ await interactor.interact(delta);
2234
2234
  }
2235
2235
  }
2236
2236
  }
2237
- particlesInteract(particle, delta) {
2237
+ async particlesInteract(particle, delta) {
2238
2238
  for (const interactor of this.externalInteractors) {
2239
2239
  interactor.reset(particle);
2240
2240
  }
2241
2241
  for (const interactor of this.particleInteractors) {
2242
2242
  if (interactor.isEnabled(particle)) {
2243
- interactor.interact(particle, delta);
2243
+ await interactor.interact(particle, delta);
2244
2244
  }
2245
2245
  }
2246
2246
  }
@@ -6093,10 +6093,10 @@
6093
6093
  }
6094
6094
  container.pathGenerator.init(container);
6095
6095
  }
6096
- redraw() {
6096
+ async redraw() {
6097
6097
  this.clear();
6098
6098
  this.init();
6099
- this.draw({
6099
+ await this.draw({
6100
6100
  value: 0,
6101
6101
  factor: 0
6102
6102
  });
@@ -6121,7 +6121,7 @@
6121
6121
  remove(particle, group, override) {
6122
6122
  this.removeAt(this.array.indexOf(particle), undefined, group, override);
6123
6123
  }
6124
- update(delta) {
6124
+ async update(delta) {
6125
6125
  const container = this.container;
6126
6126
  const particlesToDelete = [];
6127
6127
  container.pathGenerator.update();
@@ -6155,23 +6155,23 @@
6155
6155
  for (const particle of particlesToDelete) {
6156
6156
  this.remove(particle);
6157
6157
  }
6158
- this.interactionManager.externalInteract(delta);
6158
+ await this.interactionManager.externalInteract(delta);
6159
6159
  for (const particle of container.particles.array) {
6160
6160
  for (const updater of this.updaters) {
6161
6161
  updater.update(particle, delta);
6162
6162
  }
6163
6163
  if (!particle.destroyed && !particle.spawning) {
6164
- this.interactionManager.particlesInteract(particle, delta);
6164
+ await this.interactionManager.particlesInteract(particle, delta);
6165
6165
  }
6166
6166
  }
6167
6167
  delete container.canvas.resizeFactor;
6168
6168
  }
6169
- draw(delta) {
6169
+ async draw(delta) {
6170
6170
  const container = this.container;
6171
6171
  container.canvas.clear();
6172
6172
  const canvasSize = this.container.canvas.size;
6173
6173
  this.quadTree = new QuadTree(new Rectangle(-canvasSize.width / 4, -canvasSize.height / 4, canvasSize.width * 3 / 2, canvasSize.height * 3 / 2), 4);
6174
- this.update(delta);
6174
+ await this.update(delta);
6175
6175
  if (this.needsSort) {
6176
6176
  this.zArray.sort(((a, b) => b.position.z - a.position.z || a.id - b.id));
6177
6177
  this.lastZIndex = this.zArray[this.zArray.length - 1].position.z;
@@ -6532,12 +6532,12 @@
6532
6532
  }
6533
6533
  draw(force) {
6534
6534
  let refreshTime = force;
6535
- this.drawAnimationFrame = animate()((timestamp => {
6535
+ this.drawAnimationFrame = animate()((async timestamp => {
6536
6536
  if (refreshTime) {
6537
6537
  this.lastFrameTime = undefined;
6538
6538
  refreshTime = false;
6539
6539
  }
6540
- this.drawer.nextFrame(timestamp);
6540
+ await this.drawer.nextFrame(timestamp);
6541
6541
  }));
6542
6542
  }
6543
6543
  getAnimationStatus() {
@@ -8180,7 +8180,7 @@
8180
8180
  super(container);
8181
8181
  this.delay = 0;
8182
8182
  }
8183
- interact(delta) {
8183
+ async interact(delta) {
8184
8184
  var _a, _b, _c, _d;
8185
8185
  if (!this.container.retina.reduceFactor) {
8186
8186
  return;
@@ -8536,7 +8536,7 @@
8536
8536
  }
8537
8537
  this.redrawTimeout = window.setTimeout((async () => {
8538
8538
  await this.initRawData(true);
8539
- container.particles.redraw();
8539
+ await container.particles.redraw();
8540
8540
  }), 250);
8541
8541
  }
8542
8542
  stop() {
@@ -9120,7 +9120,7 @@
9120
9120
  return isInArray("attract", hoverMode) || isInArray("attract", clickMode);
9121
9121
  }
9122
9122
  reset() {}
9123
- interact() {
9123
+ async interact() {
9124
9124
  const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode;
9125
9125
  if (mouseMoveStatus && hoverEnabled && isInArray("attract", hoverMode)) {
9126
9126
  this.hoverAttract();
@@ -9184,7 +9184,7 @@
9184
9184
  const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = options.interactivity.events, divs = events.onDiv;
9185
9185
  return mouse.position && events.onHover.enable && isInArray("bounce", events.onHover.mode) || isDivModeEnabled("bounce", divs);
9186
9186
  }
9187
- interact() {
9187
+ async interact() {
9188
9188
  const container = this.container, options = container.actualOptions, events = options.interactivity.events, mouseMoveStatus = container.interactivity.status === Constants.mouseMoveEvent, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, divs = events.onDiv;
9189
9189
  if (mouseMoveStatus && hoverEnabled && isInArray("bounce", hoverMode)) {
9190
9190
  this.processMouseBounce();
@@ -9265,7 +9265,7 @@
9265
9265
  delete particle.bubble.radius;
9266
9266
  delete particle.bubble.color;
9267
9267
  }
9268
- interact() {
9268
+ async interact() {
9269
9269
  const options = this.container.actualOptions, events = options.interactivity.events, onHover = events.onHover, onClick = events.onClick, hoverEnabled = onHover.enable, hoverMode = onHover.mode, clickEnabled = onClick.enable, clickMode = onClick.mode, divs = events.onDiv;
9270
9270
  if (hoverEnabled && isInArray("bubble", hoverMode)) {
9271
9271
  this.hoverBubble();
@@ -9481,7 +9481,7 @@
9481
9481
  return isInArray("connect", events.onHover.mode);
9482
9482
  }
9483
9483
  reset() {}
9484
- interact() {
9484
+ async interact() {
9485
9485
  const container = this.container, options = container.actualOptions;
9486
9486
  if (options.interactivity.events.onHover.enable && container.interactivity.status === "mousemove") {
9487
9487
  const mousePos = container.interactivity.mouse.position;
@@ -9515,7 +9515,7 @@
9515
9515
  return events.onHover.enable && !!mouse.position && isInArray("grab", events.onHover.mode);
9516
9516
  }
9517
9517
  reset() {}
9518
- interact() {
9518
+ async interact() {
9519
9519
  var _a;
9520
9520
  const container = this.container, options = container.actualOptions, interactivity = options.interactivity;
9521
9521
  if (interactivity.events.onHover.enable && container.interactivity.status === Constants.mouseMoveEvent) {
@@ -9562,7 +9562,7 @@
9562
9562
  return isInArray("repulse", hoverMode) || isInArray("repulse", clickMode) || divRepulse;
9563
9563
  }
9564
9564
  reset() {}
9565
- interact() {
9565
+ async interact() {
9566
9566
  const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === Constants.mouseMoveEvent, events = options.interactivity.events, hoverEnabled = events.onHover.enable, hoverMode = events.onHover.mode, clickEnabled = events.onClick.enable, clickMode = events.onClick.mode, divs = events.onDiv;
9567
9567
  if (mouseMoveStatus && hoverEnabled && isInArray("repulse", hoverMode)) {
9568
9568
  this.hoverRepulse();
@@ -10243,7 +10243,7 @@
10243
10243
  constructor(container) {
10244
10244
  super(container);
10245
10245
  }
10246
- interact(p1) {
10246
+ async interact(p1) {
10247
10247
  var _a;
10248
10248
  const container = this.container, distance = (_a = p1.retina.attractDistance) !== null && _a !== void 0 ? _a : container.retina.attractDistance, pos1 = p1.getPosition(), query = container.particles.quadTree.queryCircle(pos1, distance);
10249
10249
  for (const p2 of query) {
@@ -10292,7 +10292,7 @@
10292
10292
  return particle.options.collisions.enable;
10293
10293
  }
10294
10294
  reset() {}
10295
- interact(p1) {
10295
+ async interact(p1) {
10296
10296
  const container = this.container;
10297
10297
  const pos1 = p1.getPosition();
10298
10298
  const radius1 = p1.getRadius();
@@ -10401,7 +10401,7 @@
10401
10401
  return particle.options.links.enable;
10402
10402
  }
10403
10403
  reset() {}
10404
- interact(p1) {
10404
+ async interact(p1) {
10405
10405
  var _a;
10406
10406
  p1.links = [];
10407
10407
  const pos1 = p1.getPosition();