tsparticles 1.36.0 → 1.37.3

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 (299) hide show
  1. package/Core/Container.d.ts +3 -1
  2. package/Core/Container.js +16 -11
  3. package/Core/InteractionManager.d.ts +1 -0
  4. package/Core/InteractionManager.js +4 -1
  5. package/Core/Particles.d.ts +1 -1
  6. package/Core/Particles.js +3 -1
  7. package/Enums/Modes/ResponsiveMode.d.ts +4 -0
  8. package/Enums/Modes/ResponsiveMode.js +8 -0
  9. package/Enums/Modes/index.d.ts +1 -0
  10. package/Enums/Modes/index.js +1 -0
  11. package/Interactions/External/Attract/index.d.ts +1 -1
  12. package/Interactions/External/Attract/index.js +2 -2
  13. package/Interactions/External/Bounce/index.d.ts +1 -1
  14. package/Interactions/External/Bounce/index.js +2 -2
  15. package/Interactions/External/Bubble/index.d.ts +1 -1
  16. package/Interactions/External/Bubble/index.js +2 -2
  17. package/Interactions/External/Connect/index.d.ts +1 -1
  18. package/Interactions/External/Connect/index.js +2 -2
  19. package/Interactions/External/Grab/index.d.ts +1 -1
  20. package/Interactions/External/Grab/index.js +2 -2
  21. package/Interactions/External/Repulse/index.d.ts +1 -1
  22. package/Interactions/External/Repulse/index.js +2 -2
  23. package/Interactions/External/Trail/index.d.ts +1 -1
  24. package/Interactions/External/Trail/index.js +2 -2
  25. package/Interactions/Particles/Attract/index.d.ts +1 -1
  26. package/Interactions/Particles/Attract/index.js +2 -2
  27. package/Interactions/Particles/Collisions/index.d.ts +1 -1
  28. package/Interactions/Particles/Collisions/index.js +2 -2
  29. package/Interactions/Particles/Links/index.d.ts +2 -2
  30. package/Interactions/Particles/Links/index.js +5 -5
  31. package/Interactions/Particles/Links/plugin.d.ts +1 -1
  32. package/Interactions/Particles/Links/plugin.js +2 -2
  33. package/Options/Classes/FullScreen/FullScreen.js +2 -2
  34. package/Options/Classes/Interactivity/Interactivity.js +1 -1
  35. package/Options/Classes/Options.js +3 -1
  36. package/Options/Classes/Responsive.d.ts +2 -0
  37. package/Options/Classes/Responsive.js +10 -0
  38. package/Options/Interfaces/IResponsive.d.ts +2 -0
  39. package/Plugins/Absorbers/AbsorberInstance.d.ts +2 -1
  40. package/Plugins/Absorbers/AbsorberInstance.js +21 -9
  41. package/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +2 -1
  42. package/Plugins/Absorbers/Options/Classes/AbsorberSize.js +6 -4
  43. package/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +9 -0
  44. package/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.js +21 -0
  45. package/Plugins/Absorbers/Options/Interfaces/IAbsorberSize.d.ts +3 -2
  46. package/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.d.ts +4 -0
  47. package/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.js +2 -0
  48. package/Plugins/Absorbers/plugin.d.ts +1 -1
  49. package/Plugins/Absorbers/plugin.js +2 -2
  50. package/Plugins/Emitters/plugin.d.ts +1 -1
  51. package/Plugins/Emitters/plugin.js +2 -2
  52. package/Plugins/PolygonMask/plugin.js +1 -1
  53. package/Shapes/Circle/index.d.ts +1 -1
  54. package/Shapes/Circle/index.js +2 -2
  55. package/Shapes/Image/index.d.ts +1 -1
  56. package/Shapes/Image/index.js +3 -3
  57. package/Shapes/Line/index.d.ts +1 -1
  58. package/Shapes/Line/index.js +2 -2
  59. package/Shapes/Polygon/index.d.ts +3 -3
  60. package/Shapes/Polygon/index.js +7 -7
  61. package/Shapes/Square/index.d.ts +1 -1
  62. package/Shapes/Square/index.js +3 -3
  63. package/Shapes/Star/index.d.ts +1 -1
  64. package/Shapes/Star/index.js +2 -2
  65. package/Shapes/Text/index.d.ts +1 -1
  66. package/Shapes/Text/index.js +2 -2
  67. package/Updaters/Angle/index.d.ts +1 -1
  68. package/Updaters/Angle/index.js +2 -2
  69. package/Updaters/Color/index.d.ts +1 -1
  70. package/Updaters/Color/index.js +2 -2
  71. package/Updaters/Life/index.d.ts +1 -1
  72. package/Updaters/Life/index.js +2 -2
  73. package/Updaters/Opacity/index.d.ts +1 -1
  74. package/Updaters/Opacity/index.js +2 -2
  75. package/Updaters/OutModes/index.d.ts +1 -1
  76. package/Updaters/OutModes/index.js +2 -2
  77. package/Updaters/Roll/index.d.ts +1 -1
  78. package/Updaters/Roll/index.js +2 -2
  79. package/Updaters/Size/index.d.ts +1 -1
  80. package/Updaters/Size/index.js +2 -2
  81. package/Updaters/StrokeColor/index.d.ts +1 -1
  82. package/Updaters/StrokeColor/index.js +2 -2
  83. package/Updaters/Tilt/index.d.ts +1 -1
  84. package/Updaters/Tilt/index.js +2 -2
  85. package/Updaters/Wobble/index.d.ts +1 -1
  86. package/Updaters/Wobble/index.js +2 -2
  87. package/Utils/Plugins.d.ts +2 -2
  88. package/Utils/Plugins.js +4 -4
  89. package/Utils/Utils.d.ts +1 -2
  90. package/browser/Core/Container.d.ts +3 -1
  91. package/browser/Core/Container.js +17 -12
  92. package/browser/Core/InteractionManager.d.ts +1 -0
  93. package/browser/Core/InteractionManager.js +4 -1
  94. package/browser/Core/Particles.d.ts +1 -1
  95. package/browser/Core/Particles.js +3 -1
  96. package/browser/Enums/Modes/ResponsiveMode.d.ts +4 -0
  97. package/browser/Enums/Modes/ResponsiveMode.js +5 -0
  98. package/browser/Enums/Modes/index.d.ts +1 -0
  99. package/browser/Enums/Modes/index.js +1 -0
  100. package/browser/Interactions/External/Attract/index.d.ts +1 -1
  101. package/browser/Interactions/External/Attract/index.js +2 -2
  102. package/browser/Interactions/External/Bounce/index.d.ts +1 -1
  103. package/browser/Interactions/External/Bounce/index.js +2 -2
  104. package/browser/Interactions/External/Bubble/index.d.ts +1 -1
  105. package/browser/Interactions/External/Bubble/index.js +2 -2
  106. package/browser/Interactions/External/Connect/index.d.ts +1 -1
  107. package/browser/Interactions/External/Connect/index.js +2 -2
  108. package/browser/Interactions/External/Grab/index.d.ts +1 -1
  109. package/browser/Interactions/External/Grab/index.js +2 -2
  110. package/browser/Interactions/External/Repulse/index.d.ts +1 -1
  111. package/browser/Interactions/External/Repulse/index.js +2 -2
  112. package/browser/Interactions/External/Trail/index.d.ts +1 -1
  113. package/browser/Interactions/External/Trail/index.js +2 -2
  114. package/browser/Interactions/Particles/Attract/index.d.ts +1 -1
  115. package/browser/Interactions/Particles/Attract/index.js +2 -2
  116. package/browser/Interactions/Particles/Collisions/index.d.ts +1 -1
  117. package/browser/Interactions/Particles/Collisions/index.js +2 -2
  118. package/browser/Interactions/Particles/Links/index.d.ts +2 -2
  119. package/browser/Interactions/Particles/Links/index.js +5 -5
  120. package/browser/Interactions/Particles/Links/plugin.d.ts +1 -1
  121. package/browser/Interactions/Particles/Links/plugin.js +2 -2
  122. package/browser/Options/Classes/FullScreen/FullScreen.js +2 -2
  123. package/browser/Options/Classes/Interactivity/Interactivity.js +1 -1
  124. package/browser/Options/Classes/Options.js +4 -2
  125. package/browser/Options/Classes/Responsive.d.ts +2 -0
  126. package/browser/Options/Classes/Responsive.js +11 -0
  127. package/browser/Options/Interfaces/IResponsive.d.ts +2 -0
  128. package/browser/Plugins/Absorbers/AbsorberInstance.d.ts +2 -1
  129. package/browser/Plugins/Absorbers/AbsorberInstance.js +21 -9
  130. package/browser/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +2 -1
  131. package/browser/Plugins/Absorbers/Options/Classes/AbsorberSize.js +6 -4
  132. package/browser/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +9 -0
  133. package/browser/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.js +17 -0
  134. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberSize.d.ts +3 -2
  135. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.d.ts +4 -0
  136. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.js +1 -0
  137. package/browser/Plugins/Absorbers/plugin.d.ts +1 -1
  138. package/browser/Plugins/Absorbers/plugin.js +2 -2
  139. package/browser/Plugins/Emitters/plugin.d.ts +1 -1
  140. package/browser/Plugins/Emitters/plugin.js +2 -2
  141. package/browser/Plugins/PolygonMask/plugin.js +4 -2
  142. package/browser/Shapes/Circle/index.d.ts +1 -1
  143. package/browser/Shapes/Circle/index.js +2 -2
  144. package/browser/Shapes/Image/index.d.ts +1 -1
  145. package/browser/Shapes/Image/index.js +3 -3
  146. package/browser/Shapes/Line/index.d.ts +1 -1
  147. package/browser/Shapes/Line/index.js +2 -2
  148. package/browser/Shapes/Polygon/index.d.ts +3 -3
  149. package/browser/Shapes/Polygon/index.js +7 -7
  150. package/browser/Shapes/Square/index.d.ts +1 -1
  151. package/browser/Shapes/Square/index.js +3 -3
  152. package/browser/Shapes/Star/index.d.ts +1 -1
  153. package/browser/Shapes/Star/index.js +2 -2
  154. package/browser/Shapes/Text/index.d.ts +1 -1
  155. package/browser/Shapes/Text/index.js +2 -2
  156. package/browser/Updaters/Angle/index.d.ts +1 -1
  157. package/browser/Updaters/Angle/index.js +2 -2
  158. package/browser/Updaters/Color/index.d.ts +1 -1
  159. package/browser/Updaters/Color/index.js +2 -2
  160. package/browser/Updaters/Life/index.d.ts +1 -1
  161. package/browser/Updaters/Life/index.js +2 -2
  162. package/browser/Updaters/Opacity/index.d.ts +1 -1
  163. package/browser/Updaters/Opacity/index.js +2 -2
  164. package/browser/Updaters/OutModes/index.d.ts +1 -1
  165. package/browser/Updaters/OutModes/index.js +2 -2
  166. package/browser/Updaters/Roll/index.d.ts +1 -1
  167. package/browser/Updaters/Roll/index.js +2 -2
  168. package/browser/Updaters/Size/index.d.ts +1 -1
  169. package/browser/Updaters/Size/index.js +2 -2
  170. package/browser/Updaters/StrokeColor/index.d.ts +1 -1
  171. package/browser/Updaters/StrokeColor/index.js +2 -2
  172. package/browser/Updaters/Tilt/index.d.ts +1 -1
  173. package/browser/Updaters/Tilt/index.js +2 -2
  174. package/browser/Updaters/Wobble/index.d.ts +1 -1
  175. package/browser/Updaters/Wobble/index.js +2 -2
  176. package/browser/Utils/Plugins.d.ts +2 -2
  177. package/browser/Utils/Plugins.js +4 -4
  178. package/browser/Utils/Utils.d.ts +1 -2
  179. package/browser/full.d.ts +1 -1
  180. package/browser/full.js +9 -9
  181. package/browser/index.js +1 -1
  182. package/browser/index.slim.js +1 -1
  183. package/browser/main.d.ts +10 -6
  184. package/browser/main.js +20 -6
  185. package/browser/slim.d.ts +1 -1
  186. package/browser/slim.js +24 -24
  187. package/esm/Core/Container.d.ts +3 -1
  188. package/esm/Core/Container.js +16 -11
  189. package/esm/Core/InteractionManager.d.ts +1 -0
  190. package/esm/Core/InteractionManager.js +4 -1
  191. package/esm/Core/Particles.d.ts +1 -1
  192. package/esm/Core/Particles.js +3 -1
  193. package/esm/Enums/Modes/ResponsiveMode.d.ts +4 -0
  194. package/esm/Enums/Modes/ResponsiveMode.js +5 -0
  195. package/esm/Enums/Modes/index.d.ts +1 -0
  196. package/esm/Enums/Modes/index.js +1 -0
  197. package/esm/Interactions/External/Attract/index.d.ts +1 -1
  198. package/esm/Interactions/External/Attract/index.js +2 -2
  199. package/esm/Interactions/External/Bounce/index.d.ts +1 -1
  200. package/esm/Interactions/External/Bounce/index.js +2 -2
  201. package/esm/Interactions/External/Bubble/index.d.ts +1 -1
  202. package/esm/Interactions/External/Bubble/index.js +2 -2
  203. package/esm/Interactions/External/Connect/index.d.ts +1 -1
  204. package/esm/Interactions/External/Connect/index.js +2 -2
  205. package/esm/Interactions/External/Grab/index.d.ts +1 -1
  206. package/esm/Interactions/External/Grab/index.js +2 -2
  207. package/esm/Interactions/External/Repulse/index.d.ts +1 -1
  208. package/esm/Interactions/External/Repulse/index.js +2 -2
  209. package/esm/Interactions/External/Trail/index.d.ts +1 -1
  210. package/esm/Interactions/External/Trail/index.js +2 -2
  211. package/esm/Interactions/Particles/Attract/index.d.ts +1 -1
  212. package/esm/Interactions/Particles/Attract/index.js +2 -2
  213. package/esm/Interactions/Particles/Collisions/index.d.ts +1 -1
  214. package/esm/Interactions/Particles/Collisions/index.js +2 -2
  215. package/esm/Interactions/Particles/Links/index.d.ts +2 -2
  216. package/esm/Interactions/Particles/Links/index.js +5 -5
  217. package/esm/Interactions/Particles/Links/plugin.d.ts +1 -1
  218. package/esm/Interactions/Particles/Links/plugin.js +2 -2
  219. package/esm/Options/Classes/FullScreen/FullScreen.js +2 -2
  220. package/esm/Options/Classes/Interactivity/Interactivity.js +1 -1
  221. package/esm/Options/Classes/Options.js +4 -2
  222. package/esm/Options/Classes/Responsive.d.ts +2 -0
  223. package/esm/Options/Classes/Responsive.js +10 -0
  224. package/esm/Options/Interfaces/IResponsive.d.ts +2 -0
  225. package/esm/Plugins/Absorbers/AbsorberInstance.d.ts +2 -1
  226. package/esm/Plugins/Absorbers/AbsorberInstance.js +21 -9
  227. package/esm/Plugins/Absorbers/Options/Classes/AbsorberSize.d.ts +2 -1
  228. package/esm/Plugins/Absorbers/Options/Classes/AbsorberSize.js +6 -4
  229. package/esm/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.d.ts +9 -0
  230. package/esm/Plugins/Absorbers/Options/Classes/AbsorberSizeLimit.js +17 -0
  231. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorberSize.d.ts +3 -2
  232. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.d.ts +4 -0
  233. package/esm/Plugins/Absorbers/Options/Interfaces/IAbsorberSizeLimit.js +1 -0
  234. package/esm/Plugins/Absorbers/plugin.d.ts +1 -1
  235. package/esm/Plugins/Absorbers/plugin.js +2 -2
  236. package/esm/Plugins/Emitters/plugin.d.ts +1 -1
  237. package/esm/Plugins/Emitters/plugin.js +2 -2
  238. package/esm/Plugins/PolygonMask/plugin.js +1 -1
  239. package/esm/Shapes/Circle/index.d.ts +1 -1
  240. package/esm/Shapes/Circle/index.js +2 -2
  241. package/esm/Shapes/Image/index.d.ts +1 -1
  242. package/esm/Shapes/Image/index.js +3 -3
  243. package/esm/Shapes/Line/index.d.ts +1 -1
  244. package/esm/Shapes/Line/index.js +2 -2
  245. package/esm/Shapes/Polygon/index.d.ts +3 -3
  246. package/esm/Shapes/Polygon/index.js +7 -7
  247. package/esm/Shapes/Square/index.d.ts +1 -1
  248. package/esm/Shapes/Square/index.js +3 -3
  249. package/esm/Shapes/Star/index.d.ts +1 -1
  250. package/esm/Shapes/Star/index.js +2 -2
  251. package/esm/Shapes/Text/index.d.ts +1 -1
  252. package/esm/Shapes/Text/index.js +2 -2
  253. package/esm/Updaters/Angle/index.d.ts +1 -1
  254. package/esm/Updaters/Angle/index.js +2 -2
  255. package/esm/Updaters/Color/index.d.ts +1 -1
  256. package/esm/Updaters/Color/index.js +2 -2
  257. package/esm/Updaters/Life/index.d.ts +1 -1
  258. package/esm/Updaters/Life/index.js +2 -2
  259. package/esm/Updaters/Opacity/index.d.ts +1 -1
  260. package/esm/Updaters/Opacity/index.js +2 -2
  261. package/esm/Updaters/OutModes/index.d.ts +1 -1
  262. package/esm/Updaters/OutModes/index.js +2 -2
  263. package/esm/Updaters/Roll/index.d.ts +1 -1
  264. package/esm/Updaters/Roll/index.js +2 -2
  265. package/esm/Updaters/Size/index.d.ts +1 -1
  266. package/esm/Updaters/Size/index.js +2 -2
  267. package/esm/Updaters/StrokeColor/index.d.ts +1 -1
  268. package/esm/Updaters/StrokeColor/index.js +2 -2
  269. package/esm/Updaters/Tilt/index.d.ts +1 -1
  270. package/esm/Updaters/Tilt/index.js +2 -2
  271. package/esm/Updaters/Wobble/index.d.ts +1 -1
  272. package/esm/Updaters/Wobble/index.js +2 -2
  273. package/esm/Utils/Plugins.d.ts +2 -2
  274. package/esm/Utils/Plugins.js +4 -4
  275. package/esm/Utils/Utils.d.ts +1 -2
  276. package/esm/full.d.ts +1 -1
  277. package/esm/full.js +9 -9
  278. package/esm/index.js +1 -1
  279. package/esm/index.slim.js +1 -1
  280. package/esm/main.d.ts +7 -6
  281. package/esm/main.js +17 -6
  282. package/esm/slim.d.ts +1 -1
  283. package/esm/slim.js +24 -24
  284. package/full.d.ts +1 -1
  285. package/full.js +9 -9
  286. package/index.js +1 -1
  287. package/index.slim.js +1 -1
  288. package/main.d.ts +7 -6
  289. package/main.js +17 -6
  290. package/package.json +1 -1
  291. package/report.html +2 -2
  292. package/report.slim.html +2 -2
  293. package/slim.d.ts +1 -1
  294. package/slim.js +24 -24
  295. package/tsparticles.js +743 -363
  296. package/tsparticles.min.js +2 -2
  297. package/tsparticles.pathseg.js +2 -2
  298. package/tsparticles.slim.js +539 -284
  299. package/tsparticles.slim.min.js +2 -2
@@ -15,8 +15,8 @@ export declare class Plugins {
15
15
  static getSupportedShapes(): IterableIterator<string>;
16
16
  static getPathGenerator(type: string): IMovePathGenerator | undefined;
17
17
  static addPathGenerator(type: string, pathGenerator: IMovePathGenerator): void;
18
- static getInteractors(container: Container): IInteractor[];
18
+ static getInteractors(container: Container, force?: boolean): IInteractor[];
19
19
  static addInteractor(name: string, initInteractor: (container: Container) => IInteractor): void;
20
- static getUpdaters(container: Container): IParticleUpdater[];
20
+ static getUpdaters(container: Container, force?: boolean): IParticleUpdater[];
21
21
  static addParticleUpdater(name: string, initUpdater: (container: Container) => IParticleUpdater): void;
22
22
  }
@@ -57,9 +57,9 @@ export class Plugins {
57
57
  pathGenerators.set(type, pathGenerator);
58
58
  }
59
59
  }
60
- static getInteractors(container) {
60
+ static getInteractors(container, force = false) {
61
61
  let res = interactors.get(container);
62
- if (!res) {
62
+ if (!res || force) {
63
63
  res = [...interactorsInitializers.values()].map((t) => t(container));
64
64
  interactors.set(container, res);
65
65
  }
@@ -68,9 +68,9 @@ export class Plugins {
68
68
  static addInteractor(name, initInteractor) {
69
69
  interactorsInitializers.set(name, initInteractor);
70
70
  }
71
- static getUpdaters(container) {
71
+ static getUpdaters(container, force = false) {
72
72
  let res = updaters.get(container);
73
- if (!res) {
73
+ if (!res || force) {
74
74
  res = [...updatersInitializers.values()].map((t) => t(container));
75
75
  updaters.set(container, res);
76
76
  }
@@ -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/esm/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/esm/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/esm/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";
package/esm/index.slim.js CHANGED
@@ -4,8 +4,8 @@ import { Main } from "./main";
4
4
  import { loadSlim } from "./slim";
5
5
  const tsParticles = new Main();
6
6
  tsParticles.init();
7
- loadSlim(tsParticles);
8
7
  const { particlesJS, pJSDom } = initPjs(tsParticles);
8
+ loadSlim(tsParticles);
9
9
  export * from "./Core/Particle/Vector";
10
10
  export * from "./Core/Container";
11
11
  export * from "./Enums";
package/esm/main.d.ts CHANGED
@@ -15,10 +15,11 @@ export declare class Main {
15
15
  setOnClickHandler(callback: (e: Event, particles?: Particle[]) => void): void;
16
16
  dom(): Container[];
17
17
  domItem(index: number): Container | undefined;
18
- addShape(shape: string, drawer: IShapeDrawer | ShapeDrawerDrawFunction, init?: ShapeDrawerInitFunction, afterEffect?: ShapeDrawerAfterEffectFunction, destroy?: ShapeDrawerDestroyFunction): void;
19
- addPreset(preset: string, options: RecursivePartial<IOptions>, override?: boolean): void;
20
- addPlugin(plugin: IPlugin): void;
21
- addPathGenerator(name: string, generator: IMovePathGenerator): void;
22
- addInteractor(name: string, interactorInitializer: (container: Container) => IInteractor): void;
23
- addParticleUpdater(name: string, updaterInitializer: (container: Container) => IParticleUpdater): void;
18
+ refresh(): Promise<void>;
19
+ addShape(shape: string, drawer: IShapeDrawer | ShapeDrawerDrawFunction, init?: ShapeDrawerInitFunction, afterEffect?: ShapeDrawerAfterEffectFunction, destroy?: ShapeDrawerDestroyFunction): Promise<void>;
20
+ addPreset(preset: string, options: RecursivePartial<IOptions>, override?: boolean): Promise<void>;
21
+ addPlugin(plugin: IPlugin): Promise<void>;
22
+ addPathGenerator(name: string, generator: IMovePathGenerator): Promise<void>;
23
+ addInteractor(name: string, interactorInitializer: (container: Container) => IInteractor): Promise<void>;
24
+ addParticleUpdater(name: string, updaterInitializer: (container: Container) => IParticleUpdater): Promise<void>;
24
25
  }
package/esm/main.js CHANGED
@@ -46,7 +46,12 @@ export class Main {
46
46
  domItem(index) {
47
47
  return Loader.domItem(index);
48
48
  }
49
- addShape(shape, drawer, init, afterEffect, destroy) {
49
+ async refresh() {
50
+ for (const instance of this.dom()) {
51
+ await instance.refresh();
52
+ }
53
+ }
54
+ async addShape(shape, drawer, init, afterEffect, destroy) {
50
55
  let customDrawer;
51
56
  if (typeof drawer === "function") {
52
57
  customDrawer = {
@@ -60,21 +65,27 @@ export class Main {
60
65
  customDrawer = drawer;
61
66
  }
62
67
  Plugins.addShapeDrawer(shape, customDrawer);
68
+ await this.refresh();
63
69
  }
64
- addPreset(preset, options, override = false) {
70
+ async addPreset(preset, options, override = false) {
65
71
  Plugins.addPreset(preset, options, override);
72
+ await this.refresh();
66
73
  }
67
- addPlugin(plugin) {
74
+ async addPlugin(plugin) {
68
75
  Plugins.addPlugin(plugin);
76
+ await this.refresh();
69
77
  }
70
- addPathGenerator(name, generator) {
78
+ async addPathGenerator(name, generator) {
71
79
  Plugins.addPathGenerator(name, generator);
80
+ await this.refresh();
72
81
  }
73
- addInteractor(name, interactorInitializer) {
82
+ async addInteractor(name, interactorInitializer) {
74
83
  Plugins.addInteractor(name, interactorInitializer);
84
+ await this.refresh();
75
85
  }
76
- addParticleUpdater(name, updaterInitializer) {
86
+ async addParticleUpdater(name, updaterInitializer) {
77
87
  Plugins.addParticleUpdater(name, updaterInitializer);
88
+ await this.refresh();
78
89
  }
79
90
  }
80
91
  _Main_initialized = new WeakMap();
package/esm/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/esm/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
  }
package/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/full.js CHANGED
@@ -9,14 +9,14 @@ const plugin_1 = require("./Plugins/Absorbers/plugin");
9
9
  const plugin_2 = require("./Plugins/Emitters/plugin");
10
10
  const plugin_3 = require("./Plugins/PolygonMask/plugin");
11
11
  const Roll_1 = require("./Updaters/Roll");
12
- function loadFull(tsParticles) {
13
- (0, slim_1.loadSlim)(tsParticles);
14
- (0, Trail_1.loadExternalTrailInteraction)(tsParticles);
15
- (0, Roll_1.loadRollUpdater)(tsParticles);
16
- (0, Tilt_1.loadTiltUpdater)(tsParticles);
17
- (0, Wobble_1.loadWobbleUpdater)(tsParticles);
18
- (0, plugin_1.loadAbsorbersPlugin)(tsParticles);
19
- (0, plugin_2.loadEmittersPlugin)(tsParticles);
20
- (0, plugin_3.loadPolygonMaskPlugin)(tsParticles);
12
+ async function loadFull(tsParticles) {
13
+ await (0, slim_1.loadSlim)(tsParticles);
14
+ await (0, Trail_1.loadExternalTrailInteraction)(tsParticles);
15
+ await (0, Roll_1.loadRollUpdater)(tsParticles);
16
+ await (0, Tilt_1.loadTiltUpdater)(tsParticles);
17
+ await (0, Wobble_1.loadWobbleUpdater)(tsParticles);
18
+ await (0, plugin_1.loadAbsorbersPlugin)(tsParticles);
19
+ await (0, plugin_2.loadEmittersPlugin)(tsParticles);
20
+ await (0, plugin_3.loadPolygonMaskPlugin)(tsParticles);
21
21
  }
22
22
  exports.loadFull = loadFull;
package/index.js CHANGED
@@ -24,10 +24,10 @@ const full_1 = require("./full");
24
24
  const tsParticles = new main_1.Main();
25
25
  exports.tsParticles = tsParticles;
26
26
  tsParticles.init();
27
- (0, full_1.loadFull)(tsParticles);
28
27
  const { particlesJS, pJSDom } = (0, pjs_1.initPjs)(tsParticles);
29
28
  exports.particlesJS = particlesJS;
30
29
  exports.pJSDom = pJSDom;
30
+ (0, full_1.loadFull)(tsParticles);
31
31
  __exportStar(require("./Core/Particle/Vector"), exports);
32
32
  __exportStar(require("./Core/Container"), exports);
33
33
  __exportStar(require("./Enums"), exports);
package/index.slim.js CHANGED
@@ -24,10 +24,10 @@ const slim_1 = require("./slim");
24
24
  const tsParticles = new main_1.Main();
25
25
  exports.tsParticles = tsParticles;
26
26
  tsParticles.init();
27
- (0, slim_1.loadSlim)(tsParticles);
28
27
  const { particlesJS, pJSDom } = (0, pjs_1.initPjs)(tsParticles);
29
28
  exports.particlesJS = particlesJS;
30
29
  exports.pJSDom = pJSDom;
30
+ (0, slim_1.loadSlim)(tsParticles);
31
31
  __exportStar(require("./Core/Particle/Vector"), exports);
32
32
  __exportStar(require("./Core/Container"), exports);
33
33
  __exportStar(require("./Enums"), exports);
package/main.d.ts CHANGED
@@ -15,10 +15,11 @@ export declare class Main {
15
15
  setOnClickHandler(callback: (e: Event, particles?: Particle[]) => void): void;
16
16
  dom(): Container[];
17
17
  domItem(index: number): Container | undefined;
18
- addShape(shape: string, drawer: IShapeDrawer | ShapeDrawerDrawFunction, init?: ShapeDrawerInitFunction, afterEffect?: ShapeDrawerAfterEffectFunction, destroy?: ShapeDrawerDestroyFunction): void;
19
- addPreset(preset: string, options: RecursivePartial<IOptions>, override?: boolean): void;
20
- addPlugin(plugin: IPlugin): void;
21
- addPathGenerator(name: string, generator: IMovePathGenerator): void;
22
- addInteractor(name: string, interactorInitializer: (container: Container) => IInteractor): void;
23
- addParticleUpdater(name: string, updaterInitializer: (container: Container) => IParticleUpdater): void;
18
+ refresh(): Promise<void>;
19
+ addShape(shape: string, drawer: IShapeDrawer | ShapeDrawerDrawFunction, init?: ShapeDrawerInitFunction, afterEffect?: ShapeDrawerAfterEffectFunction, destroy?: ShapeDrawerDestroyFunction): Promise<void>;
20
+ addPreset(preset: string, options: RecursivePartial<IOptions>, override?: boolean): Promise<void>;
21
+ addPlugin(plugin: IPlugin): Promise<void>;
22
+ addPathGenerator(name: string, generator: IMovePathGenerator): Promise<void>;
23
+ addInteractor(name: string, interactorInitializer: (container: Container) => IInteractor): Promise<void>;
24
+ addParticleUpdater(name: string, updaterInitializer: (container: Container) => IParticleUpdater): Promise<void>;
24
25
  }
package/main.js CHANGED
@@ -49,7 +49,12 @@ class Main {
49
49
  domItem(index) {
50
50
  return Loader_1.Loader.domItem(index);
51
51
  }
52
- addShape(shape, drawer, init, afterEffect, destroy) {
52
+ async refresh() {
53
+ for (const instance of this.dom()) {
54
+ await instance.refresh();
55
+ }
56
+ }
57
+ async addShape(shape, drawer, init, afterEffect, destroy) {
53
58
  let customDrawer;
54
59
  if (typeof drawer === "function") {
55
60
  customDrawer = {
@@ -63,21 +68,27 @@ class Main {
63
68
  customDrawer = drawer;
64
69
  }
65
70
  Utils_1.Plugins.addShapeDrawer(shape, customDrawer);
71
+ await this.refresh();
66
72
  }
67
- addPreset(preset, options, override = false) {
73
+ async addPreset(preset, options, override = false) {
68
74
  Utils_1.Plugins.addPreset(preset, options, override);
75
+ await this.refresh();
69
76
  }
70
- addPlugin(plugin) {
77
+ async addPlugin(plugin) {
71
78
  Utils_1.Plugins.addPlugin(plugin);
79
+ await this.refresh();
72
80
  }
73
- addPathGenerator(name, generator) {
81
+ async addPathGenerator(name, generator) {
74
82
  Utils_1.Plugins.addPathGenerator(name, generator);
83
+ await this.refresh();
75
84
  }
76
- addInteractor(name, interactorInitializer) {
85
+ async addInteractor(name, interactorInitializer) {
77
86
  Utils_1.Plugins.addInteractor(name, interactorInitializer);
87
+ await this.refresh();
78
88
  }
79
- addParticleUpdater(name, updaterInitializer) {
89
+ async addParticleUpdater(name, updaterInitializer) {
80
90
  Utils_1.Plugins.addParticleUpdater(name, updaterInitializer);
91
+ await this.refresh();
81
92
  }
82
93
  }
83
94
  exports.Main = Main;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tsparticles",
3
- "version": "1.36.0",
3
+ "version": "1.37.3",
4
4
  "description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.",
5
5
  "homepage": "https://particles.js.org/",
6
6
  "scripts": {