@tsparticles/engine 3.2.2 → 3.4.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 (281) hide show
  1. package/README.md +0 -4
  2. package/browser/Core/Canvas.js +34 -29
  3. package/browser/Core/Container.js +60 -47
  4. package/browser/Core/Engine.js +82 -74
  5. package/browser/Core/Particle.js +40 -26
  6. package/browser/Core/Particles.js +51 -52
  7. package/browser/Core/Utils/EventListeners.js +18 -17
  8. package/browser/Core/Utils/ExternalInteractorBase.js +2 -1
  9. package/browser/Core/Utils/InteractionManager.js +7 -6
  10. package/browser/Core/Utils/ParticlesInteractorBase.js +2 -1
  11. package/browser/Core/Utils/QuadTree.js +1 -1
  12. package/browser/Core/Utils/Ranges.js +5 -4
  13. package/browser/Enums/AnimationStatus.js +5 -1
  14. package/browser/Enums/Directions/MoveDirection.js +14 -1
  15. package/browser/Enums/Directions/OutModeDirection.js +7 -1
  16. package/browser/Enums/Directions/RotateDirection.js +6 -1
  17. package/browser/Enums/InteractivityDetect.js +6 -1
  18. package/browser/Enums/Modes/AnimationMode.js +7 -1
  19. package/browser/Enums/Modes/CollisionMode.js +6 -1
  20. package/browser/Enums/Modes/LimitMode.js +5 -1
  21. package/browser/Enums/Modes/OutMode.js +8 -1
  22. package/browser/Enums/Modes/PixelMode.js +5 -1
  23. package/browser/Enums/Modes/ResponsiveMode.js +5 -1
  24. package/browser/Enums/Modes/ThemeMode.js +6 -1
  25. package/browser/Enums/Types/AlterType.js +5 -1
  26. package/browser/Enums/Types/DestroyType.js +6 -1
  27. package/browser/Enums/Types/DivType.js +5 -1
  28. package/browser/Enums/Types/EasingType.js +30 -1
  29. package/browser/Enums/Types/EventType.js +15 -1
  30. package/browser/Enums/Types/GradientType.js +6 -1
  31. package/browser/Enums/Types/InteractorType.js +5 -1
  32. package/browser/Enums/Types/ParticleOutType.js +6 -1
  33. package/browser/Enums/Types/StartValueType.js +6 -1
  34. package/browser/Options/Classes/AnimationOptions.js +4 -2
  35. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  36. package/browser/Options/Classes/Interactivity/Events/Events.js +1 -1
  37. package/browser/Options/Classes/Interactivity/Interactivity.js +2 -1
  38. package/browser/Options/Classes/ManualParticle.js +2 -1
  39. package/browser/Options/Classes/Options.js +14 -12
  40. package/browser/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  41. package/browser/Options/Classes/Particles/Move/Move.js +2 -1
  42. package/browser/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  43. package/browser/Options/Classes/Particles/Move/OutModes.js +2 -1
  44. package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  45. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  46. package/browser/Options/Classes/Particles/ParticlesOptions.js +1 -1
  47. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  48. package/browser/Options/Classes/Responsive.js +5 -4
  49. package/browser/Options/Classes/Theme/ThemeDefault.js +2 -1
  50. package/browser/Types/RangeType.js +5 -1
  51. package/browser/Utils/CanvasUtils.js +27 -21
  52. package/browser/Utils/ColorUtils.js +17 -9
  53. package/browser/Utils/EventDispatcher.js +1 -1
  54. package/browser/Utils/HslColorManager.js +11 -4
  55. package/browser/Utils/NumberUtils.js +11 -10
  56. package/browser/Utils/RgbColorManager.js +11 -4
  57. package/browser/Utils/Utils.js +37 -31
  58. package/cjs/Core/Canvas.js +34 -29
  59. package/cjs/Core/Container.js +60 -47
  60. package/cjs/Core/Engine.js +82 -97
  61. package/cjs/Core/Particle.js +40 -26
  62. package/cjs/Core/Particles.js +52 -76
  63. package/cjs/Core/Utils/EventListeners.js +18 -17
  64. package/cjs/Core/Utils/ExternalInteractorBase.js +2 -1
  65. package/cjs/Core/Utils/InteractionManager.js +7 -6
  66. package/cjs/Core/Utils/ParticlesInteractorBase.js +2 -1
  67. package/cjs/Core/Utils/QuadTree.js +1 -1
  68. package/cjs/Core/Utils/Ranges.js +5 -4
  69. package/cjs/Enums/AnimationStatus.js +6 -0
  70. package/cjs/Enums/Directions/MoveDirection.js +15 -0
  71. package/cjs/Enums/Directions/OutModeDirection.js +8 -0
  72. package/cjs/Enums/Directions/RotateDirection.js +7 -0
  73. package/cjs/Enums/InteractivityDetect.js +7 -0
  74. package/cjs/Enums/Modes/AnimationMode.js +8 -0
  75. package/cjs/Enums/Modes/CollisionMode.js +7 -0
  76. package/cjs/Enums/Modes/LimitMode.js +6 -0
  77. package/cjs/Enums/Modes/OutMode.js +9 -0
  78. package/cjs/Enums/Modes/PixelMode.js +6 -0
  79. package/cjs/Enums/Modes/ResponsiveMode.js +6 -0
  80. package/cjs/Enums/Modes/ThemeMode.js +7 -0
  81. package/cjs/Enums/Types/AlterType.js +6 -0
  82. package/cjs/Enums/Types/DestroyType.js +7 -0
  83. package/cjs/Enums/Types/DivType.js +6 -0
  84. package/cjs/Enums/Types/EasingType.js +31 -0
  85. package/cjs/Enums/Types/EventType.js +16 -0
  86. package/cjs/Enums/Types/GradientType.js +7 -0
  87. package/cjs/Enums/Types/InteractorType.js +6 -0
  88. package/cjs/Enums/Types/ParticleOutType.js +7 -0
  89. package/cjs/Enums/Types/StartValueType.js +7 -0
  90. package/cjs/Options/Classes/AnimationOptions.js +4 -2
  91. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  92. package/cjs/Options/Classes/Interactivity/Events/Events.js +1 -1
  93. package/cjs/Options/Classes/Interactivity/Interactivity.js +2 -1
  94. package/cjs/Options/Classes/ManualParticle.js +2 -1
  95. package/cjs/Options/Classes/Options.js +14 -12
  96. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  97. package/cjs/Options/Classes/Particles/Move/Move.js +2 -1
  98. package/cjs/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  99. package/cjs/Options/Classes/Particles/Move/OutModes.js +2 -1
  100. package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  101. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  102. package/cjs/Options/Classes/Particles/ParticlesOptions.js +1 -1
  103. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  104. package/cjs/Options/Classes/Responsive.js +5 -4
  105. package/cjs/Options/Classes/Theme/ThemeDefault.js +2 -1
  106. package/cjs/Types/RangeType.js +6 -0
  107. package/cjs/Utils/CanvasUtils.js +27 -21
  108. package/cjs/Utils/ColorUtils.js +17 -9
  109. package/cjs/Utils/EventDispatcher.js +1 -1
  110. package/cjs/Utils/HslColorManager.js +11 -4
  111. package/cjs/Utils/NumberUtils.js +11 -10
  112. package/cjs/Utils/RgbColorManager.js +11 -4
  113. package/cjs/Utils/Utils.js +37 -31
  114. package/esm/Core/Canvas.js +34 -29
  115. package/esm/Core/Container.js +60 -47
  116. package/esm/Core/Engine.js +82 -74
  117. package/esm/Core/Particle.js +40 -26
  118. package/esm/Core/Particles.js +51 -52
  119. package/esm/Core/Utils/EventListeners.js +18 -17
  120. package/esm/Core/Utils/ExternalInteractorBase.js +2 -1
  121. package/esm/Core/Utils/InteractionManager.js +7 -6
  122. package/esm/Core/Utils/ParticlesInteractorBase.js +2 -1
  123. package/esm/Core/Utils/QuadTree.js +1 -1
  124. package/esm/Core/Utils/Ranges.js +5 -4
  125. package/esm/Enums/AnimationStatus.js +5 -1
  126. package/esm/Enums/Directions/MoveDirection.js +14 -1
  127. package/esm/Enums/Directions/OutModeDirection.js +7 -1
  128. package/esm/Enums/Directions/RotateDirection.js +6 -1
  129. package/esm/Enums/InteractivityDetect.js +6 -1
  130. package/esm/Enums/Modes/AnimationMode.js +7 -1
  131. package/esm/Enums/Modes/CollisionMode.js +6 -1
  132. package/esm/Enums/Modes/LimitMode.js +5 -1
  133. package/esm/Enums/Modes/OutMode.js +8 -1
  134. package/esm/Enums/Modes/PixelMode.js +5 -1
  135. package/esm/Enums/Modes/ResponsiveMode.js +5 -1
  136. package/esm/Enums/Modes/ThemeMode.js +6 -1
  137. package/esm/Enums/Types/AlterType.js +5 -1
  138. package/esm/Enums/Types/DestroyType.js +6 -1
  139. package/esm/Enums/Types/DivType.js +5 -1
  140. package/esm/Enums/Types/EasingType.js +30 -1
  141. package/esm/Enums/Types/EventType.js +15 -1
  142. package/esm/Enums/Types/GradientType.js +6 -1
  143. package/esm/Enums/Types/InteractorType.js +5 -1
  144. package/esm/Enums/Types/ParticleOutType.js +6 -1
  145. package/esm/Enums/Types/StartValueType.js +6 -1
  146. package/esm/Options/Classes/AnimationOptions.js +4 -2
  147. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  148. package/esm/Options/Classes/Interactivity/Events/Events.js +1 -1
  149. package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
  150. package/esm/Options/Classes/ManualParticle.js +2 -1
  151. package/esm/Options/Classes/Options.js +14 -12
  152. package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  153. package/esm/Options/Classes/Particles/Move/Move.js +2 -1
  154. package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  155. package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
  156. package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  157. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  158. package/esm/Options/Classes/Particles/ParticlesOptions.js +1 -1
  159. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  160. package/esm/Options/Classes/Responsive.js +5 -4
  161. package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
  162. package/esm/Types/RangeType.js +5 -1
  163. package/esm/Utils/CanvasUtils.js +27 -21
  164. package/esm/Utils/ColorUtils.js +17 -9
  165. package/esm/Utils/EventDispatcher.js +1 -1
  166. package/esm/Utils/HslColorManager.js +11 -4
  167. package/esm/Utils/NumberUtils.js +11 -10
  168. package/esm/Utils/RgbColorManager.js +11 -4
  169. package/esm/Utils/Utils.js +37 -31
  170. package/package.json +1 -1
  171. package/report.html +1 -1
  172. package/tsparticles.engine.js +327 -225
  173. package/tsparticles.engine.min.js +1 -1
  174. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  175. package/types/Core/Canvas.d.ts +4 -4
  176. package/types/Core/Container.d.ts +4 -2
  177. package/types/Core/Engine.d.ts +6 -5
  178. package/types/Core/Interfaces/IContainerPlugin.d.ts +4 -4
  179. package/types/Core/Interfaces/IEffectDrawer.d.ts +3 -3
  180. package/types/Core/Interfaces/IExternalInteractor.d.ts +1 -1
  181. package/types/Core/Interfaces/IMovePathGenerator.d.ts +2 -2
  182. package/types/Core/Interfaces/IParticleMover.d.ts +2 -2
  183. package/types/Core/Interfaces/IParticleUpdater.d.ts +2 -2
  184. package/types/Core/Interfaces/IParticlesInteractor.d.ts +1 -1
  185. package/types/Core/Interfaces/IPlugin.d.ts +3 -4
  186. package/types/Core/Interfaces/IShapeDrawer.d.ts +5 -4
  187. package/types/Core/Particle.d.ts +3 -2
  188. package/types/Core/Particles.d.ts +7 -7
  189. package/types/Core/Utils/ExternalInteractorBase.d.ts +1 -1
  190. package/types/Core/Utils/InteractionManager.d.ts +2 -2
  191. package/types/Core/Utils/ParticlesInteractorBase.d.ts +1 -1
  192. package/types/Enums/AnimationStatus.d.ts +1 -1
  193. package/types/Enums/Directions/MoveDirection.d.ts +1 -1
  194. package/types/Enums/Directions/OutModeDirection.d.ts +1 -1
  195. package/types/Enums/Directions/RotateDirection.d.ts +1 -1
  196. package/types/Enums/InteractivityDetect.d.ts +1 -1
  197. package/types/Enums/Modes/AnimationMode.d.ts +1 -1
  198. package/types/Enums/Modes/CollisionMode.d.ts +1 -1
  199. package/types/Enums/Modes/LimitMode.d.ts +1 -1
  200. package/types/Enums/Modes/OutMode.d.ts +1 -1
  201. package/types/Enums/Modes/PixelMode.d.ts +1 -1
  202. package/types/Enums/Modes/ResponsiveMode.d.ts +1 -1
  203. package/types/Enums/Modes/ThemeMode.d.ts +1 -1
  204. package/types/Enums/Types/AlterType.d.ts +1 -1
  205. package/types/Enums/Types/DestroyType.d.ts +1 -1
  206. package/types/Enums/Types/DivType.d.ts +1 -1
  207. package/types/Enums/Types/EasingType.d.ts +1 -1
  208. package/types/Enums/Types/EventType.d.ts +1 -1
  209. package/types/Enums/Types/GradientType.d.ts +1 -1
  210. package/types/Enums/Types/InteractorType.d.ts +1 -1
  211. package/types/Enums/Types/ParticleOutType.d.ts +1 -1
  212. package/types/Enums/Types/StartValueType.d.ts +1 -1
  213. package/types/Options/Classes/Options.d.ts +2 -1
  214. package/types/Options/Classes/Responsive.d.ts +2 -2
  215. package/types/Options/Classes/Theme/Theme.d.ts +2 -2
  216. package/types/Options/Interfaces/IResponsive.d.ts +2 -3
  217. package/types/Options/Interfaces/Theme/ITheme.d.ts +2 -3
  218. package/types/Types/RangeType.d.ts +1 -1
  219. package/types/Utils/CanvasUtils.d.ts +6 -6
  220. package/umd/Core/Canvas.js +34 -29
  221. package/umd/Core/Container.js +61 -48
  222. package/umd/Core/Engine.js +83 -99
  223. package/umd/Core/Particle.js +41 -27
  224. package/umd/Core/Particles.js +53 -78
  225. package/umd/Core/Utils/EventListeners.js +19 -18
  226. package/umd/Core/Utils/ExternalInteractorBase.js +3 -2
  227. package/umd/Core/Utils/InteractionManager.js +8 -7
  228. package/umd/Core/Utils/ParticlesInteractorBase.js +3 -2
  229. package/umd/Core/Utils/QuadTree.js +1 -1
  230. package/umd/Core/Utils/Ranges.js +6 -5
  231. package/umd/Enums/AnimationStatus.js +6 -0
  232. package/umd/Enums/Directions/MoveDirection.js +15 -0
  233. package/umd/Enums/Directions/OutModeDirection.js +8 -0
  234. package/umd/Enums/Directions/RotateDirection.js +7 -0
  235. package/umd/Enums/InteractivityDetect.js +7 -0
  236. package/umd/Enums/Modes/AnimationMode.js +8 -0
  237. package/umd/Enums/Modes/CollisionMode.js +7 -0
  238. package/umd/Enums/Modes/LimitMode.js +6 -0
  239. package/umd/Enums/Modes/OutMode.js +9 -0
  240. package/umd/Enums/Modes/PixelMode.js +6 -0
  241. package/umd/Enums/Modes/ResponsiveMode.js +6 -0
  242. package/umd/Enums/Modes/ThemeMode.js +7 -0
  243. package/umd/Enums/Types/AlterType.js +6 -0
  244. package/umd/Enums/Types/DestroyType.js +7 -0
  245. package/umd/Enums/Types/DivType.js +6 -0
  246. package/umd/Enums/Types/EasingType.js +31 -0
  247. package/umd/Enums/Types/EventType.js +16 -0
  248. package/umd/Enums/Types/GradientType.js +7 -0
  249. package/umd/Enums/Types/InteractorType.js +6 -0
  250. package/umd/Enums/Types/ParticleOutType.js +7 -0
  251. package/umd/Enums/Types/StartValueType.js +7 -0
  252. package/umd/Options/Classes/AnimationOptions.js +5 -3
  253. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
  254. package/umd/Options/Classes/Interactivity/Events/Events.js +1 -1
  255. package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
  256. package/umd/Options/Classes/ManualParticle.js +3 -2
  257. package/umd/Options/Classes/Options.js +15 -13
  258. package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
  259. package/umd/Options/Classes/Particles/Move/Move.js +3 -2
  260. package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
  261. package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
  262. package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
  263. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
  264. package/umd/Options/Classes/Particles/ParticlesOptions.js +1 -1
  265. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
  266. package/umd/Options/Classes/Responsive.js +6 -5
  267. package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
  268. package/umd/Types/RangeType.js +6 -0
  269. package/umd/Utils/CanvasUtils.js +28 -22
  270. package/umd/Utils/ColorUtils.js +18 -10
  271. package/umd/Utils/EventDispatcher.js +1 -1
  272. package/umd/Utils/HslColorManager.js +11 -4
  273. package/umd/Utils/NumberUtils.js +12 -11
  274. package/umd/Utils/RgbColorManager.js +11 -4
  275. package/umd/Utils/Utils.js +38 -32
  276. package/373.min.js +0 -2
  277. package/373.min.js.LICENSE.txt +0 -1
  278. package/438.min.js +0 -2
  279. package/438.min.js.LICENSE.txt +0 -1
  280. package/dist_browser_Core_Container_js.js +0 -92
  281. package/dist_browser_Core_Particle_js.js +0 -32
@@ -1,5 +1,8 @@
1
1
  import { getLogger, getPosition } from "../Utils/Utils.js";
2
+ import { EventType } from "../Enums/Types/EventType.js";
2
3
  import { InteractionManager } from "./Utils/InteractionManager.js";
4
+ import { LimitMode } from "../Enums/Modes/LimitMode.js";
5
+ import { Particle } from "./Particle.js";
3
6
  import { Point } from "./Utils/Point.js";
4
7
  import { QuadTree } from "./Utils/QuadTree.js";
5
8
  import { Rectangle } from "./Utils/Ranges.js";
@@ -12,11 +15,9 @@ const qTreeRectangle = (canvasSize) => {
12
15
  export class Particles {
13
16
  constructor(engine, container) {
14
17
  this._addToPool = (...particles) => {
15
- for (const particle of particles) {
16
- this._pool.push(particle);
17
- }
18
+ this._pool.push(...particles);
18
19
  };
19
- this._applyDensity = async (options, manualCount, group) => {
20
+ this._applyDensity = (options, manualCount, group) => {
20
21
  const numberOptions = options.number;
21
22
  if (!options.number.density?.enable) {
22
23
  if (group === undefined) {
@@ -27,7 +28,7 @@ export class Particles {
27
28
  }
28
29
  return;
29
30
  }
30
- const densityFactor = this._initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, minLimit = 0, optParticlesLimit = numberOptions.limit.value > minLimit ? numberOptions.limit.value : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount, particlesCount = Math.min(this.count, this.filter((t) => t.group === group).length);
31
+ const densityFactor = this._initDensityFactor(numberOptions.density), optParticlesNumber = numberOptions.value, minLimit = 0, optParticlesLimit = numberOptions.limit.value > minLimit ? numberOptions.limit.value : optParticlesNumber, particlesNumber = Math.min(optParticlesNumber, optParticlesLimit) * densityFactor + manualCount, particlesCount = Math.min(this.count, this.filter(t => t.group === group).length);
31
32
  if (group === undefined) {
32
33
  this._limit = numberOptions.limit.value * densityFactor;
33
34
  }
@@ -35,13 +36,13 @@ export class Particles {
35
36
  this._groupLimits.set(group, numberOptions.limit.value * densityFactor);
36
37
  }
37
38
  if (particlesCount < particlesNumber) {
38
- await this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);
39
+ this.push(Math.abs(particlesNumber - particlesCount), undefined, options, group);
39
40
  }
40
41
  else if (particlesCount > particlesNumber) {
41
42
  this.removeQuantity(particlesCount - particlesNumber, group);
42
43
  }
43
44
  };
44
- this._initDensityFactor = (densityOptions) => {
45
+ this._initDensityFactor = densityOptions => {
45
46
  const container = this._container, defaultFactor = 1;
46
47
  if (!container.canvas.element || !densityOptions.enable) {
47
48
  return defaultFactor;
@@ -49,14 +50,13 @@ export class Particles {
49
50
  const canvas = container.canvas.element, pxRatio = container.retina.pixelRatio;
50
51
  return (canvas.width * canvas.height) / (densityOptions.height * densityOptions.width * pxRatio ** squareExp);
51
52
  };
52
- this._pushParticle = async (position, overrideOptions, group, initializer) => {
53
+ this._pushParticle = (position, overrideOptions, group, initializer) => {
53
54
  try {
54
55
  let particle = this._pool.pop();
55
56
  if (!particle) {
56
- const { Particle } = await import("./Particle.js");
57
57
  particle = new Particle(this._engine, this._container);
58
58
  }
59
- await particle.init(this._nextId, position, overrideOptions, group);
59
+ particle.init(this._nextId, position, overrideOptions, group);
60
60
  let canAdd = true;
61
61
  if (initializer) {
62
62
  canAdd = initializer(particle);
@@ -67,7 +67,7 @@ export class Particles {
67
67
  this._array.push(particle);
68
68
  this._zArray.push(particle);
69
69
  this._nextId++;
70
- this._engine.dispatchEvent("particleAdded", {
70
+ this._engine.dispatchEvent(EventType.particleAdded, {
71
71
  container: this._container,
72
72
  data: {
73
73
  particle,
@@ -88,7 +88,7 @@ export class Particles {
88
88
  this._array.splice(index, deleteCount);
89
89
  this._zArray.splice(zIdx, deleteCount);
90
90
  particle.destroy(override);
91
- this._engine.dispatchEvent("particleRemoved", {
91
+ this._engine.dispatchEvent(EventType.particleRemoved, {
92
92
  container: this._container,
93
93
  data: {
94
94
  particle,
@@ -117,28 +117,29 @@ export class Particles {
117
117
  get count() {
118
118
  return this._array.length;
119
119
  }
120
- async addManualParticles() {
120
+ addManualParticles() {
121
121
  const container = this._container, options = container.actualOptions;
122
- for (const particle of options.manualParticles) {
123
- await this.addParticle(particle.position ? getPosition(particle.position, container.canvas.size) : undefined, particle.options);
124
- }
122
+ options.manualParticles.forEach(p => this.addParticle(p.position ? getPosition(p.position, container.canvas.size) : undefined, p.options));
125
123
  }
126
- async addParticle(position, overrideOptions, group, initializer) {
127
- const limitOptions = this._container.actualOptions.particles.number.limit, limit = group === undefined ? this._limit : this._groupLimits.get(group) ?? this._limit, currentCount = this.count, minLimit = 0;
124
+ addParticle(position, overrideOptions, group, initializer) {
125
+ const limitMode = this._container.actualOptions.particles.number.limit.mode, limit = group === undefined ? this._limit : this._groupLimits.get(group) ?? this._limit, currentCount = this.count, minLimit = 0;
128
126
  if (limit > minLimit) {
129
- if (limitOptions.mode === "delete") {
130
- const countOffset = 1, minCount = 0, countToRemove = currentCount + countOffset - limit;
131
- if (countToRemove > minCount) {
132
- this.removeQuantity(countToRemove);
133
- }
134
- }
135
- else if (limitOptions.mode === "wait") {
136
- if (currentCount >= limit) {
137
- return;
127
+ switch (limitMode) {
128
+ case LimitMode.delete: {
129
+ const countOffset = 1, minCount = 0, countToRemove = currentCount + countOffset - limit;
130
+ if (countToRemove > minCount) {
131
+ this.removeQuantity(countToRemove);
132
+ }
133
+ break;
138
134
  }
135
+ case LimitMode.wait:
136
+ if (currentCount >= limit) {
137
+ return;
138
+ }
139
+ break;
139
140
  }
140
141
  }
141
- return await this._pushParticle(position, overrideOptions, group, initializer);
142
+ return this._pushParticle(position, overrideOptions, group, initializer);
142
143
  }
143
144
  clear() {
144
145
  this._array = [];
@@ -151,15 +152,15 @@ export class Particles {
151
152
  this.movers = [];
152
153
  this.updaters = [];
153
154
  }
154
- async draw(delta) {
155
+ draw(delta) {
155
156
  const container = this._container, canvas = container.canvas;
156
157
  canvas.clear();
157
- await this.update(delta);
158
+ this.update(delta);
158
159
  for (const [, plugin] of container.plugins) {
159
- await canvas.drawPlugin(plugin, delta);
160
+ canvas.drawPlugin(plugin, delta);
160
161
  }
161
162
  for (const p of this._zArray) {
162
- await p.draw(delta);
163
+ p.draw(delta);
163
164
  }
164
165
  }
165
166
  filter(condition) {
@@ -181,24 +182,22 @@ export class Particles {
181
182
  await this.initPlugins();
182
183
  let handled = false;
183
184
  for (const [, plugin] of container.plugins) {
184
- if (plugin.particlesInitialization !== undefined) {
185
- handled = plugin.particlesInitialization();
186
- }
185
+ handled = plugin.particlesInitialization?.() ?? handled;
187
186
  if (handled) {
188
187
  break;
189
188
  }
190
189
  }
191
- await this.addManualParticles();
190
+ this.addManualParticles();
192
191
  if (!handled) {
193
192
  const particlesOptions = options.particles, groups = particlesOptions.groups;
194
193
  for (const group in groups) {
195
194
  const groupOptions = groups[group];
196
195
  for (let i = this.count, j = 0; j < groupOptions.number?.value && i < particlesOptions.number.value; i++, j++) {
197
- await this.addParticle(undefined, groupOptions, group);
196
+ this.addParticle(undefined, groupOptions, group);
198
197
  }
199
198
  }
200
199
  for (let i = this.count; i < particlesOptions.number.value; i++) {
201
- await this.addParticle();
200
+ this.addParticle();
202
201
  }
203
202
  }
204
203
  }
@@ -211,18 +210,18 @@ export class Particles {
211
210
  this.updaters = await this._engine.getUpdaters(container, true);
212
211
  await this._interactionManager.init();
213
212
  for (const [, pathGenerator] of container.pathGenerators) {
214
- await pathGenerator.init(container);
213
+ pathGenerator.init(container);
215
214
  }
216
215
  }
217
- async push(nb, mouse, overrideOptions, group) {
216
+ push(nb, mouse, overrideOptions, group) {
218
217
  for (let i = 0; i < nb; i++) {
219
- await this.addParticle(mouse?.position, overrideOptions, group);
218
+ this.addParticle(mouse?.position, overrideOptions, group);
220
219
  }
221
220
  }
222
221
  async redraw() {
223
222
  this.clear();
224
223
  await this.init();
225
- await this.draw({ value: 0, factor: 0 });
224
+ this.draw({ value: 0, factor: 0 });
226
225
  }
227
226
  remove(particle, group, override) {
228
227
  this.removeAt(this._array.indexOf(particle), undefined, group, override);
@@ -243,12 +242,12 @@ export class Particles {
243
242
  const defaultIndex = 0;
244
243
  this.removeAt(defaultIndex, quantity, group);
245
244
  }
246
- async setDensity() {
245
+ setDensity() {
247
246
  const options = this._container.actualOptions, groups = options.particles.groups, manualCount = 0;
248
247
  for (const group in groups) {
249
- await this._applyDensity(groups[group], manualCount, group);
248
+ this._applyDensity(groups[group], manualCount, group);
250
249
  }
251
- await this._applyDensity(options.particles, options.manualParticles.length);
250
+ this._applyDensity(options.particles, options.manualParticles.length);
252
251
  }
253
252
  setLastZIndex(zIndex) {
254
253
  this._lastZIndex = zIndex;
@@ -257,14 +256,14 @@ export class Particles {
257
256
  setResizeFactor(factor) {
258
257
  this._resizeFactor = factor;
259
258
  }
260
- async update(delta) {
259
+ update(delta) {
261
260
  const container = this._container, particlesToDelete = new Set();
262
261
  this.quadTree = new QuadTree(qTreeRectangle(container.canvas.size), qTreeCapacity);
263
262
  for (const [, pathGenerator] of container.pathGenerators) {
264
263
  pathGenerator.update();
265
264
  }
266
265
  for (const [, plugin] of container.plugins) {
267
- await plugin.update?.(delta);
266
+ plugin.update?.(delta);
268
267
  }
269
268
  const resizeFactor = this._resizeFactor;
270
269
  for (const particle of this._array) {
@@ -284,7 +283,7 @@ export class Particles {
284
283
  }
285
284
  for (const mover of this.movers) {
286
285
  if (mover.isEnabled(particle)) {
287
- await mover.move(particle, delta);
286
+ mover.move(particle, delta);
288
287
  }
289
288
  }
290
289
  if (particle.destroyed) {
@@ -298,7 +297,7 @@ export class Particles {
298
297
  this._array = this.filter(checkDelete);
299
298
  this._zArray = this._zArray.filter(checkDelete);
300
299
  for (const particle of particlesToDelete) {
301
- this._engine.dispatchEvent("particleRemoved", {
300
+ this._engine.dispatchEvent(EventType.particleRemoved, {
302
301
  container: this._container,
303
302
  data: {
304
303
  particle,
@@ -307,13 +306,13 @@ export class Particles {
307
306
  }
308
307
  this._addToPool(...particlesToDelete);
309
308
  }
310
- await this._interactionManager.externalInteract(delta);
309
+ this._interactionManager.externalInteract(delta);
311
310
  for (const particle of this._array) {
312
311
  for (const updater of this.updaters) {
313
- await updater.update(particle, delta);
312
+ updater.update(particle, delta);
314
313
  }
315
314
  if (!particle.destroyed && !particle.spawning) {
316
- await this._interactionManager.particlesInteract(particle, delta);
315
+ this._interactionManager.particlesInteract(particle, delta);
317
316
  }
318
317
  }
319
318
  delete this._resizeFactor;
@@ -1,5 +1,6 @@
1
1
  import { executeOnSingleOrMultiple, safeMatchMedia } from "../../Utils/Utils.js";
2
2
  import { millisecondsToSeconds, mouseDownEvent, mouseLeaveEvent, mouseMoveEvent, mouseOutEvent, mouseUpEvent, resizeEvent, touchCancelEvent, touchEndEvent, touchMoveEvent, touchStartEvent, visibilityChangeEvent, } from "./Constants.js";
3
+ import { InteractivityDetect } from "../../Enums/InteractivityDetect.js";
3
4
  import { isBoolean } from "../../Utils/TypeUtils.js";
4
5
  const double = 2;
5
6
  function manageListener(element, event, handler, add, options) {
@@ -21,7 +22,7 @@ function manageListener(element, event, handler, add, options) {
21
22
  export class EventListeners {
22
23
  constructor(container) {
23
24
  this.container = container;
24
- this._doMouseTouchClick = (e) => {
25
+ this._doMouseTouchClick = e => {
25
26
  const container = this.container, options = container.actualOptions;
26
27
  if (this._canPush) {
27
28
  const mouseInteractivity = container.interactivity.mouse, mousePos = mouseInteractivity.position;
@@ -31,7 +32,7 @@ export class EventListeners {
31
32
  mouseInteractivity.clickPosition = { ...mousePos };
32
33
  mouseInteractivity.clickTime = new Date().getTime();
33
34
  const onClick = options.interactivity.events.onClick;
34
- executeOnSingleOrMultiple(onClick.mode, (mode) => this.container.handleClickMode(mode));
35
+ executeOnSingleOrMultiple(onClick.mode, mode => this.container.handleClickMode(mode));
35
36
  }
36
37
  if (e.type === "touchend") {
37
38
  const touchDelay = 500;
@@ -39,8 +40,8 @@ export class EventListeners {
39
40
  }
40
41
  };
41
42
  this._handleThemeChange = (e) => {
42
- const mediaEvent = e, container = this.container, options = container.options, defaultThemes = options.defaultThemes, themeName = mediaEvent.matches ? defaultThemes.dark : defaultThemes.light, theme = options.themes.find((theme) => theme.name === themeName);
43
- if (theme && theme.default.auto) {
43
+ const mediaEvent = e, container = this.container, options = container.options, defaultThemes = options.defaultThemes, themeName = mediaEvent.matches ? defaultThemes.dark : defaultThemes.light, theme = options.themes.find(theme => theme.name === themeName);
44
+ if (theme?.default.auto) {
44
45
  void container.loadTheme(themeName);
45
46
  }
46
47
  };
@@ -50,7 +51,7 @@ export class EventListeners {
50
51
  if (!options.pauseOnBlur) {
51
52
  return;
52
53
  }
53
- if (document && document.hidden) {
54
+ if (document?.hidden) {
54
55
  container.pageHidden = true;
55
56
  container.pause();
56
57
  }
@@ -102,14 +103,14 @@ export class EventListeners {
102
103
  manageListener(interactivityEl, mouseLeaveTmpEvent, handlers.mouseLeave, add);
103
104
  manageListener(interactivityEl, touchCancelEvent, handlers.touchCancel, add);
104
105
  };
105
- this._manageListeners = (add) => {
106
+ this._manageListeners = add => {
106
107
  const handlers = this._handlers, container = this.container, options = container.actualOptions, detectType = options.interactivity.detectsOn, canvasEl = container.canvas.element;
107
108
  let mouseLeaveTmpEvent = mouseLeaveEvent;
108
- if (detectType === "window") {
109
+ if (detectType === InteractivityDetect.window) {
109
110
  container.interactivity.element = window;
110
111
  mouseLeaveTmpEvent = mouseOutEvent;
111
112
  }
112
- else if (detectType === "parent" && canvasEl) {
113
+ else if (detectType === InteractivityDetect.parent && canvasEl) {
113
114
  container.interactivity.element = canvasEl.parentElement ?? canvasEl.parentNode;
114
115
  }
115
116
  else {
@@ -122,7 +123,7 @@ export class EventListeners {
122
123
  manageListener(document, visibilityChangeEvent, handlers.visibilityChange, add, false);
123
124
  }
124
125
  };
125
- this._manageMediaMatch = (add) => {
126
+ this._manageMediaMatch = add => {
126
127
  const handlers = this._handlers, mediaMatch = safeMatchMedia("(prefers-color-scheme: dark)");
127
128
  if (!mediaMatch) {
128
129
  return;
@@ -141,7 +142,7 @@ export class EventListeners {
141
142
  mediaMatch.removeListener(handlers.oldThemeChange);
142
143
  }
143
144
  };
144
- this._manageResize = (add) => {
145
+ this._manageResize = add => {
145
146
  const handlers = this._handlers, container = this.container, options = container.actualOptions;
146
147
  if (!options.interactivity.events.resize) {
147
148
  return;
@@ -160,7 +161,7 @@ export class EventListeners {
160
161
  }
161
162
  else if (!this._resizeObserver && add && canvasEl) {
162
163
  this._resizeObserver = new ResizeObserver((entries) => {
163
- const entry = entries.find((e) => e.target === canvasEl);
164
+ const entry = entries.find(e => e.target === canvasEl);
164
165
  if (!entry) {
165
166
  return;
166
167
  }
@@ -178,7 +179,7 @@ export class EventListeners {
178
179
  mouse.clicking = true;
179
180
  mouse.downPosition = mouse.position;
180
181
  };
181
- this._mouseTouchClick = (e) => {
182
+ this._mouseTouchClick = e => {
182
183
  const container = this.container, options = container.actualOptions, { mouse } = container.interactivity;
183
184
  mouse.inside = true;
184
185
  let handled = false;
@@ -213,7 +214,7 @@ export class EventListeners {
213
214
  mouse.inside = false;
214
215
  mouse.clicking = false;
215
216
  };
216
- this._mouseTouchMove = (e) => {
217
+ this._mouseTouchMove = e => {
217
218
  const container = this.container, options = container.actualOptions, interactivity = container.interactivity, canvasEl = container.canvas.element;
218
219
  if (!interactivity?.element) {
219
220
  return;
@@ -232,7 +233,7 @@ export class EventListeners {
232
233
  };
233
234
  }
234
235
  }
235
- else if (options.interactivity.detectsOn === "parent") {
236
+ else if (options.interactivity.detectsOn === InteractivityDetect.parent) {
236
237
  const source = mouseEvent.target, target = mouseEvent.currentTarget;
237
238
  if (source && target && canvasEl) {
238
239
  const sourceRect = source.getBoundingClientRect(), targetRect = target.getBoundingClientRect(), canvasRect = canvasEl.getBoundingClientRect();
@@ -273,21 +274,21 @@ export class EventListeners {
273
274
  interactivity.mouse.position = pos;
274
275
  interactivity.status = mouseMoveEvent;
275
276
  };
276
- this._touchEnd = (e) => {
277
+ this._touchEnd = e => {
277
278
  const evt = e, touches = Array.from(evt.changedTouches);
278
279
  for (const touch of touches) {
279
280
  this._touches.delete(touch.identifier);
280
281
  }
281
282
  this._mouseTouchFinish();
282
283
  };
283
- this._touchEndClick = (e) => {
284
+ this._touchEndClick = e => {
284
285
  const evt = e, touches = Array.from(evt.changedTouches);
285
286
  for (const touch of touches) {
286
287
  this._touches.delete(touch.identifier);
287
288
  }
288
289
  this._mouseTouchClick(e);
289
290
  };
290
- this._touchStart = (e) => {
291
+ this._touchStart = e => {
291
292
  const evt = e, touches = Array.from(evt.changedTouches);
292
293
  for (const touch of touches) {
293
294
  this._touches.set(touch.identifier, performance.now());
@@ -1,6 +1,7 @@
1
+ import { InteractorType } from "../../Enums/Types/InteractorType.js";
1
2
  export class ExternalInteractorBase {
2
3
  constructor(container) {
3
- this.type = "external";
4
+ this.type = InteractorType.external;
4
5
  this.container = container;
5
6
  }
6
7
  }
@@ -1,3 +1,4 @@
1
+ import { InteractorType } from "../../Enums/Types/InteractorType.js";
1
2
  export class InteractionManager {
2
3
  constructor(engine, container) {
3
4
  this.container = container;
@@ -6,10 +7,10 @@ export class InteractionManager {
6
7
  this._externalInteractors = [];
7
8
  this._particleInteractors = [];
8
9
  }
9
- async externalInteract(delta) {
10
+ externalInteract(delta) {
10
11
  for (const interactor of this._externalInteractors) {
11
12
  if (interactor.isEnabled()) {
12
- await interactor.interact(delta);
13
+ interactor.interact(delta);
13
14
  }
14
15
  }
15
16
  }
@@ -24,23 +25,23 @@ export class InteractionManager {
24
25
  this._particleInteractors = [];
25
26
  for (const interactor of this._interactors) {
26
27
  switch (interactor.type) {
27
- case "external":
28
+ case InteractorType.external:
28
29
  this._externalInteractors.push(interactor);
29
30
  break;
30
- case "particles":
31
+ case InteractorType.particles:
31
32
  this._particleInteractors.push(interactor);
32
33
  break;
33
34
  }
34
35
  interactor.init();
35
36
  }
36
37
  }
37
- async particlesInteract(particle, delta) {
38
+ particlesInteract(particle, delta) {
38
39
  for (const interactor of this._externalInteractors) {
39
40
  interactor.clear(particle, delta);
40
41
  }
41
42
  for (const interactor of this._particleInteractors) {
42
43
  if (interactor.isEnabled(particle)) {
43
- await interactor.interact(particle, delta);
44
+ interactor.interact(particle, delta);
44
45
  }
45
46
  }
46
47
  }
@@ -1,6 +1,7 @@
1
+ import { InteractorType } from "../../Enums/Types/InteractorType.js";
1
2
  export class ParticlesInteractorBase {
2
3
  constructor(container) {
3
- this.type = "particles";
4
+ this.type = InteractorType.particles;
4
5
  this.container = container;
5
6
  }
6
7
  }
@@ -28,7 +28,7 @@ export class QuadTree {
28
28
  if (!this._divided) {
29
29
  this._subdivide();
30
30
  }
31
- return this._subs.some((sub) => sub.insert(point));
31
+ return this._subs.some(sub => sub.insert(point));
32
32
  }
33
33
  query(range, check) {
34
34
  const res = [];
@@ -1,3 +1,4 @@
1
+ import { RangeType } from "../../Types/RangeType.js";
1
2
  import { getDistance } from "../../Utils/NumberUtils.js";
2
3
  const squareExp = 2;
3
4
  export class BaseRange {
@@ -11,7 +12,7 @@ export class BaseRange {
11
12
  }
12
13
  export class Circle extends BaseRange {
13
14
  constructor(x, y, radius) {
14
- super(x, y, "circle");
15
+ super(x, y, RangeType.circle);
15
16
  this.radius = radius;
16
17
  }
17
18
  contains(point) {
@@ -19,11 +20,11 @@ export class Circle extends BaseRange {
19
20
  }
20
21
  intersects(range) {
21
22
  const pos1 = this.position, pos2 = range.position, distPos = { x: Math.abs(pos2.x - pos1.x), y: Math.abs(pos2.y - pos1.y) }, r = this.radius;
22
- if (range instanceof Circle || range.type === "circle") {
23
+ if (range instanceof Circle || range.type === RangeType.circle) {
23
24
  const circleRange = range, rSum = r + circleRange.radius, dist = Math.sqrt(distPos.x ** squareExp + distPos.y ** squareExp);
24
25
  return rSum > dist;
25
26
  }
26
- else if (range instanceof Rectangle || range.type === "rectangle") {
27
+ else if (range instanceof Rectangle || range.type === RangeType.rectangle) {
27
28
  const rectRange = range, { width, height } = rectRange.size, edges = Math.pow(distPos.x - width, squareExp) + Math.pow(distPos.y - height, squareExp);
28
29
  return (edges <= r ** squareExp ||
29
30
  (distPos.x <= r + width && distPos.y <= r + height) ||
@@ -35,7 +36,7 @@ export class Circle extends BaseRange {
35
36
  }
36
37
  export class Rectangle extends BaseRange {
37
38
  constructor(x, y, width, height) {
38
- super(x, y, "rectangle");
39
+ super(x, y, RangeType.rectangle);
39
40
  this.size = {
40
41
  height: height,
41
42
  width: width,
@@ -1 +1,5 @@
1
- export {};
1
+ export var AnimationStatus;
2
+ (function (AnimationStatus) {
3
+ AnimationStatus["increasing"] = "increasing";
4
+ AnimationStatus["decreasing"] = "decreasing";
5
+ })(AnimationStatus || (AnimationStatus = {}));
@@ -1 +1,14 @@
1
- export {};
1
+ export var MoveDirection;
2
+ (function (MoveDirection) {
3
+ MoveDirection["bottom"] = "bottom";
4
+ MoveDirection["bottomLeft"] = "bottom-left";
5
+ MoveDirection["bottomRight"] = "bottom-right";
6
+ MoveDirection["left"] = "left";
7
+ MoveDirection["none"] = "none";
8
+ MoveDirection["right"] = "right";
9
+ MoveDirection["top"] = "top";
10
+ MoveDirection["topLeft"] = "top-left";
11
+ MoveDirection["topRight"] = "top-right";
12
+ MoveDirection["outside"] = "outside";
13
+ MoveDirection["inside"] = "inside";
14
+ })(MoveDirection || (MoveDirection = {}));
@@ -1 +1,7 @@
1
- export {};
1
+ export var OutModeDirection;
2
+ (function (OutModeDirection) {
3
+ OutModeDirection["bottom"] = "bottom";
4
+ OutModeDirection["left"] = "left";
5
+ OutModeDirection["right"] = "right";
6
+ OutModeDirection["top"] = "top";
7
+ })(OutModeDirection || (OutModeDirection = {}));
@@ -1 +1,6 @@
1
- export {};
1
+ export var RotateDirection;
2
+ (function (RotateDirection) {
3
+ RotateDirection["clockwise"] = "clockwise";
4
+ RotateDirection["counterClockwise"] = "counter-clockwise";
5
+ RotateDirection["random"] = "random";
6
+ })(RotateDirection || (RotateDirection = {}));
@@ -1 +1,6 @@
1
- export {};
1
+ export var InteractivityDetect;
2
+ (function (InteractivityDetect) {
3
+ InteractivityDetect["canvas"] = "canvas";
4
+ InteractivityDetect["parent"] = "parent";
5
+ InteractivityDetect["window"] = "window";
6
+ })(InteractivityDetect || (InteractivityDetect = {}));
@@ -1 +1,7 @@
1
- export {};
1
+ export var AnimationMode;
2
+ (function (AnimationMode) {
3
+ AnimationMode["auto"] = "auto";
4
+ AnimationMode["increase"] = "increase";
5
+ AnimationMode["decrease"] = "decrease";
6
+ AnimationMode["random"] = "random";
7
+ })(AnimationMode || (AnimationMode = {}));
@@ -1 +1,6 @@
1
- export {};
1
+ export var CollisionMode;
2
+ (function (CollisionMode) {
3
+ CollisionMode["absorb"] = "absorb";
4
+ CollisionMode["bounce"] = "bounce";
5
+ CollisionMode["destroy"] = "destroy";
6
+ })(CollisionMode || (CollisionMode = {}));
@@ -1 +1,5 @@
1
- export {};
1
+ export var LimitMode;
2
+ (function (LimitMode) {
3
+ LimitMode["delete"] = "delete";
4
+ LimitMode["wait"] = "wait";
5
+ })(LimitMode || (LimitMode = {}));
@@ -1 +1,8 @@
1
- export {};
1
+ export var OutMode;
2
+ (function (OutMode) {
3
+ OutMode["bounce"] = "bounce";
4
+ OutMode["none"] = "none";
5
+ OutMode["out"] = "out";
6
+ OutMode["destroy"] = "destroy";
7
+ OutMode["split"] = "split";
8
+ })(OutMode || (OutMode = {}));
@@ -1 +1,5 @@
1
- export {};
1
+ export var PixelMode;
2
+ (function (PixelMode) {
3
+ PixelMode["precise"] = "precise";
4
+ PixelMode["percent"] = "percent";
5
+ })(PixelMode || (PixelMode = {}));
@@ -1 +1,5 @@
1
- export {};
1
+ export var ResponsiveMode;
2
+ (function (ResponsiveMode) {
3
+ ResponsiveMode["screen"] = "screen";
4
+ ResponsiveMode["canvas"] = "canvas";
5
+ })(ResponsiveMode || (ResponsiveMode = {}));
@@ -1 +1,6 @@
1
- export {};
1
+ export var ThemeMode;
2
+ (function (ThemeMode) {
3
+ ThemeMode["any"] = "any";
4
+ ThemeMode["dark"] = "dark";
5
+ ThemeMode["light"] = "light";
6
+ })(ThemeMode || (ThemeMode = {}));
@@ -1 +1,5 @@
1
- export {};
1
+ export var AlterType;
2
+ (function (AlterType) {
3
+ AlterType["darken"] = "darken";
4
+ AlterType["enlighten"] = "enlighten";
5
+ })(AlterType || (AlterType = {}));
@@ -1 +1,6 @@
1
- export {};
1
+ export var DestroyType;
2
+ (function (DestroyType) {
3
+ DestroyType["none"] = "none";
4
+ DestroyType["max"] = "max";
5
+ DestroyType["min"] = "min";
6
+ })(DestroyType || (DestroyType = {}));