tsparticles 1.41.1 → 1.41.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 (69) hide show
  1. package/Core/Particle.js +2 -2
  2. package/browser/Core/Particle.js +2 -2
  3. package/esm/Core/Particle.js +2 -2
  4. package/package.json +1 -1
  5. package/report.html +2 -2
  6. package/report.slim.html +2 -2
  7. package/tsparticles.engine.js +2 -2
  8. package/tsparticles.engine.min.js +2 -2
  9. package/tsparticles.interaction.external.attract.js +2 -2
  10. package/tsparticles.interaction.external.attract.min.js +1 -1
  11. package/tsparticles.interaction.external.bounce.js +2 -2
  12. package/tsparticles.interaction.external.bounce.min.js +1 -1
  13. package/tsparticles.interaction.external.bubble.js +2 -2
  14. package/tsparticles.interaction.external.bubble.min.js +1 -1
  15. package/tsparticles.interaction.external.connect.js +2 -2
  16. package/tsparticles.interaction.external.connect.min.js +1 -1
  17. package/tsparticles.interaction.external.grab.js +2 -2
  18. package/tsparticles.interaction.external.grab.min.js +1 -1
  19. package/tsparticles.interaction.external.repulse.js +2 -2
  20. package/tsparticles.interaction.external.repulse.min.js +1 -1
  21. package/tsparticles.interaction.external.trail.js +2 -2
  22. package/tsparticles.interaction.external.trail.min.js +1 -1
  23. package/tsparticles.interaction.particles.attract.js +2 -2
  24. package/tsparticles.interaction.particles.attract.min.js +1 -1
  25. package/tsparticles.interaction.particles.collisions.js +2 -2
  26. package/tsparticles.interaction.particles.collisions.min.js +1 -1
  27. package/tsparticles.interaction.particles.links.js +2 -2
  28. package/tsparticles.interaction.particles.links.min.js +1 -1
  29. package/tsparticles.js +2 -2
  30. package/tsparticles.min.js +2 -2
  31. package/tsparticles.pathseg.min.js +1 -1
  32. package/tsparticles.plugins.absorbers.js +2 -2
  33. package/tsparticles.plugins.absorbers.min.js +1 -1
  34. package/tsparticles.plugins.emitters.js +2 -2
  35. package/tsparticles.plugins.emitters.min.js +1 -1
  36. package/tsparticles.plugins.polygonMask.js +2 -2
  37. package/tsparticles.plugins.polygonMask.min.js +1 -1
  38. package/tsparticles.shape.circle.min.js +1 -1
  39. package/tsparticles.shape.image.js +2 -2
  40. package/tsparticles.shape.image.min.js +1 -1
  41. package/tsparticles.shape.line.min.js +1 -1
  42. package/tsparticles.shape.polygon.min.js +1 -1
  43. package/tsparticles.shape.square.min.js +1 -1
  44. package/tsparticles.shape.star.min.js +1 -1
  45. package/tsparticles.shape.text.js +2 -2
  46. package/tsparticles.shape.text.min.js +1 -1
  47. package/tsparticles.slim.js +2 -2
  48. package/tsparticles.slim.min.js +2 -2
  49. package/tsparticles.updater.angle.js +2 -2
  50. package/tsparticles.updater.angle.min.js +1 -1
  51. package/tsparticles.updater.color.js +2 -2
  52. package/tsparticles.updater.color.min.js +1 -1
  53. package/tsparticles.updater.life.js +2 -2
  54. package/tsparticles.updater.life.min.js +1 -1
  55. package/tsparticles.updater.opacity.js +2 -2
  56. package/tsparticles.updater.opacity.min.js +1 -1
  57. package/tsparticles.updater.outModes.js +2 -2
  58. package/tsparticles.updater.outModes.min.js +1 -1
  59. package/tsparticles.updater.roll.js +2 -2
  60. package/tsparticles.updater.roll.min.js +1 -1
  61. package/tsparticles.updater.size.js +2 -2
  62. package/tsparticles.updater.size.min.js +1 -1
  63. package/tsparticles.updater.strokeColor.js +2 -2
  64. package/tsparticles.updater.strokeColor.min.js +1 -1
  65. package/tsparticles.updater.tilt.js +2 -2
  66. package/tsparticles.updater.tilt.min.js +1 -1
  67. package/tsparticles.updater.wobble.js +2 -2
  68. package/tsparticles.updater.wobble.min.js +1 -1
  69. package/umd/Core/Particle.js +2 -2
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.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,{loadAngleUpdater:function(){return u}});class o{}o.generatedAttribute="generated",o.randomColorValue="random",o.midColorValue="mid",o.touchEndEvent="touchend",o.mouseDownEvent="mousedown",o.mouseUpEvent="mouseup",o.mouseMoveEvent="mousemove",o.touchStartEvent="touchstart",o.touchMoveEvent="touchmove",o.mouseLeaveEvent="mouseleave",o.mouseOutEvent="mouseout",o.touchCancelEvent="touchcancel",o.resizeEvent="resize",o.visibilityChangeEvent="visibilitychange",o.noPolygonDataLoaded="No polygon data loaded.",o.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 n(e){return"number"==typeof e?e:function(e){const t=r(e);let o=a(e);return t===o&&(o=0),Math.random()*(t-o)+o}(e)}function a(e){return"number"==typeof e?e:e.min}function r(e){return"number"==typeof e?e:e.max}new WeakMap;class i{constructor(e){this.container=e}init(e){const t=e.options.rotate;e.rotate={enable:t.animation.enable,value:n(t.value)*Math.PI/180};let o=t.direction;if("random"===o){o=Math.floor(2*Math.random())>0?"counter-clockwise":"clockwise"}switch(o){case"counter-clockwise":case"counterClockwise":e.rotate.status=1;break;case"clockwise":e.rotate.status=0}const a=e.options.rotate.animation;a.enable&&(e.rotate.velocity=a.speed/360*this.container.retina.reduceFactor,a.sync||(e.rotate.velocity*=Math.random()))}isEnabled(e){const t=e.options.rotate,o=t.animation;return!e.destroyed&&!e.spawning&&!t.path&&o.enable}update(e,t){this.isEnabled(e)&&function(e,t){var o;const n=e.rotate;if(!n)return;const a=e.options.rotate.animation,r=(null!==(o=n.velocity)&&void 0!==o?o:0)*t.factor,i=2*Math.PI;if(a.enable)switch(n.status){case 0:n.value+=r,n.value>i&&(n.value-=i);break;case 1:default:n.value-=r,n.value<0&&(n.value+=i)}}(e,t)}}async function u(e){await e.addParticleUpdater("angle",(e=>new i(e)))}return t}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.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 n=o();for(var t in n)("object"==typeof exports?exports:e)[t]=n[t]}}(window,(function(){return function(){"use strict";var e={d:function(o,n){for(var t in n)e.o(n,t)&&!e.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:n[t]})},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,{loadColorUpdater:function(){return m}});class n{}n.generatedAttribute="generated",n.randomColorValue="random",n.midColorValue="mid",n.touchEndEvent="touchend",n.mouseDownEvent="mousedown",n.mouseUpEvent="mouseup",n.mouseMoveEvent="mousemove",n.touchStartEvent="touchstart",n.touchMoveEvent="touchmove",n.mouseLeaveEvent="mouseleave",n.mouseOutEvent="mouseout",n.touchCancelEvent="touchcancel",n.resizeEvent="resize",n.visibilityChangeEvent="visibilitychange",n.noPolygonDataLoaded="No polygon data loaded.",n.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 t(e){const o=a(e);let n=r(e);return o===n&&(n=0),Math.random()*(o-n)+n}function r(e){return"number"==typeof e?e:e.min}function a(e){return"number"==typeof e?e:e.max}function l(e,o){if(e===o||void 0===o&&"number"==typeof e)return e;const n=r(e),t=a(e);return void 0!==o?{min:Math.min(n,o),max:Math.max(t,o)}:l(n,t)}function s(e,o,n=!0){return e[void 0!==o&&n?o%e.length:function(e){return Math.floor(Math.random()*e.length)}(e)]}function i(e,o,n){let t=n;return t<0&&(t+=1),t>1&&(t-=1),t<1/6?e+6*(o-e)*t:t<.5?o:t<2/3?e+(o-e)*(2/3-t)*6:e}function u(e){if(e.startsWith("rgb")){const o=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?{a:o.length>4?parseFloat(o[5]):1,b:parseInt(o[3],10),g:parseInt(o[2],10),r:parseInt(o[1],10)}:void 0}if(e.startsWith("hsl")){const o=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?function(e){const o=v(e);return{a:e.a,b:o.b,g:o.g,r:o.r}}({a:o.length>4?parseFloat(o[5]):1,h:parseInt(o[1],10),l:parseInt(o[3],10),s:parseInt(o[2],10)}):void 0}if(e.startsWith("hsv")){const o=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return o?function(e){const o=f(e);return{a:e.a,b:o.b,g:o.g,r:o.r}}({a:o.length>4?parseFloat(o[5]):1,h:parseInt(o[1],10),s:parseInt(o[2],10),v:parseInt(o[3],10)}):void 0}{const o=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,n=e.replace(o,((e,o,n,t,r)=>o+o+n+n+t+t+(void 0!==r?r+r:""))),t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(n);return t?{a:void 0!==t[4]?parseInt(t[4],16)/255:1,b:parseInt(t[3],16),g:parseInt(t[2],16),r:parseInt(t[1],16)}:void 0}}function c(e,o,t=!0){var r,a,l;if(void 0===e)return;const i="string"==typeof e?{value:e}:e;let d;if("string"==typeof i.value)d=i.value===n.randomColorValue?h():function(e){return u(e)}(i.value);else if(i.value instanceof Array){d=c({value:s(i.value,o,t)})}else{const e=i.value,o=null!==(r=e.rgb)&&void 0!==r?r:i.value;if(void 0!==o.r)d=o;else{const o=null!==(a=e.hsl)&&void 0!==a?a:i.value;if(void 0!==o.h&&void 0!==o.l)d=v(o);else{const o=null!==(l=e.hsv)&&void 0!==l?l:i.value;void 0!==o.h&&void 0!==o.v&&(d=f(o))}}}return d}function d(e,o,n=!0){const t=c(e,o,n);return void 0!==t?function(e){const o=e.r/255,n=e.g/255,t=e.b/255,r=Math.max(o,n,t),a=Math.min(o,n,t),l={h:0,l:(r+a)/2,s:0};r!=a&&(l.s=l.l<.5?(r-a)/(r+a):(r-a)/(2-r-a),l.h=o===r?(n-t)/(r-a):l.h=n===r?2+(t-o)/(r-a):4+(o-n)/(r-a));l.l*=100,l.s*=100,l.h*=60,l.h<0&&(l.h+=360);return l}(t):void 0}function v(e){const o={b:0,g:0,r:0},n={h:e.h/360,l:e.l/100,s:e.s/100};if(0===n.s)o.b=n.l,o.g=n.l,o.r=n.l;else{const e=n.l<.5?n.l*(1+n.s):n.l+n.s-n.l*n.s,t=2*n.l-e;o.r=i(t,e,n.h+1/3),o.g=i(t,e,n.h),o.b=i(t,e,n.h-1/3)}return o.r=Math.floor(255*o.r),o.g=Math.floor(255*o.g),o.b=Math.floor(255*o.b),o}function f(e){const o={b:0,g:0,r:0},n=e.h/60,t=e.s/100,r=e.v/100,a=r*t,l=a*(1-Math.abs(n%2-1));let s;if(n>=0&&n<=1?s={r:a,g:l,b:0}:n>1&&n<=2?s={r:l,g:a,b:0}:n>2&&n<=3?s={r:0,g:a,b:l}:n>3&&n<=4?s={r:0,g:l,b:a}:n>4&&n<=5?s={r:l,g:0,b:a}:n>5&&n<=6&&(s={r:a,g:0,b:l}),s){const e=r-a;o.r=Math.floor(255*(s.r+e)),o.g=Math.floor(255*(s.g+e)),o.b=Math.floor(255*(s.b+e))}return o}function h(e){const o=null!=e?e:0;return{b:Math.floor(t(l(o,256))),g:Math.floor(t(l(o,256))),r:Math.floor(t(l(o,256)))}}function p(e,o,n){if(e.enable=o.enable,e.enable){if(e.velocity=o.speed/100*n,o.sync)return;e.status=0,e.velocity*=Math.random(),e.value&&(e.value*=Math.random())}else e.velocity=0}function b(e,o,n,r,a){var l;const s=o;if(!s||!n.enable)return;const i=t(n.offset),u=(null!==(l=o.velocity)&&void 0!==l?l:0)*e.factor+3.6*i;a&&0!==s.status?(s.value-=u,s.value<0&&(s.status=0,s.value+=s.value)):(s.value+=u,a&&s.value>r&&(s.status=1,s.value-=s.value%r)),s.value>r&&(s.value%=r)}new WeakMap;class g{constructor(e){this.container=e}init(e){const o=d(e.options.color,e.id,e.options.reduceDuplicates);o&&(e.color=function(e,o,n){const t={h:{enable:!1,value:e.h},s:{enable:!1,value:e.s},l:{enable:!1,value:e.l}};return o&&(p(t.h,o.h,n),p(t.s,o.s,n),p(t.l,o.l,n)),t}(o,e.options.color.animation,this.container.retina.reduceFactor))}isEnabled(e){var o,n,t;const r=e.options.color.animation;return!e.destroyed&&!e.spawning&&(void 0!==(null===(o=e.color)||void 0===o?void 0:o.h.value)&&r.h.enable||void 0!==(null===(n=e.color)||void 0===n?void 0:n.s.value)&&r.s.enable||void 0!==(null===(t=e.color)||void 0===t?void 0:t.l.value)&&r.l.enable)}update(e,o){!function(e,o){var n,t,r;const a=e.options.color.animation;void 0!==(null===(n=e.color)||void 0===n?void 0:n.h)&&b(o,e.color.h,a.h,360,!1),void 0!==(null===(t=e.color)||void 0===t?void 0:t.s)&&b(o,e.color.s,a.s,100,!0),void 0!==(null===(r=e.color)||void 0===r?void 0:r.l)&&b(o,e.color.l,a.l,100,!0)}(e,o)}}async function m(e){await e.addParticleUpdater("color",(e=>new g(e)))}return o}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.2 by Matteo Bruni */
2
2
  !function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(window,(function(){return function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};e.r(n),e.d(n,{loadLifeUpdater:function(){return l}});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 o(e){const n=r(e);let t=a(e);return n===t&&(t=0),Math.random()*(n-t)+t}function i(e){return"number"==typeof e?e:o(e)}function a(e){return"number"==typeof e?e:e.min}function r(e){return"number"==typeof e?e:e.max}function u(e,n){if(e===n||void 0===n&&"number"==typeof e)return e;const t=a(e),o=r(e);return void 0!==n?{min:Math.min(t,n),max:Math.max(o,n)}:u(t,o)}new WeakMap;class d{constructor(e){this.container=e}init(){}isEnabled(e){return!e.destroyed}update(e,n){if(!this.isEnabled(e))return;const t=e.life;let a=!1;if(e.spawning){if(t.delayTime+=n.value,!(t.delayTime>=e.life.delay))return;a=!0,e.spawning=!1,t.delayTime=0,t.time=0}if(-1===t.duration)return;if(e.spawning)return;if(a?t.time=0:t.time+=n.value,t.time<t.duration)return;if(t.time=0,e.life.count>0&&e.life.count--,0===e.life.count)return void e.destroy();const r=this.container.canvas.size,d=u(0,r.width),l=u(0,r.width);e.position.x=o(d),e.position.y=o(l),e.spawning=!0,t.delayTime=0,t.time=0,e.reset();const c=e.options.life;t.delay=1e3*i(c.delay.value),t.duration=1e3*i(c.duration.value)}}async function l(e){await e.addParticleUpdater("life",(e=>new d(e)))}return n}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.2 by Matteo Bruni */
2
2
  !function(o,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e=t();for(var a in e)("object"==typeof exports?exports:o)[a]=e[a]}}(window,(function(){return function(){"use strict";var o={d:function(t,e){for(var a in e)o.o(e,a)&&!o.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:e[a]})},o:function(o,t){return Object.prototype.hasOwnProperty.call(o,t)},r:function(o){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})}},t={};o.r(t),o.d(t,{loadOpacityUpdater:function(){return s}});class e{}e.generatedAttribute="generated",e.randomColorValue="random",e.midColorValue="mid",e.touchEndEvent="touchend",e.mouseDownEvent="mousedown",e.mouseUpEvent="mouseup",e.mouseMoveEvent="mousemove",e.touchStartEvent="touchstart",e.touchMoveEvent="touchmove",e.mouseLeaveEvent="mouseleave",e.mouseOutEvent="mouseout",e.touchCancelEvent="touchcancel",e.resizeEvent="resize",e.visibilityChangeEvent="visibilitychange",e.noPolygonDataLoaded="No polygon data loaded.",e.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 a(o){const t=c(o);let e=i(o);return t===e&&(e=0),Math.random()*(t-e)+e}function n(o){return"number"==typeof o?o:a(o)}function i(o){return"number"==typeof o?o:o.min}function c(o){return"number"==typeof o?o:o.max}function u(o,t){var e,a,n,i,c;if(!o.opacity)return;const u=o.opacity.min,p=o.opacity.max;if(!o.destroyed&&o.opacity.enable&&((null!==(e=o.opacity.maxLoops)&&void 0!==e?e:0)<=0||(null!==(a=o.opacity.loops)&&void 0!==a?a:0)<(null!==(n=o.opacity.maxLoops)&&void 0!==n?n:0))){switch(o.opacity.status){case 0:o.opacity.value>=p?(o.opacity.status=1,o.opacity.loops||(o.opacity.loops=0),o.opacity.loops++):o.opacity.value+=(null!==(i=o.opacity.velocity)&&void 0!==i?i:0)*t.factor;break;case 1:o.opacity.value<=u?(o.opacity.status=0,o.opacity.loops||(o.opacity.loops=0),o.opacity.loops++):o.opacity.value-=(null!==(c=o.opacity.velocity)&&void 0!==c?c:0)*t.factor}var s,r,l;!function(o,t,e,a){switch(o.options.opacity.animation.destroy){case"max":t>=a&&o.destroy();break;case"min":t<=e&&o.destroy()}}(o,o.opacity.value,u,p),o.destroyed||(o.opacity.value=(s=o.opacity.value,r=u,l=p,Math.min(Math.max(s,r),l)))}}new WeakMap;class p{constructor(o){this.container=o}init(o){const t=o.options.opacity;o.opacity={enable:t.animation.enable,max:c(t.value),min:i(t.value),value:n(t.value),loops:0,maxLoops:t.animation.count};const e=t.animation;if(e.enable){o.opacity.status=0;const n=t.value;switch(o.opacity.min=i(n),o.opacity.max=c(n),e.startValue){case"min":o.opacity.value=o.opacity.min,o.opacity.status=0;break;case"random":o.opacity.value=a(o.opacity),o.opacity.status=Math.random()>=.5?0:1;break;case"max":default:o.opacity.value=o.opacity.max,o.opacity.status=1}o.opacity.velocity=e.speed/100*this.container.retina.reduceFactor,e.sync||(o.opacity.velocity*=Math.random())}}isEnabled(o){var t,e,a;return!o.destroyed&&!o.spawning&&!!o.opacity&&o.opacity.enable&&((null!==(t=o.opacity.maxLoops)&&void 0!==t?t:0)<=0||(null!==(e=o.opacity.loops)&&void 0!==e?e:0)<(null!==(a=o.opacity.maxLoops)&&void 0!==a?a:0))}update(o,t){this.isEnabled(o)&&u(o,t)}}async function s(o){await o.addParticleUpdater("opacity",(o=>new p(o)))}return t}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.2 by Matteo Bruni */
2
2
  !function(t,o){if("object"==typeof exports&&"object"==typeof module)module.exports=o();else if("function"==typeof define&&define.amd)define([],o);else{var e=o();for(var i in e)("object"==typeof exports?exports:t)[i]=e[i]}}(window,(function(){return function(){"use strict";var t={d:function(o,e){for(var i in e)t.o(e,i)&&!t.o(o,i)&&Object.defineProperty(o,i,{enumerable:!0,get:e[i]})},o:function(t,o){return Object.prototype.hasOwnProperty.call(t,o)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},o={};t.r(o),t.d(o,{loadOutModesUpdater:function(){return c}});class e{}e.generatedAttribute="generated",e.randomColorValue="random",e.midColorValue="mid",e.touchEndEvent="touchend",e.mouseDownEvent="mousedown",e.mouseUpEvent="mouseup",e.mouseMoveEvent="mousemove",e.touchStartEvent="touchstart",e.touchMoveEvent="touchmove",e.mouseLeaveEvent="mouseleave",e.mouseOutEvent="mouseout",e.touchCancelEvent="touchcancel",e.resizeEvent="resize",e.visibilityChangeEvent="visibilitychange",e.noPolygonDataLoaded="No polygon data loaded.",e.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 i(t){return"number"==typeof t?t:function(t){const o=s(t);let e=n(t);return o===e&&(e=0),Math.random()*(o-e)+e}(t)}function n(t){return"number"==typeof t?t:t.min}function s(t){return"number"==typeof t?t:t.max}function a(t,o,e,i){return function(t,o,e){let i=!0;e&&"bottom"!==e||(i=t.top<o.height);!i||e&&"left"!==e||(i=t.right>0);!i||e&&"right"!==e||(i=t.left<o.width);!i||e&&"top"!==e||(i=t.bottom>0);return i}(r(t,null!=e?e:0),o,i)}function r(t,o){return{bottom:t.y+o,left:t.x-o,right:t.x+o,top:t.y-o}}new WeakMap;class u{constructor(t){this.container=t}init(){}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,o){var e,i,n,s;const a=t.options.move.outModes;this.updateOutMode(t,o,null!==(e=a.bottom)&&void 0!==e?e:a.default,"bottom"),this.updateOutMode(t,o,null!==(i=a.left)&&void 0!==i?i:a.default,"left"),this.updateOutMode(t,o,null!==(n=a.right)&&void 0!==n?n:a.default,"right"),this.updateOutMode(t,o,null!==(s=a.top)&&void 0!==s?s:a.default,"top")}updateOutMode(t,o,e,i){switch(e){case"bounce":case"bounce-vertical":case"bounce-horizontal":case"bounceVertical":case"bounceHorizontal":case"split":this.bounce(t,o,i,e);break;case"destroy":this.destroy(t,i);break;case"out":this.out(t,i);break;case"none":default:this.none(t,i)}}destroy(t,o){const e=this.container;a(t.position,e.canvas.size,t.getRadius(),o)||e.particles.remove(t,void 0,!0)}out(t,o){const e=this.container;if(a(t.position,e.canvas.size,t.getRadius(),o))return;const i=t.options.move.warp,n=e.canvas.size,s={bottom:n.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:n.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},u=t.getRadius(),c=r(t.position,u);"right"===o&&c.left>n.width+t.offset.x?(t.position.x=s.left,t.initialPosition.x=t.position.x,i||(t.position.y=Math.random()*n.height,t.initialPosition.y=t.position.y)):"left"===o&&c.right<-t.offset.x&&(t.position.x=s.right,t.initialPosition.x=t.position.x,i||(t.position.y=Math.random()*n.height,t.initialPosition.y=t.position.y)),"bottom"===o&&c.top>n.height+t.offset.y?(i||(t.position.x=Math.random()*n.width,t.initialPosition.x=t.position.x),t.position.y=s.top,t.initialPosition.y=t.position.y):"top"===o&&c.bottom<-t.offset.y&&(i||(t.position.x=Math.random()*n.width,t.initialPosition.x=t.position.x),t.position.y=s.bottom,t.initialPosition.y=t.position.y)}bounce(t,o,e,n){const s=this.container;let a=!1;for(const[,i]of s.plugins)if(void 0!==i.particleBounce&&(a=i.particleBounce(t,o,e)),a)break;if(a)return;const u=t.getPosition(),c=t.offset,d=t.getRadius(),l=r(u,d),p=s.canvas.size;!function(t){if("bounce"!==t.outMode&&"bounce-horizontal"!==t.outMode&&"bounceHorizontal"!==t.outMode&&"split"!==t.outMode)return;const o=t.particle.velocity.x;let e=!1;if("right"===t.direction&&t.bounds.right>=t.canvasSize.width&&o>0||"left"===t.direction&&t.bounds.left<=0&&o<0){const o=i(t.particle.options.bounce.horizontal.value);t.particle.velocity.x*=-o,e=!0}if(!e)return;const n=t.offset.x+t.size;t.bounds.right>=t.canvasSize.width?t.particle.position.x=t.canvasSize.width-n:t.bounds.left<=0&&(t.particle.position.x=n),"split"===t.outMode&&t.particle.destroy()}({particle:t,outMode:n,direction:e,bounds:l,canvasSize:p,offset:c,size:d}),function(t){if("bounce"===t.outMode||"bounce-vertical"===t.outMode||"bounceVertical"===t.outMode||"split"===t.outMode){const o=t.particle.velocity.y;let e=!1;if("bottom"===t.direction&&t.bounds.bottom>=t.canvasSize.height&&o>0||"top"===t.direction&&t.bounds.top<=0&&o<0){const o=i(t.particle.options.bounce.vertical.value);t.particle.velocity.y*=-o,e=!0}if(!e)return;const n=t.offset.y+t.size;t.bounds.bottom>=t.canvasSize.height?t.particle.position.y=t.canvasSize.height-n:t.bounds.top<=0&&(t.particle.position.y=n),"split"===t.outMode&&t.particle.destroy()}}({particle:t,outMode:n,direction:e,bounds:l,canvasSize:p,offset:c,size:d})}none(t,o){if(t.options.move.distance.horizontal&&("left"===o||"right"===o)||t.options.move.distance.vertical&&("top"===o||"bottom"===o))return;const e=t.options.move.gravity,i=this.container,n=i.canvas.size,s=t.getRadius();if(e.enable){const a=t.position;(!e.inverse&&a.y>n.height+s&&"bottom"===o||e.inverse&&a.y<-s&&"top"===o)&&i.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=n.height+s||t.velocity.y<0&&t.position.y>=-s||t.velocity.x>0&&t.position.x<=n.width+s||t.velocity.x<0&&t.position.x>=-s)return;a(t.position,i.canvas.size,s,o)||i.particles.remove(t)}}}async function c(t){await t.addParticleUpdater("outModes",(t=>new u(t)))}return o}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.2 by Matteo Bruni */
2
2
  !function(e,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var t=n();for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(window,(function(){return function(){"use strict";var e={d:function(n,t){for(var o in t)e.o(t,o)&&!e.o(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:t[o]})},o:function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},n={};e.r(n),e.d(n,{loadRollUpdater:function(){return b}});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 o(e){const n=l(e);let t=a(e);return n===t&&(t=0),Math.random()*(n-t)+t}function r(e){return"number"==typeof e?e:o(e)}function a(e){return"number"==typeof e?e:e.min}function l(e){return"number"==typeof e?e:e.max}function s(e,n){if(e===n||void 0===n&&"number"==typeof e)return e;const t=a(e),o=l(e);return void 0!==n?{min:Math.min(t,n),max:Math.max(o,n)}:s(t,o)}function i(e,n,t=!0){return e[void 0!==n&&t?n%e.length:function(e){return Math.floor(Math.random()*e.length)}(e)]}function u(e,n,t){let o=t;return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(n-e)*o:o<.5?n:o<2/3?e+(n-e)*(2/3-o)*6:e}function d(e){if(e.startsWith("rgb")){const n=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);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(e.startsWith("hsl")){const n=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return n?function(e){const n=v(e);return{a:e.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(e.startsWith("hsv")){const n=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(e);return n?function(e){const n=h(e);return{a:e.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,t=e.replace(n,((e,n,t,o,r)=>n+n+t+t+o+o+(void 0!==r?r+r:""))),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(t);return o?{a:void 0!==o[4]?parseInt(o[4],16)/255:1,b:parseInt(o[3],16),g:parseInt(o[2],16),r:parseInt(o[1],16)}:void 0}}function c(e,n,o=!0){var r,a,l;if(void 0===e)return;const s="string"==typeof e?{value:e}:e;let u;if("string"==typeof s.value)u=s.value===t.randomColorValue?p():function(e){return d(e)}(s.value);else if(s.value instanceof Array){u=c({value:i(s.value,n,o)})}else{const e=s.value,n=null!==(r=e.rgb)&&void 0!==r?r:s.value;if(void 0!==n.r)u=n;else{const n=null!==(a=e.hsl)&&void 0!==a?a:s.value;if(void 0!==n.h&&void 0!==n.l)u=v(n);else{const n=null!==(l=e.hsv)&&void 0!==l?l:s.value;void 0!==n.h&&void 0!==n.v&&(u=h(n))}}}return u}function f(e,n,t=!0){const o=c(e,n,t);return void 0!==o?function(e){const n=e.r/255,t=e.g/255,o=e.b/255,r=Math.max(n,t,o),a=Math.min(n,t,o),l={h:0,l:(r+a)/2,s:0};r!=a&&(l.s=l.l<.5?(r-a)/(r+a):(r-a)/(2-r-a),l.h=n===r?(t-o)/(r-a):l.h=t===r?2+(o-n)/(r-a):4+(n-t)/(r-a));l.l*=100,l.s*=100,l.h*=60,l.h<0&&(l.h+=360);return l}(o):void 0}function v(e){const n={b:0,g:0,r:0},t={h:e.h/360,l:e.l/100,s:e.s/100};if(0===t.s)n.b=t.l,n.g=t.l,n.r=t.l;else{const e=t.l<.5?t.l*(1+t.s):t.l+t.s-t.l*t.s,o=2*t.l-e;n.r=u(o,e,t.h+1/3),n.g=u(o,e,t.h),n.b=u(o,e,t.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 h(e){const n={b:0,g:0,r:0},t=e.h/60,o=e.s/100,r=e.v/100,a=r*o,l=a*(1-Math.abs(t%2-1));let s;if(t>=0&&t<=1?s={r:a,g:l,b:0}:t>1&&t<=2?s={r:l,g:a,b:0}:t>2&&t<=3?s={r:0,g:a,b:l}:t>3&&t<=4?s={r:0,g:l,b:a}:t>4&&t<=5?s={r:l,g:0,b:a}:t>5&&t<=6&&(s={r:a,g:0,b:l}),s){const e=r-a;n.r=Math.floor(255*(s.r+e)),n.g=Math.floor(255*(s.g+e)),n.b=Math.floor(255*(s.b+e))}return n}function p(e){const n=null!=e?e:0;return{b:Math.floor(o(s(n,256))),g:Math.floor(o(s(n,256))),r:Math.floor(o(s(n,256)))}}new WeakMap;class g{init(e){const n=e.options.roll;if(n.enable)if(e.roll={angle:Math.random()*Math.PI*2,speed:r(n.speed)/360},n.backColor)e.backColor=f(n.backColor);else if(n.darken.enable&&n.enlighten.enable){const t=Math.random()>=.5?"darken":"enlighten";e.roll.alter={type:t,value:"darken"===t?n.darken.value:n.enlighten.value}}else n.darken.enable?e.roll.alter={type:"darken",value:n.darken.value}:n.enlighten.enable&&(e.roll.alter={type:"enlighten",value:n.enlighten.value});else e.roll={angle:0,speed:0}}isEnabled(e){const n=e.options.roll;return!e.destroyed&&!e.spawning&&n.enable}update(e,n){this.isEnabled(e)&&function(e,n){const t=e.options.roll;if(!e.roll||!t.enable)return;const o=e.roll.speed*n.factor,r=2*Math.PI;e.roll.angle+=o,e.roll.angle>r&&(e.roll.angle-=r)}(e,n)}}async function b(e){await e.addParticleUpdater("roll",(()=>new g))}return n}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.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,{loadSizeUpdater:function(){return s}});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 n(e,o){var t,n,i,s;const a=(null!==(t=e.size.velocity)&&void 0!==t?t:0)*o.factor,u=e.size.min,l=e.size.max;if(!e.destroyed&&e.size.enable&&((null!==(n=e.size.loops)&&void 0!==n?n:0)<=0||(null!==(i=e.size.loops)&&void 0!==i?i:0)<(null!==(s=e.size.maxLoops)&&void 0!==s?s:0))){switch(e.size.status){case 0:e.size.value>=l?(e.size.status=1,e.size.loops||(e.size.loops=0),e.size.loops++):e.size.value+=a;break;case 1:e.size.value<=u?(e.size.status=0,e.size.loops||(e.size.loops=0),e.size.loops++):e.size.value-=a}var r,d,c;!function(e,o,t,n){switch(e.options.size.animation.destroy){case"max":o>=n&&e.destroy();break;case"min":o<=t&&e.destroy()}}(e,e.size.value,u,l),e.destroyed||(e.size.value=(r=e.size.value,d=u,c=l,Math.min(Math.max(r,d),c)))}}new WeakMap;class i{init(){}isEnabled(e){var o,t,n;return!e.destroyed&&!e.spawning&&e.size.enable&&((null!==(o=e.size.loops)&&void 0!==o?o:0)<=0||(null!==(t=e.size.loops)&&void 0!==t?t:0)<(null!==(n=e.size.maxLoops)&&void 0!==n?n:0))}update(e,o){this.isEnabled(e)&&n(e,o)}}async function s(e){await e.addParticleUpdater("size",(()=>new i))}return o}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.2 by Matteo Bruni */
2
2
  !function(o,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t=e();for(var n in t)("object"==typeof exports?exports:o)[n]=t[n]}}(window,(function(){return function(){"use strict";var o={d:function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o:function(o,e){return Object.prototype.hasOwnProperty.call(o,e)},r:function(o){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})}},e={};o.r(e),o.d(e,{loadStrokeColorUpdater:function(){return m}});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 n(o){const e=a(o);let t=r(o);return e===t&&(t=0),Math.random()*(e-t)+t}function r(o){return"number"==typeof o?o:o.min}function a(o){return"number"==typeof o?o:o.max}function l(o,e){if(o===e||void 0===e&&"number"==typeof o)return o;const t=r(o),n=a(o);return void 0!==e?{min:Math.min(t,e),max:Math.max(n,e)}:l(t,n)}function s(o,e,t=!0){return o[void 0!==e&&t?e%o.length:function(o){return Math.floor(Math.random()*o.length)}(o)]}function i(o,e,t){let n=t;return n<0&&(n+=1),n>1&&(n-=1),n<1/6?o+6*(e-o)*n:n<.5?e:n<2/3?o+(e-o)*(2/3-n)*6:o}function u(o){if(o.startsWith("rgb")){const e=/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.]+)\s*)?\)/i.exec(o);return e?{a:e.length>4?parseFloat(e[5]):1,b:parseInt(e[3],10),g:parseInt(e[2],10),r:parseInt(e[1],10)}:void 0}if(o.startsWith("hsl")){const e=/hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(o);return e?function(o){const e=c(o);return{a:o.a,b:e.b,g:e.g,r:e.r}}({a:e.length>4?parseFloat(e[5]):1,h:parseInt(e[1],10),l:parseInt(e[3],10),s:parseInt(e[2],10)}):void 0}if(o.startsWith("hsv")){const e=/hsva?\(\s*(\d+)°\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.]+)\s*)?\)/i.exec(o);return e?function(o){const e=f(o);return{a:o.a,b:e.b,g:e.g,r:e.r}}({a:e.length>4?parseFloat(e[5]):1,h:parseInt(e[1],10),s:parseInt(e[2],10),v:parseInt(e[3],10)}):void 0}{const e=/^#?([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,t=o.replace(e,((o,e,t,n,r)=>e+e+t+t+n+n+(void 0!==r?r+r:""))),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(t);return n?{a:void 0!==n[4]?parseInt(n[4],16)/255:1,b:parseInt(n[3],16),g:parseInt(n[2],16),r:parseInt(n[1],16)}:void 0}}function d(o,e,n=!0){var r,a,l;if(void 0===o)return;const i="string"==typeof o?{value:o}:o;let v;if("string"==typeof i.value)v=i.value===t.randomColorValue?h():function(o){return u(o)}(i.value);else if(i.value instanceof Array){v=d({value:s(i.value,e,n)})}else{const o=i.value,e=null!==(r=o.rgb)&&void 0!==r?r:i.value;if(void 0!==e.r)v=e;else{const e=null!==(a=o.hsl)&&void 0!==a?a:i.value;if(void 0!==e.h&&void 0!==e.l)v=c(e);else{const e=null!==(l=o.hsv)&&void 0!==l?l:i.value;void 0!==e.h&&void 0!==e.v&&(v=f(e))}}}return v}function v(o,e,t=!0){const n=d(o,e,t);return void 0!==n?function(o){const e=o.r/255,t=o.g/255,n=o.b/255,r=Math.max(e,t,n),a=Math.min(e,t,n),l={h:0,l:(r+a)/2,s:0};r!=a&&(l.s=l.l<.5?(r-a)/(r+a):(r-a)/(2-r-a),l.h=e===r?(t-n)/(r-a):l.h=t===r?2+(n-e)/(r-a):4+(e-t)/(r-a));l.l*=100,l.s*=100,l.h*=60,l.h<0&&(l.h+=360);return l}(n):void 0}function c(o){const e={b:0,g:0,r:0},t={h:o.h/360,l:o.l/100,s:o.s/100};if(0===t.s)e.b=t.l,e.g=t.l,e.r=t.l;else{const o=t.l<.5?t.l*(1+t.s):t.l+t.s-t.l*t.s,n=2*t.l-o;e.r=i(n,o,t.h+1/3),e.g=i(n,o,t.h),e.b=i(n,o,t.h-1/3)}return e.r=Math.floor(255*e.r),e.g=Math.floor(255*e.g),e.b=Math.floor(255*e.b),e}function f(o){const e={b:0,g:0,r:0},t=o.h/60,n=o.s/100,r=o.v/100,a=r*n,l=a*(1-Math.abs(t%2-1));let s;if(t>=0&&t<=1?s={r:a,g:l,b:0}:t>1&&t<=2?s={r:l,g:a,b:0}:t>2&&t<=3?s={r:0,g:a,b:l}:t>3&&t<=4?s={r:0,g:l,b:a}:t>4&&t<=5?s={r:l,g:0,b:a}:t>5&&t<=6&&(s={r:a,g:0,b:l}),s){const o=r-a;e.r=Math.floor(255*(s.r+o)),e.g=Math.floor(255*(s.g+o)),e.b=Math.floor(255*(s.b+o))}return e}function h(o){const e=null!=o?o:0;return{b:Math.floor(n(l(e,256))),g:Math.floor(n(l(e,256))),r:Math.floor(n(l(e,256)))}}function p(o,e,t){if(o.enable=e.enable,o.enable){if(o.velocity=e.speed/100*t,e.sync)return;o.status=0,o.velocity*=Math.random(),o.value&&(o.value*=Math.random())}else o.velocity=0}function b(o,e,t,r,a){var l;const s=e;if(!s||!s.enable)return;const i=n(t.offset),u=(null!==(l=e.velocity)&&void 0!==l?l:0)*o.factor+3.6*i;a&&0!==s.status?(s.value-=u,s.value<0&&(s.status=0,s.value+=s.value)):(s.value+=u,a&&s.value>r&&(s.status=1,s.value-=s.value%r)),s.value>r&&(s.value%=r)}new WeakMap;class g{constructor(o){this.container=o}init(o){var e,t;const n=this.container;o.stroke=o.options.stroke instanceof Array?s(o.options.stroke,o.id,o.options.reduceDuplicates):o.options.stroke,o.strokeWidth=o.stroke.width*n.retina.pixelRatio;const r=null!==(e=v(o.stroke.color))&&void 0!==e?e:o.getFillColor();r&&(o.strokeColor=function(o,e,t){const n={h:{enable:!1,value:o.h},s:{enable:!1,value:o.s},l:{enable:!1,value:o.l}};return e&&(p(n.h,e.h,t),p(n.s,e.s,t),p(n.l,e.l,t)),n}(r,null===(t=o.stroke.color)||void 0===t?void 0:t.animation,n.retina.reduceFactor))}isEnabled(o){var e,t,n,r;const a=null===(e=o.stroke)||void 0===e?void 0:e.color;return!o.destroyed&&!o.spawning&&!!a&&(void 0!==(null===(t=o.strokeColor)||void 0===t?void 0:t.h.value)&&a.animation.h.enable||void 0!==(null===(n=o.strokeColor)||void 0===n?void 0:n.s.value)&&a.animation.s.enable||void 0!==(null===(r=o.strokeColor)||void 0===r?void 0:r.l.value)&&a.animation.l.enable)}update(o,e){this.isEnabled(o)&&function(o,e){var t,n,r,a,l,s,i,u,d,v;if(!(null===(t=o.stroke)||void 0===t?void 0:t.color))return;const c=o.stroke.color.animation,f=null!==(r=null===(n=o.strokeColor)||void 0===n?void 0:n.h)&&void 0!==r?r:null===(a=o.color)||void 0===a?void 0:a.h;f&&b(e,f,c.h,360,!1);const h=null!==(s=null===(l=o.strokeColor)||void 0===l?void 0:l.s)&&void 0!==s?s:null===(i=o.color)||void 0===i?void 0:i.s;h&&b(e,h,c.s,100,!0);const p=null!==(d=null===(u=o.strokeColor)||void 0===u?void 0:u.l)&&void 0!==d?d:null===(v=o.color)||void 0===v?void 0:v.l;p&&b(e,p,c.l,100,!0)}(o,e)}}async function m(o){await o.addParticleUpdater("strokeColor",(o=>new g(o)))}return e}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.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,{loadTiltUpdater:function(){return u}});class o{}o.generatedAttribute="generated",o.randomColorValue="random",o.midColorValue="mid",o.touchEndEvent="touchend",o.mouseDownEvent="mousedown",o.mouseUpEvent="mouseup",o.mouseMoveEvent="mousemove",o.touchStartEvent="touchstart",o.touchMoveEvent="touchmove",o.mouseLeaveEvent="mouseleave",o.mouseOutEvent="mouseout",o.touchCancelEvent="touchcancel",o.resizeEvent="resize",o.visibilityChangeEvent="visibilitychange",o.noPolygonDataLoaded="No polygon data loaded.",o.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 n(e){return"number"==typeof e?e:function(e){const t=i(e);let o=a(e);return t===o&&(o=0),Math.random()*(t-o)+o}(e)}function a(e){return"number"==typeof e?e:e.min}function i(e){return"number"==typeof e?e:e.max}new WeakMap;class r{constructor(e){this.container=e}init(e){const t=e.options.tilt;e.tilt={enable:t.enable,value:n(t.value)*Math.PI/180,sinDirection:Math.random()>=.5?1:-1,cosDirection:Math.random()>=.5?1:-1};let o=t.direction;if("random"===o){o=Math.floor(2*Math.random())>0?"counter-clockwise":"clockwise"}switch(o){case"counter-clockwise":case"counterClockwise":e.tilt.status=1;break;case"clockwise":e.tilt.status=0}const a=e.options.tilt.animation;a.enable&&(e.tilt.velocity=a.speed/360*this.container.retina.reduceFactor,a.sync||(e.tilt.velocity*=Math.random()))}isEnabled(e){const t=e.options.tilt.animation;return!e.destroyed&&!e.spawning&&t.enable}update(e,t){this.isEnabled(e)&&function(e,t){var o;if(!e.tilt)return;const n=e.options.tilt.animation,a=(null!==(o=e.tilt.velocity)&&void 0!==o?o:0)*t.factor,i=2*Math.PI;if(n.enable)switch(e.tilt.status){case 0:e.tilt.value+=a,e.tilt.value>i&&(e.tilt.value-=i);break;case 1:default:e.tilt.value-=a,e.tilt.value<0&&(e.tilt.value+=i)}}(e,t)}}async function u(e){await e.addParticleUpdater("tilt",(e=>new r(e)))}return t}()}));
@@ -2714,10 +2714,10 @@
2714
2714
  return this.getRadius() ** 2 * Math.PI / 2;
2715
2715
  }
2716
2716
  getFillColor() {
2717
- var _a, _b, _c;
2717
+ var _a, _b;
2718
2718
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : getHslFromAnimation(this.color);
2719
2719
  if (color && this.roll && (this.backColor || this.roll.alter)) {
2720
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
2720
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
2721
2721
  if (rolled) {
2722
2722
  if (this.backColor) {
2723
2723
  return this.backColor;
@@ -1,2 +1,2 @@
1
- /*! tsParticles v1.41.1 by Matteo Bruni */
1
+ /*! tsParticles v1.41.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 n=o();for(var t in n)("object"==typeof exports?exports:e)[t]=n[t]}}(window,(function(){return function(){"use strict";var e={d:function(o,n){for(var t in n)e.o(n,t)&&!e.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:n[t]})},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,{loadWobbleUpdater:function(){return u}});class n{}n.generatedAttribute="generated",n.randomColorValue="random",n.midColorValue="mid",n.touchEndEvent="touchend",n.mouseDownEvent="mousedown",n.mouseUpEvent="mouseup",n.mouseMoveEvent="mousemove",n.touchStartEvent="touchstart",n.touchMoveEvent="touchmove",n.mouseLeaveEvent="mouseleave",n.mouseOutEvent="mouseout",n.touchCancelEvent="touchcancel",n.resizeEvent="resize",n.visibilityChangeEvent="visibilitychange",n.noPolygonDataLoaded="No polygon data loaded.",n.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 t(e){return"number"==typeof e?e:function(e){const o=i(e);let n=a(e);return o===n&&(n=0),Math.random()*(o-n)+n}(e)}function a(e){return"number"==typeof e?e:e.min}function i(e){return"number"==typeof e?e:e.max}new WeakMap;class r{constructor(e){this.container=e}init(e){const o=e.options.wobble;o.enable?e.wobble={angle:Math.random()*Math.PI*2,speed:t(o.speed)/360}:e.wobble={angle:0,speed:0},e.retina.wobbleDistance=t(o.distance)*this.container.retina.pixelRatio}isEnabled(e){return!e.destroyed&&!e.spawning&&e.options.wobble.enable}update(e,o){this.isEnabled(e)&&function(e,o){var n;if(!e.options.wobble.enable||!e.wobble)return;const t=e.wobble.speed*o.factor,a=(null!==(n=e.retina.wobbleDistance)&&void 0!==n?n:0)*o.factor/(1e3/60),i=2*Math.PI;e.wobble.angle+=t,e.wobble.angle>i&&(e.wobble.angle-=i),e.position.x+=a*Math.cos(e.wobble.angle),e.position.y+=a*Math.abs(Math.sin(e.wobble.angle))}(e,o)}}async function u(e){await e.addParticleUpdater("wobble",(e=>new r(e)))}return o}()}));
@@ -219,10 +219,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
219
219
  return (this.getRadius() ** 2 * Math.PI) / 2;
220
220
  }
221
221
  getFillColor() {
222
- var _a, _b, _c;
222
+ var _a, _b;
223
223
  const color = (_a = this.bubble.color) !== null && _a !== void 0 ? _a : (0, Utils_2.getHslFromAnimation)(this.color);
224
224
  if (color && this.roll && (this.backColor || this.roll.alter)) {
225
- const rolled = Math.floor(((_c = (_b = this.roll) === null || _b === void 0 ? void 0 : _b.angle) !== null && _c !== void 0 ? _c : 0) / (Math.PI / 2)) % 2;
225
+ const backFactor = this.options.roll.mode === "both" ? 2 : 1, backSum = this.options.roll.mode === "horizontal" ? Math.PI / 2 : 0, rolled = Math.floor((((_b = this.roll.angle) !== null && _b !== void 0 ? _b : 0) + backSum) / (Math.PI / backFactor)) % 2;
226
226
  if (rolled) {
227
227
  if (this.backColor) {
228
228
  return this.backColor;