@tsparticles/engine 4.0.0-beta.6 → 4.0.0-beta.8

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/README.md CHANGED
@@ -1,989 +1,98 @@
1
- [![banner](https://particles.js.org/images/banner3.png)](https://particles.js.org)
1
+ [![banner](https://particles.js.org/images/banner2.png)](https://particles.js.org)
2
2
 
3
- # tsParticles - TypeScript Particles
3
+ # tsParticles Engine
4
4
 
5
- **A lightweight TypeScript library for creating particles. Dependency free (\*), browser ready and compatible with
6
- React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.js, Solid.js, and Web Components**
7
-
8
- [![GitHub Sponsors](https://img.shields.io/github/sponsors/matteobruni?style=for-the-badge)](https://github.com/sponsors/matteobruni)
9
- [![jsDelivr hits (npm)](https://img.shields.io/jsdelivr/npm/hm/tsparticles?style=for-the-badge)](https://www.jsdelivr.com/package/npm/tsparticles)
10
- [![Cdnjs](https://img.shields.io/cdnjs/v/@tsparticles/engine?style=for-the-badge)](https://cdnjs.com/libraries/tsparticles)
11
- [![npm](https://img.shields.io/npm/v/@tsparticles/engine?style=for-the-badge)](https://www.npmjs.com/package/tsparticles)
12
- [![npm](https://img.shields.io/npm/dm/tsparticles?style=for-the-badge)](https://www.npmjs.com/package/tsparticles)
13
- [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff?style=for-the-badge)](https://lerna.js.org/)
14
- [![CodeFactor](https://www.codefactor.io/repository/github/tsparticles/tsparticles/badge)](https://www.codefactor.io/repository/github/tsparticles/tsparticles)
15
- [![Codacy Badge](https://api.codacy.com/project/badge/Grade/b983aaf3461a4c48b1e2eecce1ff1d74)](https://www.codacy.com/manual/ar3s/tsparticles?utm_source=github.com&utm_medium=referral&utm_content=tsparticles/tsparticles&utm_campaign=Badge_Grade)
16
- [![Rate this package](https://badges.openbase.com/js/rating/tsparticles.svg?style=openbase&token=A9jHQ1nkb6fnCndKM7O2w4hx3OD8PVCuqHtSpw8mMOg=)](https://openbase.com/js/tsparticles?utm_source=embedded&utm_medium=badge&utm_campaign=rating-badge&utm_term=js/tsparticles)
17
- [![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/tsparticles/tsparticles)
18
- [![Run on Repl.it](https://repl.it/badge/github/tsparticles/tsparticles)](https://repl.it/github/tsparticles/tsparticles)
19
-
20
- [![Discord](https://img.shields.io/discord/872061157379301416?label=discord&logo=discord&logoColor=white&style=for-the-badge)](https://discord.gg/hACwv45Hme)
21
- [![Telegram](https://particles.js.org/images/telegram.png)](https://t.me/tsparticles)
22
- [![Reddit](https://img.shields.io/reddit/subreddit-subscribers/tsParticles?style=for-the-badge)](https://www.reddit.com/r/tsParticles/)
23
-
24
- [![tsParticles Product Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=186113&theme=light)](https://www.producthunt.com/posts/tsparticles?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-tsparticles")
25
- [![Buy Me A Coffee](https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20beer&emoji=🍺&slug=matteobruni&button_colour=5F7FFF&font_colour=ffffff&font_family=Arial&outline_colour=000000&coffee_colour=FFDD00")](https://www.buymeacoffee.com/matteobruni)
26
-
27
- ---
28
-
29
- ## Table of Contents
30
-
31
- - [tsParticles - TypeScript Particles](#tsparticles---typescript-particles)
32
- - [Table of Contents](#table-of-contents)
33
- - [Do you want to use it on your website?](#do-you-want-to-use-it-on-your-website)
34
- - [**_Library installation_**](#library-installation)
35
- - [**_Hosting / CDN_**](#hosting--cdn)
36
- - [jsDelivr](#jsdelivr)
37
- - [cdnjs](#cdnjs)
38
- - [unpkg](#unpkg)
39
- - [**_npm_**](#npm)
40
- - [**_yarn_**](#yarn)
41
- - [**_pnpm_**](#pnpm)
42
- - [Import and require](#import-and-require)
43
- - [**_Usage_**](#usage)
44
- - [Official components for some of the most used frameworks](#official-components-for-some-of-the-most-used-frameworks)
45
- - [Angular](#angular)
46
- - [`@tsparticles/angular`](#@tsparticles/angular)
47
- - [Astro](#astro)
48
- - [`astro-particles`](#astro-particles)
49
- - [Ember.js](#emberjs)
50
- - [`ember-tsparticles`](#ember-tsparticles)
51
- - [Inferno](#inferno)
52
- - [`inferno-particles`](#inferno-particles)
53
- - [jQuery](#jquery)
54
- - [`jquery-particles`](#jquery-particles)
55
- - [Preact](#preact)
56
- - [`preact-particles`](#preact-particles)
57
- - [ReactJS](#reactjs)
58
- - [`@tsparticles/react`](#tsparticlesreact)
59
- - [RiotJS](#riotjs)
60
- - [`riot-particles`](#riot-particles)
61
- - [SolidJS](#solidjs)
62
- - [`solid-particles`](#solid-particles)
63
- - [Svelte](#svelte)
64
- - [`@tsparticles/svelte`](#@tsparticles/svelte)
65
- - [VueJS 2.x](#vuejs-2x)
66
- - [`@tsparticles/vue2`](#tsparticlesvue2)
67
- - [VueJS 3.x](#vuejs-3x)
68
- - [`@tsparticles/vue3`](#tsparticlesvue3)
69
- - [Web Components](#web-components)
70
- - [`web-particles`](#web-particles)
71
- - [WordPress](#wordpress)
72
- - [`@tsparticles/wordpress`](#@tsparticles/wordpress)
73
- - [Elementor](#elementor)
74
- - [Presets](#presets)
75
- - [Big Circles](#big-circles)
76
- - [Bubbles](#bubbles)
77
- - [Confetti](#confetti)
78
- - [Fire](#fire)
79
- - [Firefly](#firefly)
80
- - [Fireworks](#fireworks)
81
- - [Fountain](#fountain)
82
- - [Links](#links)
83
- - [Sea Anemone](#sea-anemone)
84
- - [Snow](#snow)
85
- - [Stars](#stars)
86
- - [Triangles](#triangles)
87
- - [Templates and Resources](#templates-and-resources)
88
- - [**_Demo / Generator_**](#demo--generator)
89
- - [**_Video Tutorials_**](#video-tutorials)
90
- - [Characters as particles](#characters-as-particles)
91
- - [Polygon mask](#polygon-mask)
92
- - [Animated stars](#animated-stars)
93
- - [Nyan cat flying on scrolling stars](#nyan-cat-flying-on-scrolling-stars)
94
- - [Snow particles](#snow-particles)
95
- - [Background Mask particles](#background-mask-particles)
96
- - [**_Options_**](#options)
97
- - [Want to see it in action and try it?](#want-to-see-it-in-action-and-try-it)
98
- - [Migrating from Particles.js](#migrating-from-particlesjs)
99
- - [Plugins/Customizations](#pluginscustomizations)
100
- - [Dependency Graph](#dependency-graph)
101
-
102
- ---
103
-
104
- ## Do you want to use it on your website?
105
-
106
- _Documentation and Development references [here](https://particles.js.org/docs/) 📖_
107
-
108
- **This library is available on two of the most popular CDNs and it's easy and ready to use, if you were using
109
- particles.js
110
- it's even easier**.
111
-
112
- You'll find the
113
- instructions [below](https://github.com/tsparticles/tsparticles/blob/main/README.md#library-installation), with all the
114
- links you need, and _don't be scared by **TypeScript**, it's just the source language_.
115
-
116
- **The output files are just JavaScript**. 🤩
117
-
118
- CDNs and `npm` have all the sources you need in **Javascript**, a bundle browser ready (tsparticles.engine.min.js), and
119
- all
120
- files splitted for `import` syntax.
121
-
122
- **If you are interested** there are some _simple instructions_
123
- just [below](https://github.com/tsparticles/tsparticles/blob/main/README.md#library-installation) to guide you to
124
- migrate from the old particles.js library.
125
-
126
- ## **_Library installation_**
127
-
128
- ### **_Hosting / CDN_**
129
-
130
- **_Please use these hosts or your own to load tsParticles on your projects_**
131
-
132
- #### jsDelivr
133
-
134
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/confetti/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/confetti)
135
5
  [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/engine/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/engine)
136
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/fireworks/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/fireworks)
137
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/basic/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/basic)
138
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/slim/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/slim)
139
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/tsparticles/badge)](https://www.jsdelivr.com/package/npm/tsparticles)
140
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/all/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/all)
141
-
142
- #### cdnjs
6
+ [![npmjs](https://badge.fury.io/js/@tsparticles/engine.svg)](https://www.npmjs.com/package/@tsparticles/engine)
7
+ [![npmjs](https://img.shields.io/npm/dt/@tsparticles/engine)](https://www.npmjs.com/package/@tsparticles/engine) [![GitHub Sponsors](https://img.shields.io/github/sponsors/matteobruni)](https://github.com/sponsors/matteobruni)
143
8
 
144
- [![Cdnjs](https://img.shields.io/cdnjs/v/tsparticles)](https://cdnjs.com/libraries/tsparticles)
9
+ [tsParticles](https://github.com/tsparticles/tsparticles) is a lightweight TypeScript library for creating particles. Dependency free (\*), browser ready and compatible with React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Riot.js, Solid.js, and Web Components.
145
10
 
146
- #### unpkg
11
+ **This is the core engine package that all other features depend on.**
147
12
 
148
- <https://unpkg.com/@tsparticles/confetti/> <https://unpkg.com/@tsparticles/engine/> <https://unpkg.com/@tsparticles/fireworks/> <https://unpkg.com/@tsparticles/basic/> <https://unpkg.com/@tsparticles/slim/> <https://unpkg.com/tsparticles/> <https://unpkg.com/@tsparticles/all/>
13
+ ## Quick checklist
149
14
 
150
- ---
15
+ 1. Install `@tsparticles/engine`
16
+ 2. Initialize the engine instance in your code
17
+ 3. Load additional plugins/shapes/updaters as needed
18
+ 4. Use `tsParticles.load()` to apply particle configurations
151
19
 
152
- ### **_npm_**
20
+ ## How to use it
153
21
 
154
- _tsParticles Confetti_
155
-
156
- [![npm](https://img.shields.io/npm/v/@tsparticles/confetti?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/confetti) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/confetti?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/confetti)
157
-
158
- _tsParticles Engine_
159
-
160
- [![npm](https://img.shields.io/npm/v/@tsparticles/engine?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/engine) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/engine?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/engine)
161
-
162
- _tsParticles Fireworks_
163
-
164
- [![npm](https://img.shields.io/npm/v/@tsparticles/fireworks?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/fireworks) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/fireworks?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/fireworks)
165
-
166
- _tsParticles Basic_
167
-
168
- [![npm](https://img.shields.io/npm/v/@tsparticles/basic?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/basic) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/basic?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/basic)
169
-
170
- _tsParticles Slim_
171
-
172
- [![npm](https://img.shields.io/npm/v/@tsparticles/slim?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/slim) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/slim?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/slim)
173
-
174
- _tsParticles_
175
-
176
- [![npm](https://img.shields.io/npm/v/tsparticles?style=for-the-badge)](https://www.npmjs.com/package/tsparticles) [![npmjs](https://img.shields.io/npm/dt/tsparticles?style=for-the-badge)](https://www.npmjs.com/package/tsparticles)
177
-
178
- _tsParticles All_
179
-
180
- [![npm](https://img.shields.io/npm/v/@tsparticles/all?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/all) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/all?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/all)
22
+ ### Installation
181
23
 
182
24
  ```shell
183
25
  npm install @tsparticles/engine
184
26
  ```
185
27
 
186
- ### **_yarn_**
28
+ or
187
29
 
188
30
  ```shell
189
31
  yarn add @tsparticles/engine
190
32
  ```
191
33
 
192
- ### **_pnpm_**
34
+ or
193
35
 
194
36
  ```shell
195
37
  pnpm install @tsparticles/engine
196
38
  ```
197
39
 
198
- #### Import and require
40
+ ### Basic Usage
199
41
 
200
42
  ```javascript
201
- const tsParticles = require("@tsparticles/engine");
202
-
203
- // or
204
-
205
43
  import { tsParticles } from "@tsparticles/engine";
206
- ```
207
-
208
- The imported `tsParticles` is the same instance you have when including the script in the page using the `<script>` tag.
209
-
210
- ---
211
-
212
- ### **_Usage_**
213
44
 
214
- Load tsParticles and configure the particles:
215
-
216
- [![tsParticles demo](https://media.giphy.com/media/ftHwBpp3b0qNyCXRuu/giphy.gif)](https://particles.js.org)
217
- [![tsParticles Confetti demo](https://media.giphy.com/media/ftHwBpp3b0qNyCXRuu/giphy.gif)](https://confetti.js.org)
218
-
219
- **index.html**
220
-
221
- ```html
222
- <div id="tsparticles"></div>
223
-
224
- <script src="tsparticles.engine.min.js"></script>
225
- ```
226
-
227
- **app.js**
228
-
229
- ```javascript
230
- // @path-json can be an object or an array, the first will be loaded directly, and the object from the array will be randomly selected
231
- /* tsParticles.load(@params); */
232
-
233
- tsParticles
234
- .load({
235
- id: "tsparticles",
236
- url: "presets/default.json",
237
- })
238
- .then(container => {
239
- console.log("callback - tsparticles config loaded");
240
- })
241
- .catch(error => {
242
- console.error(error);
243
- });
244
-
245
- //or
246
-
247
- tsParticles.load({
45
+ await tsParticles.load({
248
46
  id: "tsparticles",
249
47
  options: {
250
- /* options here */
251
- },
252
- });
253
-
254
- //or
255
-
256
- tsParticles.load({
257
- id: "tsparticles",
258
- options: [
259
- {
260
- /* options here */
261
- },
262
- {
263
- /* other options here */
264
- },
265
- ],
266
- });
267
- //random object
268
-
269
- tsParticles.load({
270
- id: "tsparticles",
271
- options: [
272
- {
273
- /* options here */
274
- },
275
- {
276
- /* other options here */
48
+ particles: {
49
+ number: {
50
+ value: 80,
51
+ },
52
+ move: {
53
+ enable: true,
54
+ speed: 2,
55
+ },
277
56
  },
278
- ],
279
- index: 1,
280
- }); //the second one
281
- // Important! If the index is not in range 0...<array.length, the index will be ignored.
282
-
283
- // after initialization this can be used.
284
-
285
- /* tsParticles.setOnClickHandler(@callback); */
286
-
287
- /* this will be fired from all particles loaded */
288
-
289
- tsParticles.setOnClickHandler((event, particles) => {
290
- /* custom on click handler */
57
+ },
291
58
  });
292
-
293
- // now you can control the animations too, it's possible to pause and resume the animations
294
- // these methods don't change the config so you're safe with all your configurations
295
- // domItem(0) returns the first tsParticles instance loaded in the dom
296
- const particles = tsParticles.item(0);
297
-
298
- // play will start the animations, if the move is not enabled it won't enable it, it just updates the frame
299
- particles.play();
300
-
301
- // pause will stop the animations
302
- particles.pause();
303
59
  ```
304
60
 
305
- ---
306
-
307
- ## Official components for some of the most used frameworks
308
-
309
- ### Angular
310
-
311
- #### `@tsparticles/angular`
312
-
313
- [![npm](https://img.shields.io/npm/v/@tsparticles/angular?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/angular) [![npm](https://img.shields.io/npm/dm/@tsparticles/angular?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/angular)
314
-
315
- Instructions available [here](https://github.com/tsparticles/angular/#readme)
316
-
317
- ### Astro
318
-
319
- #### `astro-particles`
320
-
321
- [![npm](https://img.shields.io/npm/v/astro-particles?style=for-the-badge)](https://www.npmjs.com/package/astro-particles) [![npm](https://img.shields.io/npm/dm/astro-particles?style=for-the-badge)](https://www.npmjs.com/package/astro-particles)
322
-
323
- Instructions available [here](https://github.com/tsparticles/astro/#readme)
324
-
325
- ### Ember.js
326
-
327
- #### `ember-tsparticles`
328
-
329
- [![npm](https://img.shields.io/npm/v/ember-tsparticles?style=for-the-badge)](https://www.npmjs.com/package/ember-tsparticles) [![npm](https://img.shields.io/npm/dm/ember-tsparticles?style=for-the-badge)](https://www.npmjs.com/package/ember-tsparticles)
330
-
331
- Instructions available [here](https://github.com/tsparticles/ember/#readme)
332
-
333
- ### Inferno
334
-
335
- #### `inferno-particles`
336
-
337
- [![npm](https://img.shields.io/npm/v/inferno-particles?style=for-the-badge)](https://www.npmjs.com/package/inferno-particles) [![npm](https://img.shields.io/npm/dm/inferno-particles?style=for-the-badge)](https://www.npmjs.com/package/inferno-particles)
338
-
339
- Instructions available [here](https://github.com/tsparticles/inferno/#readme)
340
-
341
- ### jQuery
342
-
343
- #### `jquery-particles`
344
-
345
- [![npm](https://img.shields.io/npm/v/jquery-particles?style=for-the-badge)](https://www.npmjs.com/package/jquery-particles) [![npm](https://img.shields.io/npm/dm/jquery-particles?style=for-the-badge)](https://www.npmjs.com/package/jquery-particles)
346
-
347
- Instructions available [here](https://github.com/tsparticles/jquery/#readme)
348
-
349
- ### Preact
350
-
351
- #### `preact-particles`
352
-
353
- [![npm](https://img.shields.io/npm/v/preact-particles?style=for-the-badge)](https://www.npmjs.com/package/preact-particles) [![npm](https://img.shields.io/npm/dm/preact-particles?style=for-the-badge)](https://www.npmjs.com/package/preact-particles)
354
-
355
- Instructions available [here](https://github.com/tsparticles/preact/#readme)
356
-
357
- ### ReactJS
358
-
359
- #### `@tsparticles/react`
360
-
361
- [![npm](https://img.shields.io/npm/v/@tsparticles/react?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/react) [![npm](https://img.shields.io/npm/dm/@tsparticles/react?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/react)
362
-
363
- Instructions available [here](https://github.com/tsparticles/react/#readme)
364
-
365
- ### RiotJS
366
-
367
- #### `riot-particles`
368
-
369
- [![npm](https://img.shields.io/npm/v/riot-particles?style=for-the-badge)](https://www.npmjs.com/package/riot-particles) [![npm](https://img.shields.io/npm/dm/riot-particles?style=for-the-badge)](https://www.npmjs.com/package/riot-particles)
370
-
371
- You can find the instructions [here](https://github.com/tsparticles/riot/#readme)
372
-
373
- ### SolidJS
374
-
375
- #### `solid-particles`
376
-
377
- [![npm](https://img.shields.io/npm/v/solid-particles?style=for-the-badge)](https://www.npmjs.com/package/solid-particles) [![npm](https://img.shields.io/npm/dm/solid-particles?style=for-the-badge)](https://www.npmjs.com/package/solid-particles)
378
-
379
- You can find the instructions [here](https://github.com/tsparticles/solid/#readme)
380
-
381
- ### Svelte
382
-
383
- #### `@tsparticles/svelte`
384
-
385
- [![npm](https://img.shields.io/npm/v/@tsparticles/svelte?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/svelte) [![npm downloads](https://img.shields.io/npm/dm/@tsparticles/svelte?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/svelte)
386
-
387
- Instructions available [here](https://github.com/tsparticles/svelte/#readme)
388
-
389
- ### VueJS 2.x
390
-
391
- #### `@tsparticles/vue2`
392
-
393
- [![npm](https://img.shields.io/npm/v/@tsparticles/vue2?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/vue2) [![npm](https://img.shields.io/npm/dm/@tsparticles/vue2?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/vue2)
394
-
395
- Instructions available [here](https://github.com/tsparticles/vue2/#readme)
396
-
397
- ### VueJS 3.x
398
-
399
- #### `@tsparticles/vue3`
400
-
401
- [![npm](https://img.shields.io/npm/v/@tsparticles/vue3?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/vue3) [![npm](https://img.shields.io/npm/dm/@tsparticles/vue3?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/vue3)
402
-
403
- Instruction available [here](https://github.com/tsparticles/vue3/#readme)
404
-
405
- ### Web Components
406
-
407
- #### `web-particles`
408
-
409
- [![npm](https://img.shields.io/npm/v/web-particles?style=for-the-badge)](https://www.npmjs.com/package/web-particles) [![npm](https://img.shields.io/npm/dm/web-particles?style=for-the-badge)](https://www.npmjs.com/package/web-particles)
410
-
411
- You can find the instructions [here](https://github.com/tsparticles/webcomponents/#readme)
412
-
413
- ### WordPress
414
-
415
- #### `@tsparticles/wordpress`
416
-
417
- [![npm](https://img.shields.io/npm/v/@tsparticles/wordpress?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/wordpress) [![npm](https://img.shields.io/npm/dm/@tsparticles/wordpress?style=for-the-badge)](https://www.npmjs.com/package/@tsparticles/wordpress) [![WordPress Plugin Downloads](https://img.shields.io/wordpress/plugin/dw/@tsparticles/block?style=for-the-badge)](https://wordpress.org/plugins/tsparticles-block/) [![WordPress Plugin Active Installs](https://img.shields.io/wordpress/plugin/installs/tsparticles-block?style=for-the-badge)](https://wordpress.org/plugins/tsparticles-block/)
418
-
419
- The plugin page hosted on WordPress.org can be
420
- found [here](https://wordpress.org/plugins/tsparticles-block/#description)
421
-
422
- ### Elementor
423
-
424
- Actually, an official tsParticles plugin isn't existing, but I have a collaboration with
425
- the `Premium Addons for Elementor` plugin collection.
426
-
427
- <div style="float: left; margin-right: 10px;">
428
- <img width="64" alt="Premium Addons for Elementor" src="https://particles.js.org/images/premium-addons-wordpress-plugin.png" />
429
- </div>
430
- <div>
431
- Premium Addons for Elementor is one of the most common plugins for Elementor that offers more than 55 highly customizable Elementor Widgets and Section Add-ons. tsParticles is exclusively included in Premium Particles Section Add-on for Elementor Page Builder. <a href="https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/" target="_blank">Check It Now</a>.<br />
432
- Use Premium Addons for Elementor Page Builder and get the chance to include tsParticles in your next WordPress website without the need to write a single line of code. <a href="https://premiumaddons.com/particles-section-addon-for-elementor-page-builder/" target="_blank">See a Live Example</a>.
433
- </div>
434
- <div style="clear: both;"></div>
435
-
436
- ---
437
-
438
- ## Presets
439
-
440
- There are some presets ready to be used in [this repository](https://github.com/tsparticles/presets), and they also have a bundle file that contains everything
441
- needed to run.
442
-
443
- ### Big Circles
444
-
445
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-big-circles/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-big-circles) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-big-circles.svg)](https://www.npmjs.com/package/@tsparticles/preset-big-circles) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-big-circles)](https://www.npmjs.com/package/@tsparticles/preset-big-circles)
446
-
447
- This preset loads big colored circles moving upwards on a white background.
448
-
449
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/bigCircles/images/sample.png)](https://particles.js.org/samples/presets/bigCircles)
450
-
451
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/bigCircles#readme)
452
-
453
- ### Bubbles
454
-
455
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-bubbles/badge)](https://www.jsdelivr.com/package/npm/tsparticles) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-bubbles.svg)](https://www.npmjs.com/package/@tsparticles/preset-bubbles) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-bubbles)](https://www.npmjs.com/package/@tsparticles/preset-bubbles)
456
-
457
- This preset loads colored bubbles coming from the bottom of the screen on a white background.
458
-
459
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/bubbles/images/sample.png)](https://particles.js.org/samples/presets/bubbles)
460
-
461
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/bubbles#readme)
462
-
463
- ### Confetti
464
-
465
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-confetti/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-confetti) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-confetti.svg)](https://www.npmjs.com/package/@tsparticles/preset-confetti) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-confetti)](https://www.npmjs.com/package/@tsparticles/preset-confetti)
466
-
467
- This preset loads white and red confetti launched from the screen center on a transparent background.
468
-
469
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/confetti/images/sample.png)](https://particles.js.org/samples/presets/confetti)
470
-
471
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/confetti#readme)
472
-
473
- ### Fire
474
-
475
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-fire/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-fire) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-fire.svg)](https://www.npmjs.com/package/@tsparticles/preset-fire) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-fire)](https://www.npmjs.com/package/@tsparticles/preset-fire)
476
-
477
- This preset loads a faded red to a black background with particles colored like fire and ash sparks.
478
-
479
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/fire/images/sample.png)](https://particles.js.org/samples/presets/fire)
480
-
481
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/fire#readme)
482
-
483
- ### Firefly
484
-
485
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-firefly/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-firefly) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-firefly.svg)](https://www.npmjs.com/package/@tsparticles/preset-firefly) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-firefly)](https://www.npmjs.com/package/@tsparticles/preset-firefly)
61
+ ## Features
486
62
 
487
- This preset loads a mouse trail made with small fading particles like little fireflies.
63
+ - **Lightweight**: Core engine without unnecessary dependencies
64
+ - **Modular**: Load only the features you need (plugins, shapes, updaters)
65
+ - **Framework agnostic**: Works with vanilla JS, React, Vue, Angular, Svelte, and more
66
+ - **Browser ready**: CDN bundles available for immediate use
67
+ - **Highly customizable**: Rich configuration options for particle behavior
488
68
 
489
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/firefly/images/sample.png)](https://particles.js.org/samples/presets/firefly)
69
+ ## Loading Additional Features
490
70
 
491
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/firefly#readme)
71
+ To extend the engine with more capabilities, load additional packages:
492
72
 
493
- ### Fireworks
494
-
495
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-fireworks/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-fireworks) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-fireworks.svg)](https://www.npmjs.com/package/@tsparticles/preset-fireworks) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-fireworks)](https://www.npmjs.com/package/@tsparticles/preset-fireworks)
496
-
497
- This preset loads a beautiful fireworks effect.
498
-
499
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/fireworks/images/sample.png)](https://particles.js.org/samples/presets/fireworks)
500
-
501
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/fireworks#readme)
502
-
503
- ### Fountain
504
-
505
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-fountain/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-fountain) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-fountain.svg)](https://www.npmjs.com/package/@tsparticles/preset-fountain) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-fountain)](https://www.npmjs.com/package/@tsparticles/preset-fountain)
506
-
507
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/fountain/images/sample.png)](https://particles.js.org/samples/presets/fountain)
508
-
509
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/fountain#readme)
510
-
511
- ### Links
512
-
513
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-links/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-links) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-links.svg)](https://www.npmjs.com/package/@tsparticles/preset-links) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-links)](https://www.npmjs.com/package/@tsparticles/preset-links)
514
-
515
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/links/images/sample.png)](https://particles.js.org/samples/presets/links)
516
-
517
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/links#readme)
518
-
519
- ### Sea Anemone
520
-
521
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-sea-anemone/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-sea-anemone) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-sea-anemone.svg)](https://www.npmjs.com/package/@tsparticles/preset-sea-anemone) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-sea-anemone)](https://www.npmjs.com/package/@tsparticles/preset-sea-anemone)
522
-
523
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/seaAnemone/images/sample.png)](https://particles.js.org/samples/presets/seaAnemone)
524
-
525
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/seaAnemone#readme)
526
-
527
- ### Snow
528
-
529
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-snow/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-snow) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-snow.svg)](https://www.npmjs.com/package/@tsparticles/preset-snow) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-snow)](https://www.npmjs.com/package/@tsparticles/preset-snow)
530
-
531
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/snow/images/sample.png)](https://particles.js.org/samples/presets/snow)
532
-
533
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/snow#readme)
534
-
535
- ### Stars
536
-
537
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-stars/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-stars) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-stars.svg)](https://www.npmjs.com/package/@tsparticles/preset-stars) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-stars)](https://www.npmjs.com/package/@tsparticles/preset-stars)
538
-
539
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/stars/images/sample.png)](https://particles.js.org/samples/presets/stars)
540
-
541
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/stars#readme)
542
-
543
- ### Triangles
544
-
545
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/preset-triangles/badge?style=for-the-badge)](https://www.jsdelivr.com/package/npm/@tsparticles/preset-triangles) [![npmjs](https://badge.fury.io/js/@tsparticles/preset-triangles.svg)](https://www.npmjs.com/package/@tsparticles/preset-triangles) [![npmjs](https://img.shields.io/npm/dt/@tsparticles/preset-triangles)](https://www.npmjs.com/package/@tsparticles/preset-triangles)
546
-
547
- [![demo](https://github.com/tsparticles/presets/raw/main/presets/triangles/images/sample.png)](https://particles.js.org/samples/presets/triangles)
548
-
549
- You can find the instructions [here](https://github.com/tsparticles/presets/tree/main/presets/triangles#readme)
550
-
551
- ---
552
-
553
- ## Templates and Resources
554
-
555
- You can find some tsParticles related templates [here](https://github.com/tsparticles/templates). The templates are
556
- created for _Vanilla Javascript_, _ReactJS_, _VueJS_, _Angular_, _SvelteJS_, and other frameworks.
557
-
558
- The templates will vary, new ones can be created or older ones updated with the latest features or changed to a better
559
- style. Check them out once in a while.
560
-
561
- If you created some good design with _tsParticles_ feel free to submit a pull request with your cool template, you'll be
562
- credited as the template author!
563
-
564
- <https://github.com/tsparticles/templates>
565
-
566
- ---
567
-
568
- ## **_Demo / Generator_**
569
-
570
- <https://particles.js.org/samples>
571
-
572
- [![Particles demo](https://particles.js.org/images/demo2.png?v=1.39.1)](https://particles.js.org/samples)
573
-
574
- ---
575
-
576
- ## **_Video Tutorials_**
577
-
578
- You can find all video tutorials on the website here: <https://particles.js.org/video.html>
579
-
580
- _More videos are coming soon! Check every day if there are some new contents._
581
-
582
- ---
583
-
584
- ### Characters as particles
585
-
586
- [![Particles chars demo](https://media.giphy.com/media/JsssOXz72bM6jGEZ0s/giphy.gif)](https://particles.js.org/samples/#chars)
587
-
588
- ---
589
-
590
- ### Polygon mask
591
-
592
- [![tsParticles Polygon Mask demo](https://media.giphy.com/media/lNRfiSgaMFbL4FMhW6/giphy.gif)](https://particles.js.org/samples/#polygonMask)
593
-
594
- ---
595
-
596
- ### Animated stars
597
-
598
- [![Particles NASA demo](https://media.giphy.com/media/cLqGsnh7FKRVMgPIWE/giphy.gif)](https://particles.js.org/samples/#nasa)
599
-
600
- ---
601
-
602
- ### Nyan cat flying on scrolling stars
603
-
604
- [![Particles Nyan Cat demo](https://media.giphy.com/media/LpX2oNc9ZMgIhIXQL9/giphy.gif)](https://particles.js.org/samples/#nyancat2)
605
-
606
- ---
607
-
608
- ### Snow particles
609
-
610
- [![tsParticles Snow demo](https://media.giphy.com/media/gihwUFbmiubbkdzEMX/giphy.gif)](https://particles.js.org/samples/#snow)
611
-
612
- ---
613
-
614
- ### Background Mask particles
615
-
616
- [![tsParticles Background Mask demo](https://media.giphy.com/media/dWraWgqInWFGWiOyRu/giphy.gif)](https://particles.js.org/samples/#background)
617
-
618
- ---
619
-
620
- **particles.json**
621
-
622
- You can find some config samples [here](https://github.com/tsparticles/website/tree/main/presets) 📖
623
-
624
- ---
625
-
626
- ## **_Options_**
627
-
628
- You can find all options
629
- available [here](https://particles.js.org/docs/interfaces/tsParticles_Engine.Options_Interfaces_IOptions.IOptions.html)
630
- 📖
631
-
632
- ## Want to see it in action and try it?
633
-
634
- I've created a tsParticles collection on [CodePen](https://codepen.io/collection/DPOage) 😮 or you can check out
635
- my [profile](https://codepen.io/matteobruni)
636
-
637
- Otherwise, there's the demo page link below.
638
-
639
- [![tsParticles demo](https://media.giphy.com/media/fsVN1ZHksgBIXNIbr1/giphy.gif)](https://particles.js.org/samples/)
73
+ ```javascript
74
+ import { tsParticles } from "@tsparticles/engine";
75
+ import { loadSlim } from "@tsparticles/slim"; // or other bundles
640
76
 
641
- Want to see even more demos? Clone the repository on your computer and follow these instructions
77
+ await loadSlim(tsParticles); // Load preset features
642
78
 
643
- ```shell
644
- $ pnpm i
645
- $ pnpm run build
646
- $ cd demo/vanilla
647
- $ pnpm start
79
+ await tsParticles.load({
80
+ id: "tsparticles",
81
+ options: {
82
+ // Your configuration here
83
+ },
84
+ });
648
85
  ```
649
86
 
650
- **Boom! 💥** <http://localhost:3000> and you can check out other demos.
87
+ ## Common pitfalls
651
88
 
652
- _If you are brave enough_ you can switch to the `dev` branch for trying the features under development.
89
+ - Loading plugins after calling `tsParticles.load(...)` may not work as expected
90
+ - Ensure all required peer packages are loaded before using their features
91
+ - Some shapes or updaters need their specific packages to be loaded
653
92
 
654
- ---
93
+ ## Related docs
655
94
 
656
- ## Migrating from Particles.js
657
-
658
- **tsParticles** has a package that makes this library 100% compatible with the _particles.js_ configuration.
659
-
660
- [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/particles.js/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@tsparticles/particles.js) [![npmjs](https://badge.fury.io/js/@tsparticles/particles.js.svg)](https://www.npmjs.com/package/@tsparticles/particles.js) [![npm](https://img.shields.io/npm/dm/@tsparticles/particles.js)](https://www.npmjs.com/package/@tsparticles/particles.js)
661
-
662
- Seriously, you just need to change the script from particles.js to the bundled compatibility package, et-voilà, **you're
663
- ready** 🧙!
664
-
665
- You can read more **[here](https://dev.to/matteobruni/migrating-from-particles-js-to-tsparticles-2a6m)**
666
-
667
- Want to know 5 reasons to do the
668
- switch? [Read here](https://dev.to/matteobruni/5-reasons-to-use-tsparticles-and-not-particles-js-1gbe)
669
-
670
- _Below you can find all the information you need to install tsParticles and its new syntax._
671
-
672
- ---
673
-
674
- ## Plugins/Customizations
675
-
676
- tsParticles now supports some customizations 🥳.
677
-
678
- **You can create your own plugins**
679
-
680
- _Read more [here](https://particles.js.org/docs/modules/Core_Interfaces_IPlugin.html)..._
681
-
682
- ---
683
-
684
- ## Dependency Graph
685
-
686
- ```mermaid
687
- flowchart TD
688
-
689
- subgraph core [Core]
690
- engine[tsParticles Engine]
691
- perlin-noise[Perlin Noise Lib]
692
- simplex-noise[Simplex Noise Lib]
693
- configs[tsParticles Configs]
694
- end
695
-
696
- subgraph bundle-basic [tsParticles Basic]
697
-
698
- subgraph basic-plugins [Plugins]
699
- plugin-move[Move]
700
-
701
- subgraph basic-plugins-colors [Colors]
702
- plugin-hex-color[Hex Color]
703
- plugin-hsl-color[HSL Color]
704
- plugin-rgb-color[RGB Color]
705
- end
706
- end
707
-
708
- subgraph basic-shapes [Shapes]
709
- shape-circle[Circle]
710
- end
711
-
712
- subgraph basic-updates [Updaters]
713
- updater-fill-color[Color]
714
- updater-opacity[Opacity]
715
- updater-out-modes[Out Modes]
716
- updater-size[Size]
717
- end
718
-
719
- end
720
-
721
- engine --> bundle-basic
722
-
723
- subgraph bundle-confetti [tsParticles Confetti]
724
-
725
- subgraph confetti-plugins [Plugins]
726
- plugin-emitters
727
- plugin-motion
728
- end
729
-
730
- subgraph confetti-shapes [Shapes]
731
- shape-cards
732
- shape-emoji
733
- shape-heart
734
- shape-image
735
- shape-polygon
736
- shape-square
737
- shape-star
738
- end
739
-
740
- subgraph confetti-updaters [Updaters]
741
- updater-life
742
- updater-roll
743
- updater-rotate
744
- updater-tilt
745
- updater-wobble
746
- end
747
-
748
- end
749
-
750
- bundle-basic --> bundle-confetti
751
-
752
- subgraph bundle-slim [tsParticles Slim]
753
-
754
- subgraph slim-interactions [Interactions]
755
-
756
- subgraph slim-interactions-external [Externals]
757
- interaction-external-attract[Attract]
758
- interaction-external-bounce[Bounce]
759
- interaction-external-bubble[Bubble]
760
- interaction-external-connect[Connect]
761
- interaction-external-grab[Grab]
762
- interaction-external-parallax[Parallax]
763
- interaction-external-pause[Pause]
764
- interaction-external-push[Push]
765
- interaction-external-remove[Remove]
766
- interaction-external-repulse[Repulse]
767
- interaction-external-slow[Slow]
768
- end
769
-
770
- subgraph slim-interactions-particles [Particles]
771
- interaction-particles-attract[Attract]
772
- interaction-particles-collisions[Collisions]
773
- interaction-particles-links[Links]
774
- end
775
-
776
- end
777
-
778
- subgraph slim-plugins [Plugins]
779
- plugin-interactivity[Interactivity]
780
-
781
- subgraph slim-plugins-easings [Easings]
782
- plugin-easing-quad[Quad]
783
- end
784
-
785
- end
786
-
787
- subgraph slim-shapes [Shapes]
788
- shape-emoji[Emoji]
789
- shape-image[Image]
790
- shape-line[Line]
791
- shape-polygon[Polygon]
792
- shape-square[Square]
793
- shape-star[Star]
794
- end
795
-
796
- subgraph slim-updaters [Updaters]
797
- updater-life[Life]
798
- updater-rotate[Rotate]
799
- updater-stroke-color[Stroke Color]
800
- end
801
-
802
- end
803
-
804
- bundle-basic --> bundle-slim
805
-
806
- subgraph bundle-fireworks [tsParticles Fireworks]
807
-
808
- subgraph fireworks-effects [Effects]
809
- effect-trail
810
- end
811
-
812
- subgraph fireworks-plugins [Plugins]
813
- plugin-emitters
814
-
815
- subgraph fireworks-plugin-emitters-shapes [Emitters Shapes]
816
- plugin-emitters-shape-square
817
- end
818
-
819
- plugin-sounds
820
- end
821
-
822
- subgraph fireworks-updaters [Updaters]
823
- updater-destroy
824
- updater-life
825
- updater-rotate
826
- end
827
-
828
- end
829
-
830
- bundle-basic --> bundle-fireworks
831
-
832
- subgraph bundle-full [tsParticles]
833
-
834
- subgraph full-interactions [Interactions]
835
-
836
- subgraph full-interactions-external [Externals]
837
- interaction-external-trail[Trail]
838
- end
839
-
840
- end
841
-
842
- subgraph full-plugins [Plugins]
843
- plugin-absorbers[Absorbers]
844
- plugin-emitters[Emitters]
845
-
846
- subgraph full-plugin-emitters-shapes [Emitters Shapes]
847
- plugin-emitters-shape-circle[Circle]
848
- plugin-emitters-shape-square[Square]
849
- end
850
-
851
- end
852
-
853
- subgraph full-shapes [Shapes]
854
- shape-text[Text]
855
- end
856
-
857
- subgraph full-updaters [Updaters]
858
- updater-destroy[Destroy]
859
- updater-roll[Roll]
860
- updater-tilt[Tilt]
861
- updater-twinkle[Twinkle]
862
- updater-wobble[Wobble]
863
- end
864
-
865
- end
866
-
867
- bundle-slim --> bundle-full
868
-
869
- subgraph bundle-all [tsParticles All]
870
-
871
- subgraph all-effects [Effects]
872
- effect-bubble[Bubble]
873
- effect-particles[Particles]
874
- effect-shadow[Shadow]
875
- effect-trail[Trail]
876
- end
877
-
878
- subgraph all-interactions [Interactions]
879
- subgraph all-interactions-external [External]
880
- interaction-external-particle[Particle]
881
- interaction-external-pop[Pop]
882
- end
883
-
884
- interaction-light[Light]
885
-
886
- subgraph all-interactions-particles [Particles]
887
- interaction-particles-repulse[Repulse]
888
- end
889
- end
890
-
891
- subgraph all-paths [Paths]
892
- path-branches[Branches]
893
- path-brownian[Brownian]
894
- path-curl-noise[Curl Noise]
895
- path-curves[Curves]
896
- path-fractal-noise[Fractal Noise]
897
- path-grid[Grid]
898
- path-levy[Levy]
899
- path-perlin-noise[Perlin Noise]
900
- path-polygon[Polygon]
901
- path-random[Random]
902
- path-simplex-noise[Simplex Noise]
903
- path-spiral[Spiral]
904
- path-svg[SVG]
905
- path-zig-zag[Zig Zag]
906
- end
907
-
908
- subgraph all-plugins [Plugins]
909
- plugin-background-mask[Background Mask]
910
- plugin-blend[Blend]
911
- plugin-canvas-mask[Canvas Mask]
912
-
913
- subgraph all-plugins-colors [Colors]
914
- plugin-hsv-color[HSV Color]
915
- plugin-hwb-color[HWB Color]
916
- plugin-lab-color[Lab Color]
917
- plugin-lch-color[Lch Color]
918
- plugin-named-color[Named Color]
919
- plugin-oklab-color[Oklab Color]
920
- plugin-oklch-color[Oklch Color]
921
- end
922
-
923
- subgraph all-plugins-easings [Easings]
924
- plugin-easing-back[Back]
925
- plugin-easing-bounce[Bounce]
926
- plugin-easing-circ[Circ]
927
- plugin-easing-cubic[Cubic]
928
- plugin-easing-elastic[Elastic]
929
- plugin-easing-expo[Expo]
930
- plugin-easing-gaussian[Gaussian]
931
- plugin-easing-linear[Linear]
932
- plugin-easing-quart[Quart]
933
- plugin-easing-quint[Quint]
934
- plugin-easing-sigmoid[Sigmoid]
935
- plugin-easing-sine[Sine]
936
- plugin-easing-smoothstep[Smoothstep]
937
- end
938
-
939
- subgraph all-plugin-emitters-shapes [Emitters Shapes]
940
- plugin-emitters-shape-canvas[Canvas]
941
- plugin-emitters-shape-path[Path]
942
- plugin-emitters-shape-polygon[Polygon]
943
- end
944
-
945
- subgraph all-plugins-exports [Exports]
946
- plugin-export-image[Image]
947
- plugin-export-json[JSON]
948
- plugin-export-video[Video]
949
- end
950
-
951
- plugin-infection[Infection]
952
- plugin-manual-particles[Manual Particles]
953
- plugin-motion[Motion]
954
- plugin-poisson-disc[Poisson Disc]
955
- plugin-polygon-mask[Polygon Mask]
956
- plugin-responsive[Responsive]
957
- plugin-sounds[Sounds]
958
- plugin-themes[Themes]
959
- plugin-trail[Trail]
960
- plugin-zoom[Zoom]
961
- end
962
-
963
- subgraph all-shapes [Shapes]
964
- shape-arrow[Arrow]
965
- shape-cards[Cards]
966
- shape-cog[Cog]
967
- shape-heart[Heart]
968
- shape-infinity[Infinity]
969
- shape-matrix[Matrix]
970
- shape-path[Path]
971
- shape-rounded-polygon[Rounded Polygon]
972
- shape-rounded-rect[Rounded Rect]
973
- shape-spiral[Spiral]
974
- shape-squircle[Squircle]
975
- end
976
-
977
- subgraph all-updaters [Updaters]
978
- updater-gradient[Gradient]
979
- updater-orbit[Orbit]
980
- end
981
-
982
- simplex-noise --> path-curl-noise
983
- perlin-noise --> path-perlin-noise
984
- simplex-noise --> path-simplex-noise
985
-
986
- end
987
-
988
- bundle-full --> bundle-all
989
- ```
95
+ - Main documentation: <https://particles.js.org/docs/>
96
+ - Main repository: <https://github.com/tsparticles/tsparticles>
97
+ - Available bundles: <https://github.com/tsparticles/tsparticles#bundles>
98
+ - All options: <https://particles.js.org/docs/interfaces/tsParticles_Engine.Options_Interfaces_IOptions.IOptions.html>