Package Exports
- @tsparticles/interaction-light
- @tsparticles/interaction-light/lazy
- @tsparticles/interaction-light/package.json
Readme
tsParticles Light Interaction
tsParticles interaction plugin for light effect.
Quick checklist
- Install
@tsparticles/engine(or use the CDN bundle below) - Call
loadInteractivityPlugin(tsParticles)andloadLightInteraction(tsParticles)beforetsParticles.load(...) - Enable
"light"in interactivity events and configureinteractivity.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:
loadLightInteractionUsage
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-lightor
$ yarn add @tsparticles/interaction-lightThen 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.modeorinteractivity.events.onClick.modewith 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 bothloadInteractivityPlugin(...)andloadLightInteraction(...) - Verify required peer packages before enabling advanced options
- Change one option group at a time to isolate regressions quickly
Related docs
- All packages catalog: https://github.com/tsparticles/tsparticles
- Main docs: https://particles.js.org/docs/
