@tsparticles/pjs 4.0.0-beta.8 → 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,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.8
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_ImagePreloader_js"],{
19
-
20
- /***/ "../../shapes/image/dist/browser/ImagePreloader.js"
21
- /*!*********************************************************!*\
22
- !*** ../../shapes/image/dist/browser/ImagePreloader.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 */ ImagePreloaderPlugin: () => (/* binding */ ImagePreloaderPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Preload_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Preload.js */ \"../../shapes/image/dist/browser/Options/Classes/Preload.js\");\n\nclass ImagePreloaderPlugin {\n id = \"image-preloader\";\n _engine;\n constructor(engine){\n this._engine = engine;\n }\n async getPlugin(container) {\n const { ImagePreloaderInstance } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImagePreloaderInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImagePreloaderInstance.js */ \"../../shapes/image/dist/browser/ImagePreloaderInstance.js\"));\n return new ImagePreloaderInstance(this._engine, container);\n }\n loadOptions(_container, options, source) {\n if (!source?.preload) {\n return;\n }\n options.preload ??= [];\n const preloadOptions = options.preload;\n for (const item of source.preload){\n const existing = preloadOptions.find((t)=>t.name === item.name || t.src === item.src);\n if (existing) {\n existing.load(item);\n } else {\n const preload = new _Options_Classes_Preload_js__WEBPACK_IMPORTED_MODULE_0__.Preload();\n preload.load(item);\n preloadOptions.push(preload);\n }\n }\n }\n needsPlugin() {\n return true;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/ImagePreloader.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/image/dist/browser/Options/Classes/Preload.js"
31
- /*!******************************************************************!*\
32
- !*** ../../shapes/image/dist/browser/Options/Classes/Preload.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 */ Preload: () => (/* binding */ Preload)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Preload {\n gif;\n height;\n name;\n replaceColor;\n src;\n width;\n constructor(){\n this.src = \"\";\n this.gif = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.gif !== undefined) {\n this.gif = data.gif;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.replaceColor !== undefined) {\n this.replaceColor = data.replaceColor;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/Options/Classes/Preload.js?\n}");
37
-
38
- /***/ }
39
-
40
- }]);
@@ -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.8
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_index_js"],{
19
-
20
- /***/ "../../shapes/image/dist/browser/Utils.js"
21
- /*!************************************************!*\
22
- !*** ../../shapes/image/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 */ downloadSvgImage: () => (/* binding */ downloadSvgImage),\n/* harmony export */ loadImage: () => (/* binding */ loadImage),\n/* harmony export */ replaceImageColor: () => (/* binding */ replaceImageColor),\n/* harmony export */ shapeTypes: () => (/* binding */ shapeTypes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst shapeTypes = [\n \"image\",\n \"images\"\n];\nconst stringStart = 0, defaultOpacity = 1;\nconst currentColorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;\nfunction replaceColorSvg(imageShape, color, opacity, hdr = false) {\n const { svgData } = imageShape;\n if (!svgData) {\n return \"\";\n }\n const colorStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(color, hdr, opacity);\n if (svgData.includes(\"fill\")) {\n return svgData.replaceAll(currentColorRegex, ()=>colorStyle);\n }\n const preFillIndex = svgData.indexOf(\">\");\n return `${svgData.substring(stringStart, preFillIndex)} fill=\"${colorStyle}\"${svgData.substring(preFillIndex)}`;\n}\nasync function loadImage(image) {\n return new Promise((resolve)=>{\n image.loading = true;\n const img = new Image();\n image.element = img;\n img.addEventListener(\"load\", ()=>{\n image.loading = false;\n resolve();\n });\n img.addEventListener(\"error\", ()=>{\n image.element = undefined;\n image.error = true;\n image.loading = false;\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(`Error loading image: ${image.source}`);\n resolve();\n });\n img.src = image.source;\n });\n}\nasync function downloadSvgImage(image) {\n if (image.type !== \"svg\") {\n await loadImage(image);\n return;\n }\n image.loading = true;\n const response = await fetch(image.source);\n if (response.ok) {\n image.svgData = await response.text();\n } else {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(\"Image not found\");\n image.error = true;\n }\n image.loading = false;\n}\nfunction replaceImageColor(image, imageData, color, particle, hdr = false) {\n const svgColoredData = replaceColorSvg(image, color, particle.opacity?.value ?? defaultOpacity, hdr), imageRes = {\n color,\n gif: imageData.gif,\n data: {\n ...image,\n svgData: svgColoredData\n },\n loaded: false,\n ratio: imageData.width / imageData.height,\n replaceColor: imageData.replaceColor,\n source: imageData.src\n };\n return new Promise((resolve)=>{\n const svg = new Blob([\n svgColoredData\n ], {\n type: \"image/svg+xml\"\n }), url = URL.createObjectURL(svg), img = new Image();\n img.addEventListener(\"load\", ()=>{\n imageRes.loaded = true;\n imageRes.element = img;\n resolve(imageRes);\n URL.revokeObjectURL(url);\n });\n const errorHandler = async ()=>{\n URL.revokeObjectURL(url);\n const img2 = {\n ...image,\n error: false,\n loading: true\n };\n await loadImage(img2);\n imageRes.loaded = true;\n imageRes.element = img2.element;\n resolve(imageRes);\n };\n img.addEventListener(\"error\", ()=>void errorHandler());\n img.src = url;\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/image/dist/browser/Utils.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/image/dist/browser/index.js"
31
- /*!************************************************!*\
32
- !*** ../../shapes/image/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 */ 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.8\");\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
-
38
- /***/ }
39
-
40
- }]);
@@ -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.8
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_line_dist_browser_LineDrawer_js"],{
19
-
20
- /***/ "../../shapes/line/dist/browser/LineDrawer.js"
21
- /*!****************************************************!*\
22
- !*** ../../shapes/line/dist/browser/LineDrawer.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 */ LineDrawer: () => (/* binding */ LineDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/line/dist/browser/Utils.js\");\n\nconst sides = 1;\nclass LineDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawLine)(data);\n }\n getSidesCount() {\n return sides;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/line/dist/browser/LineDrawer.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/line/dist/browser/Utils.js"
31
- /*!***********************************************!*\
32
- !*** ../../shapes/line/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 */ });\nfunction drawLine(data) {\n const { context, particle, radius } = data, shapeData = particle.shapeData, centerY = 0;\n context.moveTo(-radius, centerY);\n context.lineTo(radius, centerY);\n context.lineCap = shapeData?.cap ?? \"butt\";\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/line/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.8
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_line_dist_browser_index_js"],{
19
-
20
- /***/ "../../shapes/line/dist/browser/index.js"
21
- /*!***********************************************!*\
22
- !*** ../../shapes/line/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 */ loadLineShape: () => (/* binding */ loadLineShape)\n/* harmony export */ });\nasync function loadLineShape(engine) {\n engine.checkVersion(\"4.0.0-beta.8\");\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
-
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.8
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_polygon_dist_browser_PolygonDrawer_js"],{
19
-
20
- /***/ "../../shapes/polygon/dist/browser/PolygonDrawer.js"
21
- /*!**********************************************************!*\
22
- !*** ../../shapes/polygon/dist/browser/PolygonDrawer.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 */ PolygonDrawer: () => (/* binding */ PolygonDrawer)\n/* harmony export */ });\n/* harmony import */ var _PolygonDrawerBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PolygonDrawerBase.js */ \"../../shapes/polygon/dist/browser/PolygonDrawerBase.js\");\n\nconst yFactor = 2.66, sidesFactor = 3;\nclass PolygonDrawer extends _PolygonDrawerBase_js__WEBPACK_IMPORTED_MODULE_0__.PolygonDrawerBase {\n getSidesData(particle, radius) {\n const { sides } = particle;\n return {\n count: {\n denominator: 1,\n numerator: sides\n },\n length: radius * yFactor / (sides / sidesFactor)\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/PolygonDrawer.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/polygon/dist/browser/PolygonDrawerBase.js"
31
- /*!**************************************************************!*\
32
- !*** ../../shapes/polygon/dist/browser/PolygonDrawerBase.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 */ PolygonDrawerBase: () => (/* binding */ PolygonDrawerBase)\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/polygon/dist/browser/Utils.js\");\n\n\nconst defaultSides = 5;\nclass PolygonDrawerBase {\n draw(data) {\n const { particle, radius } = data, side = this.getSidesData(particle, radius);\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawPolygon)(data, side);\n }\n getSidesCount(particle) {\n const polygon = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(polygon?.sides ?? defaultSides));\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/PolygonDrawerBase.js?\n}");
37
-
38
- /***/ },
39
-
40
- /***/ "../../shapes/polygon/dist/browser/Utils.js"
41
- /*!**************************************************!*\
42
- !*** ../../shapes/polygon/dist/browser/Utils.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 */ drawPolygon: () => (/* binding */ drawPolygon)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst polygonCache = new Map(), noOffset = 0;\nfunction getUnitPolygon(sides) {\n const cached = polygonCache.get(sides);\n if (cached) {\n return cached;\n }\n const step = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI / sides, isOdd = !!(sides % _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double), baseAngle = (-Math.PI + (isOdd ? noOffset : step)) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half, verts = [];\n for(let i = 0; i < sides; i++){\n const angle = baseAngle + i * step;\n verts[i] = {\n x: Math.cos(angle),\n y: Math.sin(angle)\n };\n }\n polygonCache.set(sides, verts);\n return verts;\n}\nfunction drawPolygon(data, side) {\n const { context, radius } = data, sides = side.count.numerator / side.count.denominator, verts = getUnitPolygon(sides);\n context.beginPath();\n for(let i = 0; i < verts.length; i++){\n const vert = verts[i];\n if (!vert) {\n continue;\n }\n const x = vert.x * radius, y = vert.y * radius;\n if (i) {\n context.lineTo(x, y);\n } else {\n context.moveTo(x, y);\n }\n }\n context.closePath();\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/Utils.js?\n}");
47
-
48
- /***/ }
49
-
50
- }]);
@@ -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.8
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_polygon_dist_browser_TriangleDrawer_js"],{
19
-
20
- /***/ "../../shapes/polygon/dist/browser/PolygonDrawerBase.js"
21
- /*!**************************************************************!*\
22
- !*** ../../shapes/polygon/dist/browser/PolygonDrawerBase.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 */ PolygonDrawerBase: () => (/* binding */ PolygonDrawerBase)\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/polygon/dist/browser/Utils.js\");\n\n\nconst defaultSides = 5;\nclass PolygonDrawerBase {\n draw(data) {\n const { particle, radius } = data, side = this.getSidesData(particle, radius);\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawPolygon)(data, side);\n }\n getSidesCount(particle) {\n const polygon = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(polygon?.sides ?? defaultSides));\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/PolygonDrawerBase.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/polygon/dist/browser/TriangleDrawer.js"
31
- /*!***********************************************************!*\
32
- !*** ../../shapes/polygon/dist/browser/TriangleDrawer.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 */ TriangleDrawer: () => (/* binding */ TriangleDrawer)\n/* harmony export */ });\n/* harmony import */ var _PolygonDrawerBase_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PolygonDrawerBase.js */ \"../../shapes/polygon/dist/browser/PolygonDrawerBase.js\");\n\nconst sides = 3, yFactor = 2.66, sidesFactor = 3;\nclass TriangleDrawer extends _PolygonDrawerBase_js__WEBPACK_IMPORTED_MODULE_0__.PolygonDrawerBase {\n getSidesCount() {\n return sides;\n }\n getSidesData(_particle, radius) {\n return {\n count: {\n denominator: 1,\n numerator: sides\n },\n length: radius * yFactor / (sides / sidesFactor)\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/TriangleDrawer.js?\n}");
37
-
38
- /***/ },
39
-
40
- /***/ "../../shapes/polygon/dist/browser/Utils.js"
41
- /*!**************************************************!*\
42
- !*** ../../shapes/polygon/dist/browser/Utils.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 */ drawPolygon: () => (/* binding */ drawPolygon)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst polygonCache = new Map(), noOffset = 0;\nfunction getUnitPolygon(sides) {\n const cached = polygonCache.get(sides);\n if (cached) {\n return cached;\n }\n const step = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.doublePI / sides, isOdd = !!(sides % _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double), baseAngle = (-Math.PI + (isOdd ? noOffset : step)) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half, verts = [];\n for(let i = 0; i < sides; i++){\n const angle = baseAngle + i * step;\n verts[i] = {\n x: Math.cos(angle),\n y: Math.sin(angle)\n };\n }\n polygonCache.set(sides, verts);\n return verts;\n}\nfunction drawPolygon(data, side) {\n const { context, radius } = data, sides = side.count.numerator / side.count.denominator, verts = getUnitPolygon(sides);\n context.beginPath();\n for(let i = 0; i < verts.length; i++){\n const vert = verts[i];\n if (!vert) {\n continue;\n }\n const x = vert.x * radius, y = vert.y * radius;\n if (i) {\n context.lineTo(x, y);\n } else {\n context.moveTo(x, y);\n }\n }\n context.closePath();\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/polygon/dist/browser/Utils.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.8
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_polygon_dist_browser_index_js"],{
19
-
20
- /***/ "../../shapes/polygon/dist/browser/index.js"
21
- /*!**************************************************!*\
22
- !*** ../../shapes/polygon/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 */ loadGenericPolygonShape: () => (/* binding */ loadGenericPolygonShape),\n/* harmony export */ loadPolygonShape: () => (/* binding */ loadPolygonShape),\n/* harmony export */ loadTriangleShape: () => (/* binding */ loadTriangleShape)\n/* harmony export */ });\nasync function loadGenericPolygonShape(engine) {\n engine.checkVersion(\"4.0.0-beta.8\");\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.8\");\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.8\");\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
-
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.8
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_square_dist_browser_SquareDrawer_js"],{
19
-
20
- /***/ "../../shapes/square/dist/browser/SquareDrawer.js"
21
- /*!********************************************************!*\
22
- !*** ../../shapes/square/dist/browser/SquareDrawer.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 */ SquareDrawer: () => (/* binding */ SquareDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/square/dist/browser/Utils.js\");\n\nconst sides = 4;\nclass SquareDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawSquare)(data);\n }\n getSidesCount() {\n return sides;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/square/dist/browser/SquareDrawer.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/square/dist/browser/Utils.js"
31
- /*!*************************************************!*\
32
- !*** ../../shapes/square/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 */ drawSquare: () => (/* binding */ drawSquare)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nfunction drawSquare(data) {\n const { context, radius } = data, fixedRadius = radius * Math.SQRT1_2, fixedDiameter = fixedRadius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double;\n context.rect(-fixedRadius, -fixedRadius, fixedDiameter, fixedDiameter);\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/square/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.8
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_square_dist_browser_index_js"],{
19
-
20
- /***/ "../../shapes/square/dist/browser/index.js"
21
- /*!*************************************************!*\
22
- !*** ../../shapes/square/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 */ loadSquareShape: () => (/* binding */ loadSquareShape)\n/* harmony export */ });\nasync function loadSquareShape(engine) {\n engine.checkVersion(\"4.0.0-beta.8\");\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
-
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.8
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_star_dist_browser_StarDrawer_js"],{
19
-
20
- /***/ "../../shapes/star/dist/browser/StarDrawer.js"
21
- /*!****************************************************!*\
22
- !*** ../../shapes/star/dist/browser/StarDrawer.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 */ StarDrawer: () => (/* binding */ StarDrawer)\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/star/dist/browser/Utils.js\");\n\n\nconst defaultInset = 2, defaultSides = 5;\nclass StarDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawStar)(data);\n }\n getSidesCount(particle) {\n const star = particle.shapeData;\n return Math.round((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(star?.sides ?? defaultSides));\n }\n particleInit(_container, particle) {\n const star = particle.shapeData;\n particle.starInset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(star?.inset ?? defaultInset);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/star/dist/browser/StarDrawer.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/star/dist/browser/Utils.js"
31
- /*!***********************************************!*\
32
- !*** ../../shapes/star/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 */ drawStar: () => (/* binding */ drawStar)\n/* harmony export */ });\nconst defaultInset = 2, origin = {\n x: 0,\n y: 0\n};\nfunction drawStar(data) {\n const { context, particle, radius } = data, sides = particle.sides, inset = particle.starInset ?? defaultInset;\n context.moveTo(origin.x, origin.y - radius);\n for(let i = 0; i < sides; i++){\n context.rotate(Math.PI / sides);\n context.lineTo(origin.x, origin.y - radius * inset);\n context.rotate(Math.PI / sides);\n context.lineTo(origin.x, origin.y - radius);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/star/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.8
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_star_dist_browser_index_js"],{
19
-
20
- /***/ "../../shapes/star/dist/browser/index.js"
21
- /*!***********************************************!*\
22
- !*** ../../shapes/star/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 */ loadStarShape: () => (/* binding */ loadStarShape)\n/* harmony export */ });\nasync function loadStarShape(engine) {\n engine.checkVersion(\"4.0.0-beta.8\");\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
-
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.8
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_text_dist_browser_TextDrawer_js"],{
19
-
20
- /***/ "../../shapes/text/dist/browser/TextDrawer.js"
21
- /*!****************************************************!*\
22
- !*** ../../shapes/text/dist/browser/TextDrawer.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 */ TextDrawer: () => (/* binding */ TextDrawer)\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/* 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 firstIndex = 0, minLength = 0;\nclass TextDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawText)(data);\n }\n async init(container) {\n const options = container.actualOptions;\n if (_Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes.find((t)=>(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(t, options.particles.shape.type))) {\n const shapeOptions = _Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes.map((t)=>options.particles.shape.options[t]).find((t)=>!!t), promises = [];\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(shapeOptions, (shape)=>{\n promises.push((0,_tsparticles_canvas_utils__WEBPACK_IMPORTED_MODULE_2__.loadFont)(shape.font, shape.weight));\n });\n await Promise.all(promises);\n }\n }\n particleInit(_container, particle) {\n if (!particle.shape || !_Utils_js__WEBPACK_IMPORTED_MODULE_1__.validTypes.includes(particle.shape)) {\n return;\n }\n const character = particle.shapeData;\n if (character === undefined) {\n return;\n }\n const textData = character.value;\n if (!textData) {\n return;\n }\n particle.textLines = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(textData, particle.randomIndexData)?.split(\"\\n\") ?? [];\n particle.maxTextLength = particle.textLines.length ? Math.max(...particle.textLines.map((t)=>t.length)) : particle.textLines[firstIndex]?.length ?? minLength;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/text/dist/browser/TextDrawer.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.8
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_text_dist_browser_index_js"],{
19
-
20
- /***/ "../../shapes/text/dist/browser/Utils.js"
21
- /*!***********************************************!*\
22
- !*** ../../shapes/text/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 */ drawText: () => (/* binding */ drawText),\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 \"text\",\n \"character\",\n \"char\",\n \"multiline-text\"\n];\nconst firstIndex = 0, minLength = 0;\nfunction drawText(data) {\n const { context, particle, fill, stroke, radius, opacity } = data, character = particle.shapeData;\n if (!character) {\n return;\n }\n const textData = character.value;\n particle.textLines ??= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(textData, particle.randomIndexData)?.split(\"\\n\") ?? [];\n particle.maxTextLength ??= particle.textLines.length ? Math.max(...particle.textLines.map((t)=>t.length)) : particle.textLines[firstIndex]?.length ?? minLength;\n if (!particle.textLines.length || !particle.maxTextLength) {\n return;\n }\n const lines = particle.textLines, style = character.style ?? \"\", weight = character.weight ?? \"400\", font = character.font ?? \"Verdana\", size = Math.round(radius) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double / (lines.length * particle.maxTextLength);\n context.font = `${style} ${weight} ${size.toString()}px \"${font}\"`;\n const originalGlobalAlpha = context.globalAlpha;\n context.globalAlpha = opacity;\n for(let i = 0; i < lines.length; i++){\n const currentLine = lines[i];\n if (!currentLine) {\n continue;\n }\n drawTextLine(context, currentLine, size, i, fill, stroke);\n }\n context.globalAlpha = originalGlobalAlpha;\n}\nfunction drawTextLine(context, line, size, index, fill, stroke) {\n const pos = {\n x: -(line.length * size * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half),\n y: size * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half + index * size\n };\n if (fill) {\n context.fillText(line, pos.x, pos.y);\n }\n if (stroke) {\n context.strokeText(line, pos.x, pos.y);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../shapes/text/dist/browser/Utils.js?\n}");
27
-
28
- /***/ },
29
-
30
- /***/ "../../shapes/text/dist/browser/index.js"
31
- /*!***********************************************!*\
32
- !*** ../../shapes/text/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 */ loadTextShape: () => (/* binding */ loadTextShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/text/dist/browser/Utils.js\");\n\nasync function loadTextShape(engine) {\n engine.checkVersion(\"4.0.0-beta.8\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.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
-
38
- /***/ }
39
-
40
- }]);