@tsparticles/pjs 3.0.0-alpha.0 → 3.0.0-beta.4

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 (37) hide show
  1. package/README.md +46 -8
  2. package/browser/VincentGarreau/particles.js +23 -0
  3. package/browser/bundle.js +2 -2
  4. package/browser/index.js +7 -20
  5. package/browser/marcbruederlin/Particles.js +83 -0
  6. package/browser/package.json +1 -0
  7. package/cjs/VincentGarreau/particles.js +26 -0
  8. package/cjs/bundle.js +3 -2
  9. package/cjs/index.js +7 -20
  10. package/cjs/marcbruederlin/Particles.js +87 -0
  11. package/cjs/package.json +1 -0
  12. package/esm/VincentGarreau/particles.js +23 -0
  13. package/esm/bundle.js +2 -2
  14. package/esm/index.js +7 -20
  15. package/esm/marcbruederlin/Particles.js +83 -0
  16. package/esm/package.json +1 -0
  17. package/package.json +36 -13
  18. package/report.html +5 -5
  19. package/tsparticles.pjs.bundle.js +2381 -2273
  20. package/tsparticles.pjs.bundle.min.js +1 -1
  21. package/tsparticles.pjs.bundle.min.js.LICENSE.txt +1 -8
  22. package/tsparticles.pjs.js +159 -12
  23. package/tsparticles.pjs.min.js +1 -1
  24. package/tsparticles.pjs.min.js.LICENSE.txt +1 -8
  25. package/types/VincentGarreau/particles.d.ts +7 -0
  26. package/types/bundle.d.ts +2 -2
  27. package/types/index.d.ts +11 -2
  28. package/types/marcbruederlin/Particles.d.ts +23 -0
  29. package/umd/VincentGarreau/particles.js +36 -0
  30. package/umd/bundle.js +3 -2
  31. package/umd/index.js +8 -21
  32. package/umd/marcbruederlin/Particles.js +97 -0
  33. /package/browser/{IParticlesJS.js → VincentGarreau/IParticlesJS.js} +0 -0
  34. /package/cjs/{IParticlesJS.js → VincentGarreau/IParticlesJS.js} +0 -0
  35. /package/esm/{IParticlesJS.js → VincentGarreau/IParticlesJS.js} +0 -0
  36. /package/types/{IParticlesJS.d.ts → VincentGarreau/IParticlesJS.d.ts} +0 -0
  37. /package/umd/{IParticlesJS.js → VincentGarreau/IParticlesJS.js} +0 -0
@@ -1,8 +1 @@
1
- /*!
2
- * Author : Matteo Bruni
3
- * MIT license: https://opensource.org/licenses/MIT
4
- * Demo / Generator : https://particles.js.org/
5
- * GitHub : https://www.github.com/matteobruni/tsparticles
6
- * How to use? : Check the GitHub README
7
- * v3.0.0-alpha.0
8
- */
1
+ /*! tsParticles Particles.js v3.0.0-beta.4 by Matteo Bruni */
@@ -0,0 +1,7 @@
1
+ import { type Container, type Engine } from "@tsparticles/engine";
2
+ import type { IParticlesJS } from "./IParticlesJS.js";
3
+ declare const initParticlesJS: (engine: Engine) => {
4
+ pJSDom: Container[];
5
+ particlesJS: IParticlesJS;
6
+ };
7
+ export { initParticlesJS };
package/types/bundle.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const particlesJS: import("./IParticlesJS").IParticlesJS, pJSDom: import("@tsparticles/engine").Container[];
1
+ declare const particlesJS: import("./VincentGarreau/IParticlesJS").IParticlesJS, pJSDom: import("@tsparticles/engine").Container[], Particles: typeof import("./marcbruederlin/Particles").Particles;
2
2
  export * from "@tsparticles/engine";
3
- export { particlesJS, pJSDom };
3
+ export { particlesJS, pJSDom, Particles };
package/types/index.d.ts CHANGED
@@ -1,6 +1,15 @@
1
- import type { Container, Engine } from "@tsparticles/engine";
2
- import type { IParticlesJS } from "./IParticlesJS";
1
+ import { type Container, type Engine } from "@tsparticles/engine";
2
+ import type { IParticlesJS } from "./VincentGarreau/IParticlesJS.js";
3
+ import { Particles } from "./marcbruederlin/Particles.js";
4
+ declare global {
5
+ interface Window {
6
+ Particles: typeof Particles;
7
+ pJSDom: Container[];
8
+ particlesJS: IParticlesJS;
9
+ }
10
+ }
3
11
  declare const initPjs: (engine: Engine) => {
12
+ Particles: typeof Particles;
4
13
  pJSDom: Container[];
5
14
  particlesJS: IParticlesJS;
6
15
  };
@@ -0,0 +1,23 @@
1
+ import { type RecursivePartial, type SingleOrMultiple } from "@tsparticles/engine";
2
+ interface ResponsiveOptions {
3
+ breakpoint: number;
4
+ options: ParticlesOptions;
5
+ }
6
+ interface ParticlesOptions {
7
+ color: SingleOrMultiple<string>;
8
+ connectParticles: boolean;
9
+ maxParticles: number;
10
+ minDistance: number;
11
+ responsive: ResponsiveOptions[];
12
+ selector: string;
13
+ sizeVariations: number;
14
+ speed: number;
15
+ }
16
+ export declare class Particles {
17
+ private _container?;
18
+ static init(options: RecursivePartial<ParticlesOptions>): Particles;
19
+ destroy(): void;
20
+ pauseAnimation(): void;
21
+ resumeAnimation(): void;
22
+ }
23
+ export {};
@@ -0,0 +1,36 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.initParticlesJS = void 0;
13
+ const initParticlesJS = (engine) => {
14
+ const particlesJS = (tagId, options) => {
15
+ return engine.load({ id: tagId, options });
16
+ };
17
+ particlesJS.load = (tagId, pathConfigJson, callback) => {
18
+ engine
19
+ .load({ id: tagId, url: pathConfigJson })
20
+ .then((container) => {
21
+ if (container) {
22
+ callback(container);
23
+ }
24
+ })
25
+ .catch(() => {
26
+ callback(undefined);
27
+ });
28
+ };
29
+ particlesJS.setOnClickHandler = (callback) => {
30
+ engine.setOnClickHandler(callback);
31
+ };
32
+ const pJSDom = engine.dom();
33
+ return { particlesJS, pJSDom };
34
+ };
35
+ exports.initParticlesJS = initParticlesJS;
36
+ });
package/umd/bundle.js CHANGED
@@ -23,11 +23,12 @@ 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.pJSDom = exports.particlesJS = void 0;
26
+ exports.Particles = exports.pJSDom = exports.particlesJS = void 0;
27
27
  const _1 = require(".");
28
28
  const engine_1 = require("@tsparticles/engine");
29
- const { particlesJS, pJSDom } = (0, _1.initPjs)(engine_1.tsParticles);
29
+ const { particlesJS, pJSDom, Particles } = (0, _1.initPjs)(engine_1.tsParticles);
30
30
  exports.particlesJS = particlesJS;
31
31
  exports.pJSDom = pJSDom;
32
+ exports.Particles = Particles;
32
33
  __exportStar(require("@tsparticles/engine"), exports);
33
34
  });
package/umd/index.js CHANGED
@@ -4,33 +4,20 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports"], factory);
7
+ define(["require", "exports", "./marcbruederlin/Particles.js", "./VincentGarreau/particles.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.initPjs = void 0;
13
+ const Particles_js_1 = require("./marcbruederlin/Particles.js");
14
+ const particles_js_1 = require("./VincentGarreau/particles.js");
13
15
  const initPjs = (engine) => {
14
- const particlesJS = (tagId, options) => {
15
- return engine.load({ id: tagId, options: options });
16
- };
17
- particlesJS.load = (tagId, pathConfigJson, callback) => {
18
- engine
19
- .load({ id: tagId, url: pathConfigJson })
20
- .then((container) => {
21
- if (container) {
22
- callback(container);
23
- }
24
- })
25
- .catch(() => {
26
- callback(undefined);
27
- });
28
- };
29
- particlesJS.setOnClickHandler = (callback) => {
30
- engine.setOnClickHandler(callback);
31
- };
32
- const pJSDom = engine.dom();
33
- return { particlesJS, pJSDom };
16
+ const { particlesJS, pJSDom } = (0, particles_js_1.initParticlesJS)(engine);
17
+ window.particlesJS = particlesJS;
18
+ window.pJSDom = pJSDom;
19
+ window.Particles = Particles_js_1.Particles;
20
+ return { particlesJS, pJSDom, Particles: Particles_js_1.Particles };
34
21
  };
35
22
  exports.initPjs = initPjs;
36
23
  });
@@ -0,0 +1,97 @@
1
+ (function (factory) {
2
+ if (typeof module === "object" && typeof module.exports === "object") {
3
+ var v = factory(require, exports);
4
+ if (v !== undefined) module.exports = v;
5
+ }
6
+ else if (typeof define === "function" && define.amd) {
7
+ define(["require", "exports", "@tsparticles/engine"], factory);
8
+ }
9
+ })(function (require, exports) {
10
+ "use strict";
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Particles = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
14
+ class Particles {
15
+ static init(options) {
16
+ const particles = new Particles(), selector = options.selector;
17
+ if (!selector) {
18
+ throw new Error("No selector provided");
19
+ }
20
+ const el = document.querySelector(selector);
21
+ if (!el) {
22
+ throw new Error("No element found for selector");
23
+ }
24
+ engine_1.tsParticles
25
+ .load({
26
+ id: selector.replace(".", "").replace("!", ""),
27
+ element: el,
28
+ options: {
29
+ fullScreen: {
30
+ enable: false,
31
+ },
32
+ particles: {
33
+ color: {
34
+ value: options.color ?? "!000000",
35
+ },
36
+ links: {
37
+ color: "random",
38
+ distance: options.minDistance ?? 120,
39
+ enable: options.connectParticles ?? false,
40
+ },
41
+ move: {
42
+ enable: true,
43
+ speed: options.speed ?? 0.5,
44
+ },
45
+ number: {
46
+ value: options.maxParticles ?? 100,
47
+ },
48
+ size: {
49
+ value: { min: 1, max: options.sizeVariations ?? 3 },
50
+ },
51
+ },
52
+ responsive: options.responsive?.map((responsive) => ({
53
+ maxWidth: responsive.breakpoint,
54
+ options: {
55
+ particles: {
56
+ color: {
57
+ value: responsive.options?.color,
58
+ },
59
+ links: {
60
+ distance: responsive.options?.minDistance,
61
+ enable: responsive.options?.connectParticles,
62
+ },
63
+ number: {
64
+ value: options.maxParticles,
65
+ },
66
+ move: {
67
+ enable: true,
68
+ speed: responsive.options?.speed,
69
+ },
70
+ size: {
71
+ value: responsive.options?.sizeVariations,
72
+ },
73
+ },
74
+ },
75
+ })),
76
+ },
77
+ })
78
+ .then((container) => {
79
+ particles._container = container;
80
+ });
81
+ return particles;
82
+ }
83
+ destroy() {
84
+ const container = this._container;
85
+ container && container.destroy();
86
+ }
87
+ pauseAnimation() {
88
+ const container = this._container;
89
+ container && container.pause();
90
+ }
91
+ resumeAnimation() {
92
+ const container = this._container;
93
+ container && container.play();
94
+ }
95
+ }
96
+ exports.Particles = Particles;
97
+ });