@tsparticles/interaction-light

tsParticles Light interaction
357,365 8,997
Install
npm install @tsparticles/interaction-light
Latest Version:4.4.0
License:MIT
Last Updated:Oct 21, 2026
Links: GitHub  ·  npm
Maintainer: matteobruni

banner

tsParticles Light Interaction

jsDelivr npmjs npmjs GitHub Sponsors

tsParticles interaction plugin for light effect.

Quick checklist

  1. Install @tsparticles/engine (or use the CDN bundle below)
  2. Call loadInteractivityPlugin(tsParticles) and loadLightInteraction(tsParticles) before tsParticles.load(...)
  3. Enable "light" in interactivity events and configure interactivity.modes.light

How to use it

CDN / Vanilla JS / jQuery

The CDN/Vanilla version JS has one required file in vanilla configuration:

Including the tsparticles.interaction.light.min.js file will export the function to load the interaction plugin:

loadLightInteraction

Usage

Once the scripts are loaded you can set up tsParticles and the interaction plugin like this:

(async () => {
  await loadInteractivityPlugin(tsParticles);
  await loadLightInteraction(tsParticles);

  await tsParticles.load({
    id: "tsparticles",
    options: {/* options */},
  });
})();

ESM / CommonJS

This package is compatible also with ES or CommonJS modules, firstly this needs to be installed, like this:

$ npm install @tsparticles/interaction-light

or

$ yarn add @tsparticles/interaction-light

Then you need to import it in the app, like this:

const { tsParticles } = require("@tsparticles/engine");
const { loadInteractivityPlugin } = require("@tsparticles/plugin-interactivity");
const { loadLightInteraction } = require("@tsparticles/interaction-light");

(async () => {
  await loadInteractivityPlugin(tsParticles);
  await loadLightInteraction(tsParticles);
})();

or

import { tsParticles } from "@tsparticles/engine";
import { loadInteractivityPlugin } from "@tsparticles/plugin-interactivity";
import { loadLightInteraction } from "@tsparticles/interaction-light";

(async () => {
  await loadInteractivityPlugin(tsParticles);
  await loadLightInteraction(tsParticles);
})();

Option mapping

  • Event mode key: interactivity.events.onHover.mode or interactivity.events.onClick.mode with value "light"
  • Mode options key: interactivity.modes.light

interactivity.modes.light properties

Key Type Default Notes
area.radius number 1000 Light interaction radius
area.gradient.start color Gradient start color
area.gradient.stop color Gradient stop color
shadow.color color "#000000" Shadow/tint color
shadow.length number 2000 Shadow projection length
{
  "interactivity": {
    "events": {
      "onHover": {
        "enable": true,
        "mode": "light"
      }
    },
    "modes": {
      "light": {
        "area": {
          "radius": 700,
          "gradient": {
            "start": "#ffffff",
            "stop": "#000000"
          }
        },
        "shadow": {
          "color": "#000000",
          "length": 1400
        }
      }
    }
  }
}

Common pitfalls

  • Calling tsParticles.load(...) before both loadInteractivityPlugin(...) and loadLightInteraction(...)
  • Verify required peer packages before enabling advanced options
  • Change one option group at a time to isolate regressions quickly

Related docs

Related Packages

Version History

Version Released License
4.4.0 MIT
4.3.2 MIT
4.3.1 MIT
4.3.0 MIT
4.2.1 MIT
Pre-releases (46)
Version Released License
4.0.0-beta.17 MIT
4.0.0-beta.16 MIT
4.0.0-beta.15 MIT
4.0.0-beta.12 MIT
4.0.0-beta.11 MIT