@tsparticles/pjs 4.0.0-beta.2 → 4.0.0-beta.4

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 (202) hide show
  1. package/1051.min.js +1 -1
  2. package/1160.min.js +1 -1
  3. package/1167.min.js +1 -1
  4. package/143.min.js +1 -1
  5. package/1767.min.js +1 -1
  6. package/2004.min.js +1 -1
  7. package/2177.min.js +1 -1
  8. package/2253.min.js +1 -1
  9. package/2425.min.js +1 -1
  10. package/2454.min.js +1 -1
  11. package/264.min.js +1 -1
  12. package/2866.min.js +1 -1
  13. package/2930.min.js +1 -1
  14. package/3041.min.js +1 -1
  15. package/3285.min.js +1 -1
  16. package/370.min.js +1 -1
  17. package/3719.min.js +1 -1
  18. package/3737.min.js +1 -1
  19. package/4051.min.js +1 -1
  20. package/4088.min.js +1 -1
  21. package/410.min.js +1 -1
  22. package/4129.min.js +1 -1
  23. package/4159.min.js +1 -1
  24. package/4191.min.js +1 -1
  25. package/4301.min.js +1 -1
  26. package/4316.min.js +1 -1
  27. package/4567.min.js +1 -1
  28. package/4880.min.js +1 -1
  29. package/5174.min.js +1 -1
  30. package/5264.min.js +1 -1
  31. package/5325.min.js +1 -1
  32. package/5347.min.js +1 -1
  33. package/5447.min.js +1 -1
  34. package/5669.min.js +1 -1
  35. package/5700.min.js +1 -1
  36. package/5832.min.js +1 -1
  37. package/6055.min.js +1 -1
  38. package/6056.min.js +1 -1
  39. package/6252.min.js +1 -1
  40. package/6362.min.js +1 -1
  41. package/6412.min.js +1 -1
  42. package/6496.min.js +1 -1
  43. package/6502.min.js +1 -1
  44. package/686.min.js +1 -1
  45. package/7157.min.js +1 -1
  46. package/7203.min.js +1 -1
  47. package/7206.min.js +1 -1
  48. package/7218.min.js +1 -1
  49. package/7374.min.js +1 -1
  50. package/7386.min.js +1 -1
  51. package/746.min.js +1 -1
  52. package/7788.min.js +1 -1
  53. package/786.min.js +1 -1
  54. package/803.min.js +1 -1
  55. package/8082.min.js +1 -1
  56. package/8243.min.js +1 -1
  57. package/8258.min.js +1 -1
  58. package/8342.min.js +1 -1
  59. package/8569.min.js +1 -1
  60. package/8626.min.js +1 -1
  61. package/8650.min.js +1 -1
  62. package/8989.min.js +1 -1
  63. package/9132.min.js +1 -1
  64. package/9134.min.js +1 -1
  65. package/9208.min.js +1 -1
  66. package/9293.min.js +1 -1
  67. package/9395.min.js +1 -1
  68. package/951.min.js +1 -1
  69. package/9630.min.js +1 -1
  70. package/9643.min.js +1 -1
  71. package/9748.min.js +1 -1
  72. package/9950.min.js +1 -1
  73. package/basic_dist_browser_index_js.js +2 -2
  74. package/browser/index.js +1 -1
  75. package/cjs/index.js +1 -1
  76. package/engine_dist_browser_Core_Container_js.js +1 -1
  77. package/esm/index.js +1 -1
  78. package/full_dist_browser_index_js.js +2 -2
  79. package/interactions_external_attract_dist_browser_Attractor_js.js +2 -2
  80. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  81. package/interactions_external_bounce_dist_browser_Bouncer_js.js +2 -2
  82. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  83. package/interactions_external_bubble_dist_browser_Bubbler_js.js +2 -2
  84. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  85. package/interactions_external_connect_dist_browser_Connector_js.js +2 -2
  86. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  87. package/interactions_external_drag_dist_browser_Dragger_js.js +2 -2
  88. package/interactions_external_drag_dist_browser_index_js.js +2 -2
  89. package/interactions_external_grab_dist_browser_Grabber_js.js +2 -2
  90. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  91. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +2 -2
  92. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  93. package/interactions_external_pause_dist_browser_Pauser_js.js +2 -2
  94. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  95. package/interactions_external_push_dist_browser_Pusher_js.js +2 -2
  96. package/interactions_external_push_dist_browser_index_js.js +2 -2
  97. package/interactions_external_remove_dist_browser_Remover_js.js +2 -2
  98. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  99. package/interactions_external_repulse_dist_browser_Repulser_js.js +2 -2
  100. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  101. package/interactions_external_slow_dist_browser_Slower_js.js +2 -2
  102. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  103. package/interactions_external_trail_dist_browser_TrailMaker_js.js +2 -2
  104. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  105. package/interactions_particles_attract_dist_browser_Attractor_js.js +2 -2
  106. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  107. package/interactions_particles_collisions_dist_browser_Collider_js.js +2 -2
  108. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  109. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
  110. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  111. package/interactions_particles_links_dist_browser_LinkInstance_js.js +1 -1
  112. package/interactions_particles_links_dist_browser_Linker_js.js +2 -2
  113. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
  114. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  115. package/package.json +4 -4
  116. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +1 -1
  117. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
  118. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +2 -2
  119. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  120. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  121. package/plugins_absorbers_dist_browser_getAbsorbersInstancesManager_js.js +2 -2
  122. package/plugins_absorbers_dist_browser_index_js.js +3 -3
  123. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  124. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  125. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  126. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  127. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  128. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  129. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  130. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  131. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +3 -3
  132. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  133. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +3 -3
  134. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  135. package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
  136. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
  137. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +2 -2
  138. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  139. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  140. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  141. package/plugins_emitters_dist_browser_addEmittersShapesManager_js.js +1 -1
  142. package/plugins_emitters_dist_browser_getEmittersInstancesManager_js.js +2 -2
  143. package/plugins_emitters_dist_browser_index_js.js +3 -3
  144. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +1 -1
  145. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
  146. package/plugins_interactivity_dist_browser_index_js.js +2 -2
  147. package/plugins_move_dist_browser_MovePluginInstance_js.js +1 -1
  148. package/plugins_move_dist_browser_MovePlugin_js.js +1 -1
  149. package/plugins_move_dist_browser_index_js.js +2 -2
  150. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +1 -1
  151. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +1 -1
  152. package/plugins_responsive_dist_browser_index_js.js +2 -2
  153. package/report.html +1 -1
  154. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  155. package/shapes_circle_dist_browser_index_js.js +2 -2
  156. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  157. package/shapes_emoji_dist_browser_index_js.js +2 -2
  158. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  159. package/shapes_image_dist_browser_ImageDrawer_js.js +1 -1
  160. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
  161. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  162. package/shapes_image_dist_browser_index_js.js +2 -2
  163. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  164. package/shapes_line_dist_browser_index_js.js +2 -2
  165. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  166. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  167. package/shapes_polygon_dist_browser_index_js.js +2 -2
  168. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  169. package/shapes_square_dist_browser_index_js.js +2 -2
  170. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  171. package/shapes_star_dist_browser_index_js.js +2 -2
  172. package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
  173. package/shapes_text_dist_browser_index_js.js +2 -2
  174. package/slim_dist_browser_index_js.js +2 -2
  175. package/tsparticles.pjs.bundle.js +3 -3
  176. package/tsparticles.pjs.bundle.min.js +2 -2
  177. package/tsparticles.pjs.js +2 -2
  178. package/tsparticles.pjs.min.js +1 -1
  179. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +1 -1
  180. package/updaters_destroy_dist_browser_index_js.js +2 -2
  181. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +1 -1
  182. package/updaters_fillColor_dist_browser_index_js.js +2 -2
  183. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  184. package/updaters_life_dist_browser_index_js.js +2 -2
  185. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  186. package/updaters_opacity_dist_browser_index_js.js +2 -2
  187. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  188. package/updaters_outModes_dist_browser_index_js.js +2 -2
  189. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  190. package/updaters_roll_dist_browser_index_js.js +2 -2
  191. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  192. package/updaters_rotate_dist_browser_index_js.js +2 -2
  193. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  194. package/updaters_size_dist_browser_index_js.js +2 -2
  195. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
  196. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  197. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  198. package/updaters_tilt_dist_browser_index_js.js +2 -2
  199. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +1 -1
  200. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  201. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +1 -1
  202. package/updaters_wobble_dist_browser_index_js.js +2 -2
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\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 */ \"../../shapes/emoji/dist/browser/Utils.js\");\n\n\nasync function loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes, async ()=>{\n const { EmojiDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n return new EmojiDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/emoji/dist/browser/index.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\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 */ \"../../shapes/emoji/dist/browser/Utils.js\");\n\n\nasync function loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes, async ()=>{\n const { EmojiDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n return new EmojiDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/emoji/dist/browser/index.js?\n}");
37
37
 
38
38
  /***/ }
39
39
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \************************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n engine.getImages ??= (container)=>{\n engine.images ??= new Map();\n let images = engine.images.get(container);\n if (!images) {\n images = [];\n engine.images.set(container, images);\n }\n return images;\n };\n engine.loadImage ??= async (container, data)=>{\n if (!engine.getImages) {\n throw new Error(\"No images collection found\");\n }\n if (!data.name && !data.src) {\n throw new Error(\"No image source provided\");\n }\n engine.images ??= new Map();\n const containerImages = engine.getImages(container);\n if (containerImages.some((t)=>t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif,\n name: data.name ?? data.src,\n source: data.src,\n type: data.src.substring(data.src.length - extLength),\n error: false,\n loading: true,\n replaceColor: data.replaceColor,\n ratio: data.width && data.height ? data.width / data.height : undefined\n };\n containerImages.push(image);\n engine.images.set(container, containerImages);\n let imageFunc;\n if (data.gif) {\n const { loadGifImage } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_GifUtils_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\"));\n imageFunc = (img)=>loadGifImage(img, {\n colorSpace: \"srgb\"\n });\n } else if (data.replaceColor) {\n const { downloadSvgImage } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = downloadSvgImage;\n } else {\n const { loadImage } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${data.name ?? data.src} not found`);\n }\n };\n}\nasync function loadImageShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const { ImagePreloaderPlugin } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImagePreloader_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImagePreloader.js */ \"../../shapes/image/dist/browser/ImagePreloader.js\"));\n addLoadImageToEngine(e);\n e.pluginManager.addPlugin(new ImagePreloaderPlugin(e));\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.shapeTypes, async (container)=>{\n const { ImageDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_image_dist_browser_GifUtils_Utils_js\"), __webpack_require__.e(\"shapes_image_dist_browser_ImageDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./ImageDrawer.js */ \"../../shapes/image/dist/browser/ImageDrawer.js\"));\n return new ImageDrawer(e, container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/index.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n engine.getImages ??= (container)=>{\n engine.images ??= new Map();\n let images = engine.images.get(container);\n if (!images) {\n images = [];\n engine.images.set(container, images);\n }\n return images;\n };\n engine.loadImage ??= async (container, data)=>{\n if (!engine.getImages) {\n throw new Error(\"No images collection found\");\n }\n if (!data.name && !data.src) {\n throw new Error(\"No image source provided\");\n }\n engine.images ??= new Map();\n const containerImages = engine.getImages(container);\n if (containerImages.some((t)=>t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif,\n name: data.name ?? data.src,\n source: data.src,\n type: data.src.substring(data.src.length - extLength),\n error: false,\n loading: true,\n replaceColor: data.replaceColor,\n ratio: data.width && data.height ? data.width / data.height : undefined\n };\n containerImages.push(image);\n engine.images.set(container, containerImages);\n let imageFunc;\n if (data.gif) {\n const { loadGifImage } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_GifUtils_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\"));\n imageFunc = (img)=>loadGifImage(img, {\n colorSpace: \"srgb\"\n });\n } else if (data.replaceColor) {\n const { downloadSvgImage } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = downloadSvgImage;\n } else {\n const { loadImage } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${data.name ?? data.src} not found`);\n }\n };\n}\nasync function loadImageShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register(async (e)=>{\n const { ImagePreloaderPlugin } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImagePreloader_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImagePreloader.js */ \"../../shapes/image/dist/browser/ImagePreloader.js\"));\n addLoadImageToEngine(e);\n e.pluginManager.addPlugin(new ImagePreloaderPlugin(e));\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.shapeTypes, async (container)=>{\n const { ImageDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_image_dist_browser_GifUtils_Utils_js\"), __webpack_require__.e(\"shapes_image_dist_browser_ImageDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./ImageDrawer.js */ \"../../shapes/image/dist/browser/ImageDrawer.js\"));\n return new ImageDrawer(e, container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/index.js?\n}");
37
37
 
38
38
  /***/ }
39
39
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
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 */ loadLineShape: () => (/* binding */ loadLineShape)\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 loadLineShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"line\"\n ], async ()=>{\n const { LineDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_line_dist_browser_LineDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./LineDrawer.js */ \"../../shapes/line/dist/browser/LineDrawer.js\"));\n return new LineDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/line/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadLineShape: () => (/* binding */ loadLineShape)\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 loadLineShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"line\"\n ], async ()=>{\n const { LineDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_line_dist_browser_LineDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./LineDrawer.js */ \"../../shapes/line/dist/browser/LineDrawer.js\"));\n return new LineDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/line/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
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 */ loadGenericPolygonShape: () => (/* binding */ loadGenericPolygonShape),\n/* harmony export */ loadPolygonShape: () => (/* binding */ loadPolygonShape),\n/* harmony export */ loadTriangleShape: () => (/* binding */ loadTriangleShape)\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 loadGenericPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"polygon\"\n ], async ()=>{\n const { PolygonDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_PolygonDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./PolygonDrawer.js */ \"../../shapes/polygon/dist/browser/PolygonDrawer.js\"));\n return new PolygonDrawer();\n });\n });\n}\nasync function loadTriangleShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"triangle\"\n ], async ()=>{\n const { TriangleDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_TriangleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TriangleDrawer.js */ \"../../shapes/polygon/dist/browser/TriangleDrawer.js\"));\n return new TriangleDrawer();\n });\n });\n}\nasync function loadPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await Promise.all([\n loadGenericPolygonShape(engine),\n loadTriangleShape(engine)\n ]);\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadGenericPolygonShape: () => (/* binding */ loadGenericPolygonShape),\n/* harmony export */ loadPolygonShape: () => (/* binding */ loadPolygonShape),\n/* harmony export */ loadTriangleShape: () => (/* binding */ loadTriangleShape)\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 loadGenericPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"polygon\"\n ], async ()=>{\n const { PolygonDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_PolygonDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./PolygonDrawer.js */ \"../../shapes/polygon/dist/browser/PolygonDrawer.js\"));\n return new PolygonDrawer();\n });\n });\n}\nasync function loadTriangleShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"triangle\"\n ], async ()=>{\n const { TriangleDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_TriangleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TriangleDrawer.js */ \"../../shapes/polygon/dist/browser/TriangleDrawer.js\"));\n return new TriangleDrawer();\n });\n });\n}\nasync function loadPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await Promise.all([\n loadGenericPolygonShape(engine),\n loadTriangleShape(engine)\n ]);\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
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 */ loadSquareShape: () => (/* binding */ loadSquareShape)\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 loadSquareShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"edge\",\n \"square\"\n ], async ()=>{\n const { SquareDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_SquareDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SquareDrawer.js */ \"../../shapes/square/dist/browser/SquareDrawer.js\"));\n return new SquareDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/square/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSquareShape: () => (/* binding */ loadSquareShape)\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 loadSquareShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"edge\",\n \"square\"\n ], async ()=>{\n const { SquareDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_SquareDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./SquareDrawer.js */ \"../../shapes/square/dist/browser/SquareDrawer.js\"));\n return new SquareDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/square/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
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 */ loadStarShape: () => (/* binding */ loadStarShape)\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 loadStarShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"star\"\n ], async ()=>{\n const { StarDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_StarDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./StarDrawer.js */ \"../../shapes/star/dist/browser/StarDrawer.js\"));\n return new StarDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/star/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadStarShape: () => (/* binding */ loadStarShape)\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 loadStarShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"star\"\n ], async ()=>{\n const { StarDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_StarDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./StarDrawer.js */ \"../../shapes/star/dist/browser/StarDrawer.js\"));\n return new StarDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/star/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
33
33
  \***********************************************/
34
34
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
35
 
36
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTextShape: () => (/* binding */ loadTextShape)\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 */ \"../../shapes/text/dist/browser/Utils.js\");\n\n\nasync function loadTextShape(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes, async ()=>{\n const { TextDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_text_dist_browser_TextDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TextDrawer.js */ \"../../shapes/text/dist/browser/TextDrawer.js\"));\n return new TextDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/text/dist/browser/index.js?\n}");
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTextShape: () => (/* binding */ loadTextShape)\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 */ \"../../shapes/text/dist/browser/Utils.js\");\n\n\nasync function loadTextShape(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes, async ()=>{\n const { TextDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_text_dist_browser_TextDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./TextDrawer.js */ \"../../shapes/text/dist/browser/TextDrawer.js\"));\n return new TextDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/text/dist/browser/index.js?\n}");
37
37
 
38
38
  /***/ }
39
39
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  "use strict";
10
10
  /*
@@ -23,7 +23,7 @@
23
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 */ loadSlim: () => (/* binding */ loadSlim)\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 loadSlim(engine) {\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadBasic }, { loadExternalParallaxInteraction }, { loadExternalAttractInteraction }, { loadExternalBounceInteraction }, { loadExternalBubbleInteraction }, { loadExternalConnectInteraction }, { loadExternalGrabInteraction }, { loadExternalPauseInteraction }, { loadExternalPushInteraction }, { loadExternalRemoveInteraction }, { loadExternalRepulseInteraction }, { loadExternalSlowInteraction }, { loadParticlesAttractInteraction }, { loadParticlesCollisionsInteraction }, { loadParticlesLinksInteraction }, { loadEasingQuadPlugin }, { loadInteractivityPlugin }, { loadEmojiShape }, { loadImageShape }, { loadLineShape }, { loadPolygonShape }, { loadSquareShape }, { loadStarShape }, { loadLifeUpdater }, { loadRotateUpdater }, { loadStrokeColorUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"basic_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/basic */ \"../basic/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_parallax_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-parallax */ \"../../interactions/external/parallax/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_attract_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-attract */ \"../../interactions/external/attract/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_bounce_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-bounce */ \"../../interactions/external/bounce/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_bubble_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-bubble */ \"../../interactions/external/bubble/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_connect_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-connect */ \"../../interactions/external/connect/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_grab_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-grab */ \"../../interactions/external/grab/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_pause_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-pause */ \"../../interactions/external/pause/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_push_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-push */ \"../../interactions/external/push/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_remove_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-remove */ \"../../interactions/external/remove/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_repulse_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-repulse */ \"../../interactions/external/repulse/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_slow_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-slow */ \"../../interactions/external/slow/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_attract_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-particles-attract */ \"../../interactions/particles/attract/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-particles-collisions */ \"../../interactions/particles/collisions/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_links_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-particles-links */ \"../../interactions/particles/links/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_easings_quad_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-easing-quad */ \"../../plugins/easings/quad/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-emoji */ \"../../shapes/emoji/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-image */ \"../../shapes/image/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_line_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-line */ \"../../shapes/line/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-polygon */ \"../../shapes/polygon/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-square */ \"../../shapes/square/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-star */ \"../../shapes/star/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_life_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-life */ \"../../updaters/life/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_rotate_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-rotate */ \"../../updaters/rotate/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_strokeColor_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-stroke-color */ \"../../updaters/strokeColor/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadBasic(e),\n (async ()=>{\n await loadInteractivityPlugin(e);\n await Promise.all([\n loadExternalParallaxInteraction(e),\n loadExternalAttractInteraction(e),\n loadExternalBounceInteraction(e),\n loadExternalBubbleInteraction(e),\n loadExternalConnectInteraction(e),\n loadExternalGrabInteraction(e),\n loadExternalPauseInteraction(e),\n loadExternalPushInteraction(e),\n loadExternalRemoveInteraction(e),\n loadExternalRepulseInteraction(e),\n loadExternalSlowInteraction(e),\n loadParticlesAttractInteraction(e),\n loadParticlesCollisionsInteraction(e),\n loadParticlesLinksInteraction(e)\n ]);\n })(),\n loadEasingQuadPlugin(e),\n loadEmojiShape(e),\n loadImageShape(e),\n loadLineShape(e),\n loadPolygonShape(e),\n loadSquareShape(e),\n loadStarShape(e),\n loadLifeUpdater(e),\n loadRotateUpdater(e),\n loadStrokeColorUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../slim/dist/browser/index.js?\n}");
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSlim: () => (/* binding */ loadSlim)\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 loadSlim(engine) {\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadBasic }, { loadExternalParallaxInteraction }, { loadExternalAttractInteraction }, { loadExternalBounceInteraction }, { loadExternalBubbleInteraction }, { loadExternalConnectInteraction }, { loadExternalGrabInteraction }, { loadExternalPauseInteraction }, { loadExternalPushInteraction }, { loadExternalRemoveInteraction }, { loadExternalRepulseInteraction }, { loadExternalSlowInteraction }, { loadParticlesAttractInteraction }, { loadParticlesCollisionsInteraction }, { loadParticlesLinksInteraction }, { loadEasingQuadPlugin }, { loadInteractivityPlugin }, { loadEmojiShape }, { loadImageShape }, { loadLineShape }, { loadPolygonShape }, { loadSquareShape }, { loadStarShape }, { loadLifeUpdater }, { loadRotateUpdater }, { loadStrokeColorUpdater }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"basic_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/basic */ \"../basic/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_parallax_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-parallax */ \"../../interactions/external/parallax/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_attract_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-attract */ \"../../interactions/external/attract/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_bounce_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-bounce */ \"../../interactions/external/bounce/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_bubble_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-bubble */ \"../../interactions/external/bubble/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_connect_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-connect */ \"../../interactions/external/connect/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_grab_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-grab */ \"../../interactions/external/grab/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_pause_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-pause */ \"../../interactions/external/pause/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_push_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-push */ \"../../interactions/external/push/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_remove_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-remove */ \"../../interactions/external/remove/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_repulse_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-repulse */ \"../../interactions/external/repulse/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_external_slow_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-external-slow */ \"../../interactions/external/slow/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_attract_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-particles-attract */ \"../../interactions/particles/attract/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_collisions_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-particles-collisions */ \"../../interactions/particles/collisions/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"interactions_particles_links_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/interaction-particles-links */ \"../../interactions/particles/links/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_easings_quad_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-easing-quad */ \"../../plugins/easings/quad/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_interactivity_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-interactivity */ \"../../plugins/interactivity/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-emoji */ \"../../shapes/emoji/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-image */ \"../../shapes/image/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_line_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-line */ \"../../shapes/line/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_polygon_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-polygon */ \"../../shapes/polygon/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_square_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-square */ \"../../shapes/square/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"shapes_star_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/shape-star */ \"../../shapes/star/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_life_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-life */ \"../../updaters/life/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_rotate_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-rotate */ \"../../updaters/rotate/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"updaters_strokeColor_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/updater-stroke-color */ \"../../updaters/strokeColor/dist/browser/index.js\"))\n ]);\n await Promise.all([\n loadBasic(e),\n (async ()=>{\n await loadInteractivityPlugin(e);\n await Promise.all([\n loadExternalParallaxInteraction(e),\n loadExternalAttractInteraction(e),\n loadExternalBounceInteraction(e),\n loadExternalBubbleInteraction(e),\n loadExternalConnectInteraction(e),\n loadExternalGrabInteraction(e),\n loadExternalPauseInteraction(e),\n loadExternalPushInteraction(e),\n loadExternalRemoveInteraction(e),\n loadExternalRepulseInteraction(e),\n loadExternalSlowInteraction(e),\n loadParticlesAttractInteraction(e),\n loadParticlesCollisionsInteraction(e),\n loadParticlesLinksInteraction(e)\n ]);\n })(),\n loadEasingQuadPlugin(e),\n loadEmojiShape(e),\n loadImageShape(e),\n loadLineShape(e),\n loadPolygonShape(e),\n loadSquareShape(e),\n loadStarShape(e),\n loadLifeUpdater(e),\n loadRotateUpdater(e),\n loadStrokeColorUpdater(e)\n ]);\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../slim/dist/browser/index.js?\n}");
27
27
 
28
28
  /***/ }
29
29
 
@@ -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-beta.2
7
+ * v4.0.0-beta.4
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -34,7 +34,7 @@ return /******/ (() => { // webpackBootstrap
34
34
  \************************************************/
35
35
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
36
36
 
37
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/PluginManager.js */ \"../../engine/dist/browser/Core/Utils/PluginManager.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\nconst fullPercent = \"100%\";\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)().error(`${response.status.toString()} while retrieving config file`);\n return data.fallback;\n}\nconst getCanvasFromContainer = (domContainer)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag) {\n canvasEl = domContainer;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] ??= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n const existingCanvases = domContainer.getElementsByTagName(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag), foundCanvas = existingCanvases[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasFirstIndex];\n if (foundCanvas) {\n canvasEl = foundCanvas;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n canvasEl = documentSafe.createElement(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n canvasEl.style.width ||= fullPercent;\n canvasEl.style.height ||= fullPercent;\n return canvasEl;\n}, getDomContainer = (id, source)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let domContainer = source ?? documentSafe.getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = documentSafe.createElement(\"canvas\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n documentSafe.body.append(domContainer);\n return domContainer;\n};\nclass Engine {\n pluginManager = new _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__.PluginManager(this);\n _domArray = [];\n _eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__.EventDispatcher();\n _initialized = false;\n get items() {\n return this._domArray;\n }\n get version() {\n return \"4.0.0-beta.2\";\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n checkVersion(pluginVersion) {\n if (this.version === pluginVersion) {\n return;\n }\n throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${pluginVersion}`);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n async init() {\n if (this._initialized) {\n return;\n }\n await this.pluginManager.init();\n this._initialized = true;\n }\n item(index) {\n const { items } = this, item = items[index];\n if (item?.destroyed) {\n items.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n await this.init();\n const { Container } = await __webpack_require__.e(/*! import() */ \"engine_dist_browser_Core_Container_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\")), id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadRandomFactor).toString()}`, { index, url } = params, options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options, currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index), { items } = this, oldIndex = items.findIndex((v)=>v.id.description === id), newItem = new Container({\n dispatchCallback: (eventType, args)=>{\n this.dispatchEvent(eventType, args);\n },\n id,\n onDestroy: (remove)=>{\n if (!remove) {\n return;\n }\n const mainArr = this.items, idx = mainArr.indexOf(newItem);\n if (idx >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeMinIndex) {\n mainArr.splice(idx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n }\n },\n pluginManager: this.pluginManager,\n sourceOptions: currentOptions\n });\n if (oldIndex >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadMinIndex) {\n const old = this.item(oldIndex), deleteCount = old ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.one : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element), canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map((t)=>t.refresh()));\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Engine.js?\n}");
37
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/PluginManager.js */ \"../../engine/dist/browser/Core/Utils/PluginManager.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\nconst fullPercent = \"100%\";\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)().error(`${response.status.toString()} while retrieving config file`);\n return data.fallback;\n}\nconst getCanvasFromContainer = (domContainer)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag) {\n canvasEl = domContainer;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] ??= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n const existingCanvases = domContainer.getElementsByTagName(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag), foundCanvas = existingCanvases[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasFirstIndex];\n if (foundCanvas) {\n canvasEl = foundCanvas;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n canvasEl = documentSafe.createElement(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n canvasEl.style.width ||= fullPercent;\n canvasEl.style.height ||= fullPercent;\n return canvasEl;\n}, getDomContainer = (id, source)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let domContainer = source ?? documentSafe.getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = documentSafe.createElement(\"canvas\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n documentSafe.body.append(domContainer);\n return domContainer;\n};\nclass Engine {\n pluginManager = new _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__.PluginManager(this);\n _domArray = [];\n _eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__.EventDispatcher();\n _initialized = false;\n get items() {\n return this._domArray;\n }\n get version() {\n return \"4.0.0-beta.4\";\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n checkVersion(pluginVersion) {\n if (this.version === pluginVersion) {\n return;\n }\n throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${pluginVersion}`);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n async init() {\n if (this._initialized) {\n return;\n }\n await this.pluginManager.init();\n this._initialized = true;\n }\n item(index) {\n const { items } = this, item = items[index];\n if (item?.destroyed) {\n items.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n await this.init();\n const { Container } = await __webpack_require__.e(/*! import() */ \"engine_dist_browser_Core_Container_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\")), id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadRandomFactor).toString()}`, { index, url } = params, options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options, currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index), { items } = this, oldIndex = items.findIndex((v)=>v.id.description === id), newItem = new Container({\n dispatchCallback: (eventType, args)=>{\n this.dispatchEvent(eventType, args);\n },\n id,\n onDestroy: (remove)=>{\n if (!remove) {\n return;\n }\n const mainArr = this.items, idx = mainArr.indexOf(newItem);\n if (idx >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeMinIndex) {\n mainArr.splice(idx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n }\n },\n pluginManager: this.pluginManager,\n sourceOptions: currentOptions\n });\n if (oldIndex >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadMinIndex) {\n const old = this.item(oldIndex), deleteCount = old ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.one : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element), canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map((t)=>t.refresh()));\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Engine.js?\n}");
38
38
 
39
39
  /***/ },
40
40
 
@@ -694,7 +694,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
694
694
  \*******************************/
695
695
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
696
696
 
697
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initPjs: () => (/* binding */ initPjs)\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 _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./marcbruederlin/Particles.js */ \"./dist/browser/marcbruederlin/Particles.js\");\n/* harmony import */ var _VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VincentGarreau/particles.js */ \"./dist/browser/VincentGarreau/particles.js\");\n\n\n\nconst initPjs = async (engine)=>{\n engine.checkVersion(\"4.0.0-beta.2\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadFull }, { loadResponsivePlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"full_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! tsparticles */ \"../full/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-responsive */ \"../../plugins/responsive/dist/browser/index.js\"))\n ]);\n await loadFull(e);\n await loadResponsivePlugin(e);\n });\n const { particlesJS, pJSDom } = (0,_VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_2__.initParticlesJS)(engine);\n globalThis.particlesJS = particlesJS;\n globalThis.pJSDom = pJSDom;\n globalThis.Particles = _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_1__.MBParticles;\n};\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/./dist/browser/index.js?\n}");
697
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initPjs: () => (/* binding */ initPjs)\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 _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./marcbruederlin/Particles.js */ \"./dist/browser/marcbruederlin/Particles.js\");\n/* harmony import */ var _VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./VincentGarreau/particles.js */ \"./dist/browser/VincentGarreau/particles.js\");\n\n\n\nconst initPjs = async (engine)=>{\n engine.checkVersion(\"4.0.0-beta.4\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadFull }, { loadResponsivePlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"full_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! tsparticles */ \"../full/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-responsive */ \"../../plugins/responsive/dist/browser/index.js\"))\n ]);\n await loadFull(e);\n await loadResponsivePlugin(e);\n });\n const { particlesJS, pJSDom } = (0,_VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_2__.initParticlesJS)(engine);\n globalThis.particlesJS = particlesJS;\n globalThis.pJSDom = pJSDom;\n globalThis.Particles = _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_1__.MBParticles;\n};\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/./dist/browser/index.js?\n}");
698
698
 
699
699
  /***/ },
700
700