dune-react 0.0.1

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 (269) hide show
  1. package/README.md +49 -0
  2. package/dist/_virtual/_commonjsHelpers.js +8 -0
  3. package/dist/_virtual/index.js +4 -0
  4. package/dist/_virtual/sha1.js +4 -0
  5. package/dist/_virtual/util.js +4 -0
  6. package/dist/components/index.d.ts +4 -0
  7. package/dist/components/ui-custom/background.d.ts +8 -0
  8. package/dist/components/ui-custom/background.js +51 -0
  9. package/dist/components/ui-custom/cover.d.ts +17 -0
  10. package/dist/components/ui-custom/cover.js +231 -0
  11. package/dist/components/ui-custom/sparkles.d.ts +13 -0
  12. package/dist/components/ui-custom/sparkles.js +418 -0
  13. package/dist/components/ui-custom/spotlight-new.d.ts +13 -0
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.js +40 -0
  16. package/dist/node_modules/.pnpm/@fluid-tailwind_tailwind-merge@0.0.3_tailwind-merge@3.3.1/node_modules/@fluid-tailwind/tailwind-merge/dist/index.js +50 -0
  17. package/dist/node_modules/.pnpm/@tsparticles_basic@3.9.1/node_modules/@tsparticles/basic/browser/index.js +25 -0
  18. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Canvas.js +510 -0
  19. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Container.js +463 -0
  20. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Engine.js +293 -0
  21. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Particle.js +355 -0
  22. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Particles.js +326 -0
  23. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Retina.js +37 -0
  24. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js +105 -0
  25. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/EventListeners.js +309 -0
  26. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/ExternalInteractorBase.js +10 -0
  27. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/InteractionManager.js +64 -0
  28. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/ParticlesInteractorBase.js +10 -0
  29. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/Point.js +9 -0
  30. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/QuadTree.js +60 -0
  31. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/Ranges.js +57 -0
  32. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/Vectors.js +120 -0
  33. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/AnimationStatus.js +8 -0
  34. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Directions/MoveDirection.js +17 -0
  35. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Directions/OutModeDirection.js +10 -0
  36. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Directions/RotateDirection.js +9 -0
  37. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/InteractivityDetect.js +9 -0
  38. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Modes/AnimationMode.js +10 -0
  39. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Modes/CollisionMode.js +9 -0
  40. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Modes/LimitMode.js +8 -0
  41. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Modes/OutMode.js +11 -0
  42. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Modes/PixelMode.js +8 -0
  43. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Modes/ResponsiveMode.js +8 -0
  44. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Modes/ThemeMode.js +9 -0
  45. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/AlterType.js +8 -0
  46. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/DestroyType.js +9 -0
  47. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/DivType.js +8 -0
  48. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/EasingType.js +33 -0
  49. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/EventType.js +18 -0
  50. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/GradientType.js +9 -0
  51. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/InteractorType.js +8 -0
  52. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/ParticleOutType.js +9 -0
  53. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/StartValueType.js +9 -0
  54. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/AnimatableColor.js +38 -0
  55. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/AnimationOptions.js +60 -0
  56. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Background/Background.js +39 -0
  57. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/BackgroundMask/BackgroundMask.js +27 -0
  58. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +24 -0
  59. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/ColorAnimation.js +22 -0
  60. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/FullScreen/FullScreen.js +21 -0
  61. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/HslAnimation.js +20 -0
  62. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Events/ClickEvent.js +21 -0
  63. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Events/DivEvent.js +30 -0
  64. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Events/Events.js +33 -0
  65. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Events/HoverEvent.js +24 -0
  66. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Events/Parallax.js +25 -0
  67. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Events/ResizeEvent.js +21 -0
  68. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Interactivity.js +25 -0
  69. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Interactivity/Modes/Modes.js +28 -0
  70. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/ManualParticle.js +24 -0
  71. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Options.js +163 -0
  72. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/OptionsColor.js +29 -0
  73. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +18 -0
  74. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js +10 -0
  75. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Collisions/Collisions.js +36 -0
  76. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +17 -0
  77. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js +21 -0
  78. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Effect/Effect.js +36 -0
  79. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/Move.js +95 -0
  80. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/MoveAngle.js +22 -0
  81. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/MoveAttract.js +36 -0
  82. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/MoveCenter.js +30 -0
  83. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/MoveGravity.js +30 -0
  84. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/MoveTrail.js +26 -0
  85. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/MoveTrailFill.js +18 -0
  86. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/OutModes.js +22 -0
  87. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/Path/MovePath.js +30 -0
  88. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Move/Spin.js +26 -0
  89. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Number/ParticlesDensity.js +27 -0
  90. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Number/ParticlesNumber.js +23 -0
  91. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +22 -0
  92. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Opacity/Opacity.js +23 -0
  93. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +22 -0
  94. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/ParticlesOptions.js +97 -0
  95. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Shadow.js +38 -0
  96. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Shape/Shape.js +36 -0
  97. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Size/Size.js +23 -0
  98. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Size/SizeAnimation.js +22 -0
  99. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/Stroke.js +25 -0
  100. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Particles/ZIndex/ZIndex.js +28 -0
  101. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Responsive.js +31 -0
  102. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Theme/Theme.js +24 -0
  103. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/Theme/ThemeDefault.js +26 -0
  104. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Options/Classes/ValueWithRandom.js +46 -0
  105. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Types/RangeType.js +8 -0
  106. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/CanvasUtils.js +168 -0
  107. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/ColorUtils.js +316 -0
  108. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/EventDispatcher.js +47 -0
  109. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/NumberUtils.js +135 -0
  110. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/OptionsUtils.js +15 -0
  111. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/TypeUtils.js +26 -0
  112. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/Utils.js +475 -0
  113. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/index.js +82 -0
  114. package/dist/node_modules/.pnpm/@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/init.js +9 -0
  115. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-attract@3.9.1/node_modules/@tsparticles/interaction-external-attract/browser/Attractor.js +81 -0
  116. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-attract@3.9.1/node_modules/@tsparticles/interaction-external-attract/browser/Options/Classes/Attract.js +38 -0
  117. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-attract@3.9.1/node_modules/@tsparticles/interaction-external-attract/browser/Utils.js +50 -0
  118. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-attract@3.9.1/node_modules/@tsparticles/interaction-external-attract/browser/index.js +10 -0
  119. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bounce@3.9.1/node_modules/@tsparticles/interaction-external-bounce/browser/Bouncer.js +45 -0
  120. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bounce@3.9.1/node_modules/@tsparticles/interaction-external-bounce/browser/Options/Classes/Bounce.js +17 -0
  121. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bounce@3.9.1/node_modules/@tsparticles/interaction-external-bounce/browser/Utils.js +47 -0
  122. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bounce@3.9.1/node_modules/@tsparticles/interaction-external-bounce/browser/index.js +10 -0
  123. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bubble@3.9.1/node_modules/@tsparticles/interaction-external-bubble/browser/Bubbler.js +274 -0
  124. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bubble@3.9.1/node_modules/@tsparticles/interaction-external-bubble/browser/Enums.js +9 -0
  125. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bubble@3.9.1/node_modules/@tsparticles/interaction-external-bubble/browser/Options/Classes/Bubble.js +20 -0
  126. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bubble@3.9.1/node_modules/@tsparticles/interaction-external-bubble/browser/Options/Classes/BubbleBase.js +39 -0
  127. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bubble@3.9.1/node_modules/@tsparticles/interaction-external-bubble/browser/Options/Classes/BubbleDiv.js +20 -0
  128. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bubble@3.9.1/node_modules/@tsparticles/interaction-external-bubble/browser/Utils.js +13 -0
  129. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-bubble@3.9.1/node_modules/@tsparticles/interaction-external-bubble/browser/index.js +10 -0
  130. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-connect@3.9.1/node_modules/@tsparticles/interaction-external-connect/browser/Connector.js +59 -0
  131. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-connect@3.9.1/node_modules/@tsparticles/interaction-external-connect/browser/Options/Classes/Connect.js +24 -0
  132. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-connect@3.9.1/node_modules/@tsparticles/interaction-external-connect/browser/Options/Classes/ConnectLinks.js +17 -0
  133. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-connect@3.9.1/node_modules/@tsparticles/interaction-external-connect/browser/Utils.js +44 -0
  134. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-connect@3.9.1/node_modules/@tsparticles/interaction-external-connect/browser/index.js +10 -0
  135. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-grab@3.9.1/node_modules/@tsparticles/interaction-external-grab/browser/Grabber.js +76 -0
  136. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-grab@3.9.1/node_modules/@tsparticles/interaction-external-grab/browser/Options/Classes/Grab.js +20 -0
  137. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-grab@3.9.1/node_modules/@tsparticles/interaction-external-grab/browser/Options/Classes/GrabLinks.js +29 -0
  138. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-grab@3.9.1/node_modules/@tsparticles/interaction-external-grab/browser/Utils.js +19 -0
  139. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-grab@3.9.1/node_modules/@tsparticles/interaction-external-grab/browser/index.js +10 -0
  140. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-pause@3.9.1/node_modules/@tsparticles/interaction-external-pause/browser/Pauser.js +32 -0
  141. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-pause@3.9.1/node_modules/@tsparticles/interaction-external-pause/browser/index.js +10 -0
  142. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-push@3.9.1/node_modules/@tsparticles/interaction-external-push/browser/Options/Classes/Push.js +34 -0
  143. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-push@3.9.1/node_modules/@tsparticles/interaction-external-push/browser/Pusher.js +47 -0
  144. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-push@3.9.1/node_modules/@tsparticles/interaction-external-push/browser/index.js +10 -0
  145. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-remove@3.9.1/node_modules/@tsparticles/interaction-external-remove/browser/Options/Classes/Remove.js +19 -0
  146. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-remove@3.9.1/node_modules/@tsparticles/interaction-external-remove/browser/Remover.js +39 -0
  147. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-remove@3.9.1/node_modules/@tsparticles/interaction-external-remove/browser/index.js +10 -0
  148. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-repulse@3.9.1/node_modules/@tsparticles/interaction-external-repulse/browser/Options/Classes/Repulse.js +20 -0
  149. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-repulse@3.9.1/node_modules/@tsparticles/interaction-external-repulse/browser/Options/Classes/RepulseBase.js +38 -0
  150. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-repulse@3.9.1/node_modules/@tsparticles/interaction-external-repulse/browser/Options/Classes/RepulseDiv.js +20 -0
  151. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-repulse@3.9.1/node_modules/@tsparticles/interaction-external-repulse/browser/Repulser.js +160 -0
  152. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-repulse@3.9.1/node_modules/@tsparticles/interaction-external-repulse/browser/index.js +10 -0
  153. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-slow@3.9.1/node_modules/@tsparticles/interaction-external-slow/browser/Options/Classes/Slow.js +21 -0
  154. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-slow@3.9.1/node_modules/@tsparticles/interaction-external-slow/browser/Slower.js +53 -0
  155. package/dist/node_modules/.pnpm/@tsparticles_interaction-external-slow@3.9.1/node_modules/@tsparticles/interaction-external-slow/browser/index.js +10 -0
  156. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-attract@3.9.1/node_modules/@tsparticles/interaction-particles-attract/browser/Attractor.js +37 -0
  157. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-attract@3.9.1/node_modules/@tsparticles/interaction-particles-attract/browser/index.js +10 -0
  158. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-collisions@3.9.1/node_modules/@tsparticles/interaction-particles-collisions/browser/Absorb.js +28 -0
  159. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-collisions@3.9.1/node_modules/@tsparticles/interaction-particles-collisions/browser/Bounce.js +18 -0
  160. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-collisions@3.9.1/node_modules/@tsparticles/interaction-particles-collisions/browser/Collider.js +41 -0
  161. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-collisions@3.9.1/node_modules/@tsparticles/interaction-particles-collisions/browser/Destroy.js +17 -0
  162. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-collisions@3.9.1/node_modules/@tsparticles/interaction-particles-collisions/browser/ResolveCollision.js +23 -0
  163. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-collisions@3.9.1/node_modules/@tsparticles/interaction-particles-collisions/browser/index.js +10 -0
  164. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/CircleWarp.js +33 -0
  165. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/LinkInstance.js +152 -0
  166. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/Linker.js +109 -0
  167. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/LinksPlugin.js +18 -0
  168. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/Options/Classes/Links.js +58 -0
  169. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/Options/Classes/LinksShadow.js +25 -0
  170. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/Options/Classes/LinksTriangle.js +28 -0
  171. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/Utils.js +106 -0
  172. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/index.js +10 -0
  173. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/interaction.js +9 -0
  174. package/dist/node_modules/.pnpm/@tsparticles_interaction-particles-links@3.9.1/node_modules/@tsparticles/interaction-particles-links/browser/plugin.js +8 -0
  175. package/dist/node_modules/.pnpm/@tsparticles_move-base@3.9.1/node_modules/@tsparticles/move-base/browser/BaseMover.js +37 -0
  176. package/dist/node_modules/.pnpm/@tsparticles_move-base@3.9.1/node_modules/@tsparticles/move-base/browser/Utils.js +128 -0
  177. package/dist/node_modules/.pnpm/@tsparticles_move-base@3.9.1/node_modules/@tsparticles/move-base/browser/index.js +10 -0
  178. package/dist/node_modules/.pnpm/@tsparticles_move-parallax@3.9.1/node_modules/@tsparticles/move-parallax/browser/ParallaxMover.js +31 -0
  179. package/dist/node_modules/.pnpm/@tsparticles_move-parallax@3.9.1/node_modules/@tsparticles/move-parallax/browser/index.js +10 -0
  180. package/dist/node_modules/.pnpm/@tsparticles_plugin-easing-quad@3.9.1/node_modules/@tsparticles/plugin-easing-quad/browser/index.js +11 -0
  181. package/dist/node_modules/.pnpm/@tsparticles_plugin-hex-color@3.9.1/node_modules/@tsparticles/plugin-hex-color/browser/HexColorManager.js +43 -0
  182. package/dist/node_modules/.pnpm/@tsparticles_plugin-hex-color@3.9.1/node_modules/@tsparticles/plugin-hex-color/browser/index.js +8 -0
  183. package/dist/node_modules/.pnpm/@tsparticles_plugin-hsl-color@3.9.1/node_modules/@tsparticles/plugin-hsl-color/browser/HslColorManager.js +46 -0
  184. package/dist/node_modules/.pnpm/@tsparticles_plugin-hsl-color@3.9.1/node_modules/@tsparticles/plugin-hsl-color/browser/index.js +8 -0
  185. package/dist/node_modules/.pnpm/@tsparticles_plugin-rgb-color@3.9.1/node_modules/@tsparticles/plugin-rgb-color/browser/RgbColorManager.js +45 -0
  186. package/dist/node_modules/.pnpm/@tsparticles_plugin-rgb-color@3.9.1/node_modules/@tsparticles/plugin-rgb-color/browser/index.js +8 -0
  187. package/dist/node_modules/.pnpm/@tsparticles_react@3.0.0_@tsparticles_engine@3.9.1_react-dom@18.3.1_react@18.3.1/node_modules/@tsparticles/react/dist/Particles.js +18 -0
  188. package/dist/node_modules/.pnpm/@tsparticles_react@3.0.0_@tsparticles_engine@3.9.1_react-dom@18.3.1_react@18.3.1/node_modules/@tsparticles/react/dist/index.js +9 -0
  189. package/dist/node_modules/.pnpm/@tsparticles_shape-circle@3.9.1/node_modules/@tsparticles/shape-circle/browser/CircleDrawer.js +28 -0
  190. package/dist/node_modules/.pnpm/@tsparticles_shape-circle@3.9.1/node_modules/@tsparticles/shape-circle/browser/Utils.js +12 -0
  191. package/dist/node_modules/.pnpm/@tsparticles_shape-circle@3.9.1/node_modules/@tsparticles/shape-circle/browser/index.js +8 -0
  192. package/dist/node_modules/.pnpm/@tsparticles_shape-emoji@3.9.1/node_modules/@tsparticles/shape-emoji/browser/EmojiDrawer.js +103 -0
  193. package/dist/node_modules/.pnpm/@tsparticles_shape-emoji@3.9.1/node_modules/@tsparticles/shape-emoji/browser/Utils.js +13 -0
  194. package/dist/node_modules/.pnpm/@tsparticles_shape-emoji@3.9.1/node_modules/@tsparticles/shape-emoji/browser/index.js +8 -0
  195. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/GifUtils/ByteStream.js +51 -0
  196. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/GifUtils/Constants.js +6 -0
  197. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/GifUtils/Enums/DisposalMethod.js +14 -0
  198. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/GifUtils/Types/GIFDataHeaders.js +13 -0
  199. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/GifUtils/Utils.js +419 -0
  200. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/ImageDrawer.js +130 -0
  201. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/ImagePreloader.js +36 -0
  202. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/Options/Classes/Preload.js +33 -0
  203. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/Utils.js +94 -0
  204. package/dist/node_modules/.pnpm/@tsparticles_shape-image@3.9.1/node_modules/@tsparticles/shape-image/browser/index.js +54 -0
  205. package/dist/node_modules/.pnpm/@tsparticles_shape-line@3.9.1/node_modules/@tsparticles/shape-line/browser/LineDrawer.js +16 -0
  206. package/dist/node_modules/.pnpm/@tsparticles_shape-line@3.9.1/node_modules/@tsparticles/shape-line/browser/Utils.js +9 -0
  207. package/dist/node_modules/.pnpm/@tsparticles_shape-line@3.9.1/node_modules/@tsparticles/shape-line/browser/index.js +8 -0
  208. package/dist/node_modules/.pnpm/@tsparticles_shape-polygon@3.9.1/node_modules/@tsparticles/shape-polygon/browser/PolygonDrawer.js +27 -0
  209. package/dist/node_modules/.pnpm/@tsparticles_shape-polygon@3.9.1/node_modules/@tsparticles/shape-polygon/browser/PolygonDrawerBase.js +16 -0
  210. package/dist/node_modules/.pnpm/@tsparticles_shape-polygon@3.9.1/node_modules/@tsparticles/shape-polygon/browser/TriangleDrawer.js +30 -0
  211. package/dist/node_modules/.pnpm/@tsparticles_shape-polygon@3.9.1/node_modules/@tsparticles/shape-polygon/browser/Utils.js +19 -0
  212. package/dist/node_modules/.pnpm/@tsparticles_shape-polygon@3.9.1/node_modules/@tsparticles/shape-polygon/browser/index.js +20 -0
  213. package/dist/node_modules/.pnpm/@tsparticles_shape-square@3.9.1/node_modules/@tsparticles/shape-square/browser/SquareDrawer.js +16 -0
  214. package/dist/node_modules/.pnpm/@tsparticles_shape-square@3.9.1/node_modules/@tsparticles/shape-square/browser/Utils.js +8 -0
  215. package/dist/node_modules/.pnpm/@tsparticles_shape-square@3.9.1/node_modules/@tsparticles/shape-square/browser/index.js +8 -0
  216. package/dist/node_modules/.pnpm/@tsparticles_shape-star@3.9.1/node_modules/@tsparticles/shape-star/browser/StarDrawer.js +22 -0
  217. package/dist/node_modules/.pnpm/@tsparticles_shape-star@3.9.1/node_modules/@tsparticles/shape-star/browser/Utils.js +14 -0
  218. package/dist/node_modules/.pnpm/@tsparticles_shape-star@3.9.1/node_modules/@tsparticles/shape-star/browser/index.js +8 -0
  219. package/dist/node_modules/.pnpm/@tsparticles_slim@3.9.1/node_modules/@tsparticles/slim/browser/index.js +56 -0
  220. package/dist/node_modules/.pnpm/@tsparticles_updater-color@3.9.1/node_modules/@tsparticles/updater-color/browser/ColorUpdater.js +23 -0
  221. package/dist/node_modules/.pnpm/@tsparticles_updater-color@3.9.1/node_modules/@tsparticles/updater-color/browser/index.js +10 -0
  222. package/dist/node_modules/.pnpm/@tsparticles_updater-life@3.9.1/node_modules/@tsparticles/updater-life/browser/LifeUpdater.js +52 -0
  223. package/dist/node_modules/.pnpm/@tsparticles_updater-life@3.9.1/node_modules/@tsparticles/updater-life/browser/Options/Classes/Life.js +23 -0
  224. package/dist/node_modules/.pnpm/@tsparticles_updater-life@3.9.1/node_modules/@tsparticles/updater-life/browser/Options/Classes/LifeDelay.js +20 -0
  225. package/dist/node_modules/.pnpm/@tsparticles_updater-life@3.9.1/node_modules/@tsparticles/updater-life/browser/Options/Classes/LifeDuration.js +20 -0
  226. package/dist/node_modules/.pnpm/@tsparticles_updater-life@3.9.1/node_modules/@tsparticles/updater-life/browser/Utils.js +58 -0
  227. package/dist/node_modules/.pnpm/@tsparticles_updater-life@3.9.1/node_modules/@tsparticles/updater-life/browser/index.js +10 -0
  228. package/dist/node_modules/.pnpm/@tsparticles_updater-opacity@3.9.1/node_modules/@tsparticles/updater-opacity/browser/OpacityUpdater.js +38 -0
  229. package/dist/node_modules/.pnpm/@tsparticles_updater-opacity@3.9.1/node_modules/@tsparticles/updater-opacity/browser/index.js +10 -0
  230. package/dist/node_modules/.pnpm/@tsparticles_updater-out-modes@3.9.1/node_modules/@tsparticles/updater-out-modes/browser/BounceOutMode.js +36 -0
  231. package/dist/node_modules/.pnpm/@tsparticles_updater-out-modes@3.9.1/node_modules/@tsparticles/updater-out-modes/browser/DestroyOutMode.js +37 -0
  232. package/dist/node_modules/.pnpm/@tsparticles_updater-out-modes@3.9.1/node_modules/@tsparticles/updater-out-modes/browser/NoneOutMode.js +36 -0
  233. package/dist/node_modules/.pnpm/@tsparticles_updater-out-modes@3.9.1/node_modules/@tsparticles/updater-out-modes/browser/OutOfCanvasUpdater.js +45 -0
  234. package/dist/node_modules/.pnpm/@tsparticles_updater-out-modes@3.9.1/node_modules/@tsparticles/updater-out-modes/browser/OutOutMode.js +110 -0
  235. package/dist/node_modules/.pnpm/@tsparticles_updater-out-modes@3.9.1/node_modules/@tsparticles/updater-out-modes/browser/Utils.js +66 -0
  236. package/dist/node_modules/.pnpm/@tsparticles_updater-out-modes@3.9.1/node_modules/@tsparticles/updater-out-modes/browser/index.js +10 -0
  237. package/dist/node_modules/.pnpm/@tsparticles_updater-rotate@3.9.1/node_modules/@tsparticles/updater-rotate/browser/Options/Classes/Rotate.js +29 -0
  238. package/dist/node_modules/.pnpm/@tsparticles_updater-rotate@3.9.1/node_modules/@tsparticles/updater-rotate/browser/Options/Classes/RotateAnimation.js +30 -0
  239. package/dist/node_modules/.pnpm/@tsparticles_updater-rotate@3.9.1/node_modules/@tsparticles/updater-rotate/browser/RotateUpdater.js +77 -0
  240. package/dist/node_modules/.pnpm/@tsparticles_updater-rotate@3.9.1/node_modules/@tsparticles/updater-rotate/browser/index.js +10 -0
  241. package/dist/node_modules/.pnpm/@tsparticles_updater-size@3.9.1/node_modules/@tsparticles/updater-size/browser/SizeUpdater.js +30 -0
  242. package/dist/node_modules/.pnpm/@tsparticles_updater-size@3.9.1/node_modules/@tsparticles/updater-size/browser/index.js +10 -0
  243. package/dist/node_modules/.pnpm/@tsparticles_updater-stroke-color@3.9.1/node_modules/@tsparticles/updater-stroke-color/browser/StrokeColorUpdater.js +35 -0
  244. package/dist/node_modules/.pnpm/@tsparticles_updater-stroke-color@3.9.1/node_modules/@tsparticles/updater-stroke-color/browser/index.js +10 -0
  245. package/dist/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +17 -0
  246. package/dist/node_modules/.pnpm/file-type@12.4.1/node_modules/file-type/index.js +826 -0
  247. package/dist/node_modules/.pnpm/file-type@12.4.1/node_modules/file-type/supported.js +242 -0
  248. package/dist/node_modules/.pnpm/file-type@12.4.1/node_modules/file-type/util.js +64 -0
  249. package/dist/node_modules/.pnpm/js-sha1@0.6.0/node_modules/js-sha1/src/sha1.js +311 -0
  250. package/dist/node_modules/.pnpm/nanoid@5.1.5/node_modules/nanoid/index.browser.js +22 -0
  251. package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js +3007 -0
  252. package/dist/utils/css-utils.d.ts +10 -0
  253. package/dist/utils/css-utils.js +17 -0
  254. package/dist/utils/index.d.ts +9 -0
  255. package/dist/utils/storage-qetag.d.ts +22 -0
  256. package/dist/utils/storage-qetag.js +3 -0
  257. package/dist/utils/utils-api.d.ts +17 -0
  258. package/dist/utils/utils-api.js +31 -0
  259. package/dist/utils/utils-canvas.d.ts +30 -0
  260. package/dist/utils/utils-canvas.js +54 -0
  261. package/dist/utils/utils-common.d.ts +6 -0
  262. package/dist/utils/utils-common.js +15 -0
  263. package/dist/utils/utils-image.d.ts +33 -0
  264. package/dist/utils/utils-image.js +57 -0
  265. package/dist/utils/utils-random.d.ts +1 -0
  266. package/dist/utils/utils-random.js +6 -0
  267. package/dist/utils/utils-time.d.ts +49 -0
  268. package/dist/utils/utils-time.js +112 -0
  269. package/package.json +81 -0
@@ -0,0 +1,475 @@
1
+ import { getRandom, getRangeValue, getRangeMin, getRangeMax, randomInRange, clamp, getDistances, collisionVelocity } from "./NumberUtils.js";
2
+ import { millisecondsToSeconds, half, percentDenominator, minVelocity } from "../Core/Utils/Constants.js";
3
+ import { isArray, isNull, isObject } from "./TypeUtils.js";
4
+ import { AnimationMode } from "../Enums/Modes/AnimationMode.js";
5
+ import { AnimationStatus } from "../Enums/AnimationStatus.js";
6
+ import { DestroyType } from "../Enums/Types/DestroyType.js";
7
+ import { OutModeDirection } from "../Enums/Directions/OutModeDirection.js";
8
+ import { PixelMode } from "../Enums/Modes/PixelMode.js";
9
+ import { StartValueType } from "../Enums/Types/StartValueType.js";
10
+ import { Vector } from "../Core/Utils/Vectors.js";
11
+ const _logger = {
12
+ debug: console.debug,
13
+ error: console.error,
14
+ info: console.info,
15
+ log: console.log,
16
+ verbose: console.log,
17
+ warning: console.warn
18
+ };
19
+ function getLogger() {
20
+ return _logger;
21
+ }
22
+ function memoize(fn) {
23
+ const cache = /* @__PURE__ */ new Map();
24
+ return (...args) => {
25
+ const key = JSON.stringify(args);
26
+ if (cache.has(key)) {
27
+ return cache.get(key);
28
+ }
29
+ const result = fn(...args);
30
+ cache.set(key, result);
31
+ return result;
32
+ };
33
+ }
34
+ function rectSideBounce(data) {
35
+ const res = { bounced: false }, { pSide, pOtherSide, rectSide, rectOtherSide, velocity, factor } = data;
36
+ if (pOtherSide.min < rectOtherSide.min || pOtherSide.min > rectOtherSide.max || pOtherSide.max < rectOtherSide.min || pOtherSide.max > rectOtherSide.max) {
37
+ return res;
38
+ }
39
+ if (pSide.max >= rectSide.min && pSide.max <= (rectSide.max + rectSide.min) * half && velocity > minVelocity || pSide.min <= rectSide.max && pSide.min > (rectSide.max + rectSide.min) * half && velocity < minVelocity) {
40
+ res.velocity = velocity * -factor;
41
+ res.bounced = true;
42
+ }
43
+ return res;
44
+ }
45
+ function checkSelector(element, selectors) {
46
+ const res = executeOnSingleOrMultiple(selectors, (selector) => {
47
+ return element.matches(selector);
48
+ });
49
+ return isArray(res) ? res.some((t) => t) : res;
50
+ }
51
+ function isSsr() {
52
+ return typeof window === "undefined" || !window || typeof window.document === "undefined" || !window.document;
53
+ }
54
+ function hasMatchMedia() {
55
+ return !isSsr() && typeof matchMedia !== "undefined";
56
+ }
57
+ function safeMatchMedia(query) {
58
+ if (!hasMatchMedia()) {
59
+ return;
60
+ }
61
+ return matchMedia(query);
62
+ }
63
+ function safeIntersectionObserver(callback) {
64
+ if (isSsr() || typeof IntersectionObserver === "undefined") {
65
+ return;
66
+ }
67
+ return new IntersectionObserver(callback);
68
+ }
69
+ function safeMutationObserver(callback) {
70
+ if (isSsr() || typeof MutationObserver === "undefined") {
71
+ return;
72
+ }
73
+ return new MutationObserver(callback);
74
+ }
75
+ function isInArray(value, array) {
76
+ const invalidIndex = -1;
77
+ return value === array || isArray(array) && array.indexOf(value) > invalidIndex;
78
+ }
79
+ async function loadFont(font, weight) {
80
+ try {
81
+ await document.fonts.load(`${weight ?? "400"} 36px '${font ?? "Verdana"}'`);
82
+ } catch {
83
+ }
84
+ }
85
+ function arrayRandomIndex(array) {
86
+ return Math.floor(getRandom() * array.length);
87
+ }
88
+ function itemFromArray(array, index, useIndex = true) {
89
+ return array[index !== void 0 && useIndex ? index % array.length : arrayRandomIndex(array)];
90
+ }
91
+ function isPointInside(point, size, offset, radius, direction) {
92
+ const minRadius = 0;
93
+ return areBoundsInside(calculateBounds(point, radius ?? minRadius), size, offset, direction);
94
+ }
95
+ function areBoundsInside(bounds, size, offset, direction) {
96
+ let inside = true;
97
+ if (!direction || direction === OutModeDirection.bottom) {
98
+ inside = bounds.top < size.height + offset.x;
99
+ }
100
+ if (inside && (!direction || direction === OutModeDirection.left)) {
101
+ inside = bounds.right > offset.x;
102
+ }
103
+ if (inside && (!direction || direction === OutModeDirection.right)) {
104
+ inside = bounds.left < size.width + offset.y;
105
+ }
106
+ if (inside && (!direction || direction === OutModeDirection.top)) {
107
+ inside = bounds.bottom > offset.y;
108
+ }
109
+ return inside;
110
+ }
111
+ function calculateBounds(point, radius) {
112
+ return {
113
+ bottom: point.y + radius,
114
+ left: point.x - radius,
115
+ right: point.x + radius,
116
+ top: point.y - radius
117
+ };
118
+ }
119
+ function deepExtend(destination, ...sources) {
120
+ for (const source of sources) {
121
+ if (source === void 0 || source === null) {
122
+ continue;
123
+ }
124
+ if (!isObject(source)) {
125
+ destination = source;
126
+ continue;
127
+ }
128
+ const sourceIsArray = Array.isArray(source);
129
+ if (sourceIsArray && (isObject(destination) || !destination || !Array.isArray(destination))) {
130
+ destination = [];
131
+ } else if (!sourceIsArray && (isObject(destination) || !destination || Array.isArray(destination))) {
132
+ destination = {};
133
+ }
134
+ for (const key in source) {
135
+ if (key === "__proto__") {
136
+ continue;
137
+ }
138
+ const sourceDict = source, value = sourceDict[key], destDict = destination;
139
+ destDict[key] = isObject(value) && Array.isArray(value) ? value.map((v) => deepExtend(destDict[key], v)) : deepExtend(destDict[key], value);
140
+ }
141
+ }
142
+ return destination;
143
+ }
144
+ function isDivModeEnabled(mode, divs) {
145
+ return !!findItemFromSingleOrMultiple(divs, (t) => t.enable && isInArray(mode, t.mode));
146
+ }
147
+ function divModeExecute(mode, divs, callback) {
148
+ executeOnSingleOrMultiple(divs, (div) => {
149
+ const divMode2 = div.mode, divEnabled = div.enable;
150
+ if (divEnabled && isInArray(mode, divMode2)) {
151
+ singleDivModeExecute(div, callback);
152
+ }
153
+ });
154
+ }
155
+ function singleDivModeExecute(div, callback) {
156
+ const selectors = div.selectors;
157
+ executeOnSingleOrMultiple(selectors, (selector) => {
158
+ callback(selector, div);
159
+ });
160
+ }
161
+ function divMode(divs, element) {
162
+ if (!element || !divs) {
163
+ return;
164
+ }
165
+ return findItemFromSingleOrMultiple(divs, (div) => {
166
+ return checkSelector(element, div.selectors);
167
+ });
168
+ }
169
+ function circleBounceDataFromParticle(p) {
170
+ return {
171
+ position: p.getPosition(),
172
+ radius: p.getRadius(),
173
+ mass: p.getMass(),
174
+ velocity: p.velocity,
175
+ factor: Vector.create(getRangeValue(p.options.bounce.horizontal.value), getRangeValue(p.options.bounce.vertical.value))
176
+ };
177
+ }
178
+ function circleBounce(p1, p2) {
179
+ const { x: xVelocityDiff, y: yVelocityDiff } = p1.velocity.sub(p2.velocity), [pos1, pos2] = [p1.position, p2.position], { dx: xDist, dy: yDist } = getDistances(pos2, pos1), minimumDistance = 0;
180
+ if (xVelocityDiff * xDist + yVelocityDiff * yDist < minimumDistance) {
181
+ return;
182
+ }
183
+ const angle = -Math.atan2(yDist, xDist), m1 = p1.mass, m2 = p2.mass, u1 = p1.velocity.rotate(angle), u2 = p2.velocity.rotate(angle), v1 = collisionVelocity(u1, u2, m1, m2), v2 = collisionVelocity(u2, u1, m1, m2), vFinal1 = v1.rotate(-angle), vFinal2 = v2.rotate(-angle);
184
+ p1.velocity.x = vFinal1.x * p1.factor.x;
185
+ p1.velocity.y = vFinal1.y * p1.factor.y;
186
+ p2.velocity.x = vFinal2.x * p2.factor.x;
187
+ p2.velocity.y = vFinal2.y * p2.factor.y;
188
+ }
189
+ function rectBounce(particle, divBounds) {
190
+ const pPos = particle.getPosition(), size = particle.getRadius(), bounds = calculateBounds(pPos, size), bounceOptions = particle.options.bounce, resH = rectSideBounce({
191
+ pSide: {
192
+ min: bounds.left,
193
+ max: bounds.right
194
+ },
195
+ pOtherSide: {
196
+ min: bounds.top,
197
+ max: bounds.bottom
198
+ },
199
+ rectSide: {
200
+ min: divBounds.left,
201
+ max: divBounds.right
202
+ },
203
+ rectOtherSide: {
204
+ min: divBounds.top,
205
+ max: divBounds.bottom
206
+ },
207
+ velocity: particle.velocity.x,
208
+ factor: getRangeValue(bounceOptions.horizontal.value)
209
+ });
210
+ if (resH.bounced) {
211
+ if (resH.velocity !== void 0) {
212
+ particle.velocity.x = resH.velocity;
213
+ }
214
+ if (resH.position !== void 0) {
215
+ particle.position.x = resH.position;
216
+ }
217
+ }
218
+ const resV = rectSideBounce({
219
+ pSide: {
220
+ min: bounds.top,
221
+ max: bounds.bottom
222
+ },
223
+ pOtherSide: {
224
+ min: bounds.left,
225
+ max: bounds.right
226
+ },
227
+ rectSide: {
228
+ min: divBounds.top,
229
+ max: divBounds.bottom
230
+ },
231
+ rectOtherSide: {
232
+ min: divBounds.left,
233
+ max: divBounds.right
234
+ },
235
+ velocity: particle.velocity.y,
236
+ factor: getRangeValue(bounceOptions.vertical.value)
237
+ });
238
+ if (resV.bounced) {
239
+ if (resV.velocity !== void 0) {
240
+ particle.velocity.y = resV.velocity;
241
+ }
242
+ if (resV.position !== void 0) {
243
+ particle.position.y = resV.position;
244
+ }
245
+ }
246
+ }
247
+ function executeOnSingleOrMultiple(obj, callback) {
248
+ const defaultIndex = 0;
249
+ return isArray(obj) ? obj.map((item, index) => callback(item, index)) : callback(obj, defaultIndex);
250
+ }
251
+ function itemFromSingleOrMultiple(obj, index, useIndex) {
252
+ return isArray(obj) ? itemFromArray(obj, index, useIndex) : obj;
253
+ }
254
+ function findItemFromSingleOrMultiple(obj, callback) {
255
+ if (isArray(obj)) {
256
+ return obj.find((t, index) => callback(t, index));
257
+ }
258
+ const defaultIndex = 0;
259
+ return callback(obj, defaultIndex) ? obj : void 0;
260
+ }
261
+ function initParticleNumericAnimationValue(options, pxRatio) {
262
+ const valueRange = options.value, animationOptions = options.animation, res = {
263
+ delayTime: getRangeValue(animationOptions.delay) * millisecondsToSeconds,
264
+ enable: animationOptions.enable,
265
+ value: getRangeValue(options.value) * pxRatio,
266
+ max: getRangeMax(valueRange) * pxRatio,
267
+ min: getRangeMin(valueRange) * pxRatio,
268
+ loops: 0,
269
+ maxLoops: getRangeValue(animationOptions.count),
270
+ time: 0
271
+ }, decayOffset = 1;
272
+ if (animationOptions.enable) {
273
+ res.decay = decayOffset - getRangeValue(animationOptions.decay);
274
+ switch (animationOptions.mode) {
275
+ case AnimationMode.increase:
276
+ res.status = AnimationStatus.increasing;
277
+ break;
278
+ case AnimationMode.decrease:
279
+ res.status = AnimationStatus.decreasing;
280
+ break;
281
+ case AnimationMode.random:
282
+ res.status = getRandom() >= half ? AnimationStatus.increasing : AnimationStatus.decreasing;
283
+ break;
284
+ }
285
+ const autoStatus = animationOptions.mode === AnimationMode.auto;
286
+ switch (animationOptions.startValue) {
287
+ case StartValueType.min:
288
+ res.value = res.min;
289
+ if (autoStatus) {
290
+ res.status = AnimationStatus.increasing;
291
+ }
292
+ break;
293
+ case StartValueType.max:
294
+ res.value = res.max;
295
+ if (autoStatus) {
296
+ res.status = AnimationStatus.decreasing;
297
+ }
298
+ break;
299
+ case StartValueType.random:
300
+ default:
301
+ res.value = randomInRange(res);
302
+ if (autoStatus) {
303
+ res.status = getRandom() >= half ? AnimationStatus.increasing : AnimationStatus.decreasing;
304
+ }
305
+ break;
306
+ }
307
+ }
308
+ res.initialValue = res.value;
309
+ return res;
310
+ }
311
+ function getPositionOrSize(positionOrSize, canvasSize) {
312
+ const isPercent = positionOrSize.mode === PixelMode.percent;
313
+ if (!isPercent) {
314
+ const { mode: _, ...rest } = positionOrSize;
315
+ return rest;
316
+ }
317
+ const isPosition = "x" in positionOrSize;
318
+ if (isPosition) {
319
+ return {
320
+ x: positionOrSize.x / percentDenominator * canvasSize.width,
321
+ y: positionOrSize.y / percentDenominator * canvasSize.height
322
+ };
323
+ } else {
324
+ return {
325
+ width: positionOrSize.width / percentDenominator * canvasSize.width,
326
+ height: positionOrSize.height / percentDenominator * canvasSize.height
327
+ };
328
+ }
329
+ }
330
+ function getPosition(position, canvasSize) {
331
+ return getPositionOrSize(position, canvasSize);
332
+ }
333
+ function checkDestroy(particle, destroyType, value, minValue, maxValue) {
334
+ switch (destroyType) {
335
+ case DestroyType.max:
336
+ if (value >= maxValue) {
337
+ particle.destroy();
338
+ }
339
+ break;
340
+ case DestroyType.min:
341
+ if (value <= minValue) {
342
+ particle.destroy();
343
+ }
344
+ break;
345
+ }
346
+ }
347
+ function updateAnimation(particle, data, changeDirection, destroyType, delta) {
348
+ const minLoops = 0, minDelay = 0, identity = 1, minVelocity2 = 0, minDecay = 1;
349
+ if (particle.destroyed || !data || !data.enable || (data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops)) {
350
+ return;
351
+ }
352
+ const velocity = (data.velocity ?? minVelocity2) * delta.factor, minValue = data.min, maxValue = data.max, decay = data.decay ?? minDecay;
353
+ if (!data.time) {
354
+ data.time = 0;
355
+ }
356
+ if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {
357
+ data.time += delta.value;
358
+ }
359
+ if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {
360
+ return;
361
+ }
362
+ switch (data.status) {
363
+ case AnimationStatus.increasing:
364
+ if (data.value >= maxValue) {
365
+ if (changeDirection) {
366
+ data.status = AnimationStatus.decreasing;
367
+ } else {
368
+ data.value -= maxValue;
369
+ }
370
+ if (!data.loops) {
371
+ data.loops = minLoops;
372
+ }
373
+ data.loops++;
374
+ } else {
375
+ data.value += velocity;
376
+ }
377
+ break;
378
+ case AnimationStatus.decreasing:
379
+ if (data.value <= minValue) {
380
+ if (changeDirection) {
381
+ data.status = AnimationStatus.increasing;
382
+ } else {
383
+ data.value += maxValue;
384
+ }
385
+ if (!data.loops) {
386
+ data.loops = minLoops;
387
+ }
388
+ data.loops++;
389
+ } else {
390
+ data.value -= velocity;
391
+ }
392
+ }
393
+ if (data.velocity && decay !== identity) {
394
+ data.velocity *= decay;
395
+ }
396
+ checkDestroy(particle, destroyType, data.value, minValue, maxValue);
397
+ if (!particle.destroyed) {
398
+ data.value = clamp(data.value, minValue, maxValue);
399
+ }
400
+ }
401
+ function cloneStyle(style) {
402
+ var _a, _b, _c, _d;
403
+ const clonedStyle = document.createElement("div").style;
404
+ if (!style) {
405
+ return clonedStyle;
406
+ }
407
+ for (const key in style) {
408
+ const styleKey = style[key];
409
+ if (!Object.prototype.hasOwnProperty.call(style, key) || isNull(styleKey)) {
410
+ continue;
411
+ }
412
+ const styleValue = (_a = style.getPropertyValue) == null ? void 0 : _a.call(style, styleKey);
413
+ if (!styleValue) {
414
+ continue;
415
+ }
416
+ const stylePriority = (_b = style.getPropertyPriority) == null ? void 0 : _b.call(style, styleKey);
417
+ if (!stylePriority) {
418
+ (_c = clonedStyle.setProperty) == null ? void 0 : _c.call(clonedStyle, styleKey, styleValue);
419
+ } else {
420
+ (_d = clonedStyle.setProperty) == null ? void 0 : _d.call(clonedStyle, styleKey, styleValue, stylePriority);
421
+ }
422
+ }
423
+ return clonedStyle;
424
+ }
425
+ function computeFullScreenStyle(zIndex) {
426
+ const fullScreenStyle = document.createElement("div").style, radix = 10, style = {
427
+ width: "100%",
428
+ height: "100%",
429
+ margin: "0",
430
+ padding: "0",
431
+ borderWidth: "0",
432
+ position: "fixed",
433
+ zIndex: zIndex.toString(radix),
434
+ "z-index": zIndex.toString(radix),
435
+ top: "0",
436
+ left: "0"
437
+ };
438
+ for (const key in style) {
439
+ const value = style[key];
440
+ fullScreenStyle.setProperty(key, value);
441
+ }
442
+ return fullScreenStyle;
443
+ }
444
+ const getFullScreenStyle = memoize(computeFullScreenStyle);
445
+ export {
446
+ areBoundsInside,
447
+ arrayRandomIndex,
448
+ calculateBounds,
449
+ circleBounce,
450
+ circleBounceDataFromParticle,
451
+ cloneStyle,
452
+ deepExtend,
453
+ divMode,
454
+ divModeExecute,
455
+ executeOnSingleOrMultiple,
456
+ findItemFromSingleOrMultiple,
457
+ getFullScreenStyle,
458
+ getLogger,
459
+ getPosition,
460
+ hasMatchMedia,
461
+ initParticleNumericAnimationValue,
462
+ isDivModeEnabled,
463
+ isInArray,
464
+ isPointInside,
465
+ isSsr,
466
+ itemFromArray,
467
+ itemFromSingleOrMultiple,
468
+ loadFont,
469
+ rectBounce,
470
+ safeIntersectionObserver,
471
+ safeMatchMedia,
472
+ safeMutationObserver,
473
+ singleDivModeExecute,
474
+ updateAnimation
475
+ };
@@ -0,0 +1,82 @@
1
+ import { init } from "./init.js";
2
+ import { isSsr } from "./Utils/Utils.js";
3
+ import { areBoundsInside, arrayRandomIndex, calculateBounds, circleBounce, circleBounceDataFromParticle, cloneStyle, deepExtend, divMode, divModeExecute, executeOnSingleOrMultiple, findItemFromSingleOrMultiple, getFullScreenStyle, getLogger, getPosition, hasMatchMedia, initParticleNumericAnimationValue, isDivModeEnabled, isInArray, isPointInside, itemFromArray, itemFromSingleOrMultiple, loadFont, rectBounce, safeIntersectionObserver, safeMatchMedia, safeMutationObserver, singleDivModeExecute, updateAnimation } from "./Utils/Utils.js";
4
+ import { InteractorType } from "./Enums/Types/InteractorType.js";
5
+ import "./Types/RangeType.js";
6
+ import { MoveDirection } from "./Enums/Directions/MoveDirection.js";
7
+ import { RotateDirection } from "./Enums/Directions/RotateDirection.js";
8
+ import { OutModeDirection } from "./Enums/Directions/OutModeDirection.js";
9
+ import { AnimationMode } from "./Enums/Modes/AnimationMode.js";
10
+ import { CollisionMode } from "./Enums/Modes/CollisionMode.js";
11
+ import { LimitMode } from "./Enums/Modes/LimitMode.js";
12
+ import { OutMode } from "./Enums/Modes/OutMode.js";
13
+ import { PixelMode } from "./Enums/Modes/PixelMode.js";
14
+ import { ThemeMode } from "./Enums/Modes/ThemeMode.js";
15
+ import { ResponsiveMode } from "./Enums/Modes/ResponsiveMode.js";
16
+ import { AlterType } from "./Enums/Types/AlterType.js";
17
+ import { DestroyType } from "./Enums/Types/DestroyType.js";
18
+ import { GradientType } from "./Enums/Types/GradientType.js";
19
+ import { ParticleOutType } from "./Enums/Types/ParticleOutType.js";
20
+ import { StartValueType } from "./Enums/Types/StartValueType.js";
21
+ import { DivType } from "./Enums/Types/DivType.js";
22
+ import { EasingType } from "./Enums/Types/EasingType.js";
23
+ import { EventType } from "./Enums/Types/EventType.js";
24
+ import { AnimationStatus } from "./Enums/AnimationStatus.js";
25
+ import { InteractivityDetect } from "./Enums/InteractivityDetect.js";
26
+ const tsParticles = init();
27
+ if (!isSsr()) {
28
+ window.tsParticles = tsParticles;
29
+ }
30
+ export {
31
+ AlterType,
32
+ AnimationMode,
33
+ AnimationStatus,
34
+ CollisionMode,
35
+ DestroyType,
36
+ DivType,
37
+ EasingType,
38
+ EventType,
39
+ GradientType,
40
+ InteractivityDetect,
41
+ InteractorType,
42
+ LimitMode,
43
+ MoveDirection,
44
+ OutMode,
45
+ OutModeDirection,
46
+ ParticleOutType,
47
+ PixelMode,
48
+ ResponsiveMode,
49
+ RotateDirection,
50
+ StartValueType,
51
+ ThemeMode,
52
+ areBoundsInside,
53
+ arrayRandomIndex,
54
+ calculateBounds,
55
+ circleBounce,
56
+ circleBounceDataFromParticle,
57
+ cloneStyle,
58
+ deepExtend,
59
+ divMode,
60
+ divModeExecute,
61
+ executeOnSingleOrMultiple,
62
+ findItemFromSingleOrMultiple,
63
+ getFullScreenStyle,
64
+ getLogger,
65
+ getPosition,
66
+ hasMatchMedia,
67
+ initParticleNumericAnimationValue,
68
+ isDivModeEnabled,
69
+ isInArray,
70
+ isPointInside,
71
+ isSsr,
72
+ itemFromArray,
73
+ itemFromSingleOrMultiple,
74
+ loadFont,
75
+ rectBounce,
76
+ safeIntersectionObserver,
77
+ safeMatchMedia,
78
+ safeMutationObserver,
79
+ singleDivModeExecute,
80
+ tsParticles,
81
+ updateAnimation
82
+ };
@@ -0,0 +1,9 @@
1
+ import { Engine } from "./Core/Engine.js";
2
+ function init() {
3
+ const engine = new Engine();
4
+ engine.init();
5
+ return engine;
6
+ }
7
+ export {
8
+ init
9
+ };
@@ -0,0 +1,81 @@
1
+ import { hoverAttract, clickAttract } from "./Utils.js";
2
+ import { Attract } from "./Options/Classes/Attract.js";
3
+ import { ExternalInteractorBase } from "../../../../../@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/ExternalInteractorBase.js";
4
+ import { millisecondsToSeconds, mouseMoveEvent } from "../../../../../@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Core/Utils/Constants.js";
5
+ import { isInArray } from "../../../../../@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/Utils.js";
6
+ const attractMode = "attract";
7
+ class Attractor extends ExternalInteractorBase {
8
+ constructor(engine, container) {
9
+ super(container);
10
+ this._engine = engine;
11
+ if (!container.attract) {
12
+ container.attract = { particles: [] };
13
+ }
14
+ this.handleClickMode = (mode) => {
15
+ const options = this.container.actualOptions, attract = options.interactivity.modes.attract;
16
+ if (!attract || mode !== attractMode) {
17
+ return;
18
+ }
19
+ if (!container.attract) {
20
+ container.attract = { particles: [] };
21
+ }
22
+ container.attract.clicking = true;
23
+ container.attract.count = 0;
24
+ for (const particle of container.attract.particles) {
25
+ if (!this.isEnabled(particle)) {
26
+ continue;
27
+ }
28
+ particle.velocity.setTo(particle.initialVelocity);
29
+ }
30
+ container.attract.particles = [];
31
+ container.attract.finish = false;
32
+ setTimeout(() => {
33
+ if (container.destroyed) {
34
+ return;
35
+ }
36
+ if (!container.attract) {
37
+ container.attract = { particles: [] };
38
+ }
39
+ container.attract.clicking = false;
40
+ }, attract.duration * millisecondsToSeconds);
41
+ };
42
+ }
43
+ clear() {
44
+ }
45
+ init() {
46
+ const container = this.container, attract = container.actualOptions.interactivity.modes.attract;
47
+ if (!attract) {
48
+ return;
49
+ }
50
+ container.retina.attractModeDistance = attract.distance * container.retina.pixelRatio;
51
+ }
52
+ interact() {
53
+ const container = this.container, options = container.actualOptions, mouseMoveStatus = container.interactivity.status === mouseMoveEvent, events = options.interactivity.events, { enable: hoverEnabled, mode: hoverMode } = events.onHover, { enable: clickEnabled, mode: clickMode } = events.onClick;
54
+ if (mouseMoveStatus && hoverEnabled && isInArray(attractMode, hoverMode)) {
55
+ hoverAttract(this._engine, this.container, (p) => this.isEnabled(p));
56
+ } else if (clickEnabled && isInArray(attractMode, clickMode)) {
57
+ clickAttract(this._engine, this.container, (p) => this.isEnabled(p));
58
+ }
59
+ }
60
+ isEnabled(particle) {
61
+ const container = this.container, options = container.actualOptions, mouse = container.interactivity.mouse, events = ((particle == null ? void 0 : particle.interactivity) ?? options.interactivity).events;
62
+ if ((!mouse.position || !events.onHover.enable) && (!mouse.clickPosition || !events.onClick.enable)) {
63
+ return false;
64
+ }
65
+ const hoverMode = events.onHover.mode, clickMode = events.onClick.mode;
66
+ return isInArray(attractMode, hoverMode) || isInArray(attractMode, clickMode);
67
+ }
68
+ loadModeOptions(options, ...sources) {
69
+ if (!options.attract) {
70
+ options.attract = new Attract();
71
+ }
72
+ for (const source of sources) {
73
+ options.attract.load(source == null ? void 0 : source.attract);
74
+ }
75
+ }
76
+ reset() {
77
+ }
78
+ }
79
+ export {
80
+ Attractor
81
+ };
@@ -0,0 +1,38 @@
1
+ import { isNull } from "../../../../../../../@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Utils/TypeUtils.js";
2
+ import { EasingType } from "../../../../../../../@tsparticles_engine@3.9.1/node_modules/@tsparticles/engine/browser/Enums/Types/EasingType.js";
3
+ class Attract {
4
+ constructor() {
5
+ this.distance = 200;
6
+ this.duration = 0.4;
7
+ this.easing = EasingType.easeOutQuad;
8
+ this.factor = 1;
9
+ this.maxSpeed = 50;
10
+ this.speed = 1;
11
+ }
12
+ load(data) {
13
+ if (isNull(data)) {
14
+ return;
15
+ }
16
+ if (data.distance !== void 0) {
17
+ this.distance = data.distance;
18
+ }
19
+ if (data.duration !== void 0) {
20
+ this.duration = data.duration;
21
+ }
22
+ if (data.easing !== void 0) {
23
+ this.easing = data.easing;
24
+ }
25
+ if (data.factor !== void 0) {
26
+ this.factor = data.factor;
27
+ }
28
+ if (data.maxSpeed !== void 0) {
29
+ this.maxSpeed = data.maxSpeed;
30
+ }
31
+ if (data.speed !== void 0) {
32
+ this.speed = data.speed;
33
+ }
34
+ }
35
+ }
36
+ export {
37
+ Attract
38
+ };