tsparticles 1.39.2 → 1.40.2

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 (168) hide show
  1. package/Core/Container.d.ts +3 -1
  2. package/Core/Container.js +30 -15
  3. package/Core/Loader.d.ts +12 -9
  4. package/Core/Loader.js +35 -19
  5. package/Core/Particle.d.ts +3 -1
  6. package/Core/Particle.js +17 -2
  7. package/Core/Particles.d.ts +3 -1
  8. package/Core/Particles.js +20 -5
  9. package/Core/Utils/InteractionManager.d.ts +5 -3
  10. package/Core/Utils/InteractionManager.js +19 -3
  11. package/Core/Utils/Plugins.d.ts +29 -15
  12. package/Core/Utils/Plugins.js +58 -46
  13. package/Options/Classes/Options.d.ts +2 -1
  14. package/Options/Classes/Options.js +14 -7
  15. package/Plugins/Emitters/EmitterInstance.d.ts +6 -3
  16. package/Plugins/Emitters/EmitterInstance.js +46 -16
  17. package/Plugins/Emitters/Emitters.d.ts +3 -1
  18. package/Plugins/Emitters/Emitters.js +17 -2
  19. package/Plugins/Emitters/{EmittersMain.d.ts → EmittersEngine.d.ts} +3 -1
  20. package/Plugins/Emitters/{EmittersMain.js → EmittersEngine.js} +0 -0
  21. package/Plugins/Emitters/IEmitterShape.d.ts +2 -2
  22. package/Plugins/Emitters/Options/Classes/Emitter.d.ts +1 -0
  23. package/Plugins/Emitters/Options/Classes/Emitter.js +1 -0
  24. package/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +1 -0
  25. package/Plugins/Emitters/ShapeManager.d.ts +6 -3
  26. package/Plugins/Emitters/ShapeManager.js +16 -4
  27. package/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +2 -2
  28. package/Plugins/Emitters/Shapes/Circle/CircleShape.js +2 -2
  29. package/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +2 -2
  30. package/Plugins/Emitters/Shapes/Square/SquareShape.js +4 -4
  31. package/Plugins/Emitters/index.d.ts +3 -3
  32. package/Plugins/Emitters/index.js +25 -6
  33. package/README.md +1 -1
  34. package/browser/Core/Container.d.ts +4 -1
  35. package/browser/Core/Container.js +32 -16
  36. package/browser/Core/Loader.d.ts +12 -9
  37. package/browser/Core/Loader.js +35 -19
  38. package/browser/Core/Particle.d.ts +3 -1
  39. package/browser/Core/Particle.js +18 -3
  40. package/browser/Core/Particles.d.ts +3 -1
  41. package/browser/Core/Particles.js +21 -6
  42. package/browser/Core/Utils/InteractionManager.d.ts +5 -3
  43. package/browser/Core/Utils/InteractionManager.js +19 -3
  44. package/browser/Core/Utils/Plugins.d.ts +29 -15
  45. package/browser/Core/Utils/Plugins.js +58 -46
  46. package/browser/Options/Classes/Options.d.ts +2 -1
  47. package/browser/Options/Classes/Options.js +14 -7
  48. package/browser/Plugins/Emitters/EmitterInstance.d.ts +6 -3
  49. package/browser/Plugins/Emitters/EmitterInstance.js +46 -16
  50. package/browser/Plugins/Emitters/Emitters.d.ts +3 -1
  51. package/browser/Plugins/Emitters/Emitters.js +17 -2
  52. package/{esm/Plugins/Emitters/EmittersMain.d.ts → browser/Plugins/Emitters/EmittersEngine.d.ts} +3 -1
  53. package/browser/Plugins/Emitters/{EmittersMain.js → EmittersEngine.js} +0 -0
  54. package/browser/Plugins/Emitters/IEmitterShape.d.ts +2 -2
  55. package/browser/Plugins/Emitters/Options/Classes/Emitter.d.ts +1 -0
  56. package/browser/Plugins/Emitters/Options/Classes/Emitter.js +1 -0
  57. package/browser/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +4 -0
  58. package/browser/Plugins/Emitters/ShapeManager.d.ts +6 -3
  59. package/browser/Plugins/Emitters/ShapeManager.js +16 -4
  60. package/browser/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +2 -2
  61. package/browser/Plugins/Emitters/Shapes/Circle/CircleShape.js +2 -2
  62. package/browser/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +2 -2
  63. package/browser/Plugins/Emitters/Shapes/Square/SquareShape.js +4 -4
  64. package/browser/Plugins/Emitters/index.d.ts +3 -3
  65. package/browser/Plugins/Emitters/index.js +25 -6
  66. package/browser/engine.d.ts +5 -1
  67. package/browser/engine.js +22 -17
  68. package/engine.d.ts +3 -0
  69. package/engine.js +20 -16
  70. package/esm/Core/Container.d.ts +3 -1
  71. package/esm/Core/Container.js +31 -16
  72. package/esm/Core/Loader.d.ts +12 -9
  73. package/esm/Core/Loader.js +35 -19
  74. package/esm/Core/Particle.d.ts +3 -1
  75. package/esm/Core/Particle.js +18 -3
  76. package/esm/Core/Particles.d.ts +3 -1
  77. package/esm/Core/Particles.js +21 -6
  78. package/esm/Core/Utils/InteractionManager.d.ts +5 -3
  79. package/esm/Core/Utils/InteractionManager.js +19 -3
  80. package/esm/Core/Utils/Plugins.d.ts +29 -15
  81. package/esm/Core/Utils/Plugins.js +58 -46
  82. package/esm/Options/Classes/Options.d.ts +2 -1
  83. package/esm/Options/Classes/Options.js +14 -7
  84. package/esm/Plugins/Emitters/EmitterInstance.d.ts +6 -3
  85. package/esm/Plugins/Emitters/EmitterInstance.js +46 -16
  86. package/esm/Plugins/Emitters/Emitters.d.ts +3 -1
  87. package/esm/Plugins/Emitters/Emitters.js +17 -2
  88. package/{browser/Plugins/Emitters/EmittersMain.d.ts → esm/Plugins/Emitters/EmittersEngine.d.ts} +3 -1
  89. package/esm/Plugins/Emitters/{EmittersMain.js → EmittersEngine.js} +0 -0
  90. package/esm/Plugins/Emitters/IEmitterShape.d.ts +2 -2
  91. package/esm/Plugins/Emitters/Options/Classes/Emitter.d.ts +1 -0
  92. package/esm/Plugins/Emitters/Options/Classes/Emitter.js +1 -0
  93. package/esm/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +1 -0
  94. package/esm/Plugins/Emitters/ShapeManager.d.ts +6 -3
  95. package/esm/Plugins/Emitters/ShapeManager.js +16 -4
  96. package/esm/Plugins/Emitters/Shapes/Circle/CircleShape.d.ts +2 -2
  97. package/esm/Plugins/Emitters/Shapes/Circle/CircleShape.js +2 -2
  98. package/esm/Plugins/Emitters/Shapes/Square/SquareShape.d.ts +2 -2
  99. package/esm/Plugins/Emitters/Shapes/Square/SquareShape.js +4 -4
  100. package/esm/Plugins/Emitters/index.d.ts +3 -3
  101. package/esm/Plugins/Emitters/index.js +25 -6
  102. package/esm/engine.d.ts +3 -0
  103. package/esm/engine.js +20 -16
  104. package/package.json +11 -6
  105. package/report.html +2 -2
  106. package/report.slim.html +2 -2
  107. package/tsparticles.engine.js +227 -118
  108. package/tsparticles.engine.min.js +2 -2
  109. package/tsparticles.interaction.external.attract.js +205 -100
  110. package/tsparticles.interaction.external.attract.min.js +2 -2
  111. package/tsparticles.interaction.external.bounce.js +205 -100
  112. package/tsparticles.interaction.external.bounce.min.js +2 -2
  113. package/tsparticles.interaction.external.bubble.js +205 -100
  114. package/tsparticles.interaction.external.bubble.min.js +2 -2
  115. package/tsparticles.interaction.external.connect.js +205 -100
  116. package/tsparticles.interaction.external.connect.min.js +2 -2
  117. package/tsparticles.interaction.external.grab.js +205 -100
  118. package/tsparticles.interaction.external.grab.min.js +2 -2
  119. package/tsparticles.interaction.external.repulse.js +205 -100
  120. package/tsparticles.interaction.external.repulse.min.js +2 -2
  121. package/tsparticles.interaction.external.trail.js +205 -100
  122. package/tsparticles.interaction.external.trail.min.js +2 -2
  123. package/tsparticles.interaction.particles.attract.js +205 -100
  124. package/tsparticles.interaction.particles.attract.min.js +2 -2
  125. package/tsparticles.interaction.particles.collisions.js +205 -100
  126. package/tsparticles.interaction.particles.collisions.min.js +2 -2
  127. package/tsparticles.interaction.particles.links.js +205 -100
  128. package/tsparticles.interaction.particles.links.min.js +2 -2
  129. package/tsparticles.js +347 -156
  130. package/tsparticles.min.js +2 -2
  131. package/tsparticles.pathseg.min.js +1 -1
  132. package/tsparticles.plugins.absorbers.js +205 -100
  133. package/tsparticles.plugins.absorbers.min.js +2 -2
  134. package/tsparticles.plugins.emitters.js +330 -143
  135. package/tsparticles.plugins.emitters.min.js +2 -2
  136. package/tsparticles.plugins.polygonMask.js +205 -100
  137. package/tsparticles.plugins.polygonMask.min.js +2 -2
  138. package/tsparticles.shape.circle.min.js +1 -1
  139. package/tsparticles.shape.image.js +208 -103
  140. package/tsparticles.shape.image.min.js +2 -2
  141. package/tsparticles.shape.line.min.js +1 -1
  142. package/tsparticles.shape.polygon.min.js +1 -1
  143. package/tsparticles.shape.square.min.js +1 -1
  144. package/tsparticles.shape.star.min.js +1 -1
  145. package/tsparticles.shape.text.js +205 -100
  146. package/tsparticles.shape.text.min.js +2 -2
  147. package/tsparticles.slim.js +227 -118
  148. package/tsparticles.slim.min.js +2 -2
  149. package/tsparticles.updater.angle.js +205 -100
  150. package/tsparticles.updater.angle.min.js +2 -2
  151. package/tsparticles.updater.color.js +205 -100
  152. package/tsparticles.updater.color.min.js +2 -2
  153. package/tsparticles.updater.life.js +205 -100
  154. package/tsparticles.updater.life.min.js +2 -2
  155. package/tsparticles.updater.opacity.js +205 -100
  156. package/tsparticles.updater.opacity.min.js +2 -2
  157. package/tsparticles.updater.outModes.js +205 -100
  158. package/tsparticles.updater.outModes.min.js +2 -2
  159. package/tsparticles.updater.roll.js +205 -100
  160. package/tsparticles.updater.roll.min.js +2 -2
  161. package/tsparticles.updater.size.js +205 -100
  162. package/tsparticles.updater.size.min.js +2 -2
  163. package/tsparticles.updater.strokeColor.js +205 -100
  164. package/tsparticles.updater.strokeColor.min.js +2 -2
  165. package/tsparticles.updater.tilt.js +205 -100
  166. package/tsparticles.updater.tilt.min.js +2 -2
  167. package/tsparticles.updater.wobble.js +205 -100
  168. package/tsparticles.updater.wobble.min.js +2 -2
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.39.2 by Matteo Bruni */
2
- !function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var t=o();for(var r in t)("object"==typeof exports?exports:e)[r]=t[r]}}(window,(function(){return function(){"use strict";var e={d:function(o,t){for(var r in t)e.o(t,r)&&!e.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:t[r]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{loadImageShape:function(){return g}});class t{}t.generatedAttribute="generated",t.randomColorValue="random",t.midColorValue="mid",t.touchEndEvent="touchend",t.mouseDownEvent="mousedown",t.mouseUpEvent="mouseup",t.mouseMoveEvent="mousemove",t.touchStartEvent="touchstart",t.touchMoveEvent="touchmove",t.mouseLeaveEvent="mouseleave",t.mouseOutEvent="mouseout",t.touchCancelEvent="touchcancel",t.resizeEvent="resize",t.visibilityChangeEvent="visibilitychange",t.noPolygonDataLoaded="No polygon data loaded.",t.noPolygonFound="No polygon found, you need to specify SVG url in config.";new Map,new Map,new Map,new Map,new Map,new Map,new Map;new WeakSet;function r(e,o){return`hsla(${e.h}, ${e.s}%, ${e.l}%, ${null!=o?o:1})`}const n=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function a(e){return new Promise((o=>{e.loading=!0;const t=new Image;t.addEventListener("load",(()=>{e.element=t,e.loading=!1,o()})),t.addEventListener("error",(()=>{e.error=!0,e.loading=!1,console.error(`Error tsParticles - loading image: ${e.source}`),o()})),t.src=e.source}))}async function i(e){if("svg"!==e.type)return void await a(e);e.loading=!0;const o=await fetch(e.source);e.loading=!1,o.ok||(console.error("Error tsParticles - Image not found"),e.error=!0),e.error||(e.svgData=await o.text())}function s(e,o,t,i){var s,l,c;const d=function(e,o,t){const{svgData:a}=e;if(!a)return"";const i=r(o,t);if(a.includes("fill"))return a.replace(n,(()=>i));const s=a.indexOf(">");return`${a.substring(0,s)} fill="${i}"${a.substring(s)}`}(e,t,null!==(l=null===(s=i.opacity)||void 0===s?void 0:s.value)&&void 0!==l?l:1),u=new Blob([d],{type:"image/svg+xml"}),g=URL||window.URL||window.webkitURL||window,f=g.createObjectURL(u),v=new Image,m={data:Object.assign(Object.assign({},e),{svgData:d}),ratio:o.width/o.height,replaceColor:null!==(c=o.replaceColor)&&void 0!==c?c:o.replace_color,source:o.src};return v.addEventListener("load",(()=>{const o=i.image;o&&(o.loaded=!0,e.element=v),g.revokeObjectURL(f)})),v.addEventListener("error",(()=>{g.revokeObjectURL(f);const o=Object.assign(Object.assign({},e),{error:!1,loading:!0});a(o).then((()=>{const t=i.image;t&&(e.element=o.element,t.loaded=!0)}))})),v.src=f,m}var l,c=function(e,o,t,r,n){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof o?e!==o||!n:!o.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,t):n?n.value=t:o.set(e,t),t},d=function(e,o,t,r){if("a"===t&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof o?e!==o||!r:!o.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:o.get(e)};class u{constructor(){l.set(this,void 0),c(this,l,[],"f")}getSidesCount(){return 12}getImages(e){const o=d(this,l,"f").find((o=>o.id===e.id));return o||(d(this,l,"f").push({id:e.id,images:[]}),this.getImages(e))}addImage(e,o){const t=this.getImages(e);null==t||t.images.push(o)}destroy(){c(this,l,[],"f")}async loadImageShape(e,o){const t=o.src;if(!t)throw new Error("Error tsParticles - No image.src");try{const r={source:t,type:t.substr(t.length-3),error:!1,loading:!0};this.addImage(e,r);const n=o.replaceColor?i:a;await n(r)}catch(e){throw new Error(`tsParticles error - ${o.src} not found`)}}draw(e,o,t,r){var n,a;const i=o.image,s=null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.element;if(!s)return;const l=null!==(a=null==i?void 0:i.ratio)&&void 0!==a?a:1,c={x:-t,y:-t};(null==i?void 0:i.data.svgData)&&(null==i?void 0:i.replaceColor)||(e.globalAlpha=r),e.drawImage(s,c.x,c.y,2*t,2*t/l),(null==i?void 0:i.data.svgData)&&(null==i?void 0:i.replaceColor)||(e.globalAlpha=1)}loadShape(e){var o,t,r;if("image"!==e.shape&&"images"!==e.shape)return;const n=this.getImages(e.container).images,a=e.shapeData,i=n.find((e=>e.source===a.src));let l;if(!i)return void this.loadImageShape(e.container,a).then((()=>{this.loadShape(e)}));if(i.error)return;const c=e.getFillColor();l=i.svgData&&a.replaceColor&&c?s(i,a,c,e):{data:i,loaded:!0,ratio:a.width/a.height,replaceColor:null!==(o=a.replaceColor)&&void 0!==o?o:a.replace_color,source:a.src},l.ratio||(l.ratio=1);const d={image:l,fill:null!==(t=a.fill)&&void 0!==t?t:e.fill,close:null!==(r=a.close)&&void 0!==r?r:e.close};e.image=d.image,e.fill=d.fill,e.close=d.close}}async function g(e){const o=new u;await e.addShape("image",o),await e.addShape("images",o)}return l=new WeakMap,o}()}));
1
+ /*! tsParticles v1.40.2 by Matteo Bruni */
2
+ !function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var t=o();for(var r in t)("object"==typeof exports?exports:e)[r]=t[r]}}(window,(function(){return function(){"use strict";var e={d:function(o,t){for(var r in t)e.o(t,r)&&!e.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:t[r]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{loadImageShape:function(){return g}});class t{}t.generatedAttribute="generated",t.randomColorValue="random",t.midColorValue="mid",t.touchEndEvent="touchend",t.mouseDownEvent="mousedown",t.mouseUpEvent="mouseup",t.mouseMoveEvent="mousemove",t.touchStartEvent="touchstart",t.touchMoveEvent="touchmove",t.mouseLeaveEvent="mouseleave",t.mouseOutEvent="mouseout",t.touchCancelEvent="touchcancel",t.resizeEvent="resize",t.visibilityChangeEvent="visibilitychange",t.noPolygonDataLoaded="No polygon data loaded.",t.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 r(e,o){return`hsla(${e.h}, ${e.s}%, ${e.l}%, ${null!=o?o:1})`}new WeakMap;const a=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d.]+%?\))|currentcolor/gi;async function n(e){return new Promise((o=>{e.loading=!0;const t=new Image;t.addEventListener("load",(()=>{e.element=t,e.loading=!1,o()})),t.addEventListener("error",(()=>{e.error=!0,e.loading=!1,console.error(`Error tsParticles - loading image: ${e.source}`),o()})),t.src=e.source}))}async function i(e){if("svg"!==e.type)return void await n(e);e.loading=!0;const o=await fetch(e.source);e.loading=!1,o.ok||(console.error("Error tsParticles - Image not found"),e.error=!0),e.error||(e.svgData=await o.text())}function s(e,o,t,i){var s,l,c;const d=function(e,o,t){const{svgData:n}=e;if(!n)return"";const i=r(o,t);if(n.includes("fill"))return n.replace(a,(()=>i));const s=n.indexOf(">");return`${n.substring(0,s)} fill="${i}"${n.substring(s)}`}(e,t,null!==(l=null===(s=i.opacity)||void 0===s?void 0:s.value)&&void 0!==l?l:1),u=new Blob([d],{type:"image/svg+xml"}),g=URL||window.URL||window.webkitURL||window,f=g.createObjectURL(u),v=new Image,m={data:Object.assign(Object.assign({},e),{svgData:d}),ratio:o.width/o.height,replaceColor:null!==(c=o.replaceColor)&&void 0!==c?c:o.replace_color,source:o.src};return v.addEventListener("load",(()=>{const o=i.image;o&&(o.loaded=!0,e.element=v),g.revokeObjectURL(f)})),v.addEventListener("error",(()=>{g.revokeObjectURL(f);const o=Object.assign(Object.assign({},e),{error:!1,loading:!0});n(o).then((()=>{const t=i.image;t&&(e.element=o.element,t.loaded=!0)}))})),v.src=f,m}var l,c=function(e,o,t,r,a){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!a)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof o?e!==o||!a:!o.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?a.call(e,t):a?a.value=t:o.set(e,t),t},d=function(e,o,t,r){if("a"===t&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof o?e!==o||!r:!o.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?r:"a"===t?r.call(e):r?r.value:o.get(e)};class u{constructor(){l.set(this,void 0),c(this,l,[],"f")}getSidesCount(){return 12}getImages(e){const o=d(this,l,"f").find((o=>o.id===e.id));return o||(d(this,l,"f").push({id:e.id,images:[]}),this.getImages(e))}addImage(e,o){const t=this.getImages(e);null==t||t.images.push(o)}destroy(){c(this,l,[],"f")}async loadImageShape(e,o){const t=o.src;if(!t)throw new Error("Error tsParticles - No image.src");try{const r={source:t,type:t.substr(t.length-3),error:!1,loading:!0};this.addImage(e,r);const a=o.replaceColor?i:n;await a(r)}catch(e){throw new Error(`tsParticles error - ${o.src} not found`)}}draw(e,o,t,r){var a,n;const i=o.image,s=null===(a=null==i?void 0:i.data)||void 0===a?void 0:a.element;if(!s)return;const l=null!==(n=null==i?void 0:i.ratio)&&void 0!==n?n:1,c={x:-t,y:-t};(null==i?void 0:i.data.svgData)&&(null==i?void 0:i.replaceColor)||(e.globalAlpha=r),e.drawImage(s,c.x,c.y,2*t,2*t/l),(null==i?void 0:i.data.svgData)&&(null==i?void 0:i.replaceColor)||(e.globalAlpha=1)}loadShape(e){var o,t,r;if("image"!==e.shape&&"images"!==e.shape)return;const a=this.getImages(e.container).images,n=e.shapeData,i=a.find((e=>e.source===n.src));let l;if(!i)return void this.loadImageShape(e.container,n).then((()=>{this.loadShape(e)}));if(i.error)return;const c=e.getFillColor();l=i.svgData&&n.replaceColor&&c?s(i,n,c,e):{data:i,loaded:!0,ratio:n.width/n.height,replaceColor:null!==(o=n.replaceColor)&&void 0!==o?o:n.replace_color,source:n.src},l.ratio||(l.ratio=1);const d={image:l,fill:null!==(t=n.fill)&&void 0!==t?t:e.fill,close:null!==(r=n.close)&&void 0!==r?r:e.close};e.image=d.image,e.fill=d.fill,e.close=d.close}}async function g(e){const o=new u;await e.addShape("image",o),await e.addShape("images",o)}return l=new WeakMap,o}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.39.2 by Matteo Bruni */
1
+ /*! tsParticles v1.40.2 by Matteo Bruni */
2
2
  !function(e,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var t=o();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(window,(function(){return function(){"use strict";var e={d:function(o,t){for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})},o:function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},o={};e.r(o),e.d(o,{loadLineShape:function(){return n}});class t{getSidesCount(){return 1}draw(e,o,t){e.moveTo(-t/2,0),e.lineTo(t/2,0)}}async function n(e){await e.addShape("line",new t)}return o}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.39.2 by Matteo Bruni */
1
+ /*! tsParticles v1.40.2 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(window,(function(){return function(){"use strict";var e={d:function(t,n){for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{loadGenericPolygonShape:function(){return a},loadPolygonShape:function(){return u},loadTriangleShape:function(){return i}});class n{getSidesCount(e){var t,n;const o=e.shapeData;return null!==(n=null!==(t=null==o?void 0:o.sides)&&void 0!==t?t:null==o?void 0:o.nb_sides)&&void 0!==n?n:5}draw(e,t,n){const o=this.getCenter(t,n),r=this.getSidesData(t,n),a=r.count.numerator*r.count.denominator,i=r.count.numerator/r.count.denominator,u=180*(i-2)/i,l=Math.PI-Math.PI*u/180;if(e){e.beginPath(),e.translate(o.x,o.y),e.moveTo(0,0);for(let t=0;t<a;t++)e.lineTo(r.length,0),e.translate(r.length,0),e.rotate(l)}}}class o extends n{getSidesData(e,t){var n,o;const r=e.shapeData,a=null!==(o=null!==(n=null==r?void 0:r.sides)&&void 0!==n?n:null==r?void 0:r.nb_sides)&&void 0!==o?o:5;return{count:{denominator:1,numerator:a},length:2.66*t/(a/3)}}getCenter(e,t){return{x:-t/(this.getSidesCount(e)/3.5),y:-t/.76}}}class r extends n{getSidesCount(){return 3}getSidesData(e,t){return{count:{denominator:2,numerator:3},length:2*t}}getCenter(e,t){return{x:-t,y:t/1.66}}}async function a(e){await e.addShape("polygon",new o)}async function i(e){await e.addShape("triangle",new r)}async function u(e){await a(e),await i(e)}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.39.2 by Matteo Bruni */
1
+ /*! tsParticles v1.40.2 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{loadSquareShape:function(){return r}});const o=Math.sqrt(2);class n{getSidesCount(){return 4}draw(e,t,n){e.rect(-n/o,-n/o,2*n/o,2*n/o)}}async function r(e){const t=new n;await e.addShape("edge",t),await e.addShape("square",t)}return t}()}));
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.39.2 by Matteo Bruni */
1
+ /*! tsParticles v1.40.2 by Matteo Bruni */
2
2
  !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var o=t();for(var n in o)("object"==typeof exports?exports:e)[n]=o[n]}}(window,(function(){return function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{loadStarShape:function(){return n}});class o{getSidesCount(e){var t,o;const n=e.shapeData;return null!==(o=null!==(t=null==n?void 0:n.sides)&&void 0!==t?t:null==n?void 0:n.nb_sides)&&void 0!==o?o:5}draw(e,t,o){var n;const r=t.shapeData,i=this.getSidesCount(t),a=null!==(n=null==r?void 0:r.inset)&&void 0!==n?n:2;e.moveTo(0,0-o);for(let t=0;t<i;t++)e.rotate(Math.PI/i),e.lineTo(0,0-o*a),e.rotate(Math.PI/i),e.lineTo(0,0-o)}}async function n(e){await e.addShape("star",new o)}return t}()}));