@tsparticles/interaction-light 3.4.0 → 3.6.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cjs/Utils.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.drawParticleShadow = exports.drawLight = exports.lightMode = void 0;
3
+ exports.lightMode = void 0;
4
+ exports.drawLight = drawLight;
5
+ exports.drawParticleShadow = drawParticleShadow;
4
6
  const engine_1 = require("@tsparticles/engine");
5
7
  const gradientPos = {
6
8
  max: 1,
@@ -24,7 +26,6 @@ function drawLight(container, context, mousePos) {
24
26
  context.fillStyle = gradientAmbientLight;
25
27
  context.fill();
26
28
  }
27
- exports.drawLight = drawLight;
28
29
  function drawParticleShadow(container, context, particle, mousePos) {
29
30
  const pos = particle.getPosition(), shadowOptions = container.actualOptions.interactivity.modes.light?.shadow;
30
31
  if (!shadowOptions) {
@@ -63,4 +64,3 @@ function drawParticleShadow(container, context, particle, mousePos) {
63
64
  context.fill();
64
65
  }
65
66
  }
66
- exports.drawParticleShadow = drawParticleShadow;
package/cjs/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.loadLightInteraction = void 0;
17
+ exports.loadLightInteraction = loadLightInteraction;
18
18
  const ExternalLighter_js_1 = require("./ExternalLighter.js");
19
19
  const ParticlesLighter_js_1 = require("./ParticlesLighter.js");
20
20
  async function loadLightInteraction(engine, refresh = true) {
@@ -25,7 +25,6 @@ async function loadLightInteraction(engine, refresh = true) {
25
25
  return Promise.resolve(new ParticlesLighter_js_1.ParticlesLighter(container));
26
26
  }, refresh);
27
27
  }
28
- exports.loadLightInteraction = loadLightInteraction;
29
28
  __exportStar(require("./Options/Classes/Light.js"), exports);
30
29
  __exportStar(require("./Options/Classes/LightArea.js"), exports);
31
30
  __exportStar(require("./Options/Classes/LightGradient.js"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/interaction-light",
3
- "version": "3.4.0",
3
+ "version": "3.6.0-beta.0",
4
4
  "description": "tsParticles Light interaction",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -101,7 +101,7 @@
101
101
  "./package.json": "./package.json"
102
102
  },
103
103
  "dependencies": {
104
- "@tsparticles/engine": "^3.4.0"
104
+ "@tsparticles/engine": "^3.6.0-beta.0"
105
105
  },
106
106
  "publishConfig": {
107
107
  "access": "public"
package/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@tsparticles/interaction-light [13 May 2024 at 00:08]</title>
6
+ <title>@tsparticles/interaction-light [7 Oct 2024 at 10:32]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v3.4.0
7
+ * v3.6.0-beta.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.interaction.light.min.js.LICENSE.txt */
2
- !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var o="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var i in o)("object"==typeof exports?exports:t)[i]=o[i]}}(this,(t=>(()=>{var e={303:e=>{e.exports=t}},o={};function i(t){var r=o[t];if(void 0!==r)return r.exports;var s=o[t]={exports:{}};return e[t](s,s.exports,i),s.exports}i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};return(()=>{i.r(r),i.d(r,{Light:()=>u,LightArea:()=>d,LightGradient:()=>c,LightShadow:()=>h,loadLightInteraction:()=>f});var t=i(303);const e=1,o=0,s=.5*Math.PI,n=2*Math.PI,a=.25*Math.PI,l="light";class c{constructor(){this.start=new t.OptionsColor,this.stop=new t.OptionsColor,this.start.value="#ffffff",this.stop.value="#000000"}load(e){e&&(this.start=t.OptionsColor.create(this.start,e.start),this.stop=t.OptionsColor.create(this.stop,e.stop))}}class d{constructor(){this.gradient=new c,this.radius=1e3}load(t){t&&(this.gradient.load(t.gradient),void 0!==t.radius&&(this.radius=t.radius))}}class h{constructor(){this.color=new t.OptionsColor,this.color.value="#000000",this.length=2e3}load(e){e&&(this.color=t.OptionsColor.create(this.color,e.color),void 0!==e.length&&(this.length=e.length))}}class u{constructor(){this.area=new d,this.shadow=new h}load(t){t&&(this.area.load(t.area),this.shadow.load(t.shadow))}}class p extends t.ExternalInteractorBase{constructor(t){super(t)}clear(){}init(){}interact(){const i=this.container,r=i.actualOptions,s=i.interactivity;if(!r.interactivity.events.onHover.enable||"pointermove"!==s.status)return;const a=s.mouse.position;a&&i.canvas.draw((r=>{!function(i,r,s){const a=i.actualOptions.interactivity.modes.light?.area;if(!a)return;r.beginPath(),r.arc(s.x,s.y,a.radius,0,n);const l=r.createRadialGradient(s.x,s.y,0,s.x,s.y,a.radius),c=i.canvas.mouseLight;c?.start&&c.stop&&(l.addColorStop(o,(0,t.getStyleFromRgb)(c.start)),l.addColorStop(e,(0,t.getStyleFromRgb)(c.stop)),r.fillStyle=l,r.fill())}(i,r,a)}))}isEnabled(e){const o=this.container,i=o.interactivity.mouse,r=e?.interactivity??o.actualOptions.interactivity,s=r.events;if(!s.onHover.enable||!i.position)return!1;const n=(0,t.isInArray)(l,s.onHover.mode);if(n&&r.modes.light){const e=r.modes.light.area.gradient;o.canvas.mouseLight={start:(0,t.rangeColorToRgb)(e.start),stop:(0,t.rangeColorToRgb)(e.stop)}}return n}loadModeOptions(t,...e){t.light||(t.light=new u);for(const o of e)t.light.load(o?.light)}reset(){}}class g extends t.ParticlesInteractorBase{constructor(t){super(t)}clear(){}init(){}interact(e){const o=this.container,i=o.actualOptions,r=o.interactivity;if(!i.interactivity.events.onHover.enable||"pointermove"!==r.status)return;const l=r.mouse.position;l&&o.canvas.draw((i=>{!function(e,o,i,r){const l=i.getPosition(),c=e.actualOptions.interactivity.modes.light?.shadow;if(!c)return;const d=i.lightShadow;if(!d)return;const h=i.getRadius(),u=i.sides,p=n/u,g=-i.rotation+a,f=[];for(let t=0;t<u;t++)f.push({x:l.x+h*Math.sin(g+p*t)*1,y:l.y+h*Math.cos(g+p*t)*1});const v=[],y=c.length;for(const t of f){const e=Math.atan2(r.y-t.y,r.x-t.x),o={x:t.x+y*Math.sin(-e-s),y:t.y+y*Math.cos(-e-s)};v.push({end:o,start:t})}const m=(0,t.getStyleFromRgb)(d);for(let t=v.length-1,e=0;t>=0;e=t--)o.beginPath(),o.moveTo(v[t].start.x,v[t].start.y),o.lineTo(v[e].start.x,v[e].start.y),o.lineTo(v[e].end.x,v[e].end.y),o.lineTo(v[t].end.x,v[t].end.y),o.fillStyle=m,o.fill()}(o,i,e,l)}))}isEnabled(e){const o=this.container,i=e.interactivity??o.actualOptions.interactivity,r=o.interactivity.mouse,s=i.events;if(!s.onHover.enable||!r.position)return!1;const n=(0,t.isInArray)(l,s.onHover.mode);if(n&&i.modes.light){const o=i.modes.light.shadow;e.lightShadow=(0,t.rangeColorToRgb)(o.color)}return n}reset(){}}async function f(t,e=!0){await t.addInteractor("externalLight",(t=>Promise.resolve(new p(t))),e),await t.addInteractor("particlesLight",(t=>Promise.resolve(new g(t))),e)}})(),r})()));
2
+ !function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],e);else{var o="object"==typeof exports?e(require("@tsparticles/engine")):e(t.window);for(var i in o)("object"==typeof exports?exports:t)[i]=o[i]}}(this,(t=>(()=>{var e={303:e=>{e.exports=t}},o={};function i(t){var r=o[t];if(void 0!==r)return r.exports;var s=o[t]={exports:{}};return e[t](s,s.exports,i),s.exports}i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var r={};i.r(r),i.d(r,{Light:()=>f,LightArea:()=>p,LightGradient:()=>u,LightShadow:()=>g,loadLightInteraction:()=>m});var s=i(303);const n=1,a=0,l=.5*Math.PI,c=2*Math.PI,d=.25*Math.PI,h="light";class u{constructor(){this.start=new s.OptionsColor,this.stop=new s.OptionsColor,this.start.value="#ffffff",this.stop.value="#000000"}load(t){t&&(this.start=s.OptionsColor.create(this.start,t.start),this.stop=s.OptionsColor.create(this.stop,t.stop))}}class p{constructor(){this.gradient=new u,this.radius=1e3}load(t){t&&(this.gradient.load(t.gradient),void 0!==t.radius&&(this.radius=t.radius))}}class g{constructor(){this.color=new s.OptionsColor,this.color.value="#000000",this.length=2e3}load(t){t&&(this.color=s.OptionsColor.create(this.color,t.color),void 0!==t.length&&(this.length=t.length))}}class f{constructor(){this.area=new p,this.shadow=new g}load(t){t&&(this.area.load(t.area),this.shadow.load(t.shadow))}}class v extends s.ExternalInteractorBase{constructor(t){super(t)}clear(){}init(){}interact(){const t=this.container,e=t.actualOptions,o=t.interactivity;if(!e.interactivity.events.onHover.enable||"pointermove"!==o.status)return;const i=o.mouse.position;i&&t.canvas.draw((e=>{!function(t,e,o){const i=t.actualOptions.interactivity.modes.light?.area;if(!i)return;e.beginPath(),e.arc(o.x,o.y,i.radius,0,c);const r=e.createRadialGradient(o.x,o.y,0,o.x,o.y,i.radius),l=t.canvas.mouseLight;l?.start&&l.stop&&(r.addColorStop(a,(0,s.getStyleFromRgb)(l.start)),r.addColorStop(n,(0,s.getStyleFromRgb)(l.stop)),e.fillStyle=r,e.fill())}(t,e,i)}))}isEnabled(t){const e=this.container,o=e.interactivity.mouse,i=t?.interactivity??e.actualOptions.interactivity,r=i.events;if(!r.onHover.enable||!o.position)return!1;const n=(0,s.isInArray)(h,r.onHover.mode);if(n&&i.modes.light){const t=i.modes.light.area.gradient;e.canvas.mouseLight={start:(0,s.rangeColorToRgb)(t.start),stop:(0,s.rangeColorToRgb)(t.stop)}}return n}loadModeOptions(t,...e){t.light||(t.light=new f);for(const o of e)t.light.load(o?.light)}reset(){}}class y extends s.ParticlesInteractorBase{constructor(t){super(t)}clear(){}init(){}interact(t){const e=this.container,o=e.actualOptions,i=e.interactivity;if(!o.interactivity.events.onHover.enable||"pointermove"!==i.status)return;const r=i.mouse.position;r&&e.canvas.draw((o=>{!function(t,e,o,i){const r=o.getPosition(),n=t.actualOptions.interactivity.modes.light?.shadow;if(!n)return;const a=o.lightShadow;if(!a)return;const h=o.getRadius(),u=o.sides,p=c/u,g=-o.rotation+d,f=[];for(let t=0;t<u;t++)f.push({x:r.x+h*Math.sin(g+p*t)*1,y:r.y+h*Math.cos(g+p*t)*1});const v=[],y=n.length;for(const t of f){const e=Math.atan2(i.y-t.y,i.x-t.x),o={x:t.x+y*Math.sin(-e-l),y:t.y+y*Math.cos(-e-l)};v.push({end:o,start:t})}const m=(0,s.getStyleFromRgb)(a);for(let t=v.length-1,o=0;t>=0;o=t--)e.beginPath(),e.moveTo(v[t].start.x,v[t].start.y),e.lineTo(v[o].start.x,v[o].start.y),e.lineTo(v[o].end.x,v[o].end.y),e.lineTo(v[t].end.x,v[t].end.y),e.fillStyle=m,e.fill()}(e,o,t,r)}))}isEnabled(t){const e=this.container,o=t.interactivity??e.actualOptions.interactivity,i=e.interactivity.mouse,r=o.events;if(!r.onHover.enable||!i.position)return!1;const n=(0,s.isInArray)(h,r.onHover.mode);if(n&&o.modes.light){const e=o.modes.light.shadow;t.lightShadow=(0,s.rangeColorToRgb)(e.color)}return n}reset(){}}async function m(t,e=!0){await t.addInteractor("externalLight",(t=>Promise.resolve(new v(t))),e),await t.addInteractor("particlesLight",(t=>Promise.resolve(new y(t))),e)}return r})()));
@@ -1 +1 @@
1
- /*! tsParticles Light Interaction v3.4.0 by Matteo Bruni */
1
+ /*! tsParticles Light Interaction v3.6.0-beta.0 by Matteo Bruni */
package/umd/Utils.js CHANGED
@@ -9,7 +9,9 @@
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.drawParticleShadow = exports.drawLight = exports.lightMode = void 0;
12
+ exports.lightMode = void 0;
13
+ exports.drawLight = drawLight;
14
+ exports.drawParticleShadow = drawParticleShadow;
13
15
  const engine_1 = require("@tsparticles/engine");
14
16
  const gradientPos = {
15
17
  max: 1,
@@ -33,7 +35,6 @@
33
35
  context.fillStyle = gradientAmbientLight;
34
36
  context.fill();
35
37
  }
36
- exports.drawLight = drawLight;
37
38
  function drawParticleShadow(container, context, particle, mousePos) {
38
39
  const pos = particle.getPosition(), shadowOptions = container.actualOptions.interactivity.modes.light?.shadow;
39
40
  if (!shadowOptions) {
@@ -72,5 +73,4 @@
72
73
  context.fill();
73
74
  }
74
75
  }
75
- exports.drawParticleShadow = drawParticleShadow;
76
76
  });
package/umd/index.js CHANGED
@@ -23,7 +23,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
23
  })(function (require, exports) {
24
24
  "use strict";
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.loadLightInteraction = void 0;
26
+ exports.loadLightInteraction = loadLightInteraction;
27
27
  const ExternalLighter_js_1 = require("./ExternalLighter.js");
28
28
  const ParticlesLighter_js_1 = require("./ParticlesLighter.js");
29
29
  async function loadLightInteraction(engine, refresh = true) {
@@ -34,7 +34,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
34
34
  return Promise.resolve(new ParticlesLighter_js_1.ParticlesLighter(container));
35
35
  }, refresh);
36
36
  }
37
- exports.loadLightInteraction = loadLightInteraction;
38
37
  __exportStar(require("./Options/Classes/Light.js"), exports);
39
38
  __exportStar(require("./Options/Classes/LightArea.js"), exports);
40
39
  __exportStar(require("./Options/Classes/LightGradient.js"), exports);