@tsparticles/slim 4.0.0-alpha.5 → 4.0.0-beta.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 (338) hide show
  1. package/102.min.js +1 -0
  2. package/1098.min.js +1 -0
  3. package/1298.min.js +1 -0
  4. package/1510.min.js +1 -0
  5. package/1553.min.js +1 -0
  6. package/161.min.js +1 -0
  7. package/1624.min.js +1 -0
  8. package/1667.min.js +1 -0
  9. package/229.min.js +1 -0
  10. package/2382.min.js +1 -0
  11. package/243.min.js +1 -0
  12. package/2616.min.js +1 -0
  13. package/2846.min.js +1 -0
  14. package/2926.min.js +1 -0
  15. package/3091.min.js +1 -0
  16. package/3130.min.js +1 -0
  17. package/3194.min.js +1 -0
  18. package/3407.min.js +1 -0
  19. package/3413.min.js +1 -0
  20. package/3455.min.js +1 -0
  21. package/3464.min.js +1 -0
  22. package/358.min.js +1 -0
  23. package/366.min.js +1 -0
  24. package/3663.min.js +1 -0
  25. package/3713.min.js +1 -0
  26. package/4089.min.js +1 -0
  27. package/4149.min.js +1 -0
  28. package/4191.min.js +1 -0
  29. package/4268.min.js +1 -0
  30. package/4270.min.js +1 -0
  31. package/4285.min.js +1 -0
  32. package/439.min.js +1 -0
  33. package/4462.min.js +1 -0
  34. package/4570.min.js +1 -0
  35. package/4588.min.js +1 -0
  36. package/4660.min.js +1 -0
  37. package/4724.min.js +1 -0
  38. package/4792.min.js +1 -0
  39. package/4932.min.js +1 -0
  40. package/514.min.js +1 -0
  41. package/5157.min.js +1 -0
  42. package/5315.min.js +1 -0
  43. package/5390.min.js +1 -0
  44. package/5406.min.js +1 -0
  45. package/5552.min.js +1 -0
  46. package/5855.min.js +1 -0
  47. package/5964.min.js +1 -0
  48. package/6101.min.js +1 -0
  49. package/6179.min.js +1 -0
  50. package/622.min.js +1 -0
  51. package/6299.min.js +1 -0
  52. package/6465.min.js +1 -0
  53. package/653.min.js +1 -0
  54. package/6583.min.js +1 -0
  55. package/6638.min.js +1 -0
  56. package/6684.min.js +1 -0
  57. package/6839.min.js +1 -0
  58. package/6970.min.js +1 -0
  59. package/6982.min.js +1 -0
  60. package/7116.min.js +1 -0
  61. package/7256.min.js +1 -2
  62. package/7258.min.js +1 -0
  63. package/7318.min.js +1 -0
  64. package/7475.min.js +1 -0
  65. package/7520.min.js +1 -0
  66. package/7812.min.js +1 -0
  67. package/7876.min.js +1 -0
  68. package/7925.min.js +1 -0
  69. package/7977.min.js +1 -0
  70. package/8109.min.js +1 -0
  71. package/8222.min.js +1 -0
  72. package/84.min.js +1 -0
  73. package/8484.min.js +1 -0
  74. package/8589.min.js +1 -0
  75. package/8689.min.js +1 -0
  76. package/8902.min.js +1 -0
  77. package/9082.min.js +1 -0
  78. package/9544.min.js +1 -0
  79. package/9578.min.js +1 -0
  80. package/9739.min.js +1 -0
  81. package/README.md +62 -2
  82. package/basic_dist_browser_index_js.js +2 -2
  83. package/browser/bundle.js +1 -2
  84. package/browser/index.js +61 -27
  85. package/cjs/bundle.js +1 -2
  86. package/cjs/index.js +61 -27
  87. package/engine_dist_browser_Core_Container_js.js +12 -12
  88. package/esm/bundle.js +1 -2
  89. package/esm/index.js +61 -27
  90. package/interactions_external_attract_dist_browser_Attractor_js.js +42 -42
  91. package/interactions_external_attract_dist_browser_index_js.js +3 -3
  92. package/interactions_external_bounce_dist_browser_Bouncer_js.js +42 -42
  93. package/interactions_external_bounce_dist_browser_index_js.js +3 -3
  94. package/interactions_external_bubble_dist_browser_Bubbler_js.js +43 -43
  95. package/interactions_external_bubble_dist_browser_index_js.js +5 -5
  96. package/interactions_external_connect_dist_browser_Connector_js.js +62 -42
  97. package/interactions_external_connect_dist_browser_index_js.js +4 -4
  98. package/interactions_external_grab_dist_browser_Grabber_js.js +62 -42
  99. package/interactions_external_grab_dist_browser_index_js.js +4 -4
  100. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +41 -41
  101. package/interactions_external_parallax_dist_browser_index_js.js +3 -3
  102. package/interactions_external_pause_dist_browser_Pauser_js.js +41 -41
  103. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  104. package/interactions_external_push_dist_browser_Pusher_js.js +41 -41
  105. package/interactions_external_push_dist_browser_index_js.js +3 -3
  106. package/interactions_external_remove_dist_browser_Remover_js.js +41 -41
  107. package/interactions_external_remove_dist_browser_index_js.js +3 -3
  108. package/interactions_external_repulse_dist_browser_Repulser_js.js +41 -41
  109. package/interactions_external_repulse_dist_browser_index_js.js +5 -5
  110. package/interactions_external_slow_dist_browser_Slower_js.js +41 -41
  111. package/interactions_external_slow_dist_browser_index_js.js +3 -3
  112. package/interactions_particles_attract_dist_browser_Attractor_js.js +51 -41
  113. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  114. package/interactions_particles_collisions_dist_browser_Collider_js.js +49 -49
  115. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +2 -2
  116. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
  117. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  118. package/interactions_particles_links_dist_browser_LinkInstance_js.js +3 -3
  119. package/interactions_particles_links_dist_browser_Linker_js.js +42 -42
  120. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
  121. package/interactions_particles_links_dist_browser_index_js.js +5 -5
  122. package/package.json +28 -27
  123. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +2 -2
  124. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  125. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +2 -2
  126. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  127. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +2 -2
  128. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  129. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +2 -2
  130. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  131. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
  132. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +6 -6
  133. package/plugins_interactivity_dist_browser_index_js.js +40 -40
  134. package/plugins_move_dist_browser_MovePluginInstance_js.js +40 -0
  135. package/{updaters_color_dist_browser_index_js.js → plugins_move_dist_browser_MovePlugin_js.js} +7 -7
  136. package/plugins_move_dist_browser_index_js.js +30 -0
  137. package/report.html +3 -3
  138. package/shapes_circle_dist_browser_CircleDrawer_js.js +3 -3
  139. package/shapes_circle_dist_browser_index_js.js +2 -2
  140. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +17 -7
  141. package/shapes_emoji_dist_browser_index_js.js +12 -2
  142. package/shapes_image_dist_browser_GifUtils_Utils_js.js +6 -16
  143. package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
  144. package/{move_base_dist_browser_index_js.js → shapes_image_dist_browser_ImagePreloaderInstance_js.js} +7 -7
  145. package/shapes_image_dist_browser_ImagePreloader_js.js +3 -3
  146. package/shapes_image_dist_browser_index_js.js +12 -2
  147. package/shapes_line_dist_browser_LineDrawer_js.js +3 -3
  148. package/shapes_line_dist_browser_index_js.js +2 -2
  149. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +4 -4
  150. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +4 -4
  151. package/shapes_polygon_dist_browser_index_js.js +2 -2
  152. package/shapes_square_dist_browser_SquareDrawer_js.js +3 -3
  153. package/shapes_square_dist_browser_index_js.js +2 -2
  154. package/shapes_star_dist_browser_StarDrawer_js.js +3 -3
  155. package/shapes_star_dist_browser_index_js.js +2 -2
  156. package/tsparticles.slim.bundle.js +95 -93
  157. package/tsparticles.slim.bundle.min.js +2 -2
  158. package/tsparticles.slim.js +31 -21
  159. package/tsparticles.slim.min.js +1 -2
  160. package/types/bundle.d.ts +1 -2
  161. package/umd/bundle.js +3 -3
  162. package/umd/index.js +61 -27
  163. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +30 -0
  164. package/updaters_fillColor_dist_browser_index_js.js +30 -0
  165. package/updaters_life_dist_browser_LifeUpdater_js.js +6 -6
  166. package/updaters_life_dist_browser_index_js.js +2 -2
  167. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
  168. package/updaters_opacity_dist_browser_index_js.js +2 -2
  169. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +7 -7
  170. package/updaters_outModes_dist_browser_index_js.js +2 -2
  171. package/updaters_rotate_dist_browser_RotateUpdater_js.js +4 -4
  172. package/updaters_rotate_dist_browser_index_js.js +2 -2
  173. package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
  174. package/updaters_size_dist_browser_index_js.js +2 -2
  175. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
  176. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  177. package/1049.min.js +0 -2
  178. package/1049.min.js.LICENSE.txt +0 -1
  179. package/1085.min.js +0 -2
  180. package/1085.min.js.LICENSE.txt +0 -1
  181. package/1306.min.js +0 -2
  182. package/1306.min.js.LICENSE.txt +0 -1
  183. package/1542.min.js +0 -2
  184. package/1542.min.js.LICENSE.txt +0 -1
  185. package/1608.min.js +0 -2
  186. package/1608.min.js.LICENSE.txt +0 -1
  187. package/1750.min.js +0 -2
  188. package/1750.min.js.LICENSE.txt +0 -1
  189. package/1801.min.js +0 -2
  190. package/1801.min.js.LICENSE.txt +0 -1
  191. package/1968.min.js +0 -2
  192. package/1968.min.js.LICENSE.txt +0 -1
  193. package/2201.min.js +0 -2
  194. package/2201.min.js.LICENSE.txt +0 -1
  195. package/221.min.js +0 -2
  196. package/221.min.js.LICENSE.txt +0 -1
  197. package/2398.min.js +0 -2
  198. package/2398.min.js.LICENSE.txt +0 -1
  199. package/2488.min.js +0 -2
  200. package/2488.min.js.LICENSE.txt +0 -1
  201. package/2495.min.js +0 -2
  202. package/2495.min.js.LICENSE.txt +0 -1
  203. package/290.min.js +0 -2
  204. package/290.min.js.LICENSE.txt +0 -1
  205. package/2970.min.js +0 -2
  206. package/2970.min.js.LICENSE.txt +0 -1
  207. package/3003.min.js +0 -2
  208. package/3003.min.js.LICENSE.txt +0 -1
  209. package/3120.min.js +0 -2
  210. package/3120.min.js.LICENSE.txt +0 -1
  211. package/3148.min.js +0 -2
  212. package/3148.min.js.LICENSE.txt +0 -1
  213. package/3153.min.js +0 -2
  214. package/3153.min.js.LICENSE.txt +0 -1
  215. package/3209.min.js +0 -2
  216. package/3209.min.js.LICENSE.txt +0 -1
  217. package/3306.min.js +0 -2
  218. package/3306.min.js.LICENSE.txt +0 -1
  219. package/346.min.js +0 -2
  220. package/346.min.js.LICENSE.txt +0 -1
  221. package/3712.min.js +0 -2
  222. package/3712.min.js.LICENSE.txt +0 -1
  223. package/3743.min.js +0 -2
  224. package/3743.min.js.LICENSE.txt +0 -1
  225. package/3744.min.js +0 -2
  226. package/3744.min.js.LICENSE.txt +0 -1
  227. package/3748.min.js +0 -2
  228. package/3748.min.js.LICENSE.txt +0 -1
  229. package/3759.min.js +0 -2
  230. package/3759.min.js.LICENSE.txt +0 -1
  231. package/3804.min.js +0 -2
  232. package/3804.min.js.LICENSE.txt +0 -1
  233. package/3925.min.js +0 -2
  234. package/3925.min.js.LICENSE.txt +0 -1
  235. package/4427.min.js +0 -2
  236. package/4427.min.js.LICENSE.txt +0 -1
  237. package/4619.min.js +0 -2
  238. package/4619.min.js.LICENSE.txt +0 -1
  239. package/4698.min.js +0 -2
  240. package/4698.min.js.LICENSE.txt +0 -1
  241. package/4764.min.js +0 -2
  242. package/4764.min.js.LICENSE.txt +0 -1
  243. package/4813.min.js +0 -2
  244. package/4813.min.js.LICENSE.txt +0 -1
  245. package/4884.min.js +0 -2
  246. package/4884.min.js.LICENSE.txt +0 -1
  247. package/4983.min.js +0 -2
  248. package/4983.min.js.LICENSE.txt +0 -1
  249. package/5113.min.js +0 -2
  250. package/5113.min.js.LICENSE.txt +0 -1
  251. package/521.min.js +0 -2
  252. package/521.min.js.LICENSE.txt +0 -1
  253. package/5302.min.js +0 -2
  254. package/5302.min.js.LICENSE.txt +0 -1
  255. package/5475.min.js +0 -2
  256. package/5475.min.js.LICENSE.txt +0 -1
  257. package/5505.min.js +0 -2
  258. package/5505.min.js.LICENSE.txt +0 -1
  259. package/5913.min.js +0 -2
  260. package/5913.min.js.LICENSE.txt +0 -1
  261. package/5919.min.js +0 -2
  262. package/5919.min.js.LICENSE.txt +0 -1
  263. package/597.min.js +0 -2
  264. package/597.min.js.LICENSE.txt +0 -1
  265. package/5987.min.js +0 -2
  266. package/5987.min.js.LICENSE.txt +0 -1
  267. package/6296.min.js +0 -2
  268. package/6296.min.js.LICENSE.txt +0 -1
  269. package/6388.min.js +0 -2
  270. package/6388.min.js.LICENSE.txt +0 -1
  271. package/6441.min.js +0 -2
  272. package/6441.min.js.LICENSE.txt +0 -1
  273. package/6556.min.js +0 -2
  274. package/6556.min.js.LICENSE.txt +0 -1
  275. package/6580.min.js +0 -2
  276. package/6580.min.js.LICENSE.txt +0 -1
  277. package/6608.min.js +0 -2
  278. package/6608.min.js.LICENSE.txt +0 -1
  279. package/6742.min.js +0 -2
  280. package/6742.min.js.LICENSE.txt +0 -1
  281. package/6824.min.js +0 -2
  282. package/6824.min.js.LICENSE.txt +0 -1
  283. package/6973.min.js +0 -2
  284. package/6973.min.js.LICENSE.txt +0 -1
  285. package/7012.min.js +0 -2
  286. package/7012.min.js.LICENSE.txt +0 -1
  287. package/7056.min.js +0 -2
  288. package/7056.min.js.LICENSE.txt +0 -1
  289. package/7125.min.js +0 -2
  290. package/7125.min.js.LICENSE.txt +0 -1
  291. package/7147.min.js +0 -2
  292. package/7147.min.js.LICENSE.txt +0 -1
  293. package/7191.min.js +0 -2
  294. package/7191.min.js.LICENSE.txt +0 -1
  295. package/7256.min.js.LICENSE.txt +0 -1
  296. package/7276.min.js +0 -2
  297. package/7276.min.js.LICENSE.txt +0 -1
  298. package/7613.min.js +0 -2
  299. package/7613.min.js.LICENSE.txt +0 -1
  300. package/7749.min.js +0 -2
  301. package/7749.min.js.LICENSE.txt +0 -1
  302. package/8013.min.js +0 -2
  303. package/8013.min.js.LICENSE.txt +0 -1
  304. package/8188.min.js +0 -2
  305. package/8188.min.js.LICENSE.txt +0 -1
  306. package/8314.min.js +0 -2
  307. package/8314.min.js.LICENSE.txt +0 -1
  308. package/8445.min.js +0 -2
  309. package/8445.min.js.LICENSE.txt +0 -1
  310. package/8827.min.js +0 -2
  311. package/8827.min.js.LICENSE.txt +0 -1
  312. package/8993.min.js +0 -2
  313. package/8993.min.js.LICENSE.txt +0 -1
  314. package/9052.min.js +0 -2
  315. package/9052.min.js.LICENSE.txt +0 -1
  316. package/9216.min.js +0 -2
  317. package/9216.min.js.LICENSE.txt +0 -1
  318. package/9234.min.js +0 -2
  319. package/9234.min.js.LICENSE.txt +0 -1
  320. package/9273.min.js +0 -2
  321. package/9273.min.js.LICENSE.txt +0 -1
  322. package/937.min.js +0 -2
  323. package/937.min.js.LICENSE.txt +0 -1
  324. package/9410.min.js +0 -2
  325. package/9410.min.js.LICENSE.txt +0 -1
  326. package/9456.min.js +0 -2
  327. package/9456.min.js.LICENSE.txt +0 -1
  328. package/9467.min.js +0 -2
  329. package/9467.min.js.LICENSE.txt +0 -1
  330. package/9591.min.js +0 -2
  331. package/9591.min.js.LICENSE.txt +0 -1
  332. package/9839.min.js +0 -2
  333. package/9839.min.js.LICENSE.txt +0 -1
  334. package/move_base_dist_browser_BaseMover_js.js +0 -40
  335. package/shapes_image_dist_browser_Utils_js.js +0 -30
  336. package/tsparticles.slim.bundle.min.js.LICENSE.txt +0 -1
  337. package/tsparticles.slim.min.js.LICENSE.txt +0 -1
  338. package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
@@ -0,0 +1,40 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v4.0.0-beta.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["plugins_move_dist_browser_MovePluginInstance_js"],{
19
+
20
+ /***/ "../../plugins/move/dist/browser/MovePluginInstance.js"
21
+ /*!*************************************************************!*\
22
+ !*** ../../plugins/move/dist/browser/MovePluginInstance.js ***!
23
+ \*************************************************************/
24
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
+
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MovePluginInstance: () => (/* binding */ MovePluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../plugins/move/dist/browser/Utils.js\");\n\n\nconst diffFactor = 2, defaultSizeFactor = 1, defaultDeltaFactor = 1;\nclass MovePluginInstance {\n availablePathGenerators;\n pathGenerators;\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n this.availablePathGenerators = new Map();\n this.pathGenerators = new Map();\n }\n destroy() {\n this.availablePathGenerators = new Map();\n this.pathGenerators = new Map();\n }\n isEnabled(particle) {\n return !particle.destroyed && particle.options.move.enable;\n }\n particleCreated(particle) {\n const options = particle.options, gravityOptions = options.move.gravity, pathOptions = options.move.path;\n particle.moveDecay = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.decayOffset - (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(options.move.decay);\n particle.pathDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(pathOptions.delay.value) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n if (pathOptions.generator) {\n let pathGenerator = this.pathGenerators.get(pathOptions.generator);\n if (!pathGenerator) {\n pathGenerator = this.availablePathGenerators.get(pathOptions.generator);\n if (pathGenerator) {\n this.pathGenerators.set(pathOptions.generator, pathGenerator);\n pathGenerator.init();\n }\n }\n particle.pathGenerator = pathGenerator;\n }\n particle.gravity = {\n enable: gravityOptions.enable,\n acceleration: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(gravityOptions.acceleration),\n inverse: gravityOptions.inverse\n };\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.initSpin)(particle);\n }\n particleDestroyed(particle) {\n const pathGenerator = particle.pathGenerator;\n pathGenerator?.reset(particle);\n }\n particleUpdate(particle, delta) {\n const particleOptions = particle.options, moveOptions = particleOptions.move;\n if (!moveOptions.enable) {\n return;\n }\n const container = particle.container, pxRatio = container.retina.pixelRatio;\n particle.retina.moveSpeed ??= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(moveOptions.speed) * pxRatio;\n particle.retina.moveDrift ??= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(particle.options.move.drift) * pxRatio;\n const slowFactor = (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getProximitySpeedFactor)(particle), reduceFactor = container.retina.reduceFactor, baseSpeed = particle.retina.moveSpeed, moveDrift = particle.retina.moveDrift, maxSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(particleOptions.size.value) * pxRatio, sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : defaultSizeFactor, deltaFactor = delta.factor || defaultDeltaFactor, moveSpeed = baseSpeed * sizeFactor * slowFactor * deltaFactor / diffFactor, maxSpeed = particle.retina.maxSpeed ?? container.retina.maxSpeed;\n if (moveOptions.spin.enable) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.spin)(particle, moveSpeed, reduceFactor);\n } else {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.move)(particle, moveOptions, moveSpeed, maxSpeed, moveDrift, reduceFactor, delta);\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.applyDistance)(particle);\n }\n preInit() {\n return this._init();\n }\n redrawInit() {\n return this._init();\n }\n update() {\n for (const pathGenerator of this.pathGenerators.values()){\n pathGenerator.update();\n }\n }\n async _init() {\n const availablePathGenerators = await this._engine.getPathGenerators?.(this._container, true);\n if (!availablePathGenerators) {\n return;\n }\n this.availablePathGenerators = availablePathGenerators;\n this.pathGenerators = new Map();\n for (const pathGenerator of this.pathGenerators.values()){\n pathGenerator.init();\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/move/dist/browser/MovePluginInstance.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "../../plugins/move/dist/browser/Utils.js"
31
+ /*!************************************************!*\
32
+ !*** ../../plugins/move/dist/browser/Utils.js ***!
33
+ \************************************************/
34
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
+
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ applyDistance: () => (/* binding */ applyDistance),\n/* harmony export */ applyPath: () => (/* binding */ applyPath),\n/* harmony export */ getProximitySpeedFactor: () => (/* binding */ getProximitySpeedFactor),\n/* harmony export */ initSpin: () => (/* binding */ initSpin),\n/* harmony export */ move: () => (/* binding */ move),\n/* harmony export */ spin: () => (/* binding */ spin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minVelocity = 0, identity = 1, moveSpeedFactor = 60, minSpinRadius = 0, spinFactor = 0.01, defaultPathDelay = 0, noDecay = 1;\nfunction applyDistance(particle) {\n const initialPosition = particle.initialPosition, { dx, dy } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(initialPosition, particle.position), dxFixed = Math.abs(dx), dyFixed = Math.abs(dy), { maxDistance } = particle.retina, hDistance = maxDistance.horizontal, vDistance = maxDistance.vertical;\n if (!hDistance && !vDistance) {\n return;\n }\n const hasHDistance = (hDistance && dxFixed >= hDistance) ?? false, hasVDistance = (vDistance && dyFixed >= vDistance) ?? false;\n if ((hasHDistance || hasVDistance) && !particle.misplaced) {\n particle.misplaced = !!hDistance && dxFixed > hDistance || !!vDistance && dyFixed > vDistance;\n if (hDistance) {\n particle.velocity.x = particle.velocity.y * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half - particle.velocity.x;\n }\n if (vDistance) {\n particle.velocity.y = particle.velocity.x * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half - particle.velocity.y;\n }\n } else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {\n particle.misplaced = false;\n } else if (particle.misplaced) {\n const pos = particle.position, vel = particle.velocity;\n if (hDistance && (pos.x < initialPosition.x && vel.x < minVelocity || pos.x > initialPosition.x && vel.x > minVelocity)) {\n vel.x *= -(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n if (vDistance && (pos.y < initialPosition.y && vel.y < minVelocity || pos.y > initialPosition.y && vel.y > minVelocity)) {\n vel.y *= -(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n}\nfunction move(particle, moveOptions, moveSpeed, maxSpeed, moveDrift, reduceFactor, delta) {\n applyPath(particle, delta);\n const gravityOptions = particle.gravity, gravityFactor = gravityOptions?.enable && gravityOptions.inverse ? -identity : identity;\n if (moveDrift && moveSpeed) {\n particle.velocity.x += moveDrift * delta.factor / (moveSpeedFactor * moveSpeed);\n }\n if (gravityOptions?.enable && moveSpeed) {\n particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (moveSpeedFactor * moveSpeed);\n }\n const decay = particle.moveDecay;\n particle.velocity.multTo(decay ?? noDecay);\n const velocity = particle.velocity.mult(moveSpeed);\n if (gravityOptions?.enable && maxSpeed > minVelocity && (!gravityOptions.inverse && velocity.y >= minVelocity && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= minVelocity && velocity.y <= -maxSpeed)) {\n velocity.y = gravityFactor * maxSpeed;\n if (moveSpeed) {\n particle.velocity.y = velocity.y / moveSpeed;\n }\n }\n const zIndexOptions = particle.options.zIndex, zVelocityFactor = (identity - particle.zIndexFactor) ** zIndexOptions.velocityRate;\n velocity.multTo(zVelocityFactor);\n velocity.multTo(reduceFactor);\n const { position } = particle;\n position.addTo(velocity);\n if (moveOptions.vibrate) {\n position.x += Math.sin(position.x * Math.cos(position.y)) * reduceFactor;\n position.y += Math.cos(position.y * Math.sin(position.x)) * reduceFactor;\n }\n}\nfunction spin(particle, moveSpeed, reduceFactor) {\n const container = particle.container;\n if (!particle.spin) {\n return;\n }\n const spinClockwise = particle.spin.direction === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.clockwise, updateFunc = {\n x: spinClockwise ? Math.cos : Math.sin,\n y: spinClockwise ? Math.sin : Math.cos\n };\n particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle) * reduceFactor;\n particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle) * reduceFactor;\n particle.spin.radius += particle.spin.acceleration * reduceFactor;\n const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height), halfMaxSize = maxCanvasSize * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half;\n if (particle.spin.radius > halfMaxSize) {\n particle.spin.radius = halfMaxSize;\n particle.spin.acceleration *= -identity;\n } else if (particle.spin.radius < minSpinRadius) {\n particle.spin.radius = minSpinRadius;\n particle.spin.acceleration *= -identity;\n }\n particle.spin.angle += moveSpeed * spinFactor * (identity - particle.spin.radius / maxCanvasSize);\n}\nfunction applyPath(particle, delta) {\n const particlesOptions = particle.options, pathOptions = particlesOptions.move.path, pathEnabled = pathOptions.enable;\n if (!pathEnabled) {\n return;\n }\n const pathDelay = particle.pathDelay ?? defaultPathDelay;\n if (particle.lastPathTime <= pathDelay) {\n particle.lastPathTime += delta.value;\n return;\n }\n const path = particle.pathGenerator?.generate(particle, delta);\n if (path) {\n particle.velocity.addTo(path);\n }\n if (pathOptions.clamp) {\n particle.velocity.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.clamp)(particle.velocity.x, -identity, identity);\n particle.velocity.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.clamp)(particle.velocity.y, -identity, identity);\n }\n particle.lastPathTime -= pathDelay;\n}\nfunction getProximitySpeedFactor(particle) {\n return particle.slow.inRange ? particle.slow.factor : identity;\n}\nfunction initSpin(particle) {\n const container = particle.container, options = particle.options, spinOptions = options.move.spin;\n if (!spinOptions.enable) {\n return;\n }\n const spinPos = spinOptions.position ?? {\n x: 50,\n y: 50\n }, spinFactor = 0.01, spinCenter = {\n x: spinPos.x * spinFactor * container.canvas.size.width,\n y: spinPos.y * spinFactor * container.canvas.size.height\n }, pos = particle.getPosition(), distance = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(pos, spinCenter), spinAcceleration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(spinOptions.acceleration);\n particle.retina.spinAcceleration = spinAcceleration * container.retina.pixelRatio;\n particle.spin = {\n center: spinCenter,\n direction: particle.velocity.x >= minVelocity ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.clockwise : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.RotateDirection.counterClockwise,\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI,\n radius: distance,\n acceleration: particle.retina.spinAcceleration\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/move/dist/browser/Utils.js?\n}");
37
+
38
+ /***/ }
39
+
40
+ }]);
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-alpha.5
7
+ * v4.0.0-beta.0
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -15,15 +15,15 @@
15
15
  * or disable the default devtool with "devtool: false".
16
16
  * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
17
  */
18
- (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["updaters_color_dist_browser_index_js"],{
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["plugins_move_dist_browser_MovePlugin_js"],{
19
19
 
20
- /***/ "../../updaters/color/dist/browser/index.js"
21
- /*!**************************************************!*\
22
- !*** ../../updaters/color/dist/browser/index.js ***!
23
- \**************************************************/
20
+ /***/ "../../plugins/move/dist/browser/MovePlugin.js"
21
+ /*!*****************************************************!*\
22
+ !*** ../../plugins/move/dist/browser/MovePlugin.js ***!
23
+ \*****************************************************/
24
24
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
25
 
26
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadColorUpdater: () => (/* binding */ loadColorUpdater)\n/* harmony export */ });\nasync function loadColorUpdater(engine) {\n engine.checkVersion(\"4.0.0-alpha.5\");\n await engine.register(e => {\n e.addParticleUpdater(\"color\", async container => {\n const {\n ColorUpdater\n } = await __webpack_require__.e(/*! import() */ \"updaters_color_dist_browser_ColorUpdater_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ColorUpdater.js */ \"../../updaters/color/dist/browser/ColorUpdater.js\"));\n return new ColorUpdater(e, container);\n });\n });\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../updaters/color/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ MovePlugin: () => (/* binding */ MovePlugin)\n/* harmony export */ });\nclass MovePlugin {\n id = \"move\";\n _engine;\n constructor(engine){\n this._engine = engine;\n }\n async getPlugin(container) {\n const { MovePluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_move_dist_browser_MovePluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./MovePluginInstance.js */ \"../../plugins/move/dist/browser/MovePluginInstance.js\"));\n return new MovePluginInstance(this._engine, container);\n }\n loadOptions() {}\n needsPlugin() {\n return true;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/move/dist/browser/MovePlugin.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v4.0.0-beta.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["plugins_move_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/move/dist/browser/index.js"
21
+ /*!************************************************!*\
22
+ !*** ../../plugins/move/dist/browser/index.js ***!
23
+ \************************************************/
24
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
+
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ensureBaseMoverLoaded: () => (/* binding */ ensureBaseMoverLoaded),\n/* harmony export */ loadMovePlugin: () => (/* binding */ loadMovePlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadMovePlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.0\");\n await engine.register(async (e)=>{\n const moveEngine = e;\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.pathGenerators ??= new Map();\n moveEngine.addPathGenerator = (name, generator)=>{\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.initializers.pathGenerators.set(name, generator);\n };\n moveEngine.getPathGenerators = async (container, force = false)=>{\n moveEngine.initializers.pathGenerators ??= new Map();\n moveEngine.pathGenerators ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemMapFromInitializer)(container, moveEngine.pathGenerators, moveEngine.initializers.pathGenerators, force);\n };\n const { MovePlugin } = await __webpack_require__.e(/*! import() */ \"plugins_move_dist_browser_MovePlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./MovePlugin.js */ \"../../plugins/move/dist/browser/MovePlugin.js\"));\n e.addPlugin(new MovePlugin(e));\n });\n}\nfunction ensureBaseMoverLoaded(e) {\n if (!e.addPathGenerator) {\n throw new Error(\"tsParticles Base Mover is not loaded\");\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/move/dist/browser/index.js?\n}");
27
+
28
+ /***/ }
29
+
30
+ }]);