tsparticles 1.35.4 → 1.37.2

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 (670) hide show
  1. package/Core/Canvas.js +4 -6
  2. package/Core/Container.d.ts +5 -2
  3. package/Core/Container.js +23 -12
  4. package/Core/InteractionManager.d.ts +1 -0
  5. package/Core/InteractionManager.js +4 -1
  6. package/Core/Particles.d.ts +1 -1
  7. package/Core/Particles.js +3 -1
  8. package/Enums/Modes/ResponsiveMode.d.ts +4 -0
  9. package/Enums/Modes/ResponsiveMode.js +8 -0
  10. package/Enums/Modes/index.d.ts +1 -0
  11. package/Enums/Modes/index.js +1 -0
  12. package/Interactions/External/Attract/index.d.ts +1 -1
  13. package/Interactions/External/Attract/index.js +2 -2
  14. package/Interactions/External/Bounce/index.d.ts +1 -1
  15. package/Interactions/External/Bounce/index.js +2 -2
  16. package/Interactions/External/Bubble/index.d.ts +1 -1
  17. package/Interactions/External/Bubble/index.js +2 -2
  18. package/Interactions/External/Connect/index.d.ts +1 -1
  19. package/Interactions/External/Connect/index.js +2 -2
  20. package/Interactions/External/Grab/index.d.ts +1 -1
  21. package/Interactions/External/Grab/index.js +2 -2
  22. package/Interactions/External/Repulse/index.d.ts +1 -1
  23. package/Interactions/External/Repulse/index.js +2 -2
  24. package/Interactions/External/Trail/index.d.ts +1 -1
  25. package/Interactions/External/Trail/index.js +2 -2
  26. package/Interactions/Particles/Attract/index.d.ts +1 -1
  27. package/Interactions/Particles/Attract/index.js +2 -2
  28. package/Interactions/Particles/Collisions/index.d.ts +1 -1
  29. package/Interactions/Particles/Collisions/index.js +2 -2
  30. package/Interactions/Particles/Links/index.d.ts +2 -2
  31. package/Interactions/Particles/Links/index.js +5 -5
  32. package/Interactions/Particles/Links/plugin.d.ts +1 -1
  33. package/Interactions/Particles/Links/plugin.js +2 -2
  34. package/Options/Classes/FullScreen/FullScreen.js +2 -2
  35. package/Options/Classes/Interactivity/Interactivity.js +1 -1
  36. package/Options/Classes/Options.d.ts +1 -1
  37. package/Options/Classes/Options.js +5 -2
  38. package/Options/Classes/Responsive.d.ts +2 -0
  39. package/Options/Classes/Responsive.js +10 -0
  40. package/Options/Interfaces/IResponsive.d.ts +2 -0
  41. package/Plugins/Absorbers/plugin.d.ts +1 -1
  42. package/Plugins/Absorbers/plugin.js +2 -2
  43. package/Plugins/Emitters/plugin.d.ts +1 -1
  44. package/Plugins/Emitters/plugin.js +2 -2
  45. package/Plugins/PolygonMask/plugin.js +1 -1
  46. package/Shapes/Circle/index.d.ts +1 -1
  47. package/Shapes/Circle/index.js +2 -2
  48. package/Shapes/Image/index.d.ts +1 -1
  49. package/Shapes/Image/index.js +3 -3
  50. package/Shapes/Line/index.d.ts +1 -1
  51. package/Shapes/Line/index.js +2 -2
  52. package/Shapes/Polygon/index.d.ts +3 -3
  53. package/Shapes/Polygon/index.js +7 -7
  54. package/Shapes/Square/index.d.ts +1 -1
  55. package/Shapes/Square/index.js +3 -3
  56. package/Shapes/Star/index.d.ts +1 -1
  57. package/Shapes/Star/index.js +2 -2
  58. package/Shapes/Text/index.d.ts +1 -1
  59. package/Shapes/Text/index.js +2 -2
  60. package/Updaters/Angle/index.d.ts +1 -1
  61. package/Updaters/Angle/index.js +2 -2
  62. package/Updaters/Color/index.d.ts +1 -1
  63. package/Updaters/Color/index.js +2 -2
  64. package/Updaters/Life/index.d.ts +1 -1
  65. package/Updaters/Life/index.js +2 -2
  66. package/Updaters/Opacity/index.d.ts +1 -1
  67. package/Updaters/Opacity/index.js +2 -2
  68. package/Updaters/OutModes/index.d.ts +1 -1
  69. package/Updaters/OutModes/index.js +2 -2
  70. package/Updaters/Roll/index.d.ts +1 -1
  71. package/Updaters/Roll/index.js +2 -2
  72. package/Updaters/Size/index.d.ts +1 -1
  73. package/Updaters/Size/index.js +2 -2
  74. package/Updaters/StrokeColor/index.d.ts +1 -1
  75. package/Updaters/StrokeColor/index.js +2 -2
  76. package/Updaters/Tilt/index.d.ts +1 -1
  77. package/Updaters/Tilt/index.js +2 -2
  78. package/Updaters/Wobble/index.d.ts +1 -1
  79. package/Updaters/Wobble/index.js +2 -2
  80. package/Utils/Plugins.d.ts +2 -2
  81. package/Utils/Plugins.js +4 -4
  82. package/Utils/Utils.d.ts +1 -2
  83. package/browser/Core/Canvas.d.ts +29 -0
  84. package/browser/Core/Canvas.js +26 -6
  85. package/browser/Core/Container.d.ts +99 -2
  86. package/browser/Core/Container.js +106 -12
  87. package/browser/Core/FrameManager.d.ts +8 -0
  88. package/browser/Core/FrameManager.js +9 -0
  89. package/browser/Core/InteractionManager.d.ts +4 -0
  90. package/browser/Core/InteractionManager.js +8 -1
  91. package/browser/Core/Interfaces/Colors.d.ts +23 -0
  92. package/browser/Core/Interfaces/IAttract.d.ts +3 -0
  93. package/browser/Core/Interfaces/IBounds.d.ts +3 -0
  94. package/browser/Core/Interfaces/IBubble.d.ts +3 -0
  95. package/browser/Core/Interfaces/IBubbleParticleData.d.ts +3 -0
  96. package/browser/Core/Interfaces/IContainerInteractivity.d.ts +3 -0
  97. package/browser/Core/Interfaces/IContainerPlugin.d.ts +3 -0
  98. package/browser/Core/Interfaces/ICoordinates.d.ts +3 -0
  99. package/browser/Core/Interfaces/IDelta.d.ts +3 -0
  100. package/browser/Core/Interfaces/IDimension.d.ts +3 -0
  101. package/browser/Core/Interfaces/IExternalInteractor.d.ts +3 -0
  102. package/browser/Core/Interfaces/IInteractor.d.ts +3 -0
  103. package/browser/Core/Interfaces/IMouseData.d.ts +3 -0
  104. package/browser/Core/Interfaces/IMovePathGenerator.d.ts +3 -0
  105. package/browser/Core/Interfaces/IParticle.d.ts +3 -0
  106. package/browser/Core/Interfaces/IParticleValueAnimation.d.ts +3 -0
  107. package/browser/Core/Interfaces/IParticlesInteractor.d.ts +3 -0
  108. package/browser/Core/Interfaces/IPlugin.d.ts +8 -0
  109. package/browser/Core/Interfaces/IRepulse.d.ts +3 -0
  110. package/browser/Core/Interfaces/IShapeDrawer.d.ts +3 -0
  111. package/browser/Core/Interfaces/IShapeValues.d.ts +3 -0
  112. package/browser/Core/Loader.d.ts +45 -0
  113. package/browser/Core/Loader.js +51 -0
  114. package/browser/Core/Particle/Mover.d.ts +3 -0
  115. package/browser/Core/Particle/Mover.js +7 -2
  116. package/browser/Core/Particle.d.ts +7 -0
  117. package/browser/Core/Particle.js +13 -0
  118. package/browser/Core/Particles.d.ts +14 -1
  119. package/browser/Core/Particles.js +28 -1
  120. package/browser/Core/Retina.d.ts +6 -0
  121. package/browser/Core/Retina.js +9 -0
  122. package/browser/Enums/Directions/MoveDirection.d.ts +3 -0
  123. package/browser/Enums/Directions/MoveDirection.js +3 -0
  124. package/browser/Enums/Directions/RotateDirection.d.ts +3 -0
  125. package/browser/Enums/Directions/RotateDirection.js +3 -0
  126. package/browser/Enums/Directions/TiltDirection.d.ts +3 -0
  127. package/browser/Enums/Directions/TiltDirection.js +3 -0
  128. package/browser/Enums/InteractivityDetect.d.ts +3 -0
  129. package/browser/Enums/InteractivityDetect.js +3 -0
  130. package/browser/Enums/Modes/ClickMode.d.ts +3 -0
  131. package/browser/Enums/Modes/ClickMode.js +3 -0
  132. package/browser/Enums/Modes/CollisionMode.d.ts +3 -0
  133. package/browser/Enums/Modes/CollisionMode.js +3 -0
  134. package/browser/Enums/Modes/DivMode.d.ts +3 -0
  135. package/browser/Enums/Modes/DivMode.js +3 -0
  136. package/browser/Enums/Modes/HoverMode.d.ts +3 -0
  137. package/browser/Enums/Modes/HoverMode.js +3 -0
  138. package/browser/Enums/Modes/OutMode.d.ts +3 -0
  139. package/browser/Enums/Modes/OutMode.js +3 -0
  140. package/browser/Enums/Modes/ResponsiveMode.d.ts +4 -0
  141. package/browser/Enums/Modes/ResponsiveMode.js +5 -0
  142. package/browser/Enums/Modes/SizeMode.d.ts +3 -0
  143. package/browser/Enums/Modes/SizeMode.js +3 -0
  144. package/browser/Enums/Modes/index.d.ts +1 -0
  145. package/browser/Enums/Modes/index.js +1 -0
  146. package/browser/Enums/Types/DestroyType.d.ts +3 -0
  147. package/browser/Enums/Types/DestroyType.js +3 -0
  148. package/browser/Enums/Types/DivType.d.ts +3 -0
  149. package/browser/Enums/Types/DivType.js +3 -0
  150. package/browser/Enums/Types/OrbitType.d.ts +3 -0
  151. package/browser/Enums/Types/OrbitType.js +3 -0
  152. package/browser/Enums/Types/ShapeType.d.ts +3 -0
  153. package/browser/Enums/Types/ShapeType.js +3 -0
  154. package/browser/Enums/Types/StartValueType.d.ts +3 -0
  155. package/browser/Enums/Types/StartValueType.js +3 -0
  156. package/browser/Interactions/External/Attract/Attractor.d.ts +4 -0
  157. package/browser/Interactions/External/Attract/Attractor.js +5 -0
  158. package/browser/Interactions/External/Attract/index.d.ts +1 -1
  159. package/browser/Interactions/External/Attract/index.js +2 -2
  160. package/browser/Interactions/External/Bounce/Bouncer.js +1 -0
  161. package/browser/Interactions/External/Bounce/index.d.ts +1 -1
  162. package/browser/Interactions/External/Bounce/index.js +2 -2
  163. package/browser/Interactions/External/Bubble/Bubbler.d.ts +4 -0
  164. package/browser/Interactions/External/Bubble/Bubbler.js +14 -0
  165. package/browser/Interactions/External/Bubble/IBubblerProcessParam.d.ts +6 -0
  166. package/browser/Interactions/External/Bubble/ProcessBubbleType.d.ts +3 -0
  167. package/browser/Interactions/External/Bubble/ProcessBubbleType.js +3 -0
  168. package/browser/Interactions/External/Bubble/index.d.ts +1 -1
  169. package/browser/Interactions/External/Bubble/index.js +2 -2
  170. package/browser/Interactions/External/Connect/Connector.d.ts +7 -0
  171. package/browser/Interactions/External/Connect/Connector.js +8 -0
  172. package/browser/Interactions/External/Connect/index.d.ts +1 -1
  173. package/browser/Interactions/External/Connect/index.js +2 -2
  174. package/browser/Interactions/External/Grab/Grabber.d.ts +4 -0
  175. package/browser/Interactions/External/Grab/Grabber.js +9 -0
  176. package/browser/Interactions/External/Grab/index.d.ts +1 -1
  177. package/browser/Interactions/External/Grab/index.js +2 -2
  178. package/browser/Interactions/External/Repulse/Repulser.d.ts +4 -0
  179. package/browser/Interactions/External/Repulse/Repulser.js +162 -0
  180. package/browser/Interactions/External/Repulse/index.d.ts +1 -1
  181. package/browser/Interactions/External/Repulse/index.js +2 -2
  182. package/browser/Interactions/External/Trail/TrailMaker.d.ts +3 -0
  183. package/browser/Interactions/External/Trail/TrailMaker.js +4 -0
  184. package/browser/Interactions/External/Trail/index.d.ts +1 -1
  185. package/browser/Interactions/External/Trail/index.js +2 -2
  186. package/browser/Interactions/Particles/Attract/Attractor.d.ts +3 -0
  187. package/browser/Interactions/Particles/Attract/Attractor.js +4 -0
  188. package/browser/Interactions/Particles/Attract/index.d.ts +1 -1
  189. package/browser/Interactions/Particles/Attract/index.js +2 -2
  190. package/browser/Interactions/Particles/Collisions/Collider.d.ts +3 -0
  191. package/browser/Interactions/Particles/Collisions/Collider.js +4 -0
  192. package/browser/Interactions/Particles/Collisions/index.d.ts +1 -1
  193. package/browser/Interactions/Particles/Collisions/index.js +2 -2
  194. package/browser/Interactions/Particles/Links/ILink.d.ts +6 -0
  195. package/browser/Interactions/Particles/Links/LinkInstance.js +8 -0
  196. package/browser/Interactions/Particles/Links/Linker.js +2 -0
  197. package/browser/Interactions/Particles/Links/index.d.ts +2 -2
  198. package/browser/Interactions/Particles/Links/index.js +5 -5
  199. package/browser/Interactions/Particles/Links/plugin.d.ts +1 -1
  200. package/browser/Interactions/Particles/Links/plugin.js +3 -2
  201. package/browser/Options/Classes/AnimatableColor.d.ts +4 -0
  202. package/browser/Options/Classes/AnimatableColor.js +4 -0
  203. package/browser/Options/Classes/Background/Background.d.ts +4 -0
  204. package/browser/Options/Classes/Background/Background.js +4 -0
  205. package/browser/Options/Classes/BackgroundMask/BackgroundMask.d.ts +14 -0
  206. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +4 -0
  207. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.d.ts +3 -0
  208. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +3 -0
  209. package/browser/Options/Classes/ColorAnimation.d.ts +3 -0
  210. package/browser/Options/Classes/ColorAnimation.js +3 -0
  211. package/browser/Options/Classes/FullScreen/FullScreen.d.ts +16 -0
  212. package/browser/Options/Classes/FullScreen/FullScreen.js +8 -2
  213. package/browser/Options/Classes/Interactivity/Events/ClickEvent.d.ts +10 -0
  214. package/browser/Options/Classes/Interactivity/Events/ClickEvent.js +4 -0
  215. package/browser/Options/Classes/Interactivity/Events/DivEvent.d.ts +37 -0
  216. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +33 -0
  217. package/browser/Options/Classes/Interactivity/Events/Events.d.ts +31 -0
  218. package/browser/Options/Classes/Interactivity/Events/Events.js +31 -0
  219. package/browser/Options/Classes/Interactivity/Events/HoverEvent.d.ts +4 -0
  220. package/browser/Options/Classes/Interactivity/Events/HoverEvent.js +4 -0
  221. package/browser/Options/Classes/Interactivity/Events/Parallax.d.ts +3 -0
  222. package/browser/Options/Classes/Interactivity/Events/Parallax.js +3 -0
  223. package/browser/Options/Classes/Interactivity/Interactivity.d.ts +13 -0
  224. package/browser/Options/Classes/Interactivity/Interactivity.js +14 -1
  225. package/browser/Options/Classes/Interactivity/Modes/Attract.d.ts +3 -0
  226. package/browser/Options/Classes/Interactivity/Modes/Attract.js +3 -0
  227. package/browser/Options/Classes/Interactivity/Modes/Bubble.d.ts +3 -0
  228. package/browser/Options/Classes/Interactivity/Modes/Bubble.js +3 -0
  229. package/browser/Options/Classes/Interactivity/Modes/BubbleBase.d.ts +3 -0
  230. package/browser/Options/Classes/Interactivity/Modes/BubbleBase.js +3 -0
  231. package/browser/Options/Classes/Interactivity/Modes/BubbleDiv.d.ts +9 -0
  232. package/browser/Options/Classes/Interactivity/Modes/BubbleDiv.js +9 -0
  233. package/browser/Options/Classes/Interactivity/Modes/Connect.d.ts +21 -0
  234. package/browser/Options/Classes/Interactivity/Modes/Connect.js +21 -0
  235. package/browser/Options/Classes/Interactivity/Modes/ConnectLinks.d.ts +3 -0
  236. package/browser/Options/Classes/Interactivity/Modes/ConnectLinks.js +3 -0
  237. package/browser/Options/Classes/Interactivity/Modes/Grab.d.ts +21 -0
  238. package/browser/Options/Classes/Interactivity/Modes/Grab.js +21 -0
  239. package/browser/Options/Classes/Interactivity/Modes/GrabLinks.d.ts +3 -0
  240. package/browser/Options/Classes/Interactivity/Modes/GrabLinks.js +3 -0
  241. package/browser/Options/Classes/Interactivity/Modes/Modes.d.ts +4 -0
  242. package/browser/Options/Classes/Interactivity/Modes/Modes.js +4 -0
  243. package/browser/Options/Classes/Interactivity/Modes/Push.d.ts +12 -0
  244. package/browser/Options/Classes/Interactivity/Modes/Push.js +12 -0
  245. package/browser/Options/Classes/Interactivity/Modes/Remove.d.ts +12 -0
  246. package/browser/Options/Classes/Interactivity/Modes/Remove.js +12 -0
  247. package/browser/Options/Classes/Interactivity/Modes/Repulse.d.ts +3 -0
  248. package/browser/Options/Classes/Interactivity/Modes/Repulse.js +3 -0
  249. package/browser/Options/Classes/Interactivity/Modes/RepulseBase.d.ts +3 -0
  250. package/browser/Options/Classes/Interactivity/Modes/RepulseBase.js +3 -0
  251. package/browser/Options/Classes/Interactivity/Modes/RepulseDiv.d.ts +9 -0
  252. package/browser/Options/Classes/Interactivity/Modes/RepulseDiv.js +11 -0
  253. package/browser/Options/Classes/Interactivity/Modes/Slow.d.ts +9 -0
  254. package/browser/Options/Classes/Interactivity/Modes/Slow.js +10 -0
  255. package/browser/Options/Classes/Interactivity/Modes/Trail.d.ts +3 -0
  256. package/browser/Options/Classes/Interactivity/Modes/Trail.js +3 -0
  257. package/browser/Options/Classes/Motion/Motion.d.ts +11 -0
  258. package/browser/Options/Classes/Motion/Motion.js +4 -0
  259. package/browser/Options/Classes/Motion/MotionReduce.d.ts +9 -0
  260. package/browser/Options/Classes/Motion/MotionReduce.js +3 -0
  261. package/browser/Options/Classes/Options.d.ts +31 -1
  262. package/browser/Options/Classes/Options.js +36 -3
  263. package/browser/Options/Classes/OptionsColor.d.ts +4 -0
  264. package/browser/Options/Classes/OptionsColor.js +4 -0
  265. package/browser/Options/Classes/Particles/Collisions/Collisions.d.ts +4 -0
  266. package/browser/Options/Classes/Particles/Collisions/Collisions.js +4 -0
  267. package/browser/Options/Classes/Particles/Links/Links.d.ts +4 -0
  268. package/browser/Options/Classes/Particles/Links/Links.js +4 -0
  269. package/browser/Options/Classes/Particles/Links/LinksShadow.d.ts +3 -0
  270. package/browser/Options/Classes/Particles/Links/LinksShadow.js +3 -0
  271. package/browser/Options/Classes/Particles/Links/LinksTriangle.d.ts +3 -0
  272. package/browser/Options/Classes/Particles/Links/LinksTriangle.js +3 -0
  273. package/browser/Options/Classes/Particles/Move/Attract.d.ts +21 -0
  274. package/browser/Options/Classes/Particles/Move/Attract.js +21 -0
  275. package/browser/Options/Classes/Particles/Move/Move.d.ts +42 -0
  276. package/browser/Options/Classes/Particles/Move/Move.js +43 -0
  277. package/browser/Options/Classes/Particles/Move/MoveAngle.d.ts +3 -0
  278. package/browser/Options/Classes/Particles/Move/MoveAngle.js +4 -1
  279. package/browser/Options/Classes/Particles/Move/Path/Path.d.ts +3 -0
  280. package/browser/Options/Classes/Particles/Move/Path/Path.js +3 -0
  281. package/browser/Options/Classes/Particles/Move/Trail.d.ts +3 -0
  282. package/browser/Options/Classes/Particles/Move/Trail.js +3 -0
  283. package/browser/Options/Classes/Particles/Number/Density.d.ts +12 -0
  284. package/browser/Options/Classes/Particles/Number/Density.js +12 -0
  285. package/browser/Options/Classes/Particles/Number/ParticlesNumber.d.ts +10 -0
  286. package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +10 -0
  287. package/browser/Options/Classes/Particles/Opacity/Opacity.d.ts +13 -0
  288. package/browser/Options/Classes/Particles/Opacity/Opacity.js +13 -0
  289. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.d.ts +15 -0
  290. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +12 -0
  291. package/browser/Options/Classes/Particles/Orbit/Orbit.d.ts +4 -0
  292. package/browser/Options/Classes/Particles/Orbit/Orbit.js +4 -0
  293. package/browser/Options/Classes/Particles/Orbit/OrbitRotation.d.ts +3 -0
  294. package/browser/Options/Classes/Particles/Orbit/OrbitRotation.js +3 -0
  295. package/browser/Options/Classes/Particles/ParticlesOptions.d.ts +22 -0
  296. package/browser/Options/Classes/Particles/ParticlesOptions.js +22 -0
  297. package/browser/Options/Classes/Particles/Repulse/Repulse.d.ts +3 -0
  298. package/browser/Options/Classes/Particles/Repulse/Repulse.js +3 -0
  299. package/browser/Options/Classes/Particles/Rotate/Rotate.d.ts +4 -0
  300. package/browser/Options/Classes/Particles/Rotate/Rotate.js +4 -0
  301. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.d.ts +3 -0
  302. package/browser/Options/Classes/Particles/Rotate/RotateAnimation.js +3 -0
  303. package/browser/Options/Classes/Particles/Shadow.d.ts +4 -0
  304. package/browser/Options/Classes/Particles/Shadow.js +4 -0
  305. package/browser/Options/Classes/Particles/Shape/Shape.d.ts +42 -0
  306. package/browser/Options/Classes/Particles/Shape/Shape.js +43 -0
  307. package/browser/Options/Classes/Particles/Size/Size.d.ts +13 -0
  308. package/browser/Options/Classes/Particles/Size/Size.js +13 -0
  309. package/browser/Options/Classes/Particles/Size/SizeAnimation.d.ts +15 -0
  310. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +12 -0
  311. package/browser/Options/Classes/Particles/Stroke.d.ts +4 -0
  312. package/browser/Options/Classes/Particles/Stroke.js +4 -0
  313. package/browser/Options/Classes/Particles/Tilt/Tilt.d.ts +4 -0
  314. package/browser/Options/Classes/Particles/Tilt/Tilt.js +4 -0
  315. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.d.ts +3 -0
  316. package/browser/Options/Classes/Particles/Tilt/TiltAnimation.js +3 -0
  317. package/browser/Options/Classes/Particles/Twinkle/Twinkle.d.ts +4 -0
  318. package/browser/Options/Classes/Particles/Twinkle/Twinkle.js +4 -0
  319. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.d.ts +3 -0
  320. package/browser/Options/Classes/Particles/Twinkle/TwinkleValues.js +3 -0
  321. package/browser/Options/Classes/Particles/ZIndex/ZIndex.d.ts +3 -0
  322. package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +3 -0
  323. package/browser/Options/Classes/Responsive.d.ts +2 -0
  324. package/browser/Options/Classes/Responsive.js +11 -0
  325. package/browser/Options/Classes/ValueWithRandom.d.ts +3 -0
  326. package/browser/Options/Interfaces/Background/IBackground.d.ts +35 -0
  327. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMask.d.ts +21 -0
  328. package/browser/Options/Interfaces/BackgroundMask/IBackgroundMaskCover.d.ts +10 -0
  329. package/browser/Options/Interfaces/FullScreen/IFullScreen.d.ts +16 -0
  330. package/browser/Options/Interfaces/IAnimatableColor.d.ts +8 -0
  331. package/browser/Options/Interfaces/IAnimation.d.ts +10 -0
  332. package/browser/Options/Interfaces/IColorAnimation.d.ts +7 -0
  333. package/browser/Options/Interfaces/IColorAnimation.js +4 -0
  334. package/browser/Options/Interfaces/IManualParticle.d.ts +11 -0
  335. package/browser/Options/Interfaces/IOptionLoader.d.ts +9 -0
  336. package/browser/Options/Interfaces/IOptions.d.ts +71 -0
  337. package/browser/Options/Interfaces/IOptionsColor.d.ts +5 -0
  338. package/browser/Options/Interfaces/IResponsive.d.ts +2 -0
  339. package/browser/Options/Interfaces/IValueWithRandom.d.ts +3 -0
  340. package/browser/Options/Interfaces/Interactivity/Events/IClickEvent.d.ts +12 -0
  341. package/browser/Options/Interfaces/Interactivity/Events/IDivEvent.d.ts +13 -0
  342. package/browser/Options/Interfaces/Interactivity/Events/IEvents.d.ts +13 -0
  343. package/browser/Options/Interfaces/Interactivity/Events/IHoverEvent.d.ts +4 -0
  344. package/browser/Options/Interfaces/Interactivity/Events/IParallax.d.ts +3 -0
  345. package/browser/Options/Interfaces/Interactivity/IInteractivity.d.ts +20 -0
  346. package/browser/Options/Interfaces/Interactivity/Modes/IAttract.d.ts +3 -0
  347. package/browser/Options/Interfaces/Interactivity/Modes/IBubble.d.ts +3 -0
  348. package/browser/Options/Interfaces/Interactivity/Modes/IBubbleBase.d.ts +3 -0
  349. package/browser/Options/Interfaces/Interactivity/Modes/IBubbleDiv.d.ts +3 -0
  350. package/browser/Options/Interfaces/Interactivity/Modes/IConnect.d.ts +9 -0
  351. package/browser/Options/Interfaces/Interactivity/Modes/IConnectLinks.d.ts +3 -0
  352. package/browser/Options/Interfaces/Interactivity/Modes/IGrab.d.ts +9 -0
  353. package/browser/Options/Interfaces/Interactivity/Modes/IGrabLinks.d.ts +3 -0
  354. package/browser/Options/Interfaces/Interactivity/Modes/IModeDiv.d.ts +6 -0
  355. package/browser/Options/Interfaces/Interactivity/Modes/IModes.d.ts +4 -0
  356. package/browser/Options/Interfaces/Interactivity/Modes/IPush.d.ts +6 -0
  357. package/browser/Options/Interfaces/Interactivity/Modes/IRemove.d.ts +6 -0
  358. package/browser/Options/Interfaces/Interactivity/Modes/IRepulse.d.ts +3 -0
  359. package/browser/Options/Interfaces/Interactivity/Modes/IRepulseBase.d.ts +3 -0
  360. package/browser/Options/Interfaces/Interactivity/Modes/IRepulseDiv.d.ts +3 -0
  361. package/browser/Options/Interfaces/Interactivity/Modes/ISlow.d.ts +6 -0
  362. package/browser/Options/Interfaces/Interactivity/Modes/ITrail.d.ts +3 -0
  363. package/browser/Options/Interfaces/Motion/IMotion.d.ts +11 -0
  364. package/browser/Options/Interfaces/Motion/IMotionReduce.d.ts +9 -0
  365. package/browser/Options/Interfaces/Particles/Collisions/ICollisions.d.ts +4 -0
  366. package/browser/Options/Interfaces/Particles/Destroy/IDestroy.d.ts +4 -0
  367. package/browser/Options/Interfaces/Particles/IParticles.d.ts +10 -0
  368. package/browser/Options/Interfaces/Particles/IShadow.d.ts +4 -0
  369. package/browser/Options/Interfaces/Particles/IStroke.d.ts +14 -0
  370. package/browser/Options/Interfaces/Particles/Links/ILinks.d.ts +43 -0
  371. package/browser/Options/Interfaces/Particles/Links/ILinksShadow.d.ts +3 -0
  372. package/browser/Options/Interfaces/Particles/Links/ILinksTriangle.d.ts +3 -0
  373. package/browser/Options/Interfaces/Particles/Move/IAttract.d.ts +9 -0
  374. package/browser/Options/Interfaces/Particles/Move/IMove.d.ts +19 -0
  375. package/browser/Options/Interfaces/Particles/Move/IMoveAngle.d.ts +3 -0
  376. package/browser/Options/Interfaces/Particles/Move/ITrail.d.ts +3 -0
  377. package/browser/Options/Interfaces/Particles/Move/Path/iPath.d.ts +3 -0
  378. package/browser/Options/Interfaces/Particles/Number/IDensity.d.ts +6 -0
  379. package/browser/Options/Interfaces/Particles/Number/IParticlesNumber.d.ts +7 -0
  380. package/browser/Options/Interfaces/Particles/Opacity/IOpacity.d.ts +7 -0
  381. package/browser/Options/Interfaces/Particles/Opacity/IOpacityAnimation.d.ts +9 -0
  382. package/browser/Options/Interfaces/Particles/Orbit/IOrbit.d.ts +7 -0
  383. package/browser/Options/Interfaces/Particles/Repulse/IRepulse.d.ts +4 -0
  384. package/browser/Options/Interfaces/Particles/Rotate/IRotate.d.ts +4 -0
  385. package/browser/Options/Interfaces/Particles/Rotate/IRotateAnimation.d.ts +3 -0
  386. package/browser/Options/Interfaces/Particles/Shape/ICharacterShape.d.ts +3 -0
  387. package/browser/Options/Interfaces/Particles/Shape/IImageShape.d.ts +6 -0
  388. package/browser/Options/Interfaces/Particles/Shape/IPolygonShape.d.ts +6 -0
  389. package/browser/Options/Interfaces/Particles/Shape/IShape.d.ts +22 -0
  390. package/browser/Options/Interfaces/Particles/Shape/IStarShape.d.ts +6 -0
  391. package/browser/Options/Interfaces/Particles/Size/ISize.d.ts +7 -0
  392. package/browser/Options/Interfaces/Particles/Size/ISizeAnimation.d.ts +9 -0
  393. package/browser/Options/Interfaces/Particles/Tilt/ITilt.d.ts +4 -0
  394. package/browser/Options/Interfaces/Particles/Tilt/ITiltAnimation.d.ts +3 -0
  395. package/browser/Options/Interfaces/Particles/Twinkle/ITwinkle.d.ts +4 -0
  396. package/browser/Options/Interfaces/Particles/Twinkle/ITwinkleValues.d.ts +3 -0
  397. package/browser/Options/Interfaces/Particles/ZIndex/IZIndex.d.ts +4 -0
  398. package/browser/Options/Interfaces/Theme/ITheme.d.ts +14 -0
  399. package/browser/Options/Interfaces/Theme/IThemeDefault.d.ts +16 -0
  400. package/browser/Plugins/Absorbers/AbsorberInstance.d.ts +3 -0
  401. package/browser/Plugins/Absorbers/AbsorberInstance.js +3 -0
  402. package/browser/Plugins/Absorbers/Absorbers.d.ts +3 -0
  403. package/browser/Plugins/Absorbers/Absorbers.js +3 -0
  404. package/browser/Plugins/Absorbers/Enums/AbsorberClickMode.d.ts +3 -0
  405. package/browser/Plugins/Absorbers/Enums/AbsorberClickMode.js +3 -0
  406. package/browser/Plugins/Absorbers/Options/Classes/Absorber.d.ts +4 -0
  407. package/browser/Plugins/Absorbers/Options/Classes/Absorber.js +4 -0
  408. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorber.d.ts +29 -0
  409. package/browser/Plugins/Absorbers/Options/Interfaces/IAbsorberOptions.d.ts +3 -0
  410. package/browser/Plugins/Absorbers/plugin.d.ts +1 -1
  411. package/browser/Plugins/Absorbers/plugin.js +5 -2
  412. package/browser/Plugins/Emitters/EmitterInstance.d.ts +3 -0
  413. package/browser/Plugins/Emitters/EmitterInstance.js +3 -0
  414. package/browser/Plugins/Emitters/Emitters.d.ts +3 -0
  415. package/browser/Plugins/Emitters/Emitters.js +3 -0
  416. package/browser/Plugins/Emitters/Enums/EmitterClickMode.d.ts +3 -0
  417. package/browser/Plugins/Emitters/Enums/EmitterClickMode.js +3 -0
  418. package/browser/Plugins/Emitters/Options/Classes/Emitter.d.ts +4 -0
  419. package/browser/Plugins/Emitters/Options/Classes/Emitter.js +4 -0
  420. package/browser/Plugins/Emitters/Options/Classes/EmitterLife.d.ts +3 -0
  421. package/browser/Plugins/Emitters/Options/Classes/EmitterLife.js +3 -0
  422. package/browser/Plugins/Emitters/Options/Classes/EmitterRate.d.ts +3 -0
  423. package/browser/Plugins/Emitters/Options/Classes/EmitterRate.js +3 -0
  424. package/browser/Plugins/Emitters/Options/Classes/EmitterSize.d.ts +3 -0
  425. package/browser/Plugins/Emitters/Options/Classes/EmitterSize.js +3 -0
  426. package/browser/Plugins/Emitters/Options/Interfaces/IEmitter.d.ts +44 -0
  427. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterLife.d.ts +19 -0
  428. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterOptions.d.ts +3 -0
  429. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterRate.d.ts +11 -0
  430. package/browser/Plugins/Emitters/Options/Interfaces/IEmitterSize.d.ts +3 -0
  431. package/browser/Plugins/Emitters/Shapes/Square/SquareShape.js +4 -0
  432. package/browser/Plugins/Emitters/plugin.d.ts +1 -1
  433. package/browser/Plugins/Emitters/plugin.js +5 -2
  434. package/browser/Plugins/PolygonMask/Options/Classes/Draw.d.ts +15 -0
  435. package/browser/Plugins/PolygonMask/Options/Classes/Draw.js +15 -0
  436. package/browser/Plugins/PolygonMask/Options/Classes/DrawStroke.d.ts +3 -0
  437. package/browser/Plugins/PolygonMask/Options/Classes/DrawStroke.js +3 -0
  438. package/browser/Plugins/PolygonMask/Options/Classes/Inline.d.ts +3 -0
  439. package/browser/Plugins/PolygonMask/Options/Classes/Inline.js +3 -0
  440. package/browser/Plugins/PolygonMask/Options/Classes/LocalSvg.d.ts +3 -0
  441. package/browser/Plugins/PolygonMask/Options/Classes/LocalSvg.js +3 -0
  442. package/browser/Plugins/PolygonMask/Options/Classes/Move.d.ts +3 -0
  443. package/browser/Plugins/PolygonMask/Options/Classes/Move.js +3 -0
  444. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.d.ts +10 -0
  445. package/browser/Plugins/PolygonMask/Options/Classes/PolygonMask.js +10 -0
  446. package/browser/Plugins/PolygonMask/Options/Interfaces/IDraw.d.ts +9 -0
  447. package/browser/Plugins/PolygonMask/Options/Interfaces/IDrawStroke.d.ts +3 -0
  448. package/browser/Plugins/PolygonMask/Options/Interfaces/IInline.d.ts +3 -0
  449. package/browser/Plugins/PolygonMask/Options/Interfaces/ILocalSvg.d.ts +3 -0
  450. package/browser/Plugins/PolygonMask/Options/Interfaces/IMove.d.ts +3 -0
  451. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMask.d.ts +7 -0
  452. package/browser/Plugins/PolygonMask/Options/Interfaces/IPolygonMaskOptions.d.ts +3 -0
  453. package/browser/Plugins/PolygonMask/PolygonMaskInstance.d.ts +12 -0
  454. package/browser/Plugins/PolygonMask/PolygonMaskInstance.js +22 -0
  455. package/browser/Plugins/PolygonMask/pathseg.js +55 -1
  456. package/browser/Plugins/PolygonMask/plugin.js +10 -2
  457. package/browser/Plugins/PolygonMask/utils.js +14 -2
  458. package/browser/Shapes/Circle/CircleDrawer.d.ts +3 -0
  459. package/browser/Shapes/Circle/CircleDrawer.js +3 -0
  460. package/browser/Shapes/Circle/index.d.ts +1 -1
  461. package/browser/Shapes/Circle/index.js +2 -2
  462. package/browser/Shapes/Image/ImageDrawer.d.ts +3 -0
  463. package/browser/Shapes/Image/ImageDrawer.js +6 -0
  464. package/browser/Shapes/Image/Utils.d.ts +3 -0
  465. package/browser/Shapes/Image/Utils.js +1 -0
  466. package/browser/Shapes/Image/index.d.ts +1 -1
  467. package/browser/Shapes/Image/index.js +3 -3
  468. package/browser/Shapes/Line/LineDrawer.d.ts +3 -0
  469. package/browser/Shapes/Line/LineDrawer.js +3 -0
  470. package/browser/Shapes/Line/index.d.ts +1 -1
  471. package/browser/Shapes/Line/index.js +2 -2
  472. package/browser/Shapes/Polygon/PolygonDrawer.d.ts +3 -0
  473. package/browser/Shapes/Polygon/PolygonDrawer.js +3 -0
  474. package/browser/Shapes/Polygon/PolygonDrawerBase.d.ts +3 -0
  475. package/browser/Shapes/Polygon/PolygonDrawerBase.js +5 -1
  476. package/browser/Shapes/Polygon/TriangleDrawer.d.ts +3 -0
  477. package/browser/Shapes/Polygon/TriangleDrawer.js +3 -0
  478. package/browser/Shapes/Polygon/index.d.ts +3 -3
  479. package/browser/Shapes/Polygon/index.js +7 -7
  480. package/browser/Shapes/Square/SquareDrawer.d.ts +3 -0
  481. package/browser/Shapes/Square/SquareDrawer.js +3 -0
  482. package/browser/Shapes/Square/index.d.ts +1 -1
  483. package/browser/Shapes/Square/index.js +3 -3
  484. package/browser/Shapes/Star/StarDrawer.d.ts +3 -0
  485. package/browser/Shapes/Star/StarDrawer.js +3 -0
  486. package/browser/Shapes/Star/index.d.ts +1 -1
  487. package/browser/Shapes/Star/index.js +2 -2
  488. package/browser/Shapes/Text/TextDrawer.d.ts +3 -0
  489. package/browser/Shapes/Text/TextDrawer.js +3 -0
  490. package/browser/Shapes/Text/index.d.ts +1 -1
  491. package/browser/Shapes/Text/index.js +2 -2
  492. package/browser/Types/ParticlesGroups.d.ts +4 -0
  493. package/browser/Types/RecursivePartial.d.ts +3 -0
  494. package/browser/Types/ShapeData.d.ts +3 -0
  495. package/browser/Types/ShapeDrawerFunctions.d.ts +21 -0
  496. package/browser/Types/SingleOrMultiple.d.ts +3 -0
  497. package/browser/Updaters/Angle/index.d.ts +1 -1
  498. package/browser/Updaters/Angle/index.js +2 -2
  499. package/browser/Updaters/Color/ColorUpdater.js +1 -0
  500. package/browser/Updaters/Color/index.d.ts +1 -1
  501. package/browser/Updaters/Color/index.js +2 -2
  502. package/browser/Updaters/Life/LifeUpdater.js +1 -0
  503. package/browser/Updaters/Life/index.d.ts +1 -1
  504. package/browser/Updaters/Life/index.js +2 -2
  505. package/browser/Updaters/Opacity/OpacityUpdater.js +1 -0
  506. package/browser/Updaters/Opacity/index.d.ts +1 -1
  507. package/browser/Updaters/Opacity/index.js +2 -2
  508. package/browser/Updaters/OutModes/OutOfCanvasUpdater.js +1 -0
  509. package/browser/Updaters/OutModes/index.d.ts +1 -1
  510. package/browser/Updaters/OutModes/index.js +2 -2
  511. package/browser/Updaters/Roll/index.d.ts +1 -1
  512. package/browser/Updaters/Roll/index.js +2 -2
  513. package/browser/Updaters/Size/SizeUpdater.js +1 -0
  514. package/browser/Updaters/Size/index.d.ts +1 -1
  515. package/browser/Updaters/Size/index.js +2 -2
  516. package/browser/Updaters/StrokeColor/StrokeColorUpdater.js +1 -0
  517. package/browser/Updaters/StrokeColor/index.d.ts +1 -1
  518. package/browser/Updaters/StrokeColor/index.js +2 -2
  519. package/browser/Updaters/Tilt/index.d.ts +1 -1
  520. package/browser/Updaters/Tilt/index.js +2 -2
  521. package/browser/Updaters/Wobble/index.d.ts +1 -1
  522. package/browser/Updaters/Wobble/index.js +2 -2
  523. package/browser/Utils/CanvasUtils.js +4 -0
  524. package/browser/Utils/Circle.d.ts +3 -0
  525. package/browser/Utils/Circle.js +3 -0
  526. package/browser/Utils/CircleWarp.d.ts +3 -0
  527. package/browser/Utils/CircleWarp.js +3 -0
  528. package/browser/Utils/ColorUtils.d.ts +20 -0
  529. package/browser/Utils/ColorUtils.js +33 -1
  530. package/browser/Utils/Constants.d.ts +7 -0
  531. package/browser/Utils/Constants.js +7 -0
  532. package/browser/Utils/EventListeners.d.ts +32 -0
  533. package/browser/Utils/EventListeners.js +40 -0
  534. package/browser/Utils/NumberUtils.d.ts +27 -0
  535. package/browser/Utils/NumberUtils.js +27 -0
  536. package/browser/Utils/Plugins.d.ts +5 -2
  537. package/browser/Utils/Plugins.js +7 -4
  538. package/browser/Utils/Point.d.ts +3 -0
  539. package/browser/Utils/Point.js +3 -0
  540. package/browser/Utils/QuadTree.d.ts +3 -0
  541. package/browser/Utils/QuadTree.js +3 -0
  542. package/browser/Utils/Range.d.ts +3 -0
  543. package/browser/Utils/Range.js +3 -0
  544. package/browser/Utils/Rectangle.d.ts +3 -0
  545. package/browser/Utils/Rectangle.js +3 -0
  546. package/browser/Utils/Utils.d.ts +6 -2
  547. package/browser/Utils/Utils.js +14 -0
  548. package/browser/full.d.ts +1 -1
  549. package/browser/full.js +14 -6
  550. package/browser/index.d.ts +1 -2
  551. package/browser/index.js +2 -2
  552. package/browser/index.slim.d.ts +1 -2
  553. package/browser/index.slim.js +3 -2
  554. package/browser/main.d.ts +99 -6
  555. package/browser/main.js +114 -11
  556. package/browser/pjs.d.ts +27 -0
  557. package/browser/pjs.js +23 -0
  558. package/browser/slim.d.ts +1 -1
  559. package/browser/slim.js +39 -47
  560. package/esm/Core/Canvas.js +4 -6
  561. package/esm/Core/Container.d.ts +5 -2
  562. package/esm/Core/Container.js +23 -12
  563. package/esm/Core/InteractionManager.d.ts +1 -0
  564. package/esm/Core/InteractionManager.js +4 -1
  565. package/esm/Core/Particles.d.ts +1 -1
  566. package/esm/Core/Particles.js +3 -1
  567. package/esm/Enums/Modes/ResponsiveMode.d.ts +4 -0
  568. package/esm/Enums/Modes/ResponsiveMode.js +5 -0
  569. package/esm/Enums/Modes/index.d.ts +1 -0
  570. package/esm/Enums/Modes/index.js +1 -0
  571. package/esm/Interactions/External/Attract/index.d.ts +1 -1
  572. package/esm/Interactions/External/Attract/index.js +2 -2
  573. package/esm/Interactions/External/Bounce/index.d.ts +1 -1
  574. package/esm/Interactions/External/Bounce/index.js +2 -2
  575. package/esm/Interactions/External/Bubble/index.d.ts +1 -1
  576. package/esm/Interactions/External/Bubble/index.js +2 -2
  577. package/esm/Interactions/External/Connect/index.d.ts +1 -1
  578. package/esm/Interactions/External/Connect/index.js +2 -2
  579. package/esm/Interactions/External/Grab/index.d.ts +1 -1
  580. package/esm/Interactions/External/Grab/index.js +2 -2
  581. package/esm/Interactions/External/Repulse/index.d.ts +1 -1
  582. package/esm/Interactions/External/Repulse/index.js +2 -2
  583. package/esm/Interactions/External/Trail/index.d.ts +1 -1
  584. package/esm/Interactions/External/Trail/index.js +2 -2
  585. package/esm/Interactions/Particles/Attract/index.d.ts +1 -1
  586. package/esm/Interactions/Particles/Attract/index.js +2 -2
  587. package/esm/Interactions/Particles/Collisions/index.d.ts +1 -1
  588. package/esm/Interactions/Particles/Collisions/index.js +2 -2
  589. package/esm/Interactions/Particles/Links/index.d.ts +2 -2
  590. package/esm/Interactions/Particles/Links/index.js +5 -5
  591. package/esm/Interactions/Particles/Links/plugin.d.ts +1 -1
  592. package/esm/Interactions/Particles/Links/plugin.js +2 -2
  593. package/esm/Options/Classes/FullScreen/FullScreen.js +2 -2
  594. package/esm/Options/Classes/Interactivity/Interactivity.js +1 -1
  595. package/esm/Options/Classes/Options.d.ts +1 -1
  596. package/esm/Options/Classes/Options.js +6 -3
  597. package/esm/Options/Classes/Responsive.d.ts +2 -0
  598. package/esm/Options/Classes/Responsive.js +10 -0
  599. package/esm/Options/Interfaces/IResponsive.d.ts +2 -0
  600. package/esm/Plugins/Absorbers/plugin.d.ts +1 -1
  601. package/esm/Plugins/Absorbers/plugin.js +2 -2
  602. package/esm/Plugins/Emitters/plugin.d.ts +1 -1
  603. package/esm/Plugins/Emitters/plugin.js +2 -2
  604. package/esm/Plugins/PolygonMask/plugin.js +1 -1
  605. package/esm/Shapes/Circle/index.d.ts +1 -1
  606. package/esm/Shapes/Circle/index.js +2 -2
  607. package/esm/Shapes/Image/index.d.ts +1 -1
  608. package/esm/Shapes/Image/index.js +3 -3
  609. package/esm/Shapes/Line/index.d.ts +1 -1
  610. package/esm/Shapes/Line/index.js +2 -2
  611. package/esm/Shapes/Polygon/index.d.ts +3 -3
  612. package/esm/Shapes/Polygon/index.js +7 -7
  613. package/esm/Shapes/Square/index.d.ts +1 -1
  614. package/esm/Shapes/Square/index.js +3 -3
  615. package/esm/Shapes/Star/index.d.ts +1 -1
  616. package/esm/Shapes/Star/index.js +2 -2
  617. package/esm/Shapes/Text/index.d.ts +1 -1
  618. package/esm/Shapes/Text/index.js +2 -2
  619. package/esm/Updaters/Angle/index.d.ts +1 -1
  620. package/esm/Updaters/Angle/index.js +2 -2
  621. package/esm/Updaters/Color/index.d.ts +1 -1
  622. package/esm/Updaters/Color/index.js +2 -2
  623. package/esm/Updaters/Life/index.d.ts +1 -1
  624. package/esm/Updaters/Life/index.js +2 -2
  625. package/esm/Updaters/Opacity/index.d.ts +1 -1
  626. package/esm/Updaters/Opacity/index.js +2 -2
  627. package/esm/Updaters/OutModes/index.d.ts +1 -1
  628. package/esm/Updaters/OutModes/index.js +2 -2
  629. package/esm/Updaters/Roll/index.d.ts +1 -1
  630. package/esm/Updaters/Roll/index.js +2 -2
  631. package/esm/Updaters/Size/index.d.ts +1 -1
  632. package/esm/Updaters/Size/index.js +2 -2
  633. package/esm/Updaters/StrokeColor/index.d.ts +1 -1
  634. package/esm/Updaters/StrokeColor/index.js +2 -2
  635. package/esm/Updaters/Tilt/index.d.ts +1 -1
  636. package/esm/Updaters/Tilt/index.js +2 -2
  637. package/esm/Updaters/Wobble/index.d.ts +1 -1
  638. package/esm/Updaters/Wobble/index.js +2 -2
  639. package/esm/Utils/Plugins.d.ts +2 -2
  640. package/esm/Utils/Plugins.js +4 -4
  641. package/esm/Utils/Utils.d.ts +1 -2
  642. package/esm/full.d.ts +1 -1
  643. package/esm/full.js +14 -6
  644. package/esm/index.d.ts +1 -2
  645. package/esm/index.js +2 -2
  646. package/esm/index.slim.d.ts +1 -2
  647. package/esm/index.slim.js +2 -2
  648. package/esm/main.d.ts +7 -6
  649. package/esm/main.js +18 -7
  650. package/esm/slim.d.ts +1 -1
  651. package/esm/slim.js +39 -47
  652. package/full.d.ts +1 -1
  653. package/full.js +14 -6
  654. package/index.d.ts +1 -2
  655. package/index.js +2 -3
  656. package/index.slim.d.ts +1 -2
  657. package/index.slim.js +2 -3
  658. package/main.d.ts +7 -6
  659. package/main.js +18 -7
  660. package/package.json +1 -1
  661. package/report.html +2 -2
  662. package/report.slim.html +2 -2
  663. package/slim.d.ts +1 -1
  664. package/slim.js +39 -47
  665. package/tsparticles.js +10586 -13650
  666. package/tsparticles.min.js +2 -2
  667. package/tsparticles.pathseg.js +1472 -0
  668. package/tsparticles.slim.js +8521 -11340
  669. package/tsparticles.slim.min.js +2 -2
  670. package/167.js +0 -1779
@@ -0,0 +1,1472 @@
1
+ "use strict";
2
+
3
+ (window["webpackChunktsparticles"] = window["webpackChunktsparticles"] || []).push([ [ 917 ], {
4
+ 167: function() {
5
+ (function() {
6
+ "use strict";
7
+ try {
8
+ if (typeof window === "undefined") return;
9
+ if (!("SVGPathSeg" in window)) {
10
+ window.SVGPathSeg = function(type, typeAsLetter, owningPathSegList) {
11
+ this.pathSegType = type;
12
+ this.pathSegTypeAsLetter = typeAsLetter;
13
+ this._owningPathSegList = owningPathSegList;
14
+ };
15
+ window.SVGPathSeg.prototype.classname = "SVGPathSeg";
16
+ window.SVGPathSeg.PATHSEG_UNKNOWN = 0;
17
+ window.SVGPathSeg.PATHSEG_CLOSEPATH = 1;
18
+ window.SVGPathSeg.PATHSEG_MOVETO_ABS = 2;
19
+ window.SVGPathSeg.PATHSEG_MOVETO_REL = 3;
20
+ window.SVGPathSeg.PATHSEG_LINETO_ABS = 4;
21
+ window.SVGPathSeg.PATHSEG_LINETO_REL = 5;
22
+ window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS = 6;
23
+ window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL = 7;
24
+ window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS = 8;
25
+ window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL = 9;
26
+ window.SVGPathSeg.PATHSEG_ARC_ABS = 10;
27
+ window.SVGPathSeg.PATHSEG_ARC_REL = 11;
28
+ window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS = 12;
29
+ window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL = 13;
30
+ window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS = 14;
31
+ window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL = 15;
32
+ window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS = 16;
33
+ window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL = 17;
34
+ window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS = 18;
35
+ window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL = 19;
36
+ window.SVGPathSeg.prototype._segmentChanged = function() {
37
+ if (this._owningPathSegList) this._owningPathSegList.segmentChanged(this);
38
+ };
39
+ window.SVGPathSegClosePath = function(owningPathSegList) {
40
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CLOSEPATH, "z", owningPathSegList);
41
+ };
42
+ window.SVGPathSegClosePath.prototype = Object.create(window.SVGPathSeg.prototype);
43
+ window.SVGPathSegClosePath.prototype.toString = function() {
44
+ return "[object SVGPathSegClosePath]";
45
+ };
46
+ window.SVGPathSegClosePath.prototype._asPathString = function() {
47
+ return this.pathSegTypeAsLetter;
48
+ };
49
+ window.SVGPathSegClosePath.prototype.clone = function() {
50
+ return new window.SVGPathSegClosePath(undefined);
51
+ };
52
+ window.SVGPathSegMovetoAbs = function(owningPathSegList, x, y) {
53
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_ABS, "M", owningPathSegList);
54
+ this._x = x;
55
+ this._y = y;
56
+ };
57
+ window.SVGPathSegMovetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);
58
+ window.SVGPathSegMovetoAbs.prototype.toString = function() {
59
+ return "[object SVGPathSegMovetoAbs]";
60
+ };
61
+ window.SVGPathSegMovetoAbs.prototype._asPathString = function() {
62
+ return this.pathSegTypeAsLetter + " " + this._x + " " + this._y;
63
+ };
64
+ window.SVGPathSegMovetoAbs.prototype.clone = function() {
65
+ return new window.SVGPathSegMovetoAbs(undefined, this._x, this._y);
66
+ };
67
+ Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, "x", {
68
+ get: function() {
69
+ return this._x;
70
+ },
71
+ set: function(x) {
72
+ this._x = x;
73
+ this._segmentChanged();
74
+ },
75
+ enumerable: true
76
+ });
77
+ Object.defineProperty(window.SVGPathSegMovetoAbs.prototype, "y", {
78
+ get: function() {
79
+ return this._y;
80
+ },
81
+ set: function(y) {
82
+ this._y = y;
83
+ this._segmentChanged();
84
+ },
85
+ enumerable: true
86
+ });
87
+ window.SVGPathSegMovetoRel = function(owningPathSegList, x, y) {
88
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_MOVETO_REL, "m", owningPathSegList);
89
+ this._x = x;
90
+ this._y = y;
91
+ };
92
+ window.SVGPathSegMovetoRel.prototype = Object.create(window.SVGPathSeg.prototype);
93
+ window.SVGPathSegMovetoRel.prototype.toString = function() {
94
+ return "[object SVGPathSegMovetoRel]";
95
+ };
96
+ window.SVGPathSegMovetoRel.prototype._asPathString = function() {
97
+ return this.pathSegTypeAsLetter + " " + this._x + " " + this._y;
98
+ };
99
+ window.SVGPathSegMovetoRel.prototype.clone = function() {
100
+ return new window.SVGPathSegMovetoRel(undefined, this._x, this._y);
101
+ };
102
+ Object.defineProperty(window.SVGPathSegMovetoRel.prototype, "x", {
103
+ get: function() {
104
+ return this._x;
105
+ },
106
+ set: function(x) {
107
+ this._x = x;
108
+ this._segmentChanged();
109
+ },
110
+ enumerable: true
111
+ });
112
+ Object.defineProperty(window.SVGPathSegMovetoRel.prototype, "y", {
113
+ get: function() {
114
+ return this._y;
115
+ },
116
+ set: function(y) {
117
+ this._y = y;
118
+ this._segmentChanged();
119
+ },
120
+ enumerable: true
121
+ });
122
+ window.SVGPathSegLinetoAbs = function(owningPathSegList, x, y) {
123
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_ABS, "L", owningPathSegList);
124
+ this._x = x;
125
+ this._y = y;
126
+ };
127
+ window.SVGPathSegLinetoAbs.prototype = Object.create(window.SVGPathSeg.prototype);
128
+ window.SVGPathSegLinetoAbs.prototype.toString = function() {
129
+ return "[object SVGPathSegLinetoAbs]";
130
+ };
131
+ window.SVGPathSegLinetoAbs.prototype._asPathString = function() {
132
+ return this.pathSegTypeAsLetter + " " + this._x + " " + this._y;
133
+ };
134
+ window.SVGPathSegLinetoAbs.prototype.clone = function() {
135
+ return new window.SVGPathSegLinetoAbs(undefined, this._x, this._y);
136
+ };
137
+ Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, "x", {
138
+ get: function() {
139
+ return this._x;
140
+ },
141
+ set: function(x) {
142
+ this._x = x;
143
+ this._segmentChanged();
144
+ },
145
+ enumerable: true
146
+ });
147
+ Object.defineProperty(window.SVGPathSegLinetoAbs.prototype, "y", {
148
+ get: function() {
149
+ return this._y;
150
+ },
151
+ set: function(y) {
152
+ this._y = y;
153
+ this._segmentChanged();
154
+ },
155
+ enumerable: true
156
+ });
157
+ window.SVGPathSegLinetoRel = function(owningPathSegList, x, y) {
158
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_REL, "l", owningPathSegList);
159
+ this._x = x;
160
+ this._y = y;
161
+ };
162
+ window.SVGPathSegLinetoRel.prototype = Object.create(window.SVGPathSeg.prototype);
163
+ window.SVGPathSegLinetoRel.prototype.toString = function() {
164
+ return "[object SVGPathSegLinetoRel]";
165
+ };
166
+ window.SVGPathSegLinetoRel.prototype._asPathString = function() {
167
+ return this.pathSegTypeAsLetter + " " + this._x + " " + this._y;
168
+ };
169
+ window.SVGPathSegLinetoRel.prototype.clone = function() {
170
+ return new window.SVGPathSegLinetoRel(undefined, this._x, this._y);
171
+ };
172
+ Object.defineProperty(window.SVGPathSegLinetoRel.prototype, "x", {
173
+ get: function() {
174
+ return this._x;
175
+ },
176
+ set: function(x) {
177
+ this._x = x;
178
+ this._segmentChanged();
179
+ },
180
+ enumerable: true
181
+ });
182
+ Object.defineProperty(window.SVGPathSegLinetoRel.prototype, "y", {
183
+ get: function() {
184
+ return this._y;
185
+ },
186
+ set: function(y) {
187
+ this._y = y;
188
+ this._segmentChanged();
189
+ },
190
+ enumerable: true
191
+ });
192
+ window.SVGPathSegCurvetoCubicAbs = function(owningPathSegList, x, y, x1, y1, x2, y2) {
193
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS, "C", owningPathSegList);
194
+ this._x = x;
195
+ this._y = y;
196
+ this._x1 = x1;
197
+ this._y1 = y1;
198
+ this._x2 = x2;
199
+ this._y2 = y2;
200
+ };
201
+ window.SVGPathSegCurvetoCubicAbs.prototype = Object.create(window.SVGPathSeg.prototype);
202
+ window.SVGPathSegCurvetoCubicAbs.prototype.toString = function() {
203
+ return "[object SVGPathSegCurvetoCubicAbs]";
204
+ };
205
+ window.SVGPathSegCurvetoCubicAbs.prototype._asPathString = function() {
206
+ return this.pathSegTypeAsLetter + " " + this._x1 + " " + this._y1 + " " + this._x2 + " " + this._y2 + " " + this._x + " " + this._y;
207
+ };
208
+ window.SVGPathSegCurvetoCubicAbs.prototype.clone = function() {
209
+ return new window.SVGPathSegCurvetoCubicAbs(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);
210
+ };
211
+ Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, "x", {
212
+ get: function() {
213
+ return this._x;
214
+ },
215
+ set: function(x) {
216
+ this._x = x;
217
+ this._segmentChanged();
218
+ },
219
+ enumerable: true
220
+ });
221
+ Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, "y", {
222
+ get: function() {
223
+ return this._y;
224
+ },
225
+ set: function(y) {
226
+ this._y = y;
227
+ this._segmentChanged();
228
+ },
229
+ enumerable: true
230
+ });
231
+ Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, "x1", {
232
+ get: function() {
233
+ return this._x1;
234
+ },
235
+ set: function(x1) {
236
+ this._x1 = x1;
237
+ this._segmentChanged();
238
+ },
239
+ enumerable: true
240
+ });
241
+ Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, "y1", {
242
+ get: function() {
243
+ return this._y1;
244
+ },
245
+ set: function(y1) {
246
+ this._y1 = y1;
247
+ this._segmentChanged();
248
+ },
249
+ enumerable: true
250
+ });
251
+ Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, "x2", {
252
+ get: function() {
253
+ return this._x2;
254
+ },
255
+ set: function(x2) {
256
+ this._x2 = x2;
257
+ this._segmentChanged();
258
+ },
259
+ enumerable: true
260
+ });
261
+ Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype, "y2", {
262
+ get: function() {
263
+ return this._y2;
264
+ },
265
+ set: function(y2) {
266
+ this._y2 = y2;
267
+ this._segmentChanged();
268
+ },
269
+ enumerable: true
270
+ });
271
+ window.SVGPathSegCurvetoCubicRel = function(owningPathSegList, x, y, x1, y1, x2, y2) {
272
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL, "c", owningPathSegList);
273
+ this._x = x;
274
+ this._y = y;
275
+ this._x1 = x1;
276
+ this._y1 = y1;
277
+ this._x2 = x2;
278
+ this._y2 = y2;
279
+ };
280
+ window.SVGPathSegCurvetoCubicRel.prototype = Object.create(window.SVGPathSeg.prototype);
281
+ window.SVGPathSegCurvetoCubicRel.prototype.toString = function() {
282
+ return "[object SVGPathSegCurvetoCubicRel]";
283
+ };
284
+ window.SVGPathSegCurvetoCubicRel.prototype._asPathString = function() {
285
+ return this.pathSegTypeAsLetter + " " + this._x1 + " " + this._y1 + " " + this._x2 + " " + this._y2 + " " + this._x + " " + this._y;
286
+ };
287
+ window.SVGPathSegCurvetoCubicRel.prototype.clone = function() {
288
+ return new window.SVGPathSegCurvetoCubicRel(undefined, this._x, this._y, this._x1, this._y1, this._x2, this._y2);
289
+ };
290
+ Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, "x", {
291
+ get: function() {
292
+ return this._x;
293
+ },
294
+ set: function(x) {
295
+ this._x = x;
296
+ this._segmentChanged();
297
+ },
298
+ enumerable: true
299
+ });
300
+ Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, "y", {
301
+ get: function() {
302
+ return this._y;
303
+ },
304
+ set: function(y) {
305
+ this._y = y;
306
+ this._segmentChanged();
307
+ },
308
+ enumerable: true
309
+ });
310
+ Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, "x1", {
311
+ get: function() {
312
+ return this._x1;
313
+ },
314
+ set: function(x1) {
315
+ this._x1 = x1;
316
+ this._segmentChanged();
317
+ },
318
+ enumerable: true
319
+ });
320
+ Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, "y1", {
321
+ get: function() {
322
+ return this._y1;
323
+ },
324
+ set: function(y1) {
325
+ this._y1 = y1;
326
+ this._segmentChanged();
327
+ },
328
+ enumerable: true
329
+ });
330
+ Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, "x2", {
331
+ get: function() {
332
+ return this._x2;
333
+ },
334
+ set: function(x2) {
335
+ this._x2 = x2;
336
+ this._segmentChanged();
337
+ },
338
+ enumerable: true
339
+ });
340
+ Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype, "y2", {
341
+ get: function() {
342
+ return this._y2;
343
+ },
344
+ set: function(y2) {
345
+ this._y2 = y2;
346
+ this._segmentChanged();
347
+ },
348
+ enumerable: true
349
+ });
350
+ window.SVGPathSegCurvetoQuadraticAbs = function(owningPathSegList, x, y, x1, y1) {
351
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS, "Q", owningPathSegList);
352
+ this._x = x;
353
+ this._y = y;
354
+ this._x1 = x1;
355
+ this._y1 = y1;
356
+ };
357
+ window.SVGPathSegCurvetoQuadraticAbs.prototype = Object.create(window.SVGPathSeg.prototype);
358
+ window.SVGPathSegCurvetoQuadraticAbs.prototype.toString = function() {
359
+ return "[object SVGPathSegCurvetoQuadraticAbs]";
360
+ };
361
+ window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString = function() {
362
+ return this.pathSegTypeAsLetter + " " + this._x1 + " " + this._y1 + " " + this._x + " " + this._y;
363
+ };
364
+ window.SVGPathSegCurvetoQuadraticAbs.prototype.clone = function() {
365
+ return new window.SVGPathSegCurvetoQuadraticAbs(undefined, this._x, this._y, this._x1, this._y1);
366
+ };
367
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, "x", {
368
+ get: function() {
369
+ return this._x;
370
+ },
371
+ set: function(x) {
372
+ this._x = x;
373
+ this._segmentChanged();
374
+ },
375
+ enumerable: true
376
+ });
377
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, "y", {
378
+ get: function() {
379
+ return this._y;
380
+ },
381
+ set: function(y) {
382
+ this._y = y;
383
+ this._segmentChanged();
384
+ },
385
+ enumerable: true
386
+ });
387
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, "x1", {
388
+ get: function() {
389
+ return this._x1;
390
+ },
391
+ set: function(x1) {
392
+ this._x1 = x1;
393
+ this._segmentChanged();
394
+ },
395
+ enumerable: true
396
+ });
397
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype, "y1", {
398
+ get: function() {
399
+ return this._y1;
400
+ },
401
+ set: function(y1) {
402
+ this._y1 = y1;
403
+ this._segmentChanged();
404
+ },
405
+ enumerable: true
406
+ });
407
+ window.SVGPathSegCurvetoQuadraticRel = function(owningPathSegList, x, y, x1, y1) {
408
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL, "q", owningPathSegList);
409
+ this._x = x;
410
+ this._y = y;
411
+ this._x1 = x1;
412
+ this._y1 = y1;
413
+ };
414
+ window.SVGPathSegCurvetoQuadraticRel.prototype = Object.create(window.SVGPathSeg.prototype);
415
+ window.SVGPathSegCurvetoQuadraticRel.prototype.toString = function() {
416
+ return "[object SVGPathSegCurvetoQuadraticRel]";
417
+ };
418
+ window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString = function() {
419
+ return this.pathSegTypeAsLetter + " " + this._x1 + " " + this._y1 + " " + this._x + " " + this._y;
420
+ };
421
+ window.SVGPathSegCurvetoQuadraticRel.prototype.clone = function() {
422
+ return new window.SVGPathSegCurvetoQuadraticRel(undefined, this._x, this._y, this._x1, this._y1);
423
+ };
424
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, "x", {
425
+ get: function() {
426
+ return this._x;
427
+ },
428
+ set: function(x) {
429
+ this._x = x;
430
+ this._segmentChanged();
431
+ },
432
+ enumerable: true
433
+ });
434
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, "y", {
435
+ get: function() {
436
+ return this._y;
437
+ },
438
+ set: function(y) {
439
+ this._y = y;
440
+ this._segmentChanged();
441
+ },
442
+ enumerable: true
443
+ });
444
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, "x1", {
445
+ get: function() {
446
+ return this._x1;
447
+ },
448
+ set: function(x1) {
449
+ this._x1 = x1;
450
+ this._segmentChanged();
451
+ },
452
+ enumerable: true
453
+ });
454
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype, "y1", {
455
+ get: function() {
456
+ return this._y1;
457
+ },
458
+ set: function(y1) {
459
+ this._y1 = y1;
460
+ this._segmentChanged();
461
+ },
462
+ enumerable: true
463
+ });
464
+ window.SVGPathSegArcAbs = function(owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
465
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_ABS, "A", owningPathSegList);
466
+ this._x = x;
467
+ this._y = y;
468
+ this._r1 = r1;
469
+ this._r2 = r2;
470
+ this._angle = angle;
471
+ this._largeArcFlag = largeArcFlag;
472
+ this._sweepFlag = sweepFlag;
473
+ };
474
+ window.SVGPathSegArcAbs.prototype = Object.create(window.SVGPathSeg.prototype);
475
+ window.SVGPathSegArcAbs.prototype.toString = function() {
476
+ return "[object SVGPathSegArcAbs]";
477
+ };
478
+ window.SVGPathSegArcAbs.prototype._asPathString = function() {
479
+ return this.pathSegTypeAsLetter + " " + this._r1 + " " + this._r2 + " " + this._angle + " " + (this._largeArcFlag ? "1" : "0") + " " + (this._sweepFlag ? "1" : "0") + " " + this._x + " " + this._y;
480
+ };
481
+ window.SVGPathSegArcAbs.prototype.clone = function() {
482
+ return new window.SVGPathSegArcAbs(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);
483
+ };
484
+ Object.defineProperty(window.SVGPathSegArcAbs.prototype, "x", {
485
+ get: function() {
486
+ return this._x;
487
+ },
488
+ set: function(x) {
489
+ this._x = x;
490
+ this._segmentChanged();
491
+ },
492
+ enumerable: true
493
+ });
494
+ Object.defineProperty(window.SVGPathSegArcAbs.prototype, "y", {
495
+ get: function() {
496
+ return this._y;
497
+ },
498
+ set: function(y) {
499
+ this._y = y;
500
+ this._segmentChanged();
501
+ },
502
+ enumerable: true
503
+ });
504
+ Object.defineProperty(window.SVGPathSegArcAbs.prototype, "r1", {
505
+ get: function() {
506
+ return this._r1;
507
+ },
508
+ set: function(r1) {
509
+ this._r1 = r1;
510
+ this._segmentChanged();
511
+ },
512
+ enumerable: true
513
+ });
514
+ Object.defineProperty(window.SVGPathSegArcAbs.prototype, "r2", {
515
+ get: function() {
516
+ return this._r2;
517
+ },
518
+ set: function(r2) {
519
+ this._r2 = r2;
520
+ this._segmentChanged();
521
+ },
522
+ enumerable: true
523
+ });
524
+ Object.defineProperty(window.SVGPathSegArcAbs.prototype, "angle", {
525
+ get: function() {
526
+ return this._angle;
527
+ },
528
+ set: function(angle) {
529
+ this._angle = angle;
530
+ this._segmentChanged();
531
+ },
532
+ enumerable: true
533
+ });
534
+ Object.defineProperty(window.SVGPathSegArcAbs.prototype, "largeArcFlag", {
535
+ get: function() {
536
+ return this._largeArcFlag;
537
+ },
538
+ set: function(largeArcFlag) {
539
+ this._largeArcFlag = largeArcFlag;
540
+ this._segmentChanged();
541
+ },
542
+ enumerable: true
543
+ });
544
+ Object.defineProperty(window.SVGPathSegArcAbs.prototype, "sweepFlag", {
545
+ get: function() {
546
+ return this._sweepFlag;
547
+ },
548
+ set: function(sweepFlag) {
549
+ this._sweepFlag = sweepFlag;
550
+ this._segmentChanged();
551
+ },
552
+ enumerable: true
553
+ });
554
+ window.SVGPathSegArcRel = function(owningPathSegList, x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
555
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_ARC_REL, "a", owningPathSegList);
556
+ this._x = x;
557
+ this._y = y;
558
+ this._r1 = r1;
559
+ this._r2 = r2;
560
+ this._angle = angle;
561
+ this._largeArcFlag = largeArcFlag;
562
+ this._sweepFlag = sweepFlag;
563
+ };
564
+ window.SVGPathSegArcRel.prototype = Object.create(window.SVGPathSeg.prototype);
565
+ window.SVGPathSegArcRel.prototype.toString = function() {
566
+ return "[object SVGPathSegArcRel]";
567
+ };
568
+ window.SVGPathSegArcRel.prototype._asPathString = function() {
569
+ return this.pathSegTypeAsLetter + " " + this._r1 + " " + this._r2 + " " + this._angle + " " + (this._largeArcFlag ? "1" : "0") + " " + (this._sweepFlag ? "1" : "0") + " " + this._x + " " + this._y;
570
+ };
571
+ window.SVGPathSegArcRel.prototype.clone = function() {
572
+ return new window.SVGPathSegArcRel(undefined, this._x, this._y, this._r1, this._r2, this._angle, this._largeArcFlag, this._sweepFlag);
573
+ };
574
+ Object.defineProperty(window.SVGPathSegArcRel.prototype, "x", {
575
+ get: function() {
576
+ return this._x;
577
+ },
578
+ set: function(x) {
579
+ this._x = x;
580
+ this._segmentChanged();
581
+ },
582
+ enumerable: true
583
+ });
584
+ Object.defineProperty(window.SVGPathSegArcRel.prototype, "y", {
585
+ get: function() {
586
+ return this._y;
587
+ },
588
+ set: function(y) {
589
+ this._y = y;
590
+ this._segmentChanged();
591
+ },
592
+ enumerable: true
593
+ });
594
+ Object.defineProperty(window.SVGPathSegArcRel.prototype, "r1", {
595
+ get: function() {
596
+ return this._r1;
597
+ },
598
+ set: function(r1) {
599
+ this._r1 = r1;
600
+ this._segmentChanged();
601
+ },
602
+ enumerable: true
603
+ });
604
+ Object.defineProperty(window.SVGPathSegArcRel.prototype, "r2", {
605
+ get: function() {
606
+ return this._r2;
607
+ },
608
+ set: function(r2) {
609
+ this._r2 = r2;
610
+ this._segmentChanged();
611
+ },
612
+ enumerable: true
613
+ });
614
+ Object.defineProperty(window.SVGPathSegArcRel.prototype, "angle", {
615
+ get: function() {
616
+ return this._angle;
617
+ },
618
+ set: function(angle) {
619
+ this._angle = angle;
620
+ this._segmentChanged();
621
+ },
622
+ enumerable: true
623
+ });
624
+ Object.defineProperty(window.SVGPathSegArcRel.prototype, "largeArcFlag", {
625
+ get: function() {
626
+ return this._largeArcFlag;
627
+ },
628
+ set: function(largeArcFlag) {
629
+ this._largeArcFlag = largeArcFlag;
630
+ this._segmentChanged();
631
+ },
632
+ enumerable: true
633
+ });
634
+ Object.defineProperty(window.SVGPathSegArcRel.prototype, "sweepFlag", {
635
+ get: function() {
636
+ return this._sweepFlag;
637
+ },
638
+ set: function(sweepFlag) {
639
+ this._sweepFlag = sweepFlag;
640
+ this._segmentChanged();
641
+ },
642
+ enumerable: true
643
+ });
644
+ window.SVGPathSegLinetoHorizontalAbs = function(owningPathSegList, x) {
645
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS, "H", owningPathSegList);
646
+ this._x = x;
647
+ };
648
+ window.SVGPathSegLinetoHorizontalAbs.prototype = Object.create(window.SVGPathSeg.prototype);
649
+ window.SVGPathSegLinetoHorizontalAbs.prototype.toString = function() {
650
+ return "[object SVGPathSegLinetoHorizontalAbs]";
651
+ };
652
+ window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString = function() {
653
+ return this.pathSegTypeAsLetter + " " + this._x;
654
+ };
655
+ window.SVGPathSegLinetoHorizontalAbs.prototype.clone = function() {
656
+ return new window.SVGPathSegLinetoHorizontalAbs(undefined, this._x);
657
+ };
658
+ Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype, "x", {
659
+ get: function() {
660
+ return this._x;
661
+ },
662
+ set: function(x) {
663
+ this._x = x;
664
+ this._segmentChanged();
665
+ },
666
+ enumerable: true
667
+ });
668
+ window.SVGPathSegLinetoHorizontalRel = function(owningPathSegList, x) {
669
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL, "h", owningPathSegList);
670
+ this._x = x;
671
+ };
672
+ window.SVGPathSegLinetoHorizontalRel.prototype = Object.create(window.SVGPathSeg.prototype);
673
+ window.SVGPathSegLinetoHorizontalRel.prototype.toString = function() {
674
+ return "[object SVGPathSegLinetoHorizontalRel]";
675
+ };
676
+ window.SVGPathSegLinetoHorizontalRel.prototype._asPathString = function() {
677
+ return this.pathSegTypeAsLetter + " " + this._x;
678
+ };
679
+ window.SVGPathSegLinetoHorizontalRel.prototype.clone = function() {
680
+ return new window.SVGPathSegLinetoHorizontalRel(undefined, this._x);
681
+ };
682
+ Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype, "x", {
683
+ get: function() {
684
+ return this._x;
685
+ },
686
+ set: function(x) {
687
+ this._x = x;
688
+ this._segmentChanged();
689
+ },
690
+ enumerable: true
691
+ });
692
+ window.SVGPathSegLinetoVerticalAbs = function(owningPathSegList, y) {
693
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS, "V", owningPathSegList);
694
+ this._y = y;
695
+ };
696
+ window.SVGPathSegLinetoVerticalAbs.prototype = Object.create(window.SVGPathSeg.prototype);
697
+ window.SVGPathSegLinetoVerticalAbs.prototype.toString = function() {
698
+ return "[object SVGPathSegLinetoVerticalAbs]";
699
+ };
700
+ window.SVGPathSegLinetoVerticalAbs.prototype._asPathString = function() {
701
+ return this.pathSegTypeAsLetter + " " + this._y;
702
+ };
703
+ window.SVGPathSegLinetoVerticalAbs.prototype.clone = function() {
704
+ return new window.SVGPathSegLinetoVerticalAbs(undefined, this._y);
705
+ };
706
+ Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype, "y", {
707
+ get: function() {
708
+ return this._y;
709
+ },
710
+ set: function(y) {
711
+ this._y = y;
712
+ this._segmentChanged();
713
+ },
714
+ enumerable: true
715
+ });
716
+ window.SVGPathSegLinetoVerticalRel = function(owningPathSegList, y) {
717
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL, "v", owningPathSegList);
718
+ this._y = y;
719
+ };
720
+ window.SVGPathSegLinetoVerticalRel.prototype = Object.create(window.SVGPathSeg.prototype);
721
+ window.SVGPathSegLinetoVerticalRel.prototype.toString = function() {
722
+ return "[object SVGPathSegLinetoVerticalRel]";
723
+ };
724
+ window.SVGPathSegLinetoVerticalRel.prototype._asPathString = function() {
725
+ return this.pathSegTypeAsLetter + " " + this._y;
726
+ };
727
+ window.SVGPathSegLinetoVerticalRel.prototype.clone = function() {
728
+ return new window.SVGPathSegLinetoVerticalRel(undefined, this._y);
729
+ };
730
+ Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype, "y", {
731
+ get: function() {
732
+ return this._y;
733
+ },
734
+ set: function(y) {
735
+ this._y = y;
736
+ this._segmentChanged();
737
+ },
738
+ enumerable: true
739
+ });
740
+ window.SVGPathSegCurvetoCubicSmoothAbs = function(owningPathSegList, x, y, x2, y2) {
741
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS, "S", owningPathSegList);
742
+ this._x = x;
743
+ this._y = y;
744
+ this._x2 = x2;
745
+ this._y2 = y2;
746
+ };
747
+ window.SVGPathSegCurvetoCubicSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);
748
+ window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString = function() {
749
+ return "[object SVGPathSegCurvetoCubicSmoothAbs]";
750
+ };
751
+ window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString = function() {
752
+ return this.pathSegTypeAsLetter + " " + this._x2 + " " + this._y2 + " " + this._x + " " + this._y;
753
+ };
754
+ window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone = function() {
755
+ return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, this._x, this._y, this._x2, this._y2);
756
+ };
757
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, "x", {
758
+ get: function() {
759
+ return this._x;
760
+ },
761
+ set: function(x) {
762
+ this._x = x;
763
+ this._segmentChanged();
764
+ },
765
+ enumerable: true
766
+ });
767
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, "y", {
768
+ get: function() {
769
+ return this._y;
770
+ },
771
+ set: function(y) {
772
+ this._y = y;
773
+ this._segmentChanged();
774
+ },
775
+ enumerable: true
776
+ });
777
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, "x2", {
778
+ get: function() {
779
+ return this._x2;
780
+ },
781
+ set: function(x2) {
782
+ this._x2 = x2;
783
+ this._segmentChanged();
784
+ },
785
+ enumerable: true
786
+ });
787
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype, "y2", {
788
+ get: function() {
789
+ return this._y2;
790
+ },
791
+ set: function(y2) {
792
+ this._y2 = y2;
793
+ this._segmentChanged();
794
+ },
795
+ enumerable: true
796
+ });
797
+ window.SVGPathSegCurvetoCubicSmoothRel = function(owningPathSegList, x, y, x2, y2) {
798
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL, "s", owningPathSegList);
799
+ this._x = x;
800
+ this._y = y;
801
+ this._x2 = x2;
802
+ this._y2 = y2;
803
+ };
804
+ window.SVGPathSegCurvetoCubicSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);
805
+ window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString = function() {
806
+ return "[object SVGPathSegCurvetoCubicSmoothRel]";
807
+ };
808
+ window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString = function() {
809
+ return this.pathSegTypeAsLetter + " " + this._x2 + " " + this._y2 + " " + this._x + " " + this._y;
810
+ };
811
+ window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone = function() {
812
+ return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, this._x, this._y, this._x2, this._y2);
813
+ };
814
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, "x", {
815
+ get: function() {
816
+ return this._x;
817
+ },
818
+ set: function(x) {
819
+ this._x = x;
820
+ this._segmentChanged();
821
+ },
822
+ enumerable: true
823
+ });
824
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, "y", {
825
+ get: function() {
826
+ return this._y;
827
+ },
828
+ set: function(y) {
829
+ this._y = y;
830
+ this._segmentChanged();
831
+ },
832
+ enumerable: true
833
+ });
834
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, "x2", {
835
+ get: function() {
836
+ return this._x2;
837
+ },
838
+ set: function(x2) {
839
+ this._x2 = x2;
840
+ this._segmentChanged();
841
+ },
842
+ enumerable: true
843
+ });
844
+ Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype, "y2", {
845
+ get: function() {
846
+ return this._y2;
847
+ },
848
+ set: function(y2) {
849
+ this._y2 = y2;
850
+ this._segmentChanged();
851
+ },
852
+ enumerable: true
853
+ });
854
+ window.SVGPathSegCurvetoQuadraticSmoothAbs = function(owningPathSegList, x, y) {
855
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS, "T", owningPathSegList);
856
+ this._x = x;
857
+ this._y = y;
858
+ };
859
+ window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype = Object.create(window.SVGPathSeg.prototype);
860
+ window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString = function() {
861
+ return "[object SVGPathSegCurvetoQuadraticSmoothAbs]";
862
+ };
863
+ window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString = function() {
864
+ return this.pathSegTypeAsLetter + " " + this._x + " " + this._y;
865
+ };
866
+ window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone = function() {
867
+ return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, this._x, this._y);
868
+ };
869
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, "x", {
870
+ get: function() {
871
+ return this._x;
872
+ },
873
+ set: function(x) {
874
+ this._x = x;
875
+ this._segmentChanged();
876
+ },
877
+ enumerable: true
878
+ });
879
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype, "y", {
880
+ get: function() {
881
+ return this._y;
882
+ },
883
+ set: function(y) {
884
+ this._y = y;
885
+ this._segmentChanged();
886
+ },
887
+ enumerable: true
888
+ });
889
+ window.SVGPathSegCurvetoQuadraticSmoothRel = function(owningPathSegList, x, y) {
890
+ window.SVGPathSeg.call(this, window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL, "t", owningPathSegList);
891
+ this._x = x;
892
+ this._y = y;
893
+ };
894
+ window.SVGPathSegCurvetoQuadraticSmoothRel.prototype = Object.create(window.SVGPathSeg.prototype);
895
+ window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString = function() {
896
+ return "[object SVGPathSegCurvetoQuadraticSmoothRel]";
897
+ };
898
+ window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString = function() {
899
+ return this.pathSegTypeAsLetter + " " + this._x + " " + this._y;
900
+ };
901
+ window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone = function() {
902
+ return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, this._x, this._y);
903
+ };
904
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, "x", {
905
+ get: function() {
906
+ return this._x;
907
+ },
908
+ set: function(x) {
909
+ this._x = x;
910
+ this._segmentChanged();
911
+ },
912
+ enumerable: true
913
+ });
914
+ Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype, "y", {
915
+ get: function() {
916
+ return this._y;
917
+ },
918
+ set: function(y) {
919
+ this._y = y;
920
+ this._segmentChanged();
921
+ },
922
+ enumerable: true
923
+ });
924
+ window.SVGPathElement.prototype.createSVGPathSegClosePath = function() {
925
+ return new window.SVGPathSegClosePath(undefined);
926
+ };
927
+ window.SVGPathElement.prototype.createSVGPathSegMovetoAbs = function(x, y) {
928
+ return new window.SVGPathSegMovetoAbs(undefined, x, y);
929
+ };
930
+ window.SVGPathElement.prototype.createSVGPathSegMovetoRel = function(x, y) {
931
+ return new window.SVGPathSegMovetoRel(undefined, x, y);
932
+ };
933
+ window.SVGPathElement.prototype.createSVGPathSegLinetoAbs = function(x, y) {
934
+ return new window.SVGPathSegLinetoAbs(undefined, x, y);
935
+ };
936
+ window.SVGPathElement.prototype.createSVGPathSegLinetoRel = function(x, y) {
937
+ return new window.SVGPathSegLinetoRel(undefined, x, y);
938
+ };
939
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs = function(x, y, x1, y1, x2, y2) {
940
+ return new window.SVGPathSegCurvetoCubicAbs(undefined, x, y, x1, y1, x2, y2);
941
+ };
942
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel = function(x, y, x1, y1, x2, y2) {
943
+ return new window.SVGPathSegCurvetoCubicRel(undefined, x, y, x1, y1, x2, y2);
944
+ };
945
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs = function(x, y, x1, y1) {
946
+ return new window.SVGPathSegCurvetoQuadraticAbs(undefined, x, y, x1, y1);
947
+ };
948
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel = function(x, y, x1, y1) {
949
+ return new window.SVGPathSegCurvetoQuadraticRel(undefined, x, y, x1, y1);
950
+ };
951
+ window.SVGPathElement.prototype.createSVGPathSegArcAbs = function(x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
952
+ return new window.SVGPathSegArcAbs(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);
953
+ };
954
+ window.SVGPathElement.prototype.createSVGPathSegArcRel = function(x, y, r1, r2, angle, largeArcFlag, sweepFlag) {
955
+ return new window.SVGPathSegArcRel(undefined, x, y, r1, r2, angle, largeArcFlag, sweepFlag);
956
+ };
957
+ window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs = function(x) {
958
+ return new window.SVGPathSegLinetoHorizontalAbs(undefined, x);
959
+ };
960
+ window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel = function(x) {
961
+ return new window.SVGPathSegLinetoHorizontalRel(undefined, x);
962
+ };
963
+ window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs = function(y) {
964
+ return new window.SVGPathSegLinetoVerticalAbs(undefined, y);
965
+ };
966
+ window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel = function(y) {
967
+ return new window.SVGPathSegLinetoVerticalRel(undefined, y);
968
+ };
969
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs = function(x, y, x2, y2) {
970
+ return new window.SVGPathSegCurvetoCubicSmoothAbs(undefined, x, y, x2, y2);
971
+ };
972
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel = function(x, y, x2, y2) {
973
+ return new window.SVGPathSegCurvetoCubicSmoothRel(undefined, x, y, x2, y2);
974
+ };
975
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs = function(x, y) {
976
+ return new window.SVGPathSegCurvetoQuadraticSmoothAbs(undefined, x, y);
977
+ };
978
+ window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel = function(x, y) {
979
+ return new window.SVGPathSegCurvetoQuadraticSmoothRel(undefined, x, y);
980
+ };
981
+ if (!("getPathSegAtLength" in window.SVGPathElement.prototype)) {
982
+ window.SVGPathElement.prototype.getPathSegAtLength = function(distance) {
983
+ if (distance === undefined || !isFinite(distance)) throw "Invalid arguments.";
984
+ var measurementElement = document.createElementNS("http://www.w3.org/2000/svg", "path");
985
+ measurementElement.setAttribute("d", this.getAttribute("d"));
986
+ var lastPathSegment = measurementElement.pathSegList.numberOfItems - 1;
987
+ if (lastPathSegment <= 0) return 0;
988
+ do {
989
+ measurementElement.pathSegList.removeItem(lastPathSegment);
990
+ if (distance > measurementElement.getTotalLength()) break;
991
+ lastPathSegment--;
992
+ } while (lastPathSegment > 0);
993
+ return lastPathSegment;
994
+ };
995
+ }
996
+ }
997
+ if (!("SVGPathSegList" in window) || !("appendItem" in window.SVGPathSegList.prototype)) {
998
+ window.SVGPathSegList = function(pathElement) {
999
+ this._pathElement = pathElement;
1000
+ this._list = this._parsePath(this._pathElement.getAttribute("d"));
1001
+ this._mutationObserverConfig = {
1002
+ attributes: true,
1003
+ attributeFilter: [ "d" ]
1004
+ };
1005
+ this._pathElementMutationObserver = new MutationObserver(this._updateListFromPathMutations.bind(this));
1006
+ this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);
1007
+ };
1008
+ window.SVGPathSegList.prototype.classname = "SVGPathSegList";
1009
+ Object.defineProperty(window.SVGPathSegList.prototype, "numberOfItems", {
1010
+ get: function() {
1011
+ this._checkPathSynchronizedToList();
1012
+ return this._list.length;
1013
+ },
1014
+ enumerable: true
1015
+ });
1016
+ Object.defineProperty(window.SVGPathSegList.prototype, "length", {
1017
+ get: function() {
1018
+ this._checkPathSynchronizedToList();
1019
+ return this._list.length;
1020
+ },
1021
+ enumerable: true
1022
+ });
1023
+ Object.defineProperty(window.SVGPathElement.prototype, "pathSegList", {
1024
+ get: function() {
1025
+ if (!this._pathSegList) this._pathSegList = new window.SVGPathSegList(this);
1026
+ return this._pathSegList;
1027
+ },
1028
+ enumerable: true
1029
+ });
1030
+ Object.defineProperty(window.SVGPathElement.prototype, "normalizedPathSegList", {
1031
+ get: function() {
1032
+ return this.pathSegList;
1033
+ },
1034
+ enumerable: true
1035
+ });
1036
+ Object.defineProperty(window.SVGPathElement.prototype, "animatedPathSegList", {
1037
+ get: function() {
1038
+ return this.pathSegList;
1039
+ },
1040
+ enumerable: true
1041
+ });
1042
+ Object.defineProperty(window.SVGPathElement.prototype, "animatedNormalizedPathSegList", {
1043
+ get: function() {
1044
+ return this.pathSegList;
1045
+ },
1046
+ enumerable: true
1047
+ });
1048
+ window.SVGPathSegList.prototype._checkPathSynchronizedToList = function() {
1049
+ this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords());
1050
+ };
1051
+ window.SVGPathSegList.prototype._updateListFromPathMutations = function(mutationRecords) {
1052
+ if (!this._pathElement) return;
1053
+ var hasPathMutations = false;
1054
+ mutationRecords.forEach((function(record) {
1055
+ if (record.attributeName == "d") hasPathMutations = true;
1056
+ }));
1057
+ if (hasPathMutations) this._list = this._parsePath(this._pathElement.getAttribute("d"));
1058
+ };
1059
+ window.SVGPathSegList.prototype._writeListToPath = function() {
1060
+ this._pathElementMutationObserver.disconnect();
1061
+ this._pathElement.setAttribute("d", window.SVGPathSegList._pathSegArrayAsString(this._list));
1062
+ this._pathElementMutationObserver.observe(this._pathElement, this._mutationObserverConfig);
1063
+ };
1064
+ window.SVGPathSegList.prototype.segmentChanged = function(pathSeg) {
1065
+ this._writeListToPath();
1066
+ };
1067
+ window.SVGPathSegList.prototype.clear = function() {
1068
+ this._checkPathSynchronizedToList();
1069
+ this._list.forEach((function(pathSeg) {
1070
+ pathSeg._owningPathSegList = null;
1071
+ }));
1072
+ this._list = [];
1073
+ this._writeListToPath();
1074
+ };
1075
+ window.SVGPathSegList.prototype.initialize = function(newItem) {
1076
+ this._checkPathSynchronizedToList();
1077
+ this._list = [ newItem ];
1078
+ newItem._owningPathSegList = this;
1079
+ this._writeListToPath();
1080
+ return newItem;
1081
+ };
1082
+ window.SVGPathSegList.prototype._checkValidIndex = function(index) {
1083
+ if (isNaN(index) || index < 0 || index >= this.numberOfItems) throw "INDEX_SIZE_ERR";
1084
+ };
1085
+ window.SVGPathSegList.prototype.getItem = function(index) {
1086
+ this._checkPathSynchronizedToList();
1087
+ this._checkValidIndex(index);
1088
+ return this._list[index];
1089
+ };
1090
+ window.SVGPathSegList.prototype.insertItemBefore = function(newItem, index) {
1091
+ this._checkPathSynchronizedToList();
1092
+ if (index > this.numberOfItems) index = this.numberOfItems;
1093
+ if (newItem._owningPathSegList) {
1094
+ newItem = newItem.clone();
1095
+ }
1096
+ this._list.splice(index, 0, newItem);
1097
+ newItem._owningPathSegList = this;
1098
+ this._writeListToPath();
1099
+ return newItem;
1100
+ };
1101
+ window.SVGPathSegList.prototype.replaceItem = function(newItem, index) {
1102
+ this._checkPathSynchronizedToList();
1103
+ if (newItem._owningPathSegList) {
1104
+ newItem = newItem.clone();
1105
+ }
1106
+ this._checkValidIndex(index);
1107
+ this._list[index] = newItem;
1108
+ newItem._owningPathSegList = this;
1109
+ this._writeListToPath();
1110
+ return newItem;
1111
+ };
1112
+ window.SVGPathSegList.prototype.removeItem = function(index) {
1113
+ this._checkPathSynchronizedToList();
1114
+ this._checkValidIndex(index);
1115
+ var item = this._list[index];
1116
+ this._list.splice(index, 1);
1117
+ this._writeListToPath();
1118
+ return item;
1119
+ };
1120
+ window.SVGPathSegList.prototype.appendItem = function(newItem) {
1121
+ this._checkPathSynchronizedToList();
1122
+ if (newItem._owningPathSegList) {
1123
+ newItem = newItem.clone();
1124
+ }
1125
+ this._list.push(newItem);
1126
+ newItem._owningPathSegList = this;
1127
+ this._writeListToPath();
1128
+ return newItem;
1129
+ };
1130
+ window.SVGPathSegList._pathSegArrayAsString = function(pathSegArray) {
1131
+ var string = "";
1132
+ var first = true;
1133
+ pathSegArray.forEach((function(pathSeg) {
1134
+ if (first) {
1135
+ first = false;
1136
+ string += pathSeg._asPathString();
1137
+ } else {
1138
+ string += " " + pathSeg._asPathString();
1139
+ }
1140
+ }));
1141
+ return string;
1142
+ };
1143
+ window.SVGPathSegList.prototype._parsePath = function(string) {
1144
+ if (!string || string.length == 0) return [];
1145
+ var owningPathSegList = this;
1146
+ var Builder = function() {
1147
+ this.pathSegList = [];
1148
+ };
1149
+ Builder.prototype.appendSegment = function(pathSeg) {
1150
+ this.pathSegList.push(pathSeg);
1151
+ };
1152
+ var Source = function(string) {
1153
+ this._string = string;
1154
+ this._currentIndex = 0;
1155
+ this._endIndex = this._string.length;
1156
+ this._previousCommand = window.SVGPathSeg.PATHSEG_UNKNOWN;
1157
+ this._skipOptionalSpaces();
1158
+ };
1159
+ Source.prototype._isCurrentSpace = function() {
1160
+ var character = this._string[this._currentIndex];
1161
+ return character <= " " && (character == " " || character == "\n" || character == "\t" || character == "\r" || character == "\f");
1162
+ };
1163
+ Source.prototype._skipOptionalSpaces = function() {
1164
+ while (this._currentIndex < this._endIndex && this._isCurrentSpace()) this._currentIndex++;
1165
+ return this._currentIndex < this._endIndex;
1166
+ };
1167
+ Source.prototype._skipOptionalSpacesOrDelimiter = function() {
1168
+ if (this._currentIndex < this._endIndex && !this._isCurrentSpace() && this._string.charAt(this._currentIndex) != ",") return false;
1169
+ if (this._skipOptionalSpaces()) {
1170
+ if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == ",") {
1171
+ this._currentIndex++;
1172
+ this._skipOptionalSpaces();
1173
+ }
1174
+ }
1175
+ return this._currentIndex < this._endIndex;
1176
+ };
1177
+ Source.prototype.hasMoreData = function() {
1178
+ return this._currentIndex < this._endIndex;
1179
+ };
1180
+ Source.prototype.peekSegmentType = function() {
1181
+ var lookahead = this._string[this._currentIndex];
1182
+ return this._pathSegTypeFromChar(lookahead);
1183
+ };
1184
+ Source.prototype._pathSegTypeFromChar = function(lookahead) {
1185
+ switch (lookahead) {
1186
+ case "Z":
1187
+ case "z":
1188
+ return window.SVGPathSeg.PATHSEG_CLOSEPATH;
1189
+
1190
+ case "M":
1191
+ return window.SVGPathSeg.PATHSEG_MOVETO_ABS;
1192
+
1193
+ case "m":
1194
+ return window.SVGPathSeg.PATHSEG_MOVETO_REL;
1195
+
1196
+ case "L":
1197
+ return window.SVGPathSeg.PATHSEG_LINETO_ABS;
1198
+
1199
+ case "l":
1200
+ return window.SVGPathSeg.PATHSEG_LINETO_REL;
1201
+
1202
+ case "C":
1203
+ return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;
1204
+
1205
+ case "c":
1206
+ return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;
1207
+
1208
+ case "Q":
1209
+ return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;
1210
+
1211
+ case "q":
1212
+ return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;
1213
+
1214
+ case "A":
1215
+ return window.SVGPathSeg.PATHSEG_ARC_ABS;
1216
+
1217
+ case "a":
1218
+ return window.SVGPathSeg.PATHSEG_ARC_REL;
1219
+
1220
+ case "H":
1221
+ return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;
1222
+
1223
+ case "h":
1224
+ return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;
1225
+
1226
+ case "V":
1227
+ return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;
1228
+
1229
+ case "v":
1230
+ return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;
1231
+
1232
+ case "S":
1233
+ return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;
1234
+
1235
+ case "s":
1236
+ return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;
1237
+
1238
+ case "T":
1239
+ return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;
1240
+
1241
+ case "t":
1242
+ return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;
1243
+
1244
+ default:
1245
+ return window.SVGPathSeg.PATHSEG_UNKNOWN;
1246
+ }
1247
+ };
1248
+ Source.prototype._nextCommandHelper = function(lookahead, previousCommand) {
1249
+ if ((lookahead == "+" || lookahead == "-" || lookahead == "." || lookahead >= "0" && lookahead <= "9") && previousCommand != window.SVGPathSeg.PATHSEG_CLOSEPATH) {
1250
+ if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_ABS) return window.SVGPathSeg.PATHSEG_LINETO_ABS;
1251
+ if (previousCommand == window.SVGPathSeg.PATHSEG_MOVETO_REL) return window.SVGPathSeg.PATHSEG_LINETO_REL;
1252
+ return previousCommand;
1253
+ }
1254
+ return window.SVGPathSeg.PATHSEG_UNKNOWN;
1255
+ };
1256
+ Source.prototype.initialCommandIsMoveTo = function() {
1257
+ if (!this.hasMoreData()) return true;
1258
+ var command = this.peekSegmentType();
1259
+ return command == window.SVGPathSeg.PATHSEG_MOVETO_ABS || command == window.SVGPathSeg.PATHSEG_MOVETO_REL;
1260
+ };
1261
+ Source.prototype._parseNumber = function() {
1262
+ var exponent = 0;
1263
+ var integer = 0;
1264
+ var frac = 1;
1265
+ var decimal = 0;
1266
+ var sign = 1;
1267
+ var expsign = 1;
1268
+ var startIndex = this._currentIndex;
1269
+ this._skipOptionalSpaces();
1270
+ if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == "+") this._currentIndex++; else if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == "-") {
1271
+ this._currentIndex++;
1272
+ sign = -1;
1273
+ }
1274
+ if (this._currentIndex == this._endIndex || (this._string.charAt(this._currentIndex) < "0" || this._string.charAt(this._currentIndex) > "9") && this._string.charAt(this._currentIndex) != ".") return undefined;
1275
+ var startIntPartIndex = this._currentIndex;
1276
+ while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= "0" && this._string.charAt(this._currentIndex) <= "9") this._currentIndex++;
1277
+ if (this._currentIndex != startIntPartIndex) {
1278
+ var scanIntPartIndex = this._currentIndex - 1;
1279
+ var multiplier = 1;
1280
+ while (scanIntPartIndex >= startIntPartIndex) {
1281
+ integer += multiplier * (this._string.charAt(scanIntPartIndex--) - "0");
1282
+ multiplier *= 10;
1283
+ }
1284
+ }
1285
+ if (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) == ".") {
1286
+ this._currentIndex++;
1287
+ if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < "0" || this._string.charAt(this._currentIndex) > "9") return undefined;
1288
+ while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= "0" && this._string.charAt(this._currentIndex) <= "9") {
1289
+ frac *= 10;
1290
+ decimal += (this._string.charAt(this._currentIndex) - "0") / frac;
1291
+ this._currentIndex += 1;
1292
+ }
1293
+ }
1294
+ if (this._currentIndex != startIndex && this._currentIndex + 1 < this._endIndex && (this._string.charAt(this._currentIndex) == "e" || this._string.charAt(this._currentIndex) == "E") && this._string.charAt(this._currentIndex + 1) != "x" && this._string.charAt(this._currentIndex + 1) != "m") {
1295
+ this._currentIndex++;
1296
+ if (this._string.charAt(this._currentIndex) == "+") {
1297
+ this._currentIndex++;
1298
+ } else if (this._string.charAt(this._currentIndex) == "-") {
1299
+ this._currentIndex++;
1300
+ expsign = -1;
1301
+ }
1302
+ if (this._currentIndex >= this._endIndex || this._string.charAt(this._currentIndex) < "0" || this._string.charAt(this._currentIndex) > "9") return undefined;
1303
+ while (this._currentIndex < this._endIndex && this._string.charAt(this._currentIndex) >= "0" && this._string.charAt(this._currentIndex) <= "9") {
1304
+ exponent *= 10;
1305
+ exponent += this._string.charAt(this._currentIndex) - "0";
1306
+ this._currentIndex++;
1307
+ }
1308
+ }
1309
+ var number = integer + decimal;
1310
+ number *= sign;
1311
+ if (exponent) number *= Math.pow(10, expsign * exponent);
1312
+ if (startIndex == this._currentIndex) return undefined;
1313
+ this._skipOptionalSpacesOrDelimiter();
1314
+ return number;
1315
+ };
1316
+ Source.prototype._parseArcFlag = function() {
1317
+ if (this._currentIndex >= this._endIndex) return undefined;
1318
+ var flag = false;
1319
+ var flagChar = this._string.charAt(this._currentIndex++);
1320
+ if (flagChar == "0") flag = false; else if (flagChar == "1") flag = true; else return undefined;
1321
+ this._skipOptionalSpacesOrDelimiter();
1322
+ return flag;
1323
+ };
1324
+ Source.prototype.parseSegment = function() {
1325
+ var lookahead = this._string[this._currentIndex];
1326
+ var command = this._pathSegTypeFromChar(lookahead);
1327
+ if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) {
1328
+ if (this._previousCommand == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;
1329
+ command = this._nextCommandHelper(lookahead, this._previousCommand);
1330
+ if (command == window.SVGPathSeg.PATHSEG_UNKNOWN) return null;
1331
+ } else {
1332
+ this._currentIndex++;
1333
+ }
1334
+ this._previousCommand = command;
1335
+ switch (command) {
1336
+ case window.SVGPathSeg.PATHSEG_MOVETO_REL:
1337
+ return new window.SVGPathSegMovetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());
1338
+
1339
+ case window.SVGPathSeg.PATHSEG_MOVETO_ABS:
1340
+ return new window.SVGPathSegMovetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
1341
+
1342
+ case window.SVGPathSeg.PATHSEG_LINETO_REL:
1343
+ return new window.SVGPathSegLinetoRel(owningPathSegList, this._parseNumber(), this._parseNumber());
1344
+
1345
+ case window.SVGPathSeg.PATHSEG_LINETO_ABS:
1346
+ return new window.SVGPathSegLinetoAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
1347
+
1348
+ case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:
1349
+ return new window.SVGPathSegLinetoHorizontalRel(owningPathSegList, this._parseNumber());
1350
+
1351
+ case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:
1352
+ return new window.SVGPathSegLinetoHorizontalAbs(owningPathSegList, this._parseNumber());
1353
+
1354
+ case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:
1355
+ return new window.SVGPathSegLinetoVerticalRel(owningPathSegList, this._parseNumber());
1356
+
1357
+ case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:
1358
+ return new window.SVGPathSegLinetoVerticalAbs(owningPathSegList, this._parseNumber());
1359
+
1360
+ case window.SVGPathSeg.PATHSEG_CLOSEPATH:
1361
+ this._skipOptionalSpaces();
1362
+ return new window.SVGPathSegClosePath(owningPathSegList);
1363
+
1364
+ case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:
1365
+ var points = {
1366
+ x1: this._parseNumber(),
1367
+ y1: this._parseNumber(),
1368
+ x2: this._parseNumber(),
1369
+ y2: this._parseNumber(),
1370
+ x: this._parseNumber(),
1371
+ y: this._parseNumber()
1372
+ };
1373
+ return new window.SVGPathSegCurvetoCubicRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);
1374
+
1375
+ case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:
1376
+ var points = {
1377
+ x1: this._parseNumber(),
1378
+ y1: this._parseNumber(),
1379
+ x2: this._parseNumber(),
1380
+ y2: this._parseNumber(),
1381
+ x: this._parseNumber(),
1382
+ y: this._parseNumber()
1383
+ };
1384
+ return new window.SVGPathSegCurvetoCubicAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.x2, points.y2);
1385
+
1386
+ case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
1387
+ var points = {
1388
+ x2: this._parseNumber(),
1389
+ y2: this._parseNumber(),
1390
+ x: this._parseNumber(),
1391
+ y: this._parseNumber()
1392
+ };
1393
+ return new window.SVGPathSegCurvetoCubicSmoothRel(owningPathSegList, points.x, points.y, points.x2, points.y2);
1394
+
1395
+ case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
1396
+ var points = {
1397
+ x2: this._parseNumber(),
1398
+ y2: this._parseNumber(),
1399
+ x: this._parseNumber(),
1400
+ y: this._parseNumber()
1401
+ };
1402
+ return new window.SVGPathSegCurvetoCubicSmoothAbs(owningPathSegList, points.x, points.y, points.x2, points.y2);
1403
+
1404
+ case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:
1405
+ var points = {
1406
+ x1: this._parseNumber(),
1407
+ y1: this._parseNumber(),
1408
+ x: this._parseNumber(),
1409
+ y: this._parseNumber()
1410
+ };
1411
+ return new window.SVGPathSegCurvetoQuadraticRel(owningPathSegList, points.x, points.y, points.x1, points.y1);
1412
+
1413
+ case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:
1414
+ var points = {
1415
+ x1: this._parseNumber(),
1416
+ y1: this._parseNumber(),
1417
+ x: this._parseNumber(),
1418
+ y: this._parseNumber()
1419
+ };
1420
+ return new window.SVGPathSegCurvetoQuadraticAbs(owningPathSegList, points.x, points.y, points.x1, points.y1);
1421
+
1422
+ case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:
1423
+ return new window.SVGPathSegCurvetoQuadraticSmoothRel(owningPathSegList, this._parseNumber(), this._parseNumber());
1424
+
1425
+ case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
1426
+ return new window.SVGPathSegCurvetoQuadraticSmoothAbs(owningPathSegList, this._parseNumber(), this._parseNumber());
1427
+
1428
+ case window.SVGPathSeg.PATHSEG_ARC_REL:
1429
+ var points = {
1430
+ x1: this._parseNumber(),
1431
+ y1: this._parseNumber(),
1432
+ arcAngle: this._parseNumber(),
1433
+ arcLarge: this._parseArcFlag(),
1434
+ arcSweep: this._parseArcFlag(),
1435
+ x: this._parseNumber(),
1436
+ y: this._parseNumber()
1437
+ };
1438
+ return new window.SVGPathSegArcRel(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);
1439
+
1440
+ case window.SVGPathSeg.PATHSEG_ARC_ABS:
1441
+ var points = {
1442
+ x1: this._parseNumber(),
1443
+ y1: this._parseNumber(),
1444
+ arcAngle: this._parseNumber(),
1445
+ arcLarge: this._parseArcFlag(),
1446
+ arcSweep: this._parseArcFlag(),
1447
+ x: this._parseNumber(),
1448
+ y: this._parseNumber()
1449
+ };
1450
+ return new window.SVGPathSegArcAbs(owningPathSegList, points.x, points.y, points.x1, points.y1, points.arcAngle, points.arcLarge, points.arcSweep);
1451
+
1452
+ default:
1453
+ throw "Unknown path seg type.";
1454
+ }
1455
+ };
1456
+ var builder = new Builder;
1457
+ var source = new Source(string);
1458
+ if (!source.initialCommandIsMoveTo()) return [];
1459
+ while (source.hasMoreData()) {
1460
+ var pathSeg = source.parseSegment();
1461
+ if (!pathSeg) return [];
1462
+ builder.appendSegment(pathSeg);
1463
+ }
1464
+ return builder.pathSegList;
1465
+ };
1466
+ }
1467
+ } catch (e) {
1468
+ console.warn("An error occurred in tsParticles pathseg polyfill. If the Polygon Mask is not working, please open an issue here: https://github.com/matteobruni/tsparticles", e);
1469
+ }
1470
+ })();
1471
+ }
1472
+ } ]);