@tsparticles/pjs 4.0.0-beta.9 → 4.0.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 (264) hide show
  1. package/README.md +88 -20
  2. package/browser/browser.js +5 -0
  3. package/browser/bundle.js +4 -0
  4. package/browser/index.js +4 -7
  5. package/browser/index.lazy.js +18 -0
  6. package/cjs/browser.js +5 -0
  7. package/cjs/bundle.js +4 -0
  8. package/cjs/index.js +4 -7
  9. package/cjs/index.lazy.js +18 -0
  10. package/esm/browser.js +5 -0
  11. package/esm/bundle.js +4 -0
  12. package/esm/index.js +4 -7
  13. package/esm/index.lazy.js +18 -0
  14. package/package.json +4 -4
  15. package/report.html +4949 -94
  16. package/tsparticles.pjs.bundle.js +14911 -977
  17. package/tsparticles.pjs.bundle.min.js +1 -2
  18. package/tsparticles.pjs.js +376 -186
  19. package/tsparticles.pjs.min.js +1 -1
  20. package/types/browser.d.ts +1 -0
  21. package/types/index.lazy.d.ts +8 -0
  22. package/types/marcbruederlin/Particles.d.ts +2 -3
  23. package/1241.min.js +0 -1
  24. package/1441.min.js +0 -2
  25. package/1521.min.js +0 -1
  26. package/1523.min.js +0 -1
  27. package/1581.min.js +0 -1
  28. package/1583.min.js +0 -1
  29. package/1680.min.js +0 -1
  30. package/1684.min.js +0 -1
  31. package/1712.min.js +0 -1
  32. package/1723.min.js +0 -1
  33. package/175.min.js +0 -1
  34. package/1807.min.js +0 -1
  35. package/1879.min.js +0 -1
  36. package/1887.min.js +0 -1
  37. package/1924.min.js +0 -1
  38. package/2049.min.js +0 -1
  39. package/2066.min.js +0 -1
  40. package/2127.min.js +0 -1
  41. package/2191.min.js +0 -1
  42. package/2270.min.js +0 -1
  43. package/2319.min.js +0 -1
  44. package/2344.min.js +0 -1
  45. package/2438.min.js +0 -1
  46. package/2556.min.js +0 -1
  47. package/2575.min.js +0 -1
  48. package/2602.min.js +0 -1
  49. package/2631.min.js +0 -1
  50. package/2697.min.js +0 -1
  51. package/2760.min.js +0 -1
  52. package/2827.min.js +0 -1
  53. package/3047.min.js +0 -1
  54. package/3073.min.js +0 -1
  55. package/3376.min.js +0 -1
  56. package/3384.min.js +0 -1
  57. package/3443.min.js +0 -1
  58. package/3544.min.js +0 -1
  59. package/3583.min.js +0 -1
  60. package/3683.min.js +0 -2
  61. package/3685.min.js +0 -1
  62. package/3729.min.js +0 -1
  63. package/374.min.js +0 -1
  64. package/382.min.js +0 -1
  65. package/4.min.js +0 -1
  66. package/4067.min.js +0 -1
  67. package/4068.min.js +0 -1
  68. package/4077.min.js +0 -1
  69. package/4086.min.js +0 -1
  70. package/4153.min.js +0 -1
  71. package/4186.min.js +0 -1
  72. package/4217.min.js +0 -1
  73. package/4291.min.js +0 -1
  74. package/4427.min.js +0 -1
  75. package/4519.min.js +0 -1
  76. package/4568.min.js +0 -1
  77. package/4582.min.js +0 -1
  78. package/4626.min.js +0 -1
  79. package/4657.min.js +0 -1
  80. package/4862.min.js +0 -1
  81. package/4912.min.js +0 -1
  82. package/5048.min.js +0 -1
  83. package/5162.min.js +0 -1
  84. package/5294.min.js +0 -1
  85. package/5344.min.js +0 -1
  86. package/5406.min.js +0 -1
  87. package/541.min.js +0 -1
  88. package/5445.min.js +0 -1
  89. package/5629.min.js +0 -1
  90. package/5757.min.js +0 -1
  91. package/5936.min.js +0 -1
  92. package/6055.min.js +0 -1
  93. package/6099.min.js +0 -1
  94. package/6171.min.js +0 -1
  95. package/6192.min.js +0 -1
  96. package/6207.min.js +0 -1
  97. package/6281.min.js +0 -1
  98. package/6379.min.js +0 -1
  99. package/6380.min.js +0 -1
  100. package/6420.min.js +0 -1
  101. package/6466.min.js +0 -1
  102. package/6477.min.js +0 -1
  103. package/648.min.js +0 -1
  104. package/6549.min.js +0 -1
  105. package/6704.min.js +0 -1
  106. package/6715.min.js +0 -1
  107. package/6798.min.js +0 -1
  108. package/6943.min.js +0 -1
  109. package/6972.min.js +0 -1
  110. package/6996.min.js +0 -1
  111. package/7162.min.js +0 -1
  112. package/7175.min.js +0 -1
  113. package/7213.min.js +0 -1
  114. package/7259.min.js +0 -1
  115. package/7316.min.js +0 -1
  116. package/7563.min.js +0 -1
  117. package/7711.min.js +0 -1
  118. package/7757.min.js +0 -1
  119. package/7775.min.js +0 -1
  120. package/7792.min.js +0 -1
  121. package/7912.min.js +0 -1
  122. package/805.min.js +0 -1
  123. package/8161.min.js +0 -1
  124. package/8192.min.js +0 -1
  125. package/8292.min.js +0 -1
  126. package/8331.min.js +0 -1
  127. package/8386.min.js +0 -1
  128. package/8459.min.js +0 -1
  129. package/8523.min.js +0 -1
  130. package/8607.min.js +0 -1
  131. package/8656.min.js +0 -1
  132. package/8731.min.js +0 -1
  133. package/8855.min.js +0 -1
  134. package/9007.min.js +0 -1
  135. package/9154.min.js +0 -1
  136. package/9407.min.js +0 -1
  137. package/9434.min.js +0 -1
  138. package/9470.min.js +0 -1
  139. package/9618.min.js +0 -1
  140. package/9674.min.js +0 -1
  141. package/9726.min.js +0 -1
  142. package/9835.min.js +0 -1
  143. package/9907.min.js +0 -1
  144. package/basic_dist_browser_index_js.js +0 -30
  145. package/engine_dist_browser_Core_Container_js.js +0 -100
  146. package/full_dist_browser_index_js.js +0 -30
  147. package/interactions_external_attract_dist_browser_Attractor_js.js +0 -140
  148. package/interactions_external_attract_dist_browser_index_js.js +0 -40
  149. package/interactions_external_bounce_dist_browser_Bouncer_js.js +0 -140
  150. package/interactions_external_bounce_dist_browser_index_js.js +0 -40
  151. package/interactions_external_bubble_dist_browser_Bubbler_js.js +0 -150
  152. package/interactions_external_bubble_dist_browser_index_js.js +0 -60
  153. package/interactions_external_connect_dist_browser_Connector_js.js +0 -160
  154. package/interactions_external_connect_dist_browser_index_js.js +0 -50
  155. package/interactions_external_drag_dist_browser_Dragger_js.js +0 -130
  156. package/interactions_external_drag_dist_browser_index_js.js +0 -40
  157. package/interactions_external_grab_dist_browser_Grabber_js.js +0 -160
  158. package/interactions_external_grab_dist_browser_index_js.js +0 -50
  159. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +0 -130
  160. package/interactions_external_parallax_dist_browser_index_js.js +0 -40
  161. package/interactions_external_pause_dist_browser_Pauser_js.js +0 -130
  162. package/interactions_external_pause_dist_browser_index_js.js +0 -30
  163. package/interactions_external_push_dist_browser_Pusher_js.js +0 -130
  164. package/interactions_external_push_dist_browser_index_js.js +0 -40
  165. package/interactions_external_remove_dist_browser_Remover_js.js +0 -130
  166. package/interactions_external_remove_dist_browser_index_js.js +0 -40
  167. package/interactions_external_repulse_dist_browser_Repulser_js.js +0 -130
  168. package/interactions_external_repulse_dist_browser_index_js.js +0 -60
  169. package/interactions_external_slow_dist_browser_Slower_js.js +0 -130
  170. package/interactions_external_slow_dist_browser_index_js.js +0 -40
  171. package/interactions_external_trail_dist_browser_TrailMaker_js.js +0 -130
  172. package/interactions_external_trail_dist_browser_index_js.js +0 -70
  173. package/interactions_particles_attract_dist_browser_Attractor_js.js +0 -140
  174. package/interactions_particles_attract_dist_browser_index_js.js +0 -30
  175. package/interactions_particles_collisions_dist_browser_Collider_js.js +0 -210
  176. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +0 -30
  177. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +0 -30
  178. package/interactions_particles_collisions_dist_browser_index_js.js +0 -30
  179. package/interactions_particles_links_dist_browser_LinkInstance_js.js +0 -40
  180. package/interactions_particles_links_dist_browser_Linker_js.js +0 -140
  181. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +0 -30
  182. package/interactions_particles_links_dist_browser_index_js.js +0 -60
  183. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +0 -70
  184. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +0 -30
  185. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +0 -170
  186. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +0 -30
  187. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +0 -70
  188. package/plugins_absorbers_dist_browser_getAbsorbersInstancesManager_js.js +0 -30
  189. package/plugins_absorbers_dist_browser_index_js.js +0 -50
  190. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +0 -30
  191. package/plugins_colors_hex_dist_browser_index_js.js +0 -30
  192. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +0 -30
  193. package/plugins_colors_hsl_dist_browser_index_js.js +0 -30
  194. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +0 -30
  195. package/plugins_colors_rgb_dist_browser_index_js.js +0 -30
  196. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +0 -30
  197. package/plugins_easings_quad_dist_browser_index_js.js +0 -30
  198. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +0 -100
  199. package/plugins_emittersShapes_circle_dist_browser_index_js.js +0 -30
  200. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +0 -100
  201. package/plugins_emittersShapes_square_dist_browser_index_js.js +0 -30
  202. package/plugins_emitters_dist_browser_EmitterInstance_js.js +0 -30
  203. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +0 -100
  204. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +0 -210
  205. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +0 -30
  206. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +0 -100
  207. package/plugins_emitters_dist_browser_ShapeManager_js.js +0 -30
  208. package/plugins_emitters_dist_browser_addEmittersShapesManager_js.js +0 -30
  209. package/plugins_emitters_dist_browser_getEmittersInstancesManager_js.js +0 -30
  210. package/plugins_emitters_dist_browser_index_js.js +0 -80
  211. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +0 -50
  212. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +0 -70
  213. package/plugins_interactivity_dist_browser_index_js.js +0 -120
  214. package/plugins_move_dist_browser_MovePluginInstance_js.js +0 -40
  215. package/plugins_move_dist_browser_MovePlugin_js.js +0 -30
  216. package/plugins_move_dist_browser_index_js.js +0 -30
  217. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +0 -30
  218. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +0 -50
  219. package/plugins_responsive_dist_browser_index_js.js +0 -30
  220. package/shapes_circle_dist_browser_CircleDrawer_js.js +0 -40
  221. package/shapes_circle_dist_browser_index_js.js +0 -30
  222. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +0 -50
  223. package/shapes_emoji_dist_browser_index_js.js +0 -40
  224. package/shapes_image_dist_browser_GifUtils_Utils_js.js +0 -70
  225. package/shapes_image_dist_browser_ImageDrawer_js.js +0 -30
  226. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +0 -30
  227. package/shapes_image_dist_browser_ImagePreloader_js.js +0 -40
  228. package/shapes_image_dist_browser_index_js.js +0 -40
  229. package/shapes_line_dist_browser_LineDrawer_js.js +0 -40
  230. package/shapes_line_dist_browser_index_js.js +0 -30
  231. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +0 -50
  232. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +0 -50
  233. package/shapes_polygon_dist_browser_index_js.js +0 -30
  234. package/shapes_square_dist_browser_SquareDrawer_js.js +0 -40
  235. package/shapes_square_dist_browser_index_js.js +0 -30
  236. package/shapes_star_dist_browser_StarDrawer_js.js +0 -40
  237. package/shapes_star_dist_browser_index_js.js +0 -30
  238. package/shapes_text_dist_browser_TextDrawer_js.js +0 -50
  239. package/shapes_text_dist_browser_index_js.js +0 -40
  240. package/slim_dist_browser_index_js.js +0 -30
  241. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +0 -100
  242. package/updaters_destroy_dist_browser_index_js.js +0 -30
  243. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +0 -30
  244. package/updaters_fillColor_dist_browser_index_js.js +0 -30
  245. package/updaters_life_dist_browser_LifeUpdater_js.js +0 -70
  246. package/updaters_life_dist_browser_index_js.js +0 -30
  247. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +0 -30
  248. package/updaters_opacity_dist_browser_index_js.js +0 -30
  249. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +0 -80
  250. package/updaters_outModes_dist_browser_index_js.js +0 -30
  251. package/updaters_roll_dist_browser_RollUpdater_js.js +0 -70
  252. package/updaters_roll_dist_browser_index_js.js +0 -30
  253. package/updaters_rotate_dist_browser_RotateUpdater_js.js +0 -50
  254. package/updaters_rotate_dist_browser_index_js.js +0 -30
  255. package/updaters_size_dist_browser_SizeUpdater_js.js +0 -30
  256. package/updaters_size_dist_browser_index_js.js +0 -30
  257. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +0 -30
  258. package/updaters_strokeColor_dist_browser_index_js.js +0 -30
  259. package/updaters_tilt_dist_browser_TiltUpdater_js.js +0 -60
  260. package/updaters_tilt_dist_browser_index_js.js +0 -30
  261. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +0 -60
  262. package/updaters_twinkle_dist_browser_index_js.js +0 -30
  263. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +0 -60
  264. package/updaters_wobble_dist_browser_index_js.js +0 -30
@@ -1,30 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["plugins_move_dist_browser_MovePlugin_js"],{
19
-
20
- /***/ "../../plugins/move/dist/browser/MovePlugin.js"
21
- /*!*****************************************************!*\
22
- !*** ../../plugins/move/dist/browser/MovePlugin.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 */ MovePlugin: () => (/* binding */ MovePlugin)\n/* harmony export */ });\nclass MovePlugin {\n id = \"move\";\n _pluginManager;\n constructor(pluginManager){\n this._pluginManager = pluginManager;\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._pluginManager, container);\n }\n loadOptions() {}\n needsPlugin() {\n return true;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/move/dist/browser/MovePlugin.js?\n}");
27
-
28
- /***/ }
29
-
30
- }]);
@@ -1,30 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).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.9\");\n await engine.pluginManager.register(async (e)=>{\n const moveEngine = e, movePluginManager = moveEngine.pluginManager;\n movePluginManager.initializers.pathGenerators ??= new Map();\n movePluginManager.pathGenerators ??= new Map();\n movePluginManager.addPathGenerator = (name, generator)=>{\n movePluginManager.initializers.pathGenerators ??= new Map();\n movePluginManager.initializers.pathGenerators.set(name, generator);\n };\n movePluginManager.getPathGenerators = async (container, force = false)=>{\n movePluginManager.initializers.pathGenerators ??= new Map();\n movePluginManager.pathGenerators ??= new Map();\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getItemMapFromInitializer)(container, movePluginManager.pathGenerators, movePluginManager.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.pluginManager.addPlugin(new MovePlugin(e.pluginManager));\n });\n}\nfunction ensureBaseMoverLoaded(e) {\n if (!e.pluginManager.addPathGenerator) {\n throw new Error(\"tsParticles Base Mover is not loaded\");\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/move/dist/browser/index.js?\n}");
27
-
28
- /***/ }
29
-
30
- }]);
@@ -1,30 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["plugins_responsive_dist_browser_ResponsivePluginInstance_js"],{
19
-
20
- /***/ "../../plugins/responsive/dist/browser/ResponsivePluginInstance.js"
21
- /*!*************************************************************************!*\
22
- !*** ../../plugins/responsive/dist/browser/ResponsivePluginInstance.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 */ ResponsivePluginInstance: () => (/* binding */ ResponsivePluginInstance)\n/* harmony export */ });\nclass ResponsivePluginInstance {\n _container;\n constructor(container){\n this._container = container;\n }\n updateActualOptions() {\n const container = this._container;\n container.actualOptions.responsive = [];\n const newMaxWidth = container.actualOptions.setResponsive?.(container.canvas.size.width, container.retina.pixelRatio, container.options);\n if (container.responsiveMaxWidth === newMaxWidth) {\n return false;\n }\n container.responsiveMaxWidth = newMaxWidth;\n return true;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/ResponsivePluginInstance.js?\n}");
27
-
28
- /***/ }
29
-
30
- }]);
@@ -1,50 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["plugins_responsive_dist_browser_ResponsivePlugin_js"],{
19
-
20
- /***/ "../../plugins/responsive/dist/browser/Options/Classes/Responsive.js"
21
- /*!***************************************************************************!*\
22
- !*** ../../plugins/responsive/dist/browser/Options/Classes/Responsive.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 */ Responsive: () => (/* binding */ Responsive)\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 _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../ResponsiveMode.js */ \"../../plugins/responsive/dist/browser/ResponsiveMode.js\");\n\n\nclass Responsive {\n maxWidth;\n mode;\n options;\n constructor(){\n this.maxWidth = Infinity;\n this.options = {};\n this.mode = _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.canvas;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data.maxWidth)) {\n this.maxWidth = data.maxWidth;\n }\n if (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data.mode)) {\n if (data.mode === _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.screen) {\n this.mode = _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.screen;\n } else {\n this.mode = _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.canvas;\n }\n }\n if (!(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data.options)) {\n this.options = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, data.options);\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/Options/Classes/Responsive.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../plugins/responsive/dist/browser/ResponsiveMode.js"
31
- /*!***************************************************************!*\
32
- !*** ../../plugins/responsive/dist/browser/ResponsiveMode.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 */ ResponsiveMode: () => (/* binding */ ResponsiveMode)\n/* harmony export */ });\nvar ResponsiveMode;\n(function(ResponsiveMode) {\n ResponsiveMode[\"screen\"] = \"screen\";\n ResponsiveMode[\"window\"] = \"window\";\n ResponsiveMode[\"canvas\"] = \"canvas\";\n})(ResponsiveMode || (ResponsiveMode = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/ResponsiveMode.js?\n}");
37
-
38
- /***/ },
39
-
40
- /***/ "../../plugins/responsive/dist/browser/ResponsivePlugin.js"
41
- /*!*****************************************************************!*\
42
- !*** ../../plugins/responsive/dist/browser/ResponsivePlugin.js ***!
43
- \*****************************************************************/
44
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
-
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ResponsivePlugin: () => (/* binding */ ResponsivePlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Responsive.js */ \"../../plugins/responsive/dist/browser/Options/Classes/Responsive.js\");\n/* harmony import */ var _ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ResponsiveMode.js */ \"../../plugins/responsive/dist/browser/ResponsiveMode.js\");\n\n\nclass ResponsivePlugin {\n id = \"responsive\";\n async getPlugin(container) {\n const { ResponsivePluginInstance } = await __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_ResponsivePluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ResponsivePluginInstance.js */ \"../../plugins/responsive/dist/browser/ResponsivePluginInstance.js\"));\n return new ResponsivePluginInstance(container);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n const setResponsive = (width, pxRatio, defaultOptions)=>{\n options.load(defaultOptions);\n const logicalWidth = width / pxRatio, widthMap = {\n [_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.screen]: screen.availWidth,\n [_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.window]: innerWidth,\n [_ResponsiveMode_js__WEBPACK_IMPORTED_MODULE_1__.ResponsiveMode.canvas]: logicalWidth\n }, responsiveOptions = options.responsive?.find((t)=>t.maxWidth > widthMap[t.mode]);\n options.load(responsiveOptions?.options);\n return responsiveOptions?.maxWidth;\n };\n options.setResponsive = setResponsive;\n options.responsive ??= [];\n if (source?.responsive !== undefined) {\n for (const responsive of source.responsive){\n const optResponsive = new _Options_Classes_Responsive_js__WEBPACK_IMPORTED_MODULE_0__.Responsive();\n if (responsive) {\n optResponsive.load(responsive);\n }\n options.responsive.push(optResponsive);\n }\n }\n options.responsive.sort((a, b)=>a.maxWidth - b.maxWidth);\n }\n needsPlugin(options) {\n return !!options?.responsive?.length;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/ResponsivePlugin.js?\n}");
47
-
48
- /***/ }
49
-
50
- }]);
@@ -1,30 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["plugins_responsive_dist_browser_index_js"],{
19
-
20
- /***/ "../../plugins/responsive/dist/browser/index.js"
21
- /*!******************************************************!*\
22
- !*** ../../plugins/responsive/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 */ loadResponsivePlugin: () => (/* binding */ loadResponsivePlugin)\n/* harmony export */ });\nasync function loadResponsivePlugin(engine) {\n engine.checkVersion(\"4.0.0-beta.9\");\n await engine.pluginManager.register(async (e)=>{\n const { ResponsivePlugin } = await __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_ResponsivePlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ResponsivePlugin.js */ \"../../plugins/responsive/dist/browser/ResponsivePlugin.js\"));\n e.pluginManager.addPlugin(new ResponsivePlugin());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../plugins/responsive/dist/browser/index.js?\n}");
27
-
28
- /***/ }
29
-
30
- }]);
@@ -1,40 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["shapes_circle_dist_browser_CircleDrawer_js"],{
19
-
20
- /***/ "../../shapes/circle/dist/browser/CircleDrawer.js"
21
- /*!********************************************************!*\
22
- !*** ../../shapes/circle/dist/browser/CircleDrawer.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 */ CircleDrawer: () => (/* binding */ CircleDrawer)\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/circle/dist/browser/Utils.js\");\n\n\nconst sides = 12, maxAngle = 360, minAngle = 0;\nclass CircleDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawCircle)(data);\n }\n getSidesCount() {\n return sides;\n }\n particleInit(_container, particle) {\n const shapeData = particle.shapeData, angle = shapeData?.angle ?? {\n max: maxAngle,\n min: minAngle\n };\n particle.circleRange = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isObject)(angle) ? {\n min: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle.min),\n max: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle.max)\n } : {\n min: minAngle,\n max: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle)\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/circle/dist/browser/CircleDrawer.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/circle/dist/browser/Utils.js"
31
- /*!*************************************************!*\
32
- !*** ../../shapes/circle/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 */ drawCircle: () => (/* binding */ drawCircle)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst minAngle = 0;\nfunction drawCircle(data) {\n const { context, particle, radius } = data;\n particle.circleRange ??= {\n min: minAngle,\n max: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI\n };\n const circleRange = particle.circleRange;\n context.arc(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, radius, circleRange.min, circleRange.max, false);\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/circle/dist/browser/Utils.js?\n}");
37
-
38
- /***/ }
39
-
40
- }]);
@@ -1,30 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["shapes_circle_dist_browser_index_js"],{
19
-
20
- /***/ "../../shapes/circle/dist/browser/index.js"
21
- /*!*************************************************!*\
22
- !*** ../../shapes/circle/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 */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nasync function loadCircleShape(engine) {\n engine.checkVersion(\"4.0.0-beta.9\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"circle\"\n ], async ()=>{\n const { CircleDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_CircleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\"));\n return new CircleDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/circle/dist/browser/index.js?\n}");
27
-
28
- /***/ }
29
-
30
- }]);
@@ -1,50 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["shapes_emoji_dist_browser_EmojiDrawer_js"],{
19
-
20
- /***/ "../../shapes/emoji/dist/browser/EmojiDrawer.js"
21
- /*!******************************************************!*\
22
- !*** ../../shapes/emoji/dist/browser/EmojiDrawer.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 */ EmojiDrawer: () => (/* binding */ EmojiDrawer)\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/* harmony import */ var _tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @tsparticles/canvas-utils */ \"../../utils/canvasUtils/dist/browser/index.js\");\n\n\n\nconst defaultFont = '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Noto Color Emoji\", sans-serif', noPadding = 0, firstItem = 0;\nclass EmojiDrawer {\n _emojiShapeDict = new Map();\n destroy() {\n for (const [key, data] of this._emojiShapeDict){\n if (data instanceof ImageBitmap) {\n data.close();\n }\n this._emojiShapeDict.delete(key);\n }\n }\n draw(data) {\n const key = data.particle.emojiDataKey;\n if (!key) {\n return;\n }\n const image = this._emojiShapeDict.get(key);\n if (!image) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawEmoji)(data, image);\n }\n async init(container) {\n const options = container.actualOptions, shapeData = options.particles.shape;\n if (!_Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes.some((t)=>(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(t, shapeData.type))) {\n return;\n }\n const promises = [\n (0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.loadFont)(defaultFont)\n ], shapeOptions = _Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes.map((t)=>shapeData.options[t])[firstItem];\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(shapeOptions, (shape)=>{\n if (shape.font) {\n promises.push((0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.loadFont)(shape.font));\n }\n });\n await Promise.all(promises);\n }\n particleDestroy(particle) {\n particle.emojiDataKey = undefined;\n }\n particleInit(container, particle) {\n const shapeData = particle.shapeData;\n if (!shapeData.value) {\n return;\n }\n const emoji = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(shapeData.value, particle.randomIndexData);\n if (!emoji) {\n return;\n }\n const emojiOptions = typeof emoji === \"string\" ? {\n font: shapeData.font ?? defaultFont,\n padding: shapeData.padding ?? noPadding,\n value: emoji\n } : {\n font: defaultFont,\n padding: noPadding,\n ...shapeData,\n ...emoji\n }, font = emojiOptions.font, value = emojiOptions.value, cacheKey = `${value}_${font}`;\n if (this._emojiShapeDict.has(cacheKey)) {\n particle.emojiDataKey = cacheKey;\n return;\n }\n const padding = emojiOptions.padding * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double, maxSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(particle.size.value), fullSize = maxSize + padding, canvasSize = fullSize * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double;\n let cacheCanvas, context;\n if (typeof OffscreenCanvas === \"undefined\") {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\");\n canvas.width = canvasSize;\n canvas.height = canvasSize;\n context = canvas.getContext(\"2d\", container.canvas.render.settings);\n cacheCanvas = canvas;\n } else {\n cacheCanvas = new OffscreenCanvas(canvasSize, canvasSize);\n context = cacheCanvas.getContext(\"2d\", container.canvas.render.settings);\n }\n if (!context) {\n return;\n }\n context.font = `400 ${(maxSize * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double).toString()}px ${font}`;\n context.textBaseline = \"middle\";\n context.textAlign = \"center\";\n context.fillText(value, fullSize, fullSize);\n const image = cacheCanvas instanceof HTMLCanvasElement ? cacheCanvas : cacheCanvas.transferToImageBitmap();\n this._emojiShapeDict.set(cacheKey, image);\n particle.emojiDataKey = cacheKey;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/emoji/dist/browser/EmojiDrawer.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../utils/canvasUtils/dist/browser/Utils.js"
31
- /*!*****************************************************!*\
32
- !*** ../../utils/canvasUtils/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 */ drawLine: () => (/* binding */ drawLine),\n/* harmony export */ getCanvasImageData: () => (/* binding */ getCanvasImageData),\n/* harmony export */ getImageData: () => (/* binding */ getImageData),\n/* harmony export */ getTextData: () => (/* binding */ getTextData),\n/* harmony export */ loadFont: () => (/* binding */ loadFont)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultWidth = 0, indexesOffset = {\n r: 0,\n g: 1,\n b: 2,\n a: 3\n}, alphaMax = 255, alphaFactor = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.identity / alphaMax;\nfunction drawLine(context, begin, end) {\n context.beginPath();\n context.moveTo(begin.x, begin.y);\n context.lineTo(end.x, end.y);\n context.closePath();\n}\nfunction getCanvasImageData(ctx, size, offset, clear = true) {\n const imageData = ctx.getImageData(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height).data;\n if (clear) {\n ctx.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, size.width, size.height);\n }\n const pixels = [];\n for(let i = 0; i < imageData.length; i += offset){\n const idx = i / offset, pos = {\n x: idx % size.width,\n y: Math.floor(idx / size.width)\n };\n pixels[pos.y] ??= [];\n const row = pixels[pos.y];\n if (!row) {\n continue;\n }\n row[pos.x] = {\n r: imageData[i + indexesOffset.r] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n g: imageData[i + indexesOffset.g] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n b: imageData[i + indexesOffset.b] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRgbMin,\n a: (imageData[i + indexesOffset.a] ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha) * alphaFactor\n };\n }\n return {\n pixels,\n width: Math.min(...pixels.map((row)=>row.length)),\n height: pixels.length\n };\n}\nfunction getImageData(src, offset, canvasSettings) {\n const image = new Image();\n image.crossOrigin = \"Anonymous\";\n const p = new Promise((resolve, reject)=>{\n image.onerror = reject;\n image.onload = ()=>{\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n const context = canvas.getContext(\"2d\", canvasSettings);\n if (!context) {\n reject(new Error(\"Could not get canvas context\"));\n return;\n }\n context.drawImage(image, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, image.width, image.height, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y, canvas.width, canvas.height);\n resolve(getCanvasImageData(context, canvas, offset));\n };\n });\n image.src = src;\n return p;\n}\nfunction getTextData(textOptions, offset, fill, canvasSettings) {\n const canvas = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"canvas\"), context = canvas.getContext(\"2d\", canvasSettings), { font, text, lines: linesOptions, color } = textOptions;\n if (!text || !context) {\n return;\n }\n const lines = text.split(linesOptions.separator), fontSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(font.size) ? `${font.size.toString()}px` : font.size, linesData = [];\n let maxWidth = 0, totalHeight = 0;\n for (const line of lines){\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n const measure = context.measureText(line), lineData = {\n measure,\n text: line,\n height: measure.actualBoundingBoxAscent + measure.actualBoundingBoxDescent,\n width: measure.width\n };\n maxWidth = Math.max(maxWidth || defaultWidth, lineData.width);\n totalHeight += lineData.height + linesOptions.spacing;\n linesData.push(lineData);\n }\n canvas.width = maxWidth;\n canvas.height = totalHeight;\n let currentHeight = 0;\n for (const line of linesData){\n context.font = `${font.style || \"\"} ${font.variant || \"\"} ${font.weight || \"\"} ${fontSize} ${font.family}`;\n if (fill) {\n context.fillStyle = color;\n context.fillText(line.text, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, currentHeight + line.measure.actualBoundingBoxAscent);\n } else {\n context.strokeStyle = color;\n context.strokeText(line.text, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, currentHeight + line.measure.actualBoundingBoxAscent);\n }\n currentHeight += line.height + linesOptions.spacing;\n }\n return getCanvasImageData(context, canvas, offset);\n}\nasync function loadFont(font, weight) {\n try {\n await (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().fonts.load(`${weight ?? \"400\"} 36px '${font ?? \"Verdana\"}'`);\n } catch {}\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../utils/canvasUtils/dist/browser/Utils.js?\n}");
37
-
38
- /***/ },
39
-
40
- /***/ "../../utils/canvasUtils/dist/browser/index.js"
41
- /*!*****************************************************!*\
42
- !*** ../../utils/canvasUtils/dist/browser/index.js ***!
43
- \*****************************************************/
44
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
-
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawLine: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawLine),\n/* harmony export */ getCanvasImageData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getCanvasImageData),\n/* harmony export */ getImageData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getImageData),\n/* harmony export */ getTextData: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.getTextData),\n/* harmony export */ loadFont: () => (/* reexport safe */ _Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadFont)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../utils/canvasUtils/dist/browser/Utils.js\");\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../utils/canvasUtils/dist/browser/index.js?\n}");
47
-
48
- /***/ }
49
-
50
- }]);
@@ -1,40 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["shapes_emoji_dist_browser_index_js"],{
19
-
20
- /***/ "../../shapes/emoji/dist/browser/Utils.js"
21
- /*!************************************************!*\
22
- !*** ../../shapes/emoji/dist/browser/Utils.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 */ drawEmoji: () => (/* binding */ drawEmoji),\n/* harmony export */ validTypes: () => (/* binding */ validTypes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst validTypes = [\n \"emoji\"\n];\nfunction drawEmoji(data, image) {\n const { context, opacity } = data, previousAlpha = context.globalAlpha, diameter = image.width, radius = diameter * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half;\n context.globalAlpha = opacity;\n context.drawImage(image, -radius, -radius, diameter, diameter);\n context.globalAlpha = previousAlpha;\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/emoji/dist/browser/Utils.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/emoji/dist/browser/index.js"
31
- /*!************************************************!*\
32
- !*** ../../shapes/emoji/dist/browser/index.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 */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/emoji/dist/browser/Utils.js\");\n\nasync function loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-beta.9\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.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
-
38
- /***/ }
39
-
40
- }]);
@@ -1,70 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["shapes_image_dist_browser_GifUtils_Utils_js"],{
19
-
20
- /***/ "../../shapes/image/dist/browser/GifUtils/ByteStream.js"
21
- /*!**************************************************************!*\
22
- !*** ../../shapes/image/dist/browser/GifUtils/ByteStream.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 */ ByteStream: () => (/* binding */ ByteStream)\n/* harmony export */ });\nclass ByteStream {\n data;\n pos;\n constructor(bytes){\n this.pos = 0;\n this.data = new Uint8ClampedArray(bytes);\n }\n getString(count) {\n const slice = this.data.slice(this.pos, this.pos + count);\n this.pos += slice.length;\n return slice.reduce((acc, curr)=>acc + String.fromCharCode(curr), \"\");\n }\n nextByte() {\n return this.data[this.pos++];\n }\n nextTwoBytes() {\n const increment = 2, previous = 1, shift = 8;\n this.pos += increment;\n return this.data[this.pos - increment] + (this.data[this.pos - previous] << shift);\n }\n readSubBlocks() {\n let blockString = \"\", size;\n const minCount = 0, emptySize = 0;\n do {\n size = this.data[this.pos++];\n for(let count = size; --count >= minCount; blockString += String.fromCharCode(this.data[this.pos++])){}\n }while (size !== emptySize)\n return blockString;\n }\n readSubBlocksBin() {\n let size = this.data[this.pos], len = 0;\n const emptySize = 0, increment = 1;\n for(let offset = 0; size !== emptySize; offset += size + increment, size = this.data[this.pos + offset]){\n len += size;\n }\n const blockData = new Uint8Array(len);\n size = this.data[this.pos++];\n for(let i = 0; size !== emptySize; size = this.data[this.pos++]){\n for(let count = size; --count >= emptySize; blockData[i++] = this.data[this.pos++]){}\n }\n return blockData;\n }\n skipSubBlocks() {\n for(const increment = 1, noData = 0; this.data[this.pos] !== noData; this.pos += this.data[this.pos] + increment){}\n this.pos++;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/GifUtils/ByteStream.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/image/dist/browser/GifUtils/Constants.js"
31
- /*!*************************************************************!*\
32
- !*** ../../shapes/image/dist/browser/GifUtils/Constants.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 */ InterlaceOffsets: () => (/* binding */ InterlaceOffsets),\n/* harmony export */ InterlaceSteps: () => (/* binding */ InterlaceSteps)\n/* harmony export */ });\nconst InterlaceOffsets = [\n 0,\n 4,\n 2,\n 1\n];\nconst InterlaceSteps = [\n 8,\n 8,\n 4,\n 2\n];\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/GifUtils/Constants.js?\n}");
37
-
38
- /***/ },
39
-
40
- /***/ "../../shapes/image/dist/browser/GifUtils/Enums/DisposalMethod.js"
41
- /*!************************************************************************!*\
42
- !*** ../../shapes/image/dist/browser/GifUtils/Enums/DisposalMethod.js ***!
43
- \************************************************************************/
44
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
-
46
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DisposalMethod: () => (/* binding */ DisposalMethod)\n/* harmony export */ });\nvar DisposalMethod;\n(function(DisposalMethod) {\n DisposalMethod[DisposalMethod[\"Replace\"] = 0] = \"Replace\";\n DisposalMethod[DisposalMethod[\"Combine\"] = 1] = \"Combine\";\n DisposalMethod[DisposalMethod[\"RestoreBackground\"] = 2] = \"RestoreBackground\";\n DisposalMethod[DisposalMethod[\"RestorePrevious\"] = 3] = \"RestorePrevious\";\n DisposalMethod[DisposalMethod[\"UndefinedA\"] = 4] = \"UndefinedA\";\n DisposalMethod[DisposalMethod[\"UndefinedB\"] = 5] = \"UndefinedB\";\n DisposalMethod[DisposalMethod[\"UndefinedC\"] = 6] = \"UndefinedC\";\n DisposalMethod[DisposalMethod[\"UndefinedD\"] = 7] = \"UndefinedD\";\n})(DisposalMethod || (DisposalMethod = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/GifUtils/Enums/DisposalMethod.js?\n}");
47
-
48
- /***/ },
49
-
50
- /***/ "../../shapes/image/dist/browser/GifUtils/Types/GIFDataHeaders.js"
51
- /*!************************************************************************!*\
52
- !*** ../../shapes/image/dist/browser/GifUtils/Types/GIFDataHeaders.js ***!
53
- \************************************************************************/
54
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
-
56
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GIFDataHeaders: () => (/* binding */ GIFDataHeaders)\n/* harmony export */ });\nvar GIFDataHeaders;\n(function(GIFDataHeaders) {\n GIFDataHeaders[GIFDataHeaders[\"Extension\"] = 33] = \"Extension\";\n GIFDataHeaders[GIFDataHeaders[\"ApplicationExtension\"] = 255] = \"ApplicationExtension\";\n GIFDataHeaders[GIFDataHeaders[\"GraphicsControlExtension\"] = 249] = \"GraphicsControlExtension\";\n GIFDataHeaders[GIFDataHeaders[\"PlainTextExtension\"] = 1] = \"PlainTextExtension\";\n GIFDataHeaders[GIFDataHeaders[\"CommentExtension\"] = 254] = \"CommentExtension\";\n GIFDataHeaders[GIFDataHeaders[\"Image\"] = 44] = \"Image\";\n GIFDataHeaders[GIFDataHeaders[\"EndOfFile\"] = 59] = \"EndOfFile\";\n})(GIFDataHeaders || (GIFDataHeaders = {}));\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/GifUtils/Types/GIFDataHeaders.js?\n}");
57
-
58
- /***/ },
59
-
60
- /***/ "../../shapes/image/dist/browser/GifUtils/Utils.js"
61
- /*!*********************************************************!*\
62
- !*** ../../shapes/image/dist/browser/GifUtils/Utils.js ***!
63
- \*********************************************************/
64
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
-
66
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeGIF: () => (/* binding */ decodeGIF),\n/* harmony export */ drawGif: () => (/* binding */ drawGif),\n/* harmony export */ getGIFLoopAmount: () => (/* binding */ getGIFLoopAmount),\n/* harmony export */ loadGifImage: () => (/* binding */ loadGifImage)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Constants.js */ \"../../shapes/image/dist/browser/GifUtils/Constants.js\");\n/* harmony import */ var _ByteStream_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ByteStream.js */ \"../../shapes/image/dist/browser/GifUtils/ByteStream.js\");\n/* harmony import */ var _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DisposalMethod.js */ \"../../shapes/image/dist/browser/GifUtils/Enums/DisposalMethod.js\");\n/* harmony import */ var _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Types/GIFDataHeaders.js */ \"../../shapes/image/dist/browser/GifUtils/Types/GIFDataHeaders.js\");\n\n\n\n\n\n\nconst defaultFrame = 0, initialTime = 0, firstIndex = 0, defaultLoopCount = 0;\nfunction parseColorTable(byteStream, count) {\n const colors = [];\n for(let i = 0; i < count; i++){\n colors.push({\n r: byteStream.data[byteStream.pos],\n g: byteStream.data[byteStream.pos + 1],\n b: byteStream.data[byteStream.pos + 2]\n });\n byteStream.pos += 3;\n }\n return colors;\n}\nfunction parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex) {\n switch(byteStream.nextByte()){\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.GraphicsControlExtension:\n {\n const frame = gif.frames[getFrameIndex(false)];\n byteStream.pos++;\n const packedByte = byteStream.nextByte();\n frame.GCreserved = (packedByte & 0xe0) >>> 5;\n frame.disposalMethod = (packedByte & 0x1c) >>> 2;\n frame.userInputDelayFlag = (packedByte & 2) === 2;\n const transparencyFlag = (packedByte & 1) === 1;\n frame.delayTime = byteStream.nextTwoBytes() * 0xa;\n const transparencyIndex = byteStream.nextByte();\n if (transparencyFlag) {\n getTransparencyIndex(transparencyIndex);\n }\n byteStream.pos++;\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.ApplicationExtension:\n {\n byteStream.pos++;\n const applicationExtension = {\n identifier: byteStream.getString(8),\n authenticationCode: byteStream.getString(3),\n data: byteStream.readSubBlocksBin()\n };\n gif.applicationExtensions.push(applicationExtension);\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.CommentExtension:\n {\n gif.comments.push([\n getFrameIndex(false),\n byteStream.readSubBlocks()\n ]);\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.PlainTextExtension:\n {\n if (gif.globalColorTable.length === 0) {\n throw new EvalError(\"plain text extension without global color table\");\n }\n byteStream.pos++;\n gif.frames[getFrameIndex(false)].plainTextData = {\n left: byteStream.nextTwoBytes(),\n top: byteStream.nextTwoBytes(),\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes(),\n charSize: {\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes()\n },\n foregroundColor: byteStream.nextByte(),\n backgroundColor: byteStream.nextByte(),\n text: byteStream.readSubBlocks()\n };\n break;\n }\n default:\n byteStream.skipSubBlocks();\n break;\n }\n}\nfunction readBits(imageData, pos, len) {\n const bytePos = pos >>> 3, bitPos = pos & 7;\n return (imageData[bytePos] + (imageData[bytePos + 1] << 8) + (imageData[bytePos + 2] << 16) & (1 << len) - 1 << bitPos) >>> bitPos;\n}\nasync function parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, canvasSettings, progressCallback) {\n const frame = gif.frames[getFrameIndex(true)];\n frame.left = byteStream.nextTwoBytes();\n frame.top = byteStream.nextTwoBytes();\n frame.width = byteStream.nextTwoBytes();\n frame.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(), localColorTableFlag = (packedByte & 0x80) === 0x80, interlacedFlag = (packedByte & 0x40) === 0x40;\n frame.sortFlag = (packedByte & 0x20) === 0x20;\n frame.reserved = (packedByte & 0x18) >>> 3;\n const localColorCount = 1 << (packedByte & 7) + 1;\n if (localColorTableFlag) {\n frame.localColorTable = parseColorTable(byteStream, localColorCount);\n }\n const getColor = (index)=>{\n const { r, g, b } = (localColorTableFlag ? frame.localColorTable : gif.globalColorTable)[index];\n if (index !== getTransparencyIndex(null)) {\n return {\n r,\n g,\n b,\n a: 255\n };\n }\n return {\n r,\n g,\n b,\n a: avgAlpha ? Math.trunc((r + g + b) / 3) : 0\n };\n }, image = (()=>{\n try {\n return new ImageData(frame.width, frame.height, canvasSettings);\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (image == null) {\n throw new EvalError(\"GIF frame size is to large\");\n }\n const minCodeSize = byteStream.nextByte(), imageData = byteStream.readSubBlocksBin(), clearCode = 1 << minCodeSize;\n if (interlacedFlag) {\n for(let code = 0, size = minCodeSize + 1, pos = 0, dic = [\n [\n 0\n ]\n ], pass = 0; pass < 4; pass++){\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] < frame.height) {\n let pixelPos = 0, lineIndex = 0, exit = false;\n while(!exit){\n const last = code;\n code = readBits(imageData, pos, size);\n pos += size + 1;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for(let i = 0; i < dic.length; i++){\n dic[i] = i < clearCode ? [\n i\n ] : [];\n }\n } else {\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]){\n const { r, g, b, a } = getColor(item);\n image.data.set([\n r,\n g,\n b,\n a\n ], _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] * frame.width + _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceSteps[pass] * lineIndex + pixelPos % (frame.width * 4));\n pixelPos += 4;\n }\n if (dic.length === 1 << size && size < 0xc) {\n size++;\n }\n }\n if (pixelPos === frame.width * 4 * (lineIndex + 1)) {\n lineIndex++;\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] + _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceSteps[pass] * lineIndex >= frame.height) {\n exit = true;\n }\n }\n }\n }\n progressCallback?.(byteStream.pos / (byteStream.data.length - 1), getFrameIndex(false) + 1, image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n } else {\n let code = 0, size = minCodeSize + 1, pos = 0, pixelPos = -4;\n const dic = [\n [\n 0\n ]\n ];\n for(;;){\n const last = code;\n code = readBits(imageData, pos, size);\n pos += size;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for(let i = 0; i < dic.length; i++){\n dic[i] = i < clearCode ? [\n i\n ] : [];\n }\n } else {\n if (code === clearCode + 1) {\n break;\n }\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]){\n const { r, g, b, a } = getColor(item);\n pixelPos += 4;\n image.data.set([\n r,\n g,\n b,\n a\n ], pixelPos);\n }\n if (dic.length >= 1 << size && size < 0xc) {\n size++;\n }\n }\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n progressCallback?.((byteStream.pos + 1) / byteStream.data.length, getFrameIndex(false) + 1, frame.image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n}\nasync function parseBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, canvasSettings, progressCallback) {\n switch(byteStream.nextByte()){\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.EndOfFile:\n return true;\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.Image:\n await parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, canvasSettings, progressCallback);\n break;\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.Extension:\n parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex);\n break;\n default:\n throw new EvalError(\"undefined block found\");\n }\n return false;\n}\nfunction getGIFLoopAmount(gif) {\n for (const extension of gif.applicationExtensions){\n if (extension.identifier + extension.authenticationCode !== \"NETSCAPE2.0\") {\n continue;\n }\n return extension.data[1] + (extension.data[2] << 8);\n }\n return Number.NaN;\n}\nasync function decodeGIF(gifURL, canvasSettings, progressCallback, avgAlpha) {\n avgAlpha ??= false;\n const res = await fetch(gifURL);\n if (!res.ok && res.status === 404) {\n throw new EvalError(\"file not found\");\n }\n const buffer = await res.arrayBuffer(), gif = {\n width: 0,\n height: 0,\n totalTime: 0,\n colorRes: 0,\n pixelAspectRatio: 0,\n frames: [],\n sortFlag: false,\n globalColorTable: [],\n backgroundImage: new ImageData(1, 1, canvasSettings),\n comments: [],\n applicationExtensions: []\n }, byteStream = new _ByteStream_js__WEBPACK_IMPORTED_MODULE_3__.ByteStream(new Uint8ClampedArray(buffer));\n if (byteStream.getString(6) !== \"GIF89a\") {\n throw new Error(\"not a supported GIF file\");\n }\n gif.width = byteStream.nextTwoBytes();\n gif.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(), globalColorTableFlag = (packedByte & 0x80) === 0x80;\n gif.colorRes = (packedByte & 0x70) >>> 4;\n gif.sortFlag = (packedByte & 8) === 8;\n const globalColorCount = 1 << (packedByte & 7) + 1, backgroundColorIndex = byteStream.nextByte();\n gif.pixelAspectRatio = byteStream.nextByte();\n if (gif.pixelAspectRatio !== 0) {\n gif.pixelAspectRatio = (gif.pixelAspectRatio + 0xf) / 0x40;\n }\n if (globalColorTableFlag) {\n gif.globalColorTable = parseColorTable(byteStream, globalColorCount);\n }\n const backgroundImage = (()=>{\n try {\n return new ImageData(gif.width, gif.height, canvasSettings);\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (backgroundImage == null) {\n throw new Error(\"GIF frame size is to large\");\n }\n const { r, g, b } = gif.globalColorTable[backgroundColorIndex];\n backgroundImage.data.set(globalColorTableFlag ? [\n r,\n g,\n b,\n 255\n ] : [\n 0,\n 0,\n 0,\n 0\n ]);\n for(let i = 4; i < backgroundImage.data.length; i *= 2){\n backgroundImage.data.copyWithin(i, 0, i);\n }\n gif.backgroundImage = backgroundImage;\n let frameIndex = -1, incrementFrameIndex = true, transparencyIndex = -1;\n const getframeIndex = (increment)=>{\n if (increment) {\n incrementFrameIndex = true;\n }\n return frameIndex;\n }, getTransparencyIndex = (newValue)=>{\n if (newValue != null) {\n transparencyIndex = newValue;\n }\n return transparencyIndex;\n };\n try {\n do {\n if (incrementFrameIndex) {\n gif.frames.push({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n disposalMethod: _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Replace,\n image: new ImageData(1, 1, canvasSettings),\n plainTextData: null,\n userInputDelayFlag: false,\n delayTime: 0,\n sortFlag: false,\n localColorTable: [],\n reserved: 0,\n GCreserved: 0\n });\n frameIndex++;\n transparencyIndex = -1;\n incrementFrameIndex = false;\n }\n }while (!await parseBlock(byteStream, gif, avgAlpha, getframeIndex, getTransparencyIndex, canvasSettings, progressCallback))\n gif.frames.length--;\n for (const frame of gif.frames){\n if (frame.userInputDelayFlag && frame.delayTime === 0) {\n gif.totalTime = Infinity;\n break;\n }\n gif.totalTime += frame.delayTime;\n }\n return gif;\n } catch (error) {\n if (error instanceof EvalError) {\n throw new Error(`error while parsing frame ${frameIndex.toString()} \"${error.message}\"`, {\n cause: error\n });\n }\n throw error;\n }\n}\nfunction drawGif(data, canvasSettings) {\n const { context, radius, particle, delta } = data, image = particle.image;\n if (!image?.gifData || !image.gif) {\n return;\n }\n const offscreenCanvas = new OffscreenCanvas(image.gifData.width, image.gifData.height), offscreenContext = offscreenCanvas.getContext(\"2d\", canvasSettings);\n if (!offscreenContext) {\n throw new Error(\"could not create offscreen canvas context\");\n }\n offscreenContext.imageSmoothingQuality = \"low\";\n offscreenContext.imageSmoothingEnabled = false;\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n particle.gifLoopCount ??= image.gifLoopCount ?? defaultLoopCount;\n let frameIndex = particle.gifFrame ?? defaultFrame;\n const pos = {\n x: -image.gifData.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half,\n y: -image.gifData.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half\n }, frame = image.gifData.frames[frameIndex];\n particle.gifTime ??= initialTime;\n if (!frame.bitmap) {\n return;\n }\n context.scale(radius / image.gifData.width, radius / image.gifData.height);\n switch(frame.disposalMethod){\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedA:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedB:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedC:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedD:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Replace:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Combine:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.RestoreBackground:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n if (!image.gifData.globalColorTable.length) {\n offscreenContext.putImageData(image.gifData.frames[firstIndex].image, pos.x + frame.left, pos.y + frame.top);\n } else {\n offscreenContext.putImageData(image.gifData.backgroundImage, pos.x, pos.y);\n }\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.RestorePrevious:\n {\n const previousImageData = offscreenContext.getImageData(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.putImageData(previousImageData, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y);\n }\n break;\n }\n particle.gifTime += delta.value;\n if (particle.gifTime > frame.delayTime) {\n particle.gifTime -= frame.delayTime;\n if (++frameIndex >= image.gifData.frames.length) {\n if (--particle.gifLoopCount <= defaultLoopCount) {\n return;\n }\n frameIndex = firstIndex;\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n }\n particle.gifFrame = frameIndex;\n }\n context.scale(image.gifData.width / radius, image.gifData.height / radius);\n}\nasync function loadGifImage(image, canvasSettings) {\n if (image.type !== \"gif\") {\n await (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadImage)(image);\n return;\n }\n image.loading = true;\n try {\n image.gifData = await decodeGIF(image.source, canvasSettings);\n image.gifLoopCount = getGIFLoopAmount(image.gifData);\n if (!image.gifLoopCount) {\n image.gifLoopCount = Infinity;\n }\n } catch {\n image.error = true;\n }\n image.loading = false;\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/GifUtils/Utils.js?\n}");
67
-
68
- /***/ }
69
-
70
- }]);
@@ -1,30 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["shapes_image_dist_browser_ImageDrawer_js"],{
19
-
20
- /***/ "../../shapes/image/dist/browser/ImageDrawer.js"
21
- /*!******************************************************!*\
22
- !*** ../../shapes/image/dist/browser/ImageDrawer.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 */ ImageDrawer: () => (/* binding */ ImageDrawer)\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/image/dist/browser/Utils.js\");\n/* harmony import */ var _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\");\n\n\n\nconst sides = 12;\nclass ImageDrawer {\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n }\n draw(data) {\n const { context, radius, particle, opacity } = data, image = particle.image, element = image?.element;\n if (!image) {\n return;\n }\n context.globalAlpha = opacity;\n if (image.gif && image.gifData) {\n (0,_GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.drawGif)(data, this._container.canvas.render.settings);\n } else if (element) {\n const ratio = image.ratio, pos = {\n x: -radius,\n y: -radius\n }, diameter = radius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double;\n context.drawImage(element, pos.x, pos.y, diameter, diameter / ratio);\n }\n context.globalAlpha = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha;\n }\n getSidesCount() {\n return sides;\n }\n async init(container) {\n const options = container.actualOptions;\n if (!options.preload || !this._engine.loadImage) {\n return;\n }\n const promises = [];\n for (const imageData of options.preload){\n promises.push(this._engine.loadImage(container, imageData));\n }\n await Promise.all(promises);\n }\n loadShape(particle) {\n const { _container: container } = this;\n if (!particle.shape || !_Utils_js__WEBPACK_IMPORTED_MODULE_1__.shapeTypes.includes(particle.shape)) {\n return;\n }\n const imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const images = this._engine.getImages?.(container), image = images?.find((t)=>t.name === imageData.name || t.source === imageData.src);\n if (image) {\n return;\n }\n void this.loadImageShape(container, imageData).then(()=>{\n this.loadShape(particle);\n });\n }\n particleInit(container, particle) {\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n const images = this._engine.getImages?.(container), imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const color = particle.getFillColor(), image = images?.find((t)=>t.name === imageData.name || t.source === imageData.src);\n if (!image) {\n return;\n }\n const replaceColor = imageData.replaceColor;\n if (image.loading) {\n setTimeout(()=>{\n this.particleInit(container, particle);\n });\n return;\n }\n void (async ()=>{\n let imageRes;\n if (image.svgData && color) {\n imageRes = await (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.replaceImageColor)(image, imageData, color, particle, container.hdr);\n } else {\n imageRes = {\n color,\n data: image,\n element: image.element,\n gif: image.gif,\n gifData: image.gifData,\n gifLoopCount: image.gifLoopCount,\n loaded: true,\n ratio: imageData.width && imageData.height ? imageData.width / imageData.height : image.ratio ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRatio,\n replaceColor: replaceColor,\n source: imageData.src\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const close = imageData.close ?? particle.shapeClose, imageShape = {\n image: imageRes,\n close\n };\n particle.image = imageShape.image;\n particle.shapeClose = imageShape.close;\n })();\n }\n loadImageShape = async (container, imageShape)=>{\n if (!this._engine.loadImage) {\n throw new Error(`Image shape not initialized`);\n }\n await this._engine.loadImage(container, {\n gif: imageShape.gif,\n name: imageShape.name,\n replaceColor: imageShape.replaceColor,\n src: imageShape.src\n });\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/ImageDrawer.js?\n}");
27
-
28
- /***/ }
29
-
30
- }]);
@@ -1,30 +0,0 @@
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.9
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_pjs"] = this["webpackChunk_tsparticles_pjs"] || []).push([["shapes_image_dist_browser_ImagePreloaderInstance_js"],{
19
-
20
- /***/ "../../shapes/image/dist/browser/ImagePreloaderInstance.js"
21
- /*!*****************************************************************!*\
22
- !*** ../../shapes/image/dist/browser/ImagePreloaderInstance.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 */ ImagePreloaderInstance: () => (/* binding */ ImagePreloaderInstance)\n/* harmony export */ });\nclass ImagePreloaderInstance {\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n }\n destroy() {\n this._engine.images?.delete(this._container);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/ImagePreloaderInstance.js?\n}");
27
-
28
- /***/ }
29
-
30
- }]);