tsparticles 1.36.0 → 1.37.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.
Files changed (253) hide show
  1. package/Core/Container.d.ts +2 -1
  2. package/Core/Container.js +14 -11
  3. package/Enums/Modes/ResponsiveMode.d.ts +4 -0
  4. package/Enums/Modes/ResponsiveMode.js +8 -0
  5. package/Enums/Modes/index.d.ts +1 -0
  6. package/Enums/Modes/index.js +1 -0
  7. package/Interactions/External/Attract/index.d.ts +1 -1
  8. package/Interactions/External/Attract/index.js +2 -2
  9. package/Interactions/External/Bounce/index.d.ts +1 -1
  10. package/Interactions/External/Bounce/index.js +2 -2
  11. package/Interactions/External/Bubble/index.d.ts +1 -1
  12. package/Interactions/External/Bubble/index.js +2 -2
  13. package/Interactions/External/Connect/index.d.ts +1 -1
  14. package/Interactions/External/Connect/index.js +2 -2
  15. package/Interactions/External/Grab/index.d.ts +1 -1
  16. package/Interactions/External/Grab/index.js +2 -2
  17. package/Interactions/External/Repulse/index.d.ts +1 -1
  18. package/Interactions/External/Repulse/index.js +2 -2
  19. package/Interactions/External/Trail/index.d.ts +1 -1
  20. package/Interactions/External/Trail/index.js +2 -2
  21. package/Interactions/Particles/Attract/index.d.ts +1 -1
  22. package/Interactions/Particles/Attract/index.js +2 -2
  23. package/Interactions/Particles/Collisions/index.d.ts +1 -1
  24. package/Interactions/Particles/Collisions/index.js +2 -2
  25. package/Interactions/Particles/Links/index.d.ts +2 -2
  26. package/Interactions/Particles/Links/index.js +5 -5
  27. package/Interactions/Particles/Links/plugin.d.ts +1 -1
  28. package/Interactions/Particles/Links/plugin.js +2 -2
  29. package/Options/Classes/FullScreen/FullScreen.js +2 -2
  30. package/Options/Classes/Interactivity/Interactivity.js +1 -1
  31. package/Options/Classes/Options.js +3 -1
  32. package/Options/Classes/Responsive.d.ts +2 -0
  33. package/Options/Classes/Responsive.js +10 -0
  34. package/Options/Interfaces/IResponsive.d.ts +2 -0
  35. package/Plugins/Absorbers/plugin.d.ts +1 -1
  36. package/Plugins/Absorbers/plugin.js +2 -2
  37. package/Plugins/Emitters/plugin.d.ts +1 -1
  38. package/Plugins/Emitters/plugin.js +2 -2
  39. package/Plugins/PolygonMask/plugin.js +1 -1
  40. package/Shapes/Circle/index.d.ts +1 -1
  41. package/Shapes/Circle/index.js +2 -2
  42. package/Shapes/Image/index.d.ts +1 -1
  43. package/Shapes/Image/index.js +3 -3
  44. package/Shapes/Line/index.d.ts +1 -1
  45. package/Shapes/Line/index.js +2 -2
  46. package/Shapes/Polygon/index.d.ts +3 -3
  47. package/Shapes/Polygon/index.js +7 -7
  48. package/Shapes/Square/index.d.ts +1 -1
  49. package/Shapes/Square/index.js +3 -3
  50. package/Shapes/Star/index.d.ts +1 -1
  51. package/Shapes/Star/index.js +2 -2
  52. package/Shapes/Text/index.d.ts +1 -1
  53. package/Shapes/Text/index.js +2 -2
  54. package/Updaters/Angle/index.d.ts +1 -1
  55. package/Updaters/Angle/index.js +2 -2
  56. package/Updaters/Color/index.d.ts +1 -1
  57. package/Updaters/Color/index.js +2 -2
  58. package/Updaters/Life/index.d.ts +1 -1
  59. package/Updaters/Life/index.js +2 -2
  60. package/Updaters/Opacity/index.d.ts +1 -1
  61. package/Updaters/Opacity/index.js +2 -2
  62. package/Updaters/OutModes/index.d.ts +1 -1
  63. package/Updaters/OutModes/index.js +2 -2
  64. package/Updaters/Roll/index.d.ts +1 -1
  65. package/Updaters/Roll/index.js +2 -2
  66. package/Updaters/Size/index.d.ts +1 -1
  67. package/Updaters/Size/index.js +2 -2
  68. package/Updaters/StrokeColor/index.d.ts +1 -1
  69. package/Updaters/StrokeColor/index.js +2 -2
  70. package/Updaters/Tilt/index.d.ts +1 -1
  71. package/Updaters/Tilt/index.js +2 -2
  72. package/Updaters/Wobble/index.d.ts +1 -1
  73. package/Updaters/Wobble/index.js +2 -2
  74. package/Utils/Utils.d.ts +1 -2
  75. package/browser/Core/Container.d.ts +2 -1
  76. package/browser/Core/Container.js +15 -12
  77. package/browser/Enums/Modes/ResponsiveMode.d.ts +4 -0
  78. package/browser/Enums/Modes/ResponsiveMode.js +5 -0
  79. package/browser/Enums/Modes/index.d.ts +1 -0
  80. package/browser/Enums/Modes/index.js +1 -0
  81. package/browser/Interactions/External/Attract/index.d.ts +1 -1
  82. package/browser/Interactions/External/Attract/index.js +2 -2
  83. package/browser/Interactions/External/Bounce/index.d.ts +1 -1
  84. package/browser/Interactions/External/Bounce/index.js +2 -2
  85. package/browser/Interactions/External/Bubble/index.d.ts +1 -1
  86. package/browser/Interactions/External/Bubble/index.js +2 -2
  87. package/browser/Interactions/External/Connect/index.d.ts +1 -1
  88. package/browser/Interactions/External/Connect/index.js +2 -2
  89. package/browser/Interactions/External/Grab/index.d.ts +1 -1
  90. package/browser/Interactions/External/Grab/index.js +2 -2
  91. package/browser/Interactions/External/Repulse/index.d.ts +1 -1
  92. package/browser/Interactions/External/Repulse/index.js +2 -2
  93. package/browser/Interactions/External/Trail/index.d.ts +1 -1
  94. package/browser/Interactions/External/Trail/index.js +2 -2
  95. package/browser/Interactions/Particles/Attract/index.d.ts +1 -1
  96. package/browser/Interactions/Particles/Attract/index.js +2 -2
  97. package/browser/Interactions/Particles/Collisions/index.d.ts +1 -1
  98. package/browser/Interactions/Particles/Collisions/index.js +2 -2
  99. package/browser/Interactions/Particles/Links/index.d.ts +2 -2
  100. package/browser/Interactions/Particles/Links/index.js +5 -5
  101. package/browser/Interactions/Particles/Links/plugin.d.ts +1 -1
  102. package/browser/Interactions/Particles/Links/plugin.js +2 -2
  103. package/browser/Options/Classes/FullScreen/FullScreen.js +2 -2
  104. package/browser/Options/Classes/Interactivity/Interactivity.js +1 -1
  105. package/browser/Options/Classes/Options.js +4 -2
  106. package/browser/Options/Classes/Responsive.d.ts +2 -0
  107. package/browser/Options/Classes/Responsive.js +11 -0
  108. package/browser/Options/Interfaces/IResponsive.d.ts +2 -0
  109. package/browser/Plugins/Absorbers/plugin.d.ts +1 -1
  110. package/browser/Plugins/Absorbers/plugin.js +2 -2
  111. package/browser/Plugins/Emitters/plugin.d.ts +1 -1
  112. package/browser/Plugins/Emitters/plugin.js +2 -2
  113. package/browser/Plugins/PolygonMask/plugin.js +1 -1
  114. package/browser/Shapes/Circle/index.d.ts +1 -1
  115. package/browser/Shapes/Circle/index.js +2 -2
  116. package/browser/Shapes/Image/index.d.ts +1 -1
  117. package/browser/Shapes/Image/index.js +3 -3
  118. package/browser/Shapes/Line/index.d.ts +1 -1
  119. package/browser/Shapes/Line/index.js +2 -2
  120. package/browser/Shapes/Polygon/index.d.ts +3 -3
  121. package/browser/Shapes/Polygon/index.js +7 -7
  122. package/browser/Shapes/Square/index.d.ts +1 -1
  123. package/browser/Shapes/Square/index.js +3 -3
  124. package/browser/Shapes/Star/index.d.ts +1 -1
  125. package/browser/Shapes/Star/index.js +2 -2
  126. package/browser/Shapes/Text/index.d.ts +1 -1
  127. package/browser/Shapes/Text/index.js +2 -2
  128. package/browser/Updaters/Angle/index.d.ts +1 -1
  129. package/browser/Updaters/Angle/index.js +2 -2
  130. package/browser/Updaters/Color/index.d.ts +1 -1
  131. package/browser/Updaters/Color/index.js +2 -2
  132. package/browser/Updaters/Life/index.d.ts +1 -1
  133. package/browser/Updaters/Life/index.js +2 -2
  134. package/browser/Updaters/Opacity/index.d.ts +1 -1
  135. package/browser/Updaters/Opacity/index.js +2 -2
  136. package/browser/Updaters/OutModes/index.d.ts +1 -1
  137. package/browser/Updaters/OutModes/index.js +2 -2
  138. package/browser/Updaters/Roll/index.d.ts +1 -1
  139. package/browser/Updaters/Roll/index.js +2 -2
  140. package/browser/Updaters/Size/index.d.ts +1 -1
  141. package/browser/Updaters/Size/index.js +2 -2
  142. package/browser/Updaters/StrokeColor/index.d.ts +1 -1
  143. package/browser/Updaters/StrokeColor/index.js +2 -2
  144. package/browser/Updaters/Tilt/index.d.ts +1 -1
  145. package/browser/Updaters/Tilt/index.js +2 -2
  146. package/browser/Updaters/Wobble/index.d.ts +1 -1
  147. package/browser/Updaters/Wobble/index.js +2 -2
  148. package/browser/Utils/Utils.d.ts +1 -2
  149. package/browser/full.d.ts +1 -1
  150. package/browser/full.js +9 -9
  151. package/browser/index.js +1 -1
  152. package/browser/index.slim.js +1 -1
  153. package/browser/main.d.ts +10 -6
  154. package/browser/main.js +20 -6
  155. package/browser/slim.d.ts +1 -1
  156. package/browser/slim.js +24 -24
  157. package/esm/Core/Container.d.ts +2 -1
  158. package/esm/Core/Container.js +14 -11
  159. package/esm/Enums/Modes/ResponsiveMode.d.ts +4 -0
  160. package/esm/Enums/Modes/ResponsiveMode.js +5 -0
  161. package/esm/Enums/Modes/index.d.ts +1 -0
  162. package/esm/Enums/Modes/index.js +1 -0
  163. package/esm/Interactions/External/Attract/index.d.ts +1 -1
  164. package/esm/Interactions/External/Attract/index.js +2 -2
  165. package/esm/Interactions/External/Bounce/index.d.ts +1 -1
  166. package/esm/Interactions/External/Bounce/index.js +2 -2
  167. package/esm/Interactions/External/Bubble/index.d.ts +1 -1
  168. package/esm/Interactions/External/Bubble/index.js +2 -2
  169. package/esm/Interactions/External/Connect/index.d.ts +1 -1
  170. package/esm/Interactions/External/Connect/index.js +2 -2
  171. package/esm/Interactions/External/Grab/index.d.ts +1 -1
  172. package/esm/Interactions/External/Grab/index.js +2 -2
  173. package/esm/Interactions/External/Repulse/index.d.ts +1 -1
  174. package/esm/Interactions/External/Repulse/index.js +2 -2
  175. package/esm/Interactions/External/Trail/index.d.ts +1 -1
  176. package/esm/Interactions/External/Trail/index.js +2 -2
  177. package/esm/Interactions/Particles/Attract/index.d.ts +1 -1
  178. package/esm/Interactions/Particles/Attract/index.js +2 -2
  179. package/esm/Interactions/Particles/Collisions/index.d.ts +1 -1
  180. package/esm/Interactions/Particles/Collisions/index.js +2 -2
  181. package/esm/Interactions/Particles/Links/index.d.ts +2 -2
  182. package/esm/Interactions/Particles/Links/index.js +5 -5
  183. package/esm/Interactions/Particles/Links/plugin.d.ts +1 -1
  184. package/esm/Interactions/Particles/Links/plugin.js +2 -2
  185. package/esm/Options/Classes/FullScreen/FullScreen.js +2 -2
  186. package/esm/Options/Classes/Interactivity/Interactivity.js +1 -1
  187. package/esm/Options/Classes/Options.js +4 -2
  188. package/esm/Options/Classes/Responsive.d.ts +2 -0
  189. package/esm/Options/Classes/Responsive.js +10 -0
  190. package/esm/Options/Interfaces/IResponsive.d.ts +2 -0
  191. package/esm/Plugins/Absorbers/plugin.d.ts +1 -1
  192. package/esm/Plugins/Absorbers/plugin.js +2 -2
  193. package/esm/Plugins/Emitters/plugin.d.ts +1 -1
  194. package/esm/Plugins/Emitters/plugin.js +2 -2
  195. package/esm/Plugins/PolygonMask/plugin.js +1 -1
  196. package/esm/Shapes/Circle/index.d.ts +1 -1
  197. package/esm/Shapes/Circle/index.js +2 -2
  198. package/esm/Shapes/Image/index.d.ts +1 -1
  199. package/esm/Shapes/Image/index.js +3 -3
  200. package/esm/Shapes/Line/index.d.ts +1 -1
  201. package/esm/Shapes/Line/index.js +2 -2
  202. package/esm/Shapes/Polygon/index.d.ts +3 -3
  203. package/esm/Shapes/Polygon/index.js +7 -7
  204. package/esm/Shapes/Square/index.d.ts +1 -1
  205. package/esm/Shapes/Square/index.js +3 -3
  206. package/esm/Shapes/Star/index.d.ts +1 -1
  207. package/esm/Shapes/Star/index.js +2 -2
  208. package/esm/Shapes/Text/index.d.ts +1 -1
  209. package/esm/Shapes/Text/index.js +2 -2
  210. package/esm/Updaters/Angle/index.d.ts +1 -1
  211. package/esm/Updaters/Angle/index.js +2 -2
  212. package/esm/Updaters/Color/index.d.ts +1 -1
  213. package/esm/Updaters/Color/index.js +2 -2
  214. package/esm/Updaters/Life/index.d.ts +1 -1
  215. package/esm/Updaters/Life/index.js +2 -2
  216. package/esm/Updaters/Opacity/index.d.ts +1 -1
  217. package/esm/Updaters/Opacity/index.js +2 -2
  218. package/esm/Updaters/OutModes/index.d.ts +1 -1
  219. package/esm/Updaters/OutModes/index.js +2 -2
  220. package/esm/Updaters/Roll/index.d.ts +1 -1
  221. package/esm/Updaters/Roll/index.js +2 -2
  222. package/esm/Updaters/Size/index.d.ts +1 -1
  223. package/esm/Updaters/Size/index.js +2 -2
  224. package/esm/Updaters/StrokeColor/index.d.ts +1 -1
  225. package/esm/Updaters/StrokeColor/index.js +2 -2
  226. package/esm/Updaters/Tilt/index.d.ts +1 -1
  227. package/esm/Updaters/Tilt/index.js +2 -2
  228. package/esm/Updaters/Wobble/index.d.ts +1 -1
  229. package/esm/Updaters/Wobble/index.js +2 -2
  230. package/esm/Utils/Utils.d.ts +1 -2
  231. package/esm/full.d.ts +1 -1
  232. package/esm/full.js +9 -9
  233. package/esm/index.js +1 -1
  234. package/esm/index.slim.js +1 -1
  235. package/esm/main.d.ts +7 -6
  236. package/esm/main.js +17 -6
  237. package/esm/slim.d.ts +1 -1
  238. package/esm/slim.js +24 -24
  239. package/full.d.ts +1 -1
  240. package/full.js +9 -9
  241. package/index.js +1 -1
  242. package/index.slim.js +1 -1
  243. package/main.d.ts +7 -6
  244. package/main.js +17 -6
  245. package/package.json +1 -1
  246. package/report.html +2 -2
  247. package/report.slim.html +2 -2
  248. package/slim.d.ts +1 -1
  249. package/slim.js +24 -24
  250. package/tsparticles.js +155 -127
  251. package/tsparticles.min.js +2 -2
  252. package/tsparticles.slim.js +133 -105
  253. package/tsparticles.slim.min.js +2 -2
@@ -1,6 +1,6 @@
1
1
  import { SquareDrawer } from "./SquareDrawer";
2
- export function loadSquareShape(tsParticles) {
2
+ export async function loadSquareShape(tsParticles) {
3
3
  const drawer = new SquareDrawer();
4
- tsParticles.addShape("edge", drawer);
5
- tsParticles.addShape("square", drawer);
4
+ await tsParticles.addShape("edge", drawer);
5
+ await tsParticles.addShape("square", drawer);
6
6
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadStarShape(tsParticles: Main): void;
2
+ export declare function loadStarShape(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { StarDrawer } from "./StarDrawer";
2
- export function loadStarShape(tsParticles) {
3
- tsParticles.addShape("star", new StarDrawer());
2
+ export async function loadStarShape(tsParticles) {
3
+ await tsParticles.addShape("star", new StarDrawer());
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadTextShape(tsParticles: Main): void;
2
+ export declare function loadTextShape(tsParticles: Main): Promise<void>;
@@ -1,7 +1,7 @@
1
1
  import { validTypes, TextDrawer } from "./TextDrawer";
2
- export function loadTextShape(tsParticles) {
2
+ export async function loadTextShape(tsParticles) {
3
3
  const drawer = new TextDrawer();
4
4
  for (const type of validTypes) {
5
- tsParticles.addShape(type, drawer);
5
+ await tsParticles.addShape(type, drawer);
6
6
  }
7
7
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadAngleUpdater(tsParticles: Main): void;
2
+ export declare function loadAngleUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { AngleUpdater } from "./AngleUpdater";
2
- export function loadAngleUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("angle", (container) => new AngleUpdater(container));
2
+ export async function loadAngleUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("angle", (container) => new AngleUpdater(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadColorUpdater(tsParticles: Main): void;
2
+ export declare function loadColorUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { ColorUpdater } from "./ColorUpdater";
2
- export function loadColorUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("color", (container) => new ColorUpdater(container));
2
+ export async function loadColorUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("color", (container) => new ColorUpdater(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadLifeUpdater(tsParticles: Main): void;
2
+ export declare function loadLifeUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { LifeUpdater } from "./LifeUpdater";
2
- export function loadLifeUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("life", (container) => new LifeUpdater(container));
2
+ export async function loadLifeUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("life", (container) => new LifeUpdater(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadOpacityUpdater(tsParticles: Main): void;
2
+ export declare function loadOpacityUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { OpacityUpdater } from "./OpacityUpdater";
2
- export function loadOpacityUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("opacity", (container) => new OpacityUpdater(container));
2
+ export async function loadOpacityUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("opacity", (container) => new OpacityUpdater(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadOutModesUpdater(tsParticles: Main): void;
2
+ export declare function loadOutModesUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { OutOfCanvasUpdater } from "./OutOfCanvasUpdater";
2
- export function loadOutModesUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("outModes", (container) => new OutOfCanvasUpdater(container));
2
+ export async function loadOutModesUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("outModes", (container) => new OutOfCanvasUpdater(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadRollUpdater(tsParticles: Main): void;
2
+ export declare function loadRollUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { RollUpdater } from "./RollUpdater";
2
- export function loadRollUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("roll", () => new RollUpdater());
2
+ export async function loadRollUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("roll", () => new RollUpdater());
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadSizeUpdater(tsParticles: Main): void;
2
+ export declare function loadSizeUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { SizeUpdater } from "./SizeUpdater";
2
- export function loadSizeUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("size", () => new SizeUpdater());
2
+ export async function loadSizeUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("size", () => new SizeUpdater());
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadStrokeColorUpdater(tsParticles: Main): void;
2
+ export declare function loadStrokeColorUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { StrokeColorUpdater } from "./StrokeColorUpdater";
2
- export function loadStrokeColorUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("strokeColor", (container) => new StrokeColorUpdater(container));
2
+ export async function loadStrokeColorUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("strokeColor", (container) => new StrokeColorUpdater(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadTiltUpdater(tsParticles: Main): void;
2
+ export declare function loadTiltUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { TiltUpdater } from "./TiltUpdater";
2
- export function loadTiltUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("tilt", (container) => new TiltUpdater(container));
2
+ export async function loadTiltUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("tilt", (container) => new TiltUpdater(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../main";
2
- export declare function loadWobbleUpdater(tsParticles: Main): void;
2
+ export declare function loadWobbleUpdater(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { WobbleUpdater } from "./WobbleUpdater";
2
- export function loadWobbleUpdater(tsParticles) {
3
- tsParticles.addParticleUpdater("wobble", (container) => new WobbleUpdater(container));
2
+ export async function loadWobbleUpdater(tsParticles) {
3
+ await tsParticles.addParticleUpdater("wobble", (container) => new WobbleUpdater(container));
4
4
  }
@@ -1,10 +1,9 @@
1
1
  import type { IBounds, ICircleBouncer, ICoordinates, IDimension, IParticle } from "../Core/Interfaces";
2
- import { DivMode } from "../Enums";
2
+ import { DivMode, OutModeDirection } from "../Enums";
3
3
  import type { ICharacterShape } from "../Options/Interfaces/Particles/Shape/ICharacterShape";
4
4
  import type { SingleOrMultiple } from "../Types";
5
5
  import { DivEvent } from "../Options/Classes/Interactivity/Events/DivEvent";
6
6
  import type { IModeDiv } from "../Options/Interfaces/Interactivity/Modes/IModeDiv";
7
- import { OutModeDirection } from "../Enums";
8
7
  declare global {
9
8
  interface Window {
10
9
  customRequestAnimationFrame: (callback: FrameRequestCallback) => number;
package/browser/full.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "./main";
2
- export declare function loadFull(tsParticles: Main): void;
2
+ export declare function loadFull(tsParticles: Main): Promise<void>;
package/browser/full.js CHANGED
@@ -6,13 +6,13 @@ import { loadAbsorbersPlugin } from "./Plugins/Absorbers/plugin";
6
6
  import { loadEmittersPlugin } from "./Plugins/Emitters/plugin";
7
7
  import { loadPolygonMaskPlugin } from "./Plugins/PolygonMask/plugin";
8
8
  import { loadRollUpdater } from "./Updaters/Roll";
9
- export function loadFull(tsParticles) {
10
- loadSlim(tsParticles);
11
- loadExternalTrailInteraction(tsParticles);
12
- loadRollUpdater(tsParticles);
13
- loadTiltUpdater(tsParticles);
14
- loadWobbleUpdater(tsParticles);
15
- loadAbsorbersPlugin(tsParticles);
16
- loadEmittersPlugin(tsParticles);
17
- loadPolygonMaskPlugin(tsParticles);
9
+ export async function loadFull(tsParticles) {
10
+ await loadSlim(tsParticles);
11
+ await loadExternalTrailInteraction(tsParticles);
12
+ await loadRollUpdater(tsParticles);
13
+ await loadTiltUpdater(tsParticles);
14
+ await loadWobbleUpdater(tsParticles);
15
+ await loadAbsorbersPlugin(tsParticles);
16
+ await loadEmittersPlugin(tsParticles);
17
+ await loadPolygonMaskPlugin(tsParticles);
18
18
  }
package/browser/index.js CHANGED
@@ -4,8 +4,8 @@ import { Circle, CircleWarp, Constants, Point, Rectangle } from "./Utils";
4
4
  import { loadFull } from "./full";
5
5
  const tsParticles = new Main();
6
6
  tsParticles.init();
7
- loadFull(tsParticles);
8
7
  const { particlesJS, pJSDom } = initPjs(tsParticles);
8
+ loadFull(tsParticles);
9
9
  export * from "./Core/Particle/Vector";
10
10
  export * from "./Core/Container";
11
11
  export * from "./Enums";
@@ -5,8 +5,8 @@ import { loadSlim } from "./slim";
5
5
  /* ---------- tsParticles functions - start ------------ */
6
6
  const tsParticles = new Main();
7
7
  tsParticles.init();
8
- loadSlim(tsParticles);
9
8
  const { particlesJS, pJSDom } = initPjs(tsParticles);
9
+ loadSlim(tsParticles);
10
10
  export * from "./Core/Particle/Vector";
11
11
  export * from "./Core/Container";
12
12
  export * from "./Enums";
package/browser/main.d.ts CHANGED
@@ -71,6 +71,10 @@ export declare class Main {
71
71
  * @returns The [[Container]] object at specified index, if present or not destroyed, otherwise undefined
72
72
  */
73
73
  domItem(index: number): Container | undefined;
74
+ /**
75
+ * Reloads all existing tsParticles loaded instances
76
+ */
77
+ refresh(): Promise<void>;
74
78
  /**
75
79
  * addShape adds shape to tsParticles, it will be available to all future instances created
76
80
  * @param shape the shape name
@@ -79,35 +83,35 @@ export declare class Main {
79
83
  * @param afterEffect Optional: the shape drawer after effect function, used only if the drawer parameter is a function
80
84
  * @param destroy Optional: the shape drawer destroy function, used only if the drawer parameter is a function
81
85
  */
82
- addShape(shape: string, drawer: IShapeDrawer | ShapeDrawerDrawFunction, init?: ShapeDrawerInitFunction, afterEffect?: ShapeDrawerAfterEffectFunction, destroy?: ShapeDrawerDestroyFunction): void;
86
+ addShape(shape: string, drawer: IShapeDrawer | ShapeDrawerDrawFunction, init?: ShapeDrawerInitFunction, afterEffect?: ShapeDrawerAfterEffectFunction, destroy?: ShapeDrawerDestroyFunction): Promise<void>;
83
87
  /**
84
88
  * addPreset adds preset to tsParticles, it will be available to all future instances created
85
89
  * @param preset the preset name
86
90
  * @param options the options to add to the preset
87
91
  * @param override if true, the preset will override any existing with the same name
88
92
  */
89
- addPreset(preset: string, options: RecursivePartial<IOptions>, override?: boolean): void;
93
+ addPreset(preset: string, options: RecursivePartial<IOptions>, override?: boolean): Promise<void>;
90
94
  /**
91
95
  * addPlugin adds plugin to tsParticles, if an instance needs it it will be loaded
92
96
  * @param plugin the plugin implementation of [[IPlugin]]
93
97
  */
94
- addPlugin(plugin: IPlugin): void;
98
+ addPlugin(plugin: IPlugin): Promise<void>;
95
99
  /**
96
100
  * addPathGenerator adds a named path generator to tsParticles, this can be called by options
97
101
  * @param name the path generator name
98
102
  * @param generator the path generator object
99
103
  */
100
- addPathGenerator(name: string, generator: IMovePathGenerator): void;
104
+ addPathGenerator(name: string, generator: IMovePathGenerator): Promise<void>;
101
105
  /**
102
106
  *
103
107
  * @param name
104
108
  * @param interactorInitializer
105
109
  */
106
- addInteractor(name: string, interactorInitializer: (container: Container) => IInteractor): void;
110
+ addInteractor(name: string, interactorInitializer: (container: Container) => IInteractor): Promise<void>;
107
111
  /**
108
112
  *
109
113
  * @param name
110
114
  * @param updaterInitializer
111
115
  */
112
- addParticleUpdater(name: string, updaterInitializer: (container: Container) => IParticleUpdater): void;
116
+ addParticleUpdater(name: string, updaterInitializer: (container: Container) => IParticleUpdater): Promise<void>;
113
117
  }
package/browser/main.js CHANGED
@@ -102,6 +102,14 @@ export class Main {
102
102
  domItem(index) {
103
103
  return Loader.domItem(index);
104
104
  }
105
+ /**
106
+ * Reloads all existing tsParticles loaded instances
107
+ */
108
+ async refresh() {
109
+ for (const instance of this.dom()) {
110
+ await instance.refresh();
111
+ }
112
+ }
105
113
  /**
106
114
  * addShape adds shape to tsParticles, it will be available to all future instances created
107
115
  * @param shape the shape name
@@ -110,7 +118,7 @@ export class Main {
110
118
  * @param afterEffect Optional: the shape drawer after effect function, used only if the drawer parameter is a function
111
119
  * @param destroy Optional: the shape drawer destroy function, used only if the drawer parameter is a function
112
120
  */
113
- addShape(shape, drawer, init, afterEffect, destroy) {
121
+ async addShape(shape, drawer, init, afterEffect, destroy) {
114
122
  let customDrawer;
115
123
  if (typeof drawer === "function") {
116
124
  customDrawer = {
@@ -124,6 +132,7 @@ export class Main {
124
132
  customDrawer = drawer;
125
133
  }
126
134
  Plugins.addShapeDrawer(shape, customDrawer);
135
+ await this.refresh();
127
136
  }
128
137
  /**
129
138
  * addPreset adds preset to tsParticles, it will be available to all future instances created
@@ -131,39 +140,44 @@ export class Main {
131
140
  * @param options the options to add to the preset
132
141
  * @param override if true, the preset will override any existing with the same name
133
142
  */
134
- addPreset(preset, options, override = false) {
143
+ async addPreset(preset, options, override = false) {
135
144
  Plugins.addPreset(preset, options, override);
145
+ await this.refresh();
136
146
  }
137
147
  /**
138
148
  * addPlugin adds plugin to tsParticles, if an instance needs it it will be loaded
139
149
  * @param plugin the plugin implementation of [[IPlugin]]
140
150
  */
141
- addPlugin(plugin) {
151
+ async addPlugin(plugin) {
142
152
  Plugins.addPlugin(plugin);
153
+ await this.refresh();
143
154
  }
144
155
  /**
145
156
  * addPathGenerator adds a named path generator to tsParticles, this can be called by options
146
157
  * @param name the path generator name
147
158
  * @param generator the path generator object
148
159
  */
149
- addPathGenerator(name, generator) {
160
+ async addPathGenerator(name, generator) {
150
161
  Plugins.addPathGenerator(name, generator);
162
+ await this.refresh();
151
163
  }
152
164
  /**
153
165
  *
154
166
  * @param name
155
167
  * @param interactorInitializer
156
168
  */
157
- addInteractor(name, interactorInitializer) {
169
+ async addInteractor(name, interactorInitializer) {
158
170
  Plugins.addInteractor(name, interactorInitializer);
171
+ await this.refresh();
159
172
  }
160
173
  /**
161
174
  *
162
175
  * @param name
163
176
  * @param updaterInitializer
164
177
  */
165
- addParticleUpdater(name, updaterInitializer) {
178
+ async addParticleUpdater(name, updaterInitializer) {
166
179
  Plugins.addParticleUpdater(name, updaterInitializer);
180
+ await this.refresh();
167
181
  }
168
182
  }
169
183
  _Main_initialized = new WeakMap();
package/browser/slim.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "./main";
2
- export declare function loadSlim(tsParticles: Main): void;
2
+ export declare function loadSlim(tsParticles: Main): Promise<void>;
package/browser/slim.js CHANGED
@@ -21,28 +21,28 @@ import { loadExternalBounceInteraction } from "./Interactions/External/Bounce";
21
21
  import { loadTextShape } from "./Shapes/Text";
22
22
  import { loadParticlesLinksInteraction } from "./Interactions/Particles/Links";
23
23
  import { loadSizeUpdater } from "./Updaters/Size";
24
- export function loadSlim(tsParticles) {
25
- loadExternalAttractInteraction(tsParticles);
26
- loadExternalBounceInteraction(tsParticles);
27
- loadExternalBubbleInteraction(tsParticles);
28
- loadExternalConnectInteraction(tsParticles);
29
- loadExternalGrabInteraction(tsParticles);
30
- loadExternalRepulseInteraction(tsParticles);
31
- loadParticlesAttractInteraction(tsParticles);
32
- loadParticlesCollisionsInteraction(tsParticles);
33
- loadParticlesLinksInteraction(tsParticles);
34
- loadCircleShape(tsParticles);
35
- loadImageShape(tsParticles);
36
- loadLineShape(tsParticles);
37
- loadPolygonShape(tsParticles);
38
- loadSquareShape(tsParticles);
39
- loadStarShape(tsParticles);
40
- loadTextShape(tsParticles);
41
- loadLifeUpdater(tsParticles);
42
- loadOpacityUpdater(tsParticles);
43
- loadSizeUpdater(tsParticles);
44
- loadAngleUpdater(tsParticles);
45
- loadColorUpdater(tsParticles);
46
- loadStrokeColorUpdater(tsParticles);
47
- loadOutModesUpdater(tsParticles);
24
+ export async function loadSlim(tsParticles) {
25
+ await loadExternalAttractInteraction(tsParticles);
26
+ await loadExternalBounceInteraction(tsParticles);
27
+ await loadExternalBubbleInteraction(tsParticles);
28
+ await loadExternalConnectInteraction(tsParticles);
29
+ await loadExternalGrabInteraction(tsParticles);
30
+ await loadExternalRepulseInteraction(tsParticles);
31
+ await loadParticlesAttractInteraction(tsParticles);
32
+ await loadParticlesCollisionsInteraction(tsParticles);
33
+ await loadParticlesLinksInteraction(tsParticles);
34
+ await loadCircleShape(tsParticles);
35
+ await loadImageShape(tsParticles);
36
+ await loadLineShape(tsParticles);
37
+ await loadPolygonShape(tsParticles);
38
+ await loadSquareShape(tsParticles);
39
+ await loadStarShape(tsParticles);
40
+ await loadTextShape(tsParticles);
41
+ await loadLifeUpdater(tsParticles);
42
+ await loadOpacityUpdater(tsParticles);
43
+ await loadSizeUpdater(tsParticles);
44
+ await loadAngleUpdater(tsParticles);
45
+ await loadColorUpdater(tsParticles);
46
+ await loadStrokeColorUpdater(tsParticles);
47
+ await loadOutModesUpdater(tsParticles);
48
48
  }
@@ -40,6 +40,7 @@ export declare class Container {
40
40
  private firstStart;
41
41
  private currentTheme?;
42
42
  private drawAnimationFrame?;
43
+ private readonly presets;
43
44
  private readonly eventListeners;
44
45
  private readonly intersectionObserver?;
45
46
  constructor(id: string, sourceOptions?: RecursivePartial<IOptions>, ...presets: string[]);
@@ -60,6 +61,6 @@ export declare class Container {
60
61
  start(): Promise<void>;
61
62
  addClickHandler(callback: (evt: Event, particles?: Particle[]) => void): void;
62
63
  updateActualOptions(): boolean;
63
- private init;
64
+ init(): Promise<void>;
64
65
  private intersectionManager;
65
66
  }
@@ -23,6 +23,7 @@ export class Container {
23
23
  this.canvas = new Canvas(this);
24
24
  this.particles = new Particles(this);
25
25
  this.drawer = new FrameManager(this);
26
+ this.presets = presets;
26
27
  this.pathGenerator = {
27
28
  generate: () => {
28
29
  const v = Vector.create(0, 0);
@@ -49,17 +50,6 @@ export class Container {
49
50
  this.density = 1;
50
51
  this._options = new Options();
51
52
  this.actualOptions = new Options();
52
- for (const preset of presets) {
53
- this._options.load(Plugins.getPreset(preset));
54
- }
55
- const shapes = Plugins.getSupportedShapes();
56
- for (const type of shapes) {
57
- const drawer = Plugins.getShapeDrawer(type);
58
- if (drawer) {
59
- this.drawers.set(type, drawer);
60
- }
61
- }
62
- this._options.load(this._sourceOptions);
63
53
  this.eventListeners = new EventListeners(this);
64
54
  if (typeof IntersectionObserver !== "undefined" && IntersectionObserver) {
65
55
  this.intersectionObserver = new IntersectionObserver((entries) => this.intersectionManager(entries));
@@ -202,6 +192,7 @@ export class Container {
202
192
  this.particles.linksColors = new Map();
203
193
  delete this.particles.grabLineColor;
204
194
  delete this.particles.linksColor;
195
+ this._sourceOptions = this._options;
205
196
  }
206
197
  async loadTheme(name) {
207
198
  this.currentTheme = name;
@@ -316,6 +307,18 @@ export class Container {
316
307
  return false;
317
308
  }
318
309
  async init() {
310
+ this._options = new Options();
311
+ for (const preset of this.presets) {
312
+ this._options.load(Plugins.getPreset(preset));
313
+ }
314
+ const shapes = Plugins.getSupportedShapes();
315
+ for (const type of shapes) {
316
+ const drawer = Plugins.getShapeDrawer(type);
317
+ if (drawer) {
318
+ this.drawers.set(type, drawer);
319
+ }
320
+ }
321
+ this._options.load(this._sourceOptions);
319
322
  this.actualOptions = new Options();
320
323
  this.actualOptions.load(this._options);
321
324
  this.retina.init();
@@ -0,0 +1,4 @@
1
+ export declare enum ResponsiveMode {
2
+ screen = "screen",
3
+ canvas = "canvas"
4
+ }
@@ -0,0 +1,5 @@
1
+ export var ResponsiveMode;
2
+ (function (ResponsiveMode) {
3
+ ResponsiveMode["screen"] = "screen";
4
+ ResponsiveMode["canvas"] = "canvas";
5
+ })(ResponsiveMode || (ResponsiveMode = {}));
@@ -7,3 +7,4 @@ export * from "./OutMode";
7
7
  export * from "./RollMode";
8
8
  export * from "./SizeMode";
9
9
  export * from "./ThemeMode";
10
+ export * from "./ResponsiveMode";
@@ -7,3 +7,4 @@ export * from "./OutMode";
7
7
  export * from "./RollMode";
8
8
  export * from "./SizeMode";
9
9
  export * from "./ThemeMode";
10
+ export * from "./ResponsiveMode";
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalAttractInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalAttractInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Attractor } from "./Attractor";
2
- export function loadExternalAttractInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalAttract", (container) => new Attractor(container));
2
+ export async function loadExternalAttractInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalAttract", (container) => new Attractor(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalBounceInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalBounceInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Bouncer } from "./Bouncer";
2
- export function loadExternalBounceInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalBounce", (container) => new Bouncer(container));
2
+ export async function loadExternalBounceInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalBounce", (container) => new Bouncer(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalBubbleInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalBubbleInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Bubbler } from "./Bubbler";
2
- export function loadExternalBubbleInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalBubble", (container) => new Bubbler(container));
2
+ export async function loadExternalBubbleInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalBubble", (container) => new Bubbler(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalConnectInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalConnectInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Connector } from "./Connector";
2
- export function loadExternalConnectInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalConnect", (container) => new Connector(container));
2
+ export async function loadExternalConnectInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalConnect", (container) => new Connector(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalGrabInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalGrabInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Grabber } from "./Grabber";
2
- export function loadExternalGrabInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalGrab", (container) => new Grabber(container));
2
+ export async function loadExternalGrabInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalGrab", (container) => new Grabber(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalRepulseInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalRepulseInteraction(tsParticles: Main): Promise<void>;
@@ -1,4 +1,4 @@
1
1
  import { Repulser } from "./Repulser";
2
- export function loadExternalRepulseInteraction(tsParticles) {
3
- tsParticles.addInteractor("externalRepulse", (container) => new Repulser(container));
2
+ export async function loadExternalRepulseInteraction(tsParticles) {
3
+ await tsParticles.addInteractor("externalRepulse", (container) => new Repulser(container));
4
4
  }
@@ -1,2 +1,2 @@
1
1
  import type { Main } from "../../../main";
2
- export declare function loadExternalTrailInteraction(tsParticles: Main): void;
2
+ export declare function loadExternalTrailInteraction(tsParticles: Main): Promise<void>;