tsparticles 3.2.2 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/1290.min.js +2 -0
- package/1290.min.js.LICENSE.txt +1 -0
- package/1460.min.js +2 -0
- package/1460.min.js.LICENSE.txt +1 -0
- package/1475.min.js +2 -0
- package/1475.min.js.LICENSE.txt +1 -0
- package/152.min.js +2 -0
- package/152.min.js.LICENSE.txt +1 -0
- package/168.min.js +2 -0
- package/168.min.js.LICENSE.txt +1 -0
- package/1817.min.js +2 -0
- package/1817.min.js.LICENSE.txt +1 -0
- package/1854.min.js +2 -0
- package/1854.min.js.LICENSE.txt +1 -0
- package/2043.min.js +2 -0
- package/2043.min.js.LICENSE.txt +1 -0
- package/2101.min.js +2 -0
- package/2101.min.js.LICENSE.txt +1 -0
- package/2112.min.js +2 -0
- package/2112.min.js.LICENSE.txt +1 -0
- package/2136.min.js +2 -0
- package/2136.min.js.LICENSE.txt +1 -0
- package/2260.min.js +2 -0
- package/2260.min.js.LICENSE.txt +1 -0
- package/2284.min.js +2 -0
- package/2284.min.js.LICENSE.txt +1 -0
- package/2370.min.js +2 -0
- package/2370.min.js.LICENSE.txt +1 -0
- package/250.min.js +2 -0
- package/250.min.js.LICENSE.txt +1 -0
- package/2602.min.js +2 -0
- package/2602.min.js.LICENSE.txt +1 -0
- package/{5243.min.js → 2694.min.js} +2 -2
- package/2694.min.js.LICENSE.txt +1 -0
- package/3107.min.js +2 -0
- package/3107.min.js.LICENSE.txt +1 -0
- package/3237.min.js +2 -0
- package/3237.min.js.LICENSE.txt +1 -0
- package/3267.min.js +2 -0
- package/3267.min.js.LICENSE.txt +1 -0
- package/3292.min.js +2 -0
- package/3292.min.js.LICENSE.txt +1 -0
- package/3416.min.js +2 -0
- package/3416.min.js.LICENSE.txt +1 -0
- package/344.min.js +2 -0
- package/344.min.js.LICENSE.txt +1 -0
- package/3454.min.js +2 -0
- package/3454.min.js.LICENSE.txt +1 -0
- package/3476.min.js +2 -0
- package/3476.min.js.LICENSE.txt +1 -0
- package/357.min.js +2 -0
- package/357.min.js.LICENSE.txt +1 -0
- package/3632.min.js +2 -0
- package/3632.min.js.LICENSE.txt +1 -0
- package/3695.min.js +2 -0
- package/3695.min.js.LICENSE.txt +1 -0
- package/372.min.js +2 -0
- package/372.min.js.LICENSE.txt +1 -0
- package/3890.min.js +2 -0
- package/3890.min.js.LICENSE.txt +1 -0
- package/401.min.js +2 -0
- package/401.min.js.LICENSE.txt +1 -0
- package/4036.min.js +2 -0
- package/4036.min.js.LICENSE.txt +1 -0
- package/4154.min.js +2 -0
- package/4154.min.js.LICENSE.txt +1 -0
- package/4157.min.js +2 -0
- package/4157.min.js.LICENSE.txt +1 -0
- package/4159.min.js +2 -0
- package/4159.min.js.LICENSE.txt +1 -0
- package/4264.min.js +2 -0
- package/4264.min.js.LICENSE.txt +1 -0
- package/4289.min.js +2 -0
- package/4289.min.js.LICENSE.txt +1 -0
- package/4302.min.js +2 -0
- package/4302.min.js.LICENSE.txt +1 -0
- package/4432.min.js +2 -0
- package/4432.min.js.LICENSE.txt +1 -0
- package/4512.min.js +2 -0
- package/4512.min.js.LICENSE.txt +1 -0
- package/489.min.js +2 -0
- package/489.min.js.LICENSE.txt +1 -0
- package/4910.min.js +2 -0
- package/4910.min.js.LICENSE.txt +1 -0
- package/4924.min.js +2 -0
- package/4924.min.js.LICENSE.txt +1 -0
- package/5015.min.js +2 -0
- package/5015.min.js.LICENSE.txt +1 -0
- package/5189.min.js +2 -0
- package/5189.min.js.LICENSE.txt +1 -0
- package/5201.min.js +2 -0
- package/5201.min.js.LICENSE.txt +1 -0
- package/5239.min.js +2 -0
- package/5239.min.js.LICENSE.txt +1 -0
- package/5369.min.js +2 -0
- package/5369.min.js.LICENSE.txt +1 -0
- package/561.min.js +2 -0
- package/561.min.js.LICENSE.txt +1 -0
- package/5775.min.js +2 -0
- package/5775.min.js.LICENSE.txt +1 -0
- package/5800.min.js +2 -0
- package/5800.min.js.LICENSE.txt +1 -0
- package/5808.min.js +2 -0
- package/5808.min.js.LICENSE.txt +1 -0
- package/5814.min.js +2 -0
- package/5814.min.js.LICENSE.txt +1 -0
- package/5955.min.js +2 -0
- package/5955.min.js.LICENSE.txt +1 -0
- package/5969.min.js +2 -0
- package/5969.min.js.LICENSE.txt +1 -0
- package/6119.min.js +2 -0
- package/6119.min.js.LICENSE.txt +1 -0
- package/6378.min.js +2 -0
- package/6378.min.js.LICENSE.txt +1 -0
- package/6493.min.js +2 -0
- package/6493.min.js.LICENSE.txt +1 -0
- package/6520.min.js +2 -0
- package/6520.min.js.LICENSE.txt +1 -0
- package/66.min.js +2 -0
- package/66.min.js.LICENSE.txt +1 -0
- package/6732.min.js +2 -0
- package/6732.min.js.LICENSE.txt +1 -0
- package/6832.min.js +2 -0
- package/6832.min.js.LICENSE.txt +1 -0
- package/6851.min.js +2 -0
- package/6851.min.js.LICENSE.txt +1 -0
- package/6964.min.js +2 -0
- package/6964.min.js.LICENSE.txt +1 -0
- package/6974.min.js +2 -0
- package/6974.min.js.LICENSE.txt +1 -0
- package/6979.min.js +2 -0
- package/6979.min.js.LICENSE.txt +1 -0
- package/6981.min.js +2 -0
- package/6981.min.js.LICENSE.txt +1 -0
- package/705.min.js +2 -0
- package/705.min.js.LICENSE.txt +1 -0
- package/7306.min.js +2 -0
- package/7306.min.js.LICENSE.txt +1 -0
- package/7373.min.js +2 -0
- package/7373.min.js.LICENSE.txt +1 -0
- package/7528.min.js +2 -0
- package/7528.min.js.LICENSE.txt +1 -0
- package/7664.min.js +2 -0
- package/7664.min.js.LICENSE.txt +1 -0
- package/7774.min.js +2 -0
- package/7774.min.js.LICENSE.txt +1 -0
- package/7947.min.js +2 -0
- package/7947.min.js.LICENSE.txt +1 -0
- package/800.min.js +2 -0
- package/800.min.js.LICENSE.txt +1 -0
- package/8114.min.js +2 -0
- package/8114.min.js.LICENSE.txt +1 -0
- package/8125.min.js +2 -0
- package/8125.min.js.LICENSE.txt +1 -0
- package/814.min.js +2 -0
- package/814.min.js.LICENSE.txt +1 -0
- package/{3733.min.js → 8155.min.js} +2 -2
- package/8155.min.js.LICENSE.txt +1 -0
- package/817.min.js +2 -0
- package/817.min.js.LICENSE.txt +1 -0
- package/823.min.js +2 -0
- package/823.min.js.LICENSE.txt +1 -0
- package/83.min.js +2 -0
- package/83.min.js.LICENSE.txt +1 -0
- package/8469.min.js +2 -0
- package/8469.min.js.LICENSE.txt +1 -0
- package/8695.min.js +2 -0
- package/8695.min.js.LICENSE.txt +1 -0
- package/8764.min.js +2 -0
- package/8764.min.js.LICENSE.txt +1 -0
- package/8824.min.js +2 -0
- package/8824.min.js.LICENSE.txt +1 -0
- package/9151.min.js +2 -0
- package/9151.min.js.LICENSE.txt +1 -0
- package/94.min.js +2 -0
- package/94.min.js.LICENSE.txt +1 -0
- package/9487.min.js +2 -0
- package/9487.min.js.LICENSE.txt +1 -0
- package/9587.min.js +2 -0
- package/9587.min.js.LICENSE.txt +1 -0
- package/9613.min.js +2 -0
- package/9613.min.js.LICENSE.txt +1 -0
- package/9892.min.js +2 -0
- package/9892.min.js.LICENSE.txt +1 -0
- package/9946.min.js +2 -0
- package/9946.min.js.LICENSE.txt +1 -0
- package/9969.min.js +2 -0
- package/9969.min.js.LICENSE.txt +1 -0
- package/basic_dist_browser_index_js.js +1 -1
- package/cjs/index.js +1 -24
- package/engine_dist_browser_Core_Container_js.js +15 -5
- package/interactions_external_attract_dist_browser_Attractor_js.js +12 -2
- package/interactions_external_attract_dist_browser_index_js.js +1 -1
- package/interactions_external_bounce_dist_browser_Bouncer_js.js +12 -2
- package/interactions_external_bounce_dist_browser_index_js.js +1 -1
- package/interactions_external_bubble_dist_browser_Bubbler_js.js +2 -2
- package/interactions_external_bubble_dist_browser_index_js.js +1 -1
- package/interactions_external_connect_dist_browser_Connector_js.js +2 -2
- package/interactions_external_connect_dist_browser_index_js.js +1 -1
- package/interactions_external_grab_dist_browser_Grabber_js.js +2 -2
- package/interactions_external_grab_dist_browser_index_js.js +1 -1
- package/interactions_external_pause_dist_browser_Pauser_js.js +2 -2
- package/interactions_external_pause_dist_browser_index_js.js +1 -1
- package/interactions_external_push_dist_browser_Pusher_js.js +2 -2
- package/interactions_external_push_dist_browser_index_js.js +1 -1
- package/interactions_external_remove_dist_browser_Remover_js.js +2 -2
- package/interactions_external_remove_dist_browser_index_js.js +1 -1
- package/interactions_external_repulse_dist_browser_Repulser_js.js +2 -2
- package/interactions_external_repulse_dist_browser_index_js.js +1 -1
- package/interactions_external_slow_dist_browser_Slower_js.js +2 -2
- package/interactions_external_slow_dist_browser_index_js.js +1 -1
- package/interactions_external_trail_dist_browser_TrailMaker_js.js +2 -2
- package/interactions_external_trail_dist_browser_index_js.js +1 -1
- package/interactions_particles_attract_dist_browser_Attractor_js.js +2 -2
- package/interactions_particles_attract_dist_browser_index_js.js +1 -1
- package/interactions_particles_collisions_dist_browser_Collider_js.js +33 -3
- package/interactions_particles_collisions_dist_browser_index_js.js +1 -1
- package/interactions_particles_links_dist_browser_LinkInstance_js.js +2 -2
- package/interactions_particles_links_dist_browser_Linker_js.js +12 -2
- package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
- package/interactions_particles_links_dist_browser_index_js.js +1 -1
- package/interactions_particles_links_dist_browser_interaction_js.js +1 -1
- package/interactions_particles_links_dist_browser_plugin_js.js +1 -1
- package/move_base_dist_browser_BaseMover_js.js +12 -2
- package/move_base_dist_browser_index_js.js +1 -1
- package/move_parallax_dist_browser_ParallaxMover_js.js +2 -2
- package/move_parallax_dist_browser_index_js.js +1 -1
- package/package.json +14 -14
- package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +2 -2
- package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
- package/plugins_absorbers_dist_browser_Absorbers_js.js +2 -2
- package/plugins_absorbers_dist_browser_index_js.js +1 -1
- package/plugins_easings_quad_dist_browser_index_js.js +1 -1
- package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +2 -2
- package/plugins_emittersShapes_circle_dist_browser_index_js.js +1 -1
- package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +2 -2
- package/plugins_emittersShapes_square_dist_browser_index_js.js +1 -1
- package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
- package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
- package/plugins_emitters_dist_browser_Emitters_js.js +2 -2
- package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
- package/plugins_emitters_dist_browser_index_js.js +1 -1
- package/report.html +1 -1
- package/shapes_circle_dist_browser_CircleDrawer_js.js +12 -2
- package/shapes_circle_dist_browser_index_js.js +1 -1
- package/shapes_emoji_dist_browser_EmojiDrawer_js.js +12 -2
- package/shapes_emoji_dist_browser_index_js.js +1 -1
- package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
- package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
- package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
- package/shapes_image_dist_browser_index_js.js +2 -2
- package/shapes_line_dist_browser_LineDrawer_js.js +12 -2
- package/shapes_line_dist_browser_index_js.js +1 -1
- package/shapes_polygon_dist_browser_PolygonDrawer_js.js +12 -2
- package/shapes_polygon_dist_browser_TriangleDrawer_js.js +12 -2
- package/shapes_polygon_dist_browser_index_js.js +1 -1
- package/shapes_square_dist_browser_SquareDrawer_js.js +12 -2
- package/shapes_square_dist_browser_index_js.js +1 -1
- package/shapes_star_dist_browser_StarDrawer_js.js +12 -2
- package/shapes_star_dist_browser_index_js.js +1 -1
- package/shapes_text_dist_browser_index_js.js +12 -2
- package/tsparticles.bundle.js +4 -4
- package/tsparticles.bundle.min.js +1 -1
- package/tsparticles.bundle.min.js.LICENSE.txt +1 -1
- package/tsparticles.js +1 -1
- package/tsparticles.min.js +1 -1
- package/tsparticles.min.js.LICENSE.txt +1 -1
- package/updaters_color_dist_browser_ColorUpdater_js.js +2 -2
- package/updaters_color_dist_browser_index_js.js +1 -1
- package/updaters_destroy_dist_browser_DestroyUpdater_js.js +3 -3
- package/updaters_destroy_dist_browser_index_js.js +1 -1
- package/updaters_life_dist_browser_LifeUpdater_js.js +12 -2
- package/updaters_life_dist_browser_index_js.js +1 -1
- package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
- package/updaters_opacity_dist_browser_index_js.js +1 -1
- package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +52 -2
- package/updaters_outModes_dist_browser_index_js.js +1 -1
- package/updaters_roll_dist_browser_RollUpdater_js.js +12 -2
- package/updaters_roll_dist_browser_index_js.js +1 -1
- package/updaters_rotate_dist_browser_RotateUpdater_js.js +2 -2
- package/updaters_rotate_dist_browser_index_js.js +1 -1
- package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
- package/updaters_size_dist_browser_index_js.js +1 -1
- package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
- package/updaters_strokeColor_dist_browser_index_js.js +1 -1
- package/updaters_tilt_dist_browser_TiltUpdater_js.js +2 -2
- package/updaters_tilt_dist_browser_index_js.js +1 -1
- package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +1 -1
- package/updaters_twinkle_dist_browser_index_js.js +1 -1
- package/updaters_wobble_dist_browser_WobbleUpdater_js.js +12 -2
- package/updaters_wobble_dist_browser_index_js.js +1 -1
- package/1147.min.js +0 -2
- package/1147.min.js.LICENSE.txt +0 -1
- package/1196.min.js +0 -2
- package/1196.min.js.LICENSE.txt +0 -1
- package/1264.min.js +0 -2
- package/1264.min.js.LICENSE.txt +0 -1
- package/1308.min.js +0 -2
- package/1308.min.js.LICENSE.txt +0 -1
- package/1364.min.js +0 -2
- package/1364.min.js.LICENSE.txt +0 -1
- package/1472.min.js +0 -2
- package/1472.min.js.LICENSE.txt +0 -1
- package/1513.min.js +0 -2
- package/1513.min.js.LICENSE.txt +0 -1
- package/1705.min.js +0 -2
- package/1705.min.js.LICENSE.txt +0 -1
- package/1769.min.js +0 -2
- package/1769.min.js.LICENSE.txt +0 -1
- package/1808.min.js +0 -2
- package/1808.min.js.LICENSE.txt +0 -1
- package/1810.min.js +0 -2
- package/1810.min.js.LICENSE.txt +0 -1
- package/1831.min.js +0 -2
- package/1831.min.js.LICENSE.txt +0 -1
- package/196.min.js +0 -2
- package/196.min.js.LICENSE.txt +0 -1
- package/197.min.js +0 -2
- package/197.min.js.LICENSE.txt +0 -1
- package/1982.min.js +0 -2
- package/1982.min.js.LICENSE.txt +0 -1
- package/2081.min.js +0 -2
- package/2081.min.js.LICENSE.txt +0 -1
- package/2121.min.js +0 -2
- package/2121.min.js.LICENSE.txt +0 -1
- package/2124.min.js +0 -2
- package/2124.min.js.LICENSE.txt +0 -1
- package/2173.min.js +0 -2
- package/2173.min.js.LICENSE.txt +0 -1
- package/2200.min.js +0 -2
- package/2200.min.js.LICENSE.txt +0 -1
- package/2486.min.js +0 -2
- package/2486.min.js.LICENSE.txt +0 -1
- package/256.min.js +0 -2
- package/256.min.js.LICENSE.txt +0 -1
- package/2580.min.js +0 -2
- package/2580.min.js.LICENSE.txt +0 -1
- package/2628.min.js +0 -2
- package/2628.min.js.LICENSE.txt +0 -1
- package/2720.min.js +0 -2
- package/2720.min.js.LICENSE.txt +0 -1
- package/2765.min.js +0 -2
- package/2765.min.js.LICENSE.txt +0 -1
- package/2870.min.js +0 -2
- package/2870.min.js.LICENSE.txt +0 -1
- package/2890.min.js +0 -2
- package/2890.min.js.LICENSE.txt +0 -1
- package/290.min.js +0 -2
- package/290.min.js.LICENSE.txt +0 -1
- package/2946.min.js +0 -2
- package/2946.min.js.LICENSE.txt +0 -1
- package/3141.min.js +0 -2
- package/3141.min.js.LICENSE.txt +0 -1
- package/3255.min.js +0 -2
- package/3255.min.js.LICENSE.txt +0 -1
- package/3457.min.js +0 -2
- package/3457.min.js.LICENSE.txt +0 -1
- package/3486.min.js +0 -2
- package/3486.min.js.LICENSE.txt +0 -1
- package/3597.min.js +0 -2
- package/3597.min.js.LICENSE.txt +0 -1
- package/3610.min.js +0 -2
- package/3610.min.js.LICENSE.txt +0 -1
- package/3629.min.js +0 -2
- package/3629.min.js.LICENSE.txt +0 -1
- package/3648.min.js +0 -2
- package/3648.min.js.LICENSE.txt +0 -1
- package/3685.min.js +0 -2
- package/3685.min.js.LICENSE.txt +0 -1
- package/3733.min.js.LICENSE.txt +0 -1
- package/3869.min.js +0 -2
- package/3869.min.js.LICENSE.txt +0 -1
- package/3904.min.js +0 -2
- package/3904.min.js.LICENSE.txt +0 -1
- package/409.min.js +0 -2
- package/409.min.js.LICENSE.txt +0 -1
- package/4245.min.js +0 -2
- package/4245.min.js.LICENSE.txt +0 -1
- package/4314.min.js +0 -2
- package/4314.min.js.LICENSE.txt +0 -1
- package/4328.min.js +0 -2
- package/4328.min.js.LICENSE.txt +0 -1
- package/4547.min.js +0 -2
- package/4547.min.js.LICENSE.txt +0 -1
- package/4687.min.js +0 -2
- package/4687.min.js.LICENSE.txt +0 -1
- package/4732.min.js +0 -2
- package/4732.min.js.LICENSE.txt +0 -1
- package/4737.min.js +0 -2
- package/4737.min.js.LICENSE.txt +0 -1
- package/4744.min.js +0 -2
- package/4744.min.js.LICENSE.txt +0 -1
- package/4794.min.js +0 -2
- package/4794.min.js.LICENSE.txt +0 -1
- package/4866.min.js +0 -2
- package/4866.min.js.LICENSE.txt +0 -1
- package/4922.min.js +0 -2
- package/4922.min.js.LICENSE.txt +0 -1
- package/4973.min.js +0 -2
- package/4973.min.js.LICENSE.txt +0 -1
- package/4994.min.js +0 -2
- package/4994.min.js.LICENSE.txt +0 -1
- package/5010.min.js +0 -2
- package/5010.min.js.LICENSE.txt +0 -1
- package/5092.min.js +0 -2
- package/5092.min.js.LICENSE.txt +0 -1
- package/5120.min.js +0 -2
- package/5120.min.js.LICENSE.txt +0 -1
- package/5243.min.js.LICENSE.txt +0 -1
- package/5245.min.js +0 -2
- package/5245.min.js.LICENSE.txt +0 -1
- package/5308.min.js +0 -2
- package/5308.min.js.LICENSE.txt +0 -1
- package/5329.min.js +0 -2
- package/5329.min.js.LICENSE.txt +0 -1
- package/533.min.js +0 -2
- package/533.min.js.LICENSE.txt +0 -1
- package/5437.min.js +0 -2
- package/5437.min.js.LICENSE.txt +0 -1
- package/5444.min.js +0 -2
- package/5444.min.js.LICENSE.txt +0 -1
- package/5523.min.js +0 -2
- package/5523.min.js.LICENSE.txt +0 -1
- package/5534.min.js +0 -2
- package/5534.min.js.LICENSE.txt +0 -1
- package/560.min.js +0 -2
- package/560.min.js.LICENSE.txt +0 -1
- package/5647.min.js +0 -2
- package/5647.min.js.LICENSE.txt +0 -1
- package/571.min.js +0 -2
- package/571.min.js.LICENSE.txt +0 -1
- package/5715.min.js +0 -2
- package/5715.min.js.LICENSE.txt +0 -1
- package/5819.min.js +0 -2
- package/5819.min.js.LICENSE.txt +0 -1
- package/6004.min.js +0 -2
- package/6004.min.js.LICENSE.txt +0 -1
- package/6072.min.js +0 -2
- package/6072.min.js.LICENSE.txt +0 -1
- package/6132.min.js +0 -2
- package/6132.min.js.LICENSE.txt +0 -1
- package/6540.min.js +0 -2
- package/6540.min.js.LICENSE.txt +0 -1
- package/6634.min.js +0 -2
- package/6634.min.js.LICENSE.txt +0 -1
- package/675.min.js +0 -2
- package/675.min.js.LICENSE.txt +0 -1
- package/6763.min.js +0 -2
- package/6763.min.js.LICENSE.txt +0 -1
- package/6772.min.js +0 -2
- package/6772.min.js.LICENSE.txt +0 -1
- package/69.min.js +0 -2
- package/69.min.js.LICENSE.txt +0 -1
- package/7002.min.js +0 -2
- package/7002.min.js.LICENSE.txt +0 -1
- package/7031.min.js +0 -2
- package/7031.min.js.LICENSE.txt +0 -1
- package/7049.min.js +0 -2
- package/7049.min.js.LICENSE.txt +0 -1
- package/7077.min.js +0 -2
- package/7077.min.js.LICENSE.txt +0 -1
- package/7108.min.js +0 -2
- package/7108.min.js.LICENSE.txt +0 -1
- package/7331.min.js +0 -2
- package/7331.min.js.LICENSE.txt +0 -1
- package/7517.min.js +0 -2
- package/7517.min.js.LICENSE.txt +0 -1
- package/7704.min.js +0 -2
- package/7704.min.js.LICENSE.txt +0 -1
- package/7725.min.js +0 -2
- package/7725.min.js.LICENSE.txt +0 -1
- package/7757.min.js +0 -2
- package/7757.min.js.LICENSE.txt +0 -1
- package/7769.min.js +0 -2
- package/7769.min.js.LICENSE.txt +0 -1
- package/7835.min.js +0 -2
- package/7835.min.js.LICENSE.txt +0 -1
- package/7859.min.js +0 -2
- package/7859.min.js.LICENSE.txt +0 -1
- package/7886.min.js +0 -2
- package/7886.min.js.LICENSE.txt +0 -1
- package/7890.min.js +0 -2
- package/7890.min.js.LICENSE.txt +0 -1
- package/7900.min.js +0 -2
- package/7900.min.js.LICENSE.txt +0 -1
- package/8088.min.js +0 -2
- package/8088.min.js.LICENSE.txt +0 -1
- package/8158.min.js +0 -2
- package/8158.min.js.LICENSE.txt +0 -1
- package/8445.min.js +0 -2
- package/8445.min.js.LICENSE.txt +0 -1
- package/8638.min.js +0 -2
- package/8638.min.js.LICENSE.txt +0 -1
- package/8739.min.js +0 -2
- package/8739.min.js.LICENSE.txt +0 -1
- package/8883.min.js +0 -2
- package/8883.min.js.LICENSE.txt +0 -1
- package/889.min.js +0 -2
- package/889.min.js.LICENSE.txt +0 -1
- package/9062.min.js +0 -2
- package/9062.min.js.LICENSE.txt +0 -1
- package/9126.min.js +0 -2
- package/9126.min.js.LICENSE.txt +0 -1
- package/9133.min.js +0 -2
- package/9133.min.js.LICENSE.txt +0 -1
- package/9251.min.js +0 -2
- package/9251.min.js.LICENSE.txt +0 -1
- package/9331.min.js +0 -2
- package/9331.min.js.LICENSE.txt +0 -1
- package/9376.min.js +0 -2
- package/9376.min.js.LICENSE.txt +0 -1
- package/9431.min.js +0 -2
- package/9431.min.js.LICENSE.txt +0 -1
- package/9530.min.js +0 -2
- package/9530.min.js.LICENSE.txt +0 -1
- package/9532.min.js +0 -2
- package/9532.min.js.LICENSE.txt +0 -1
- package/9921.min.js +0 -2
- package/9921.min.js.LICENSE.txt +0 -1
- package/9937.min.js +0 -2
- package/9937.min.js.LICENSE.txt +0 -1
- package/9979.min.js +0 -2
- package/9979.min.js.LICENSE.txt +0 -1
- package/engine_dist_browser_Core_Particle_js.js +0 -30
- package/interactions_external_attract_dist_browser_Utils_js.js +0 -30
- package/interactions_external_bounce_dist_browser_Utils_js.js +0 -30
- package/interactions_particles_collisions_dist_browser_Absorb_js.js +0 -30
- package/interactions_particles_collisions_dist_browser_Bounce_js.js +0 -30
- package/interactions_particles_collisions_dist_browser_Destroy_js.js +0 -40
- package/interactions_particles_links_dist_browser_CircleWarp_js.js +0 -30
- package/move_base_dist_browser_Utils_js.js +0 -30
- package/shapes_circle_dist_browser_Utils_js.js +0 -30
- package/shapes_emoji_dist_browser_Utils_js.js +0 -30
- package/shapes_line_dist_browser_Utils_js.js +0 -30
- package/shapes_polygon_dist_browser_Utils_js.js +0 -30
- package/shapes_square_dist_browser_Utils_js.js +0 -30
- package/shapes_star_dist_browser_Utils_js.js +0 -30
- package/shapes_text_dist_browser_Utils_js.js +0 -30
- package/updaters_life_dist_browser_Utils_js.js +0 -30
- package/updaters_outModes_dist_browser_BounceOutMode_js.js +0 -30
- package/updaters_outModes_dist_browser_DestroyOutMode_js.js +0 -30
- package/updaters_outModes_dist_browser_NoneOutMode_js.js +0 -30
- package/updaters_outModes_dist_browser_OutOutMode_js.js +0 -30
- package/updaters_outModes_dist_browser_Utils_js.js +0 -30
- package/updaters_roll_dist_browser_Utils_js.js +0 -30
- package/updaters_wobble_dist_browser_Utils_js.js +0 -30
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,17 @@
|
|
|
23
23
|
\*************************************************/
|
|
24
24
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
25
25
|
|
|
26
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseMover: () => (/* binding */ BaseMover)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst diffFactor = 2,\n defaultSizeFactor = 1,\n defaultDeltaFactor = 1;\nclass BaseMover {\n
|
|
26
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BaseMover: () => (/* binding */ BaseMover)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../move/base/dist/browser/Utils.js\");\n\n\nconst diffFactor = 2,\n defaultSizeFactor = 1,\n defaultDeltaFactor = 1;\nclass BaseMover {\n init(particle) {\n const options = particle.options,\n gravityOptions = options.move.gravity;\n particle.gravity = {\n enable: gravityOptions.enable,\n acceleration: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(gravityOptions.acceleration),\n inverse: gravityOptions.inverse\n };\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.initSpin)(particle);\n }\n isEnabled(particle) {\n return !particle.destroyed && particle.options.move.enable;\n }\n move(particle, delta) {\n const particleOptions = particle.options,\n moveOptions = particleOptions.move;\n if (!moveOptions.enable) {\n return;\n }\n const container = particle.container,\n pxRatio = container.retina.pixelRatio;\n particle.retina.moveSpeed ??= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(moveOptions.speed) * pxRatio;\n particle.retina.moveDrift ??= (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(particle.options.move.drift) * pxRatio;\n const slowFactor = (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.getProximitySpeedFactor)(particle),\n baseSpeed = particle.retina.moveSpeed * container.retina.reduceFactor,\n moveDrift = particle.retina.moveDrift,\n maxSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(particleOptions.size.value) * pxRatio,\n sizeFactor = moveOptions.size ? particle.getRadius() / maxSize : defaultSizeFactor,\n deltaFactor = delta.factor || defaultDeltaFactor,\n moveSpeed = baseSpeed * sizeFactor * slowFactor * deltaFactor / diffFactor,\n maxSpeed = particle.retina.maxSpeed ?? container.retina.maxSpeed;\n if (moveOptions.spin.enable) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.spin)(particle, moveSpeed);\n } else {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.move)(particle, moveOptions, moveSpeed, maxSpeed, moveDrift, delta);\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.applyDistance)(particle);\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../move/base/dist/browser/BaseMover.js?");
|
|
27
|
+
|
|
28
|
+
/***/ }),
|
|
29
|
+
|
|
30
|
+
/***/ "../../move/base/dist/browser/Utils.js":
|
|
31
|
+
/*!*********************************************!*\
|
|
32
|
+
!*** ../../move/base/dist/browser/Utils.js ***!
|
|
33
|
+
\*********************************************/
|
|
34
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
35
|
+
|
|
36
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ applyDistance: () => (/* binding */ applyDistance),\n/* harmony export */ applyPath: () => (/* binding */ applyPath),\n/* harmony export */ getProximitySpeedFactor: () => (/* binding */ getProximitySpeedFactor),\n/* harmony export */ initSpin: () => (/* binding */ initSpin),\n/* harmony export */ move: () => (/* binding */ move),\n/* harmony export */ spin: () => (/* binding */ spin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst half = 0.5,\n minVelocity = 0,\n identity = 1,\n moveSpeedFactor = 60,\n minSpinRadius = 0,\n spinFactor = 0.01;\nfunction applyDistance(particle) {\n const initialPosition = particle.initialPosition,\n {\n dx,\n dy\n } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(initialPosition, particle.position),\n dxFixed = Math.abs(dx),\n dyFixed = Math.abs(dy),\n {\n maxDistance\n } = particle.retina,\n hDistance = maxDistance.horizontal,\n vDistance = maxDistance.vertical;\n if (!hDistance && !vDistance) {\n return;\n }\n const hasHDistance = (hDistance && dxFixed >= hDistance) ?? false,\n hasVDistance = (vDistance && dyFixed >= vDistance) ?? false;\n if ((hasHDistance || hasVDistance) && !particle.misplaced) {\n particle.misplaced = !!hDistance && dxFixed > hDistance || !!vDistance && dyFixed > vDistance;\n if (hDistance) {\n particle.velocity.x = particle.velocity.y * half - particle.velocity.x;\n }\n if (vDistance) {\n particle.velocity.y = particle.velocity.x * half - particle.velocity.y;\n }\n } else if ((!hDistance || dxFixed < hDistance) && (!vDistance || dyFixed < vDistance) && particle.misplaced) {\n particle.misplaced = false;\n } else if (particle.misplaced) {\n const pos = particle.position,\n vel = particle.velocity;\n if (hDistance && (pos.x < initialPosition.x && vel.x < minVelocity || pos.x > initialPosition.x && vel.x > minVelocity)) {\n vel.x *= -(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n if (vDistance && (pos.y < initialPosition.y && vel.y < minVelocity || pos.y > initialPosition.y && vel.y > minVelocity)) {\n vel.y *= -(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)();\n }\n }\n}\nfunction move(particle, moveOptions, moveSpeed, maxSpeed, moveDrift, delta) {\n applyPath(particle, delta);\n const gravityOptions = particle.gravity,\n gravityFactor = gravityOptions?.enable && gravityOptions.inverse ? -identity : identity;\n if (moveDrift && moveSpeed) {\n particle.velocity.x += moveDrift * delta.factor / (moveSpeedFactor * moveSpeed);\n }\n if (gravityOptions?.enable && moveSpeed) {\n particle.velocity.y += gravityFactor * (gravityOptions.acceleration * delta.factor) / (moveSpeedFactor * moveSpeed);\n }\n const decay = particle.moveDecay;\n particle.velocity.multTo(decay);\n const velocity = particle.velocity.mult(moveSpeed);\n if (gravityOptions?.enable && maxSpeed > minVelocity && (!gravityOptions.inverse && velocity.y >= minVelocity && velocity.y >= maxSpeed || gravityOptions.inverse && velocity.y <= minVelocity && velocity.y <= -maxSpeed)) {\n velocity.y = gravityFactor * maxSpeed;\n if (moveSpeed) {\n particle.velocity.y = velocity.y / moveSpeed;\n }\n }\n const zIndexOptions = particle.options.zIndex,\n zVelocityFactor = (identity - particle.zIndexFactor) ** zIndexOptions.velocityRate;\n velocity.multTo(zVelocityFactor);\n const {\n position\n } = particle;\n position.addTo(velocity);\n if (moveOptions.vibrate) {\n position.x += Math.sin(position.x * Math.cos(position.y));\n position.y += Math.cos(position.y * Math.sin(position.x));\n }\n}\nfunction spin(particle, moveSpeed) {\n const container = particle.container;\n if (!particle.spin) {\n return;\n }\n const updateFunc = {\n x: particle.spin.direction === \"clockwise\" ? Math.cos : Math.sin,\n y: particle.spin.direction === \"clockwise\" ? Math.sin : Math.cos\n };\n particle.position.x = particle.spin.center.x + particle.spin.radius * updateFunc.x(particle.spin.angle);\n particle.position.y = particle.spin.center.y + particle.spin.radius * updateFunc.y(particle.spin.angle);\n particle.spin.radius += particle.spin.acceleration;\n const maxCanvasSize = Math.max(container.canvas.size.width, container.canvas.size.height),\n halfMaxSize = maxCanvasSize * half;\n if (particle.spin.radius > halfMaxSize) {\n particle.spin.radius = halfMaxSize;\n particle.spin.acceleration *= -identity;\n } else if (particle.spin.radius < minSpinRadius) {\n particle.spin.radius = minSpinRadius;\n particle.spin.acceleration *= -identity;\n }\n particle.spin.angle += moveSpeed * spinFactor * (identity - particle.spin.radius / maxCanvasSize);\n}\nfunction applyPath(particle, delta) {\n const particlesOptions = particle.options,\n pathOptions = particlesOptions.move.path,\n pathEnabled = pathOptions.enable;\n if (!pathEnabled) {\n return;\n }\n if (particle.lastPathTime <= particle.pathDelay) {\n particle.lastPathTime += delta.value;\n return;\n }\n const path = particle.pathGenerator?.generate(particle, delta);\n if (path) {\n particle.velocity.addTo(path);\n }\n if (pathOptions.clamp) {\n particle.velocity.x = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.clamp)(particle.velocity.x, -identity, identity);\n particle.velocity.y = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.clamp)(particle.velocity.y, -identity, identity);\n }\n particle.lastPathTime -= particle.pathDelay;\n}\nfunction getProximitySpeedFactor(particle) {\n return particle.slow.inRange ? particle.slow.factor : identity;\n}\nfunction initSpin(particle) {\n const container = particle.container,\n options = particle.options,\n spinOptions = options.move.spin;\n if (!spinOptions.enable) {\n return;\n }\n const spinPos = spinOptions.position ?? {\n x: 50,\n y: 50\n },\n spinFactor = 0.01,\n spinCenter = {\n x: spinPos.x * spinFactor * container.canvas.size.width,\n y: spinPos.y * spinFactor * container.canvas.size.height\n },\n pos = particle.getPosition(),\n distance = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(pos, spinCenter),\n spinAcceleration = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(spinOptions.acceleration);\n particle.retina.spinAcceleration = spinAcceleration * container.retina.pixelRatio;\n const minVelocity = 0;\n particle.spin = {\n center: spinCenter,\n direction: particle.velocity.x >= minVelocity ? \"clockwise\" : \"counter-clockwise\",\n angle: particle.velocity.angle,\n radius: distance,\n acceleration: particle.retina.spinAcceleration\n };\n}\n\n//# sourceURL=webpack://tsparticles/../../move/base/dist/browser/Utils.js?");
|
|
27
37
|
|
|
28
38
|
/***/ })
|
|
29
39
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
\*********************************************************/
|
|
24
24
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
25
25
|
|
|
26
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParallaxMover: () => (/* binding */ ParallaxMover)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst half = 0.5;\nclass ParallaxMover {\n
|
|
26
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParallaxMover: () => (/* binding */ ParallaxMover)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst half = 0.5;\nclass ParallaxMover {\n init() {}\n isEnabled(particle) {\n return !(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isSsr)() && !particle.destroyed && particle.container.actualOptions.interactivity.events.onHover.parallax.enable;\n }\n move(particle) {\n const container = particle.container,\n options = container.actualOptions,\n parallaxOptions = options.interactivity.events.onHover.parallax;\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isSsr)() || !parallaxOptions.enable) {\n return;\n }\n const parallaxForce = parallaxOptions.force,\n mousePos = container.interactivity.mouse.position;\n if (!mousePos) {\n return;\n }\n const canvasSize = container.canvas.size,\n canvasCenter = {\n x: canvasSize.width * half,\n y: canvasSize.height * half\n },\n parallaxSmooth = parallaxOptions.smooth,\n factor = particle.getRadius() / parallaxForce,\n centerDistance = {\n x: (mousePos.x - canvasCenter.x) * factor,\n y: (mousePos.y - canvasCenter.y) * factor\n },\n {\n offset\n } = particle;\n offset.x += (centerDistance.x - offset.x) / parallaxSmooth;\n offset.y += (centerDistance.y - offset.y) / parallaxSmooth;\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../move/parallax/dist/browser/ParallaxMover.js?");
|
|
27
27
|
|
|
28
28
|
/***/ })
|
|
29
29
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tsparticles",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "Easily create highly customizable particle animations and use them as animated backgrounds for your website. Ready to use components available also for React, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Riot.js, Inferno.",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -99,19 +99,19 @@
|
|
|
99
99
|
"./package.json": "./package.json"
|
|
100
100
|
},
|
|
101
101
|
"dependencies": {
|
|
102
|
-
"@tsparticles/engine": "^3.
|
|
103
|
-
"@tsparticles/interaction-external-trail": "^3.
|
|
104
|
-
"@tsparticles/plugin-absorbers": "^3.
|
|
105
|
-
"@tsparticles/plugin-emitters": "^3.
|
|
106
|
-
"@tsparticles/plugin-emitters-shape-circle": "^3.
|
|
107
|
-
"@tsparticles/plugin-emitters-shape-square": "^3.
|
|
108
|
-
"@tsparticles/shape-text": "^3.
|
|
109
|
-
"@tsparticles/slim": "^3.
|
|
110
|
-
"@tsparticles/updater-destroy": "^3.
|
|
111
|
-
"@tsparticles/updater-roll": "^3.
|
|
112
|
-
"@tsparticles/updater-tilt": "^3.
|
|
113
|
-
"@tsparticles/updater-twinkle": "^3.
|
|
114
|
-
"@tsparticles/updater-wobble": "^3.
|
|
102
|
+
"@tsparticles/engine": "^3.3.0",
|
|
103
|
+
"@tsparticles/interaction-external-trail": "^3.3.0",
|
|
104
|
+
"@tsparticles/plugin-absorbers": "^3.3.0",
|
|
105
|
+
"@tsparticles/plugin-emitters": "^3.3.0",
|
|
106
|
+
"@tsparticles/plugin-emitters-shape-circle": "^3.3.0",
|
|
107
|
+
"@tsparticles/plugin-emitters-shape-square": "^3.3.0",
|
|
108
|
+
"@tsparticles/shape-text": "^3.3.0",
|
|
109
|
+
"@tsparticles/slim": "^3.3.0",
|
|
110
|
+
"@tsparticles/updater-destroy": "^3.3.0",
|
|
111
|
+
"@tsparticles/updater-roll": "^3.3.0",
|
|
112
|
+
"@tsparticles/updater-tilt": "^3.3.0",
|
|
113
|
+
"@tsparticles/updater-twinkle": "^3.3.0",
|
|
114
|
+
"@tsparticles/updater-wobble": "^3.3.0"
|
|
115
115
|
},
|
|
116
116
|
"publishConfig": {
|
|
117
117
|
"access": "public"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
\****************************************************************/
|
|
24
24
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
25
25
|
|
|
26
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberInstance: () => (/* binding */ AbsorberInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\nconst squareExp = 2,\n absorbFactor = 0.033,\n minOrbitLength = 0,\n minRadius = 0,\n minMass = 0,\n origin = {\n x: 0,\n y: 0\n },\n minAngle = 0,\n double = 2,\n maxAngle = Math.PI * double,\n minVelocity = 0;\nclass AbsorberInstance {\n constructor(absorbers, container, options, position) {\n this.absorbers = absorbers;\n this.container = container;\n this._calcPosition = () => {\n const exactPosition = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: this.container.canvas.size,\n position: this.options.position\n });\n return _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(exactPosition.x, exactPosition.y);\n };\n this._updateParticlePosition = (particle, v) => {\n if (particle.destroyed) {\n return;\n }\n const container = this.container,\n canvasSize = container.canvas.size;\n if (particle.needsNewPosition) {\n const newPosition = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSize)({\n size: canvasSize\n });\n particle.position.setTo(newPosition);\n particle.velocity.setTo(particle.initialVelocity);\n particle.absorberOrbit = undefined;\n particle.needsNewPosition = false;\n }\n if (this.options.orbits) {\n if (particle.absorberOrbit === undefined) {\n particle.absorberOrbit = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n particle.absorberOrbit.length = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(particle.getPosition(), this.position);\n particle.absorberOrbit.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * maxAngle;\n }\n if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {\n const minSize = Math.min(canvasSize.width, canvasSize.height),\n offset = 1,\n randomOffset = 0.1,\n randomFactor = 0.2;\n particle.absorberOrbit.length = minSize * (offset + ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * randomFactor - randomOffset));\n }\n if (particle.absorberOrbitDirection === undefined) {\n particle.absorberOrbitDirection = particle.velocity.x >= minVelocity ? \"clockwise\" : \"counter-clockwise\";\n }\n const orbitRadius = particle.absorberOrbit.length,\n orbitAngle = particle.absorberOrbit.angle,\n orbitDirection = particle.absorberOrbitDirection;\n particle.velocity.setTo(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin);\n const updateFunc = {\n x: orbitDirection === \"clockwise\" ? Math.cos : Math.sin,\n y: orbitDirection === \"clockwise\" ? Math.sin : Math.cos\n };\n particle.position.x = this.position.x + orbitRadius * updateFunc.x(orbitAngle);\n particle.position.y = this.position.y + orbitRadius * updateFunc.y(orbitAngle);\n particle.absorberOrbit.length -= v.length;\n particle.absorberOrbit.angle += (particle.retina.moveSpeed ?? minVelocity) * container.retina.pixelRatio / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator * container.retina.reduceFactor;\n } else {\n const addV = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n addV.length = v.length;\n addV.angle = v.angle;\n particle.velocity.addTo(addV);\n }\n };\n this.initialPosition = position ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(position.x, position.y) : undefined;\n if (options instanceof _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n this.options.load(options);\n }\n this.dragging = false;\n this.name = this.options.name;\n this.opacity = this.options.opacity;\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.size.value) * container.retina.pixelRatio;\n this.mass = this.size * this.options.size.density * container.retina.reduceFactor;\n const limit = this.options.size.limit;\n this.limit = {\n radius: limit.radius * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: limit.mass\n };\n this.color = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this.options.color) ?? {\n b: 0,\n g: 0,\n r: 0\n };\n this.position = this.initialPosition?.copy() ?? this._calcPosition();\n }\n attract(particle) {\n const container = this.container,\n options = this.options;\n if (options.draggable) {\n const mouse = container.interactivity.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(this.position, mouse.downPosition);\n if (mouseDist <= this.size) {\n this.dragging = true;\n }\n } else {\n this.dragging = false;\n }\n if (this.dragging && mouse.position) {\n this.position.x = mouse.position.x;\n this.position.y = mouse.position.y;\n }\n }\n const pos = particle.getPosition(),\n {\n dx,\n dy,\n distance\n } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(this.position, pos),\n v = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(dx, dy);\n v.length = this.mass / Math.pow(distance, squareExp) * container.retina.reduceFactor;\n if (distance < this.size + particle.getRadius()) {\n const sizeFactor = particle.getRadius() * absorbFactor * container.retina.pixelRatio;\n if (this.size > particle.getRadius() && distance < this.size - particle.getRadius() || particle.absorberOrbit !== undefined && particle.absorberOrbit.length < minOrbitLength) {\n if (options.destroy) {\n particle.destroy();\n } else {\n particle.needsNewPosition = true;\n this._updateParticlePosition(particle, v);\n }\n } else {\n if (options.destroy) {\n particle.size.value -= sizeFactor;\n }\n this._updateParticlePosition(particle, v);\n }\n if (this.limit.radius <= minRadius || this.size < this.limit.radius) {\n this.size += sizeFactor;\n }\n if (this.limit.mass <= minMass || this.mass < this.limit.mass) {\n this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor;\n }\n } else {\n this._updateParticlePosition(particle, v);\n }\n }\n
|
|
26
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AbsorberInstance: () => (/* binding */ AbsorberInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Absorber.js */ \"../../plugins/absorbers/dist/browser/Options/Classes/Absorber.js\");\n\n\nconst squareExp = 2,\n absorbFactor = 0.033,\n minOrbitLength = 0,\n minRadius = 0,\n minMass = 0,\n origin = {\n x: 0,\n y: 0\n },\n minAngle = 0,\n double = 2,\n maxAngle = Math.PI * double,\n minVelocity = 0;\nclass AbsorberInstance {\n constructor(absorbers, container, options, position) {\n this.absorbers = absorbers;\n this.container = container;\n this._calcPosition = () => {\n const exactPosition = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: this.container.canvas.size,\n position: this.options.position\n });\n return _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(exactPosition.x, exactPosition.y);\n };\n this._updateParticlePosition = (particle, v) => {\n if (particle.destroyed) {\n return;\n }\n const container = this.container,\n canvasSize = container.canvas.size;\n if (particle.needsNewPosition) {\n const newPosition = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSize)({\n size: canvasSize\n });\n particle.position.setTo(newPosition);\n particle.velocity.setTo(particle.initialVelocity);\n particle.absorberOrbit = undefined;\n particle.needsNewPosition = false;\n }\n if (this.options.orbits) {\n if (particle.absorberOrbit === undefined) {\n particle.absorberOrbit = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n particle.absorberOrbit.length = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(particle.getPosition(), this.position);\n particle.absorberOrbit.angle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * maxAngle;\n }\n if (particle.absorberOrbit.length <= this.size && !this.options.destroy) {\n const minSize = Math.min(canvasSize.width, canvasSize.height),\n offset = 1,\n randomOffset = 0.1,\n randomFactor = 0.2;\n particle.absorberOrbit.length = minSize * (offset + ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * randomFactor - randomOffset));\n }\n if (particle.absorberOrbitDirection === undefined) {\n particle.absorberOrbitDirection = particle.velocity.x >= minVelocity ? \"clockwise\" : \"counter-clockwise\";\n }\n const orbitRadius = particle.absorberOrbit.length,\n orbitAngle = particle.absorberOrbit.angle,\n orbitDirection = particle.absorberOrbitDirection;\n particle.velocity.setTo(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin);\n const updateFunc = {\n x: orbitDirection === \"clockwise\" ? Math.cos : Math.sin,\n y: orbitDirection === \"clockwise\" ? Math.sin : Math.cos\n };\n particle.position.x = this.position.x + orbitRadius * updateFunc.x(orbitAngle);\n particle.position.y = this.position.y + orbitRadius * updateFunc.y(orbitAngle);\n particle.absorberOrbit.length -= v.length;\n particle.absorberOrbit.angle += (particle.retina.moveSpeed ?? minVelocity) * container.retina.pixelRatio / _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.percentDenominator * container.retina.reduceFactor;\n } else {\n const addV = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin;\n addV.length = v.length;\n addV.angle = v.angle;\n particle.velocity.addTo(addV);\n }\n };\n this.initialPosition = position ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(position.x, position.y) : undefined;\n if (options instanceof _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Absorber_js__WEBPACK_IMPORTED_MODULE_1__.Absorber();\n this.options.load(options);\n }\n this.dragging = false;\n this.name = this.options.name;\n this.opacity = this.options.opacity;\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.size.value) * container.retina.pixelRatio;\n this.mass = this.size * this.options.size.density * container.retina.reduceFactor;\n const limit = this.options.size.limit;\n this.limit = {\n radius: limit.radius * container.retina.pixelRatio * container.retina.reduceFactor,\n mass: limit.mass\n };\n this.color = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this.options.color) ?? {\n b: 0,\n g: 0,\n r: 0\n };\n this.position = this.initialPosition?.copy() ?? this._calcPosition();\n }\n attract(particle) {\n const container = this.container,\n options = this.options;\n if (options.draggable) {\n const mouse = container.interactivity.mouse;\n if (mouse.clicking && mouse.downPosition) {\n const mouseDist = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistance)(this.position, mouse.downPosition);\n if (mouseDist <= this.size) {\n this.dragging = true;\n }\n } else {\n this.dragging = false;\n }\n if (this.dragging && mouse.position) {\n this.position.x = mouse.position.x;\n this.position.y = mouse.position.y;\n }\n }\n const pos = particle.getPosition(),\n {\n dx,\n dy,\n distance\n } = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getDistances)(this.position, pos),\n v = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.create(dx, dy);\n v.length = this.mass / Math.pow(distance, squareExp) * container.retina.reduceFactor;\n if (distance < this.size + particle.getRadius()) {\n const sizeFactor = particle.getRadius() * absorbFactor * container.retina.pixelRatio;\n if (this.size > particle.getRadius() && distance < this.size - particle.getRadius() || particle.absorberOrbit !== undefined && particle.absorberOrbit.length < minOrbitLength) {\n if (options.destroy) {\n particle.destroy();\n } else {\n particle.needsNewPosition = true;\n this._updateParticlePosition(particle, v);\n }\n } else {\n if (options.destroy) {\n particle.size.value -= sizeFactor;\n }\n this._updateParticlePosition(particle, v);\n }\n if (this.limit.radius <= minRadius || this.size < this.limit.radius) {\n this.size += sizeFactor;\n }\n if (this.limit.mass <= minMass || this.mass < this.limit.mass) {\n this.mass += sizeFactor * this.options.size.density * container.retina.reduceFactor;\n }\n } else {\n this._updateParticlePosition(particle, v);\n }\n }\n draw(context) {\n context.translate(this.position.x, this.position.y);\n context.beginPath();\n context.arc(origin.x, origin.y, this.size, minAngle, maxAngle, false);\n context.closePath();\n context.fillStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(this.color, this.opacity);\n context.fill();\n }\n resize() {\n const initialPosition = this.initialPosition;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, this.container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../plugins/absorbers/dist/browser/AbsorberInstance.js?");
|
|
27
27
|
|
|
28
28
|
/***/ })
|
|
29
29
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
\*********************************************************/
|
|
24
24
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
25
25
|
|
|
26
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorbers: () => (/* binding */ Absorbers)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultIndex = 0;\nclass Absorbers {\n constructor(container) {\n this.container = container;\n this.array = [];\n this.absorbers = [];\n this.interactivityAbsorbers = [];\n container.getAbsorber = idxOrName => idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? this.array[idxOrName ?? defaultIndex] : this.array.find(t => t.name === idxOrName);\n container.addAbsorber = async (options, position) => this.addAbsorber(options, position);\n }\n async addAbsorber(options, position) {\n const {\n AbsorberInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorberInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorberInstance.js */ \"../../plugins/absorbers/dist/browser/AbsorberInstance.js\")),\n absorber = new AbsorberInstance(this, this.container, options, position);\n this.array.push(absorber);\n return absorber;\n }\n
|
|
26
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Absorbers: () => (/* binding */ Absorbers)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst defaultIndex = 0;\nclass Absorbers {\n constructor(container) {\n this.container = container;\n this.array = [];\n this.absorbers = [];\n this.interactivityAbsorbers = [];\n container.getAbsorber = idxOrName => idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? this.array[idxOrName ?? defaultIndex] : this.array.find(t => t.name === idxOrName);\n container.addAbsorber = async (options, position) => this.addAbsorber(options, position);\n }\n async addAbsorber(options, position) {\n const {\n AbsorberInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_absorbers_dist_browser_AbsorberInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./AbsorberInstance.js */ \"../../plugins/absorbers/dist/browser/AbsorberInstance.js\")),\n absorber = new AbsorberInstance(this, this.container, options, position);\n this.array.push(absorber);\n return absorber;\n }\n draw(context) {\n for (const absorber of this.array) {\n absorber.draw(context);\n }\n }\n handleClickMode(mode) {\n const absorberOptions = this.absorbers,\n modeAbsorbers = this.interactivityAbsorbers;\n if (mode === \"absorber\") {\n const absorbersModeOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(modeAbsorbers),\n absorbersOptions = absorbersModeOptions ?? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(absorberOptions),\n aPosition = this.container.interactivity.mouse.clickPosition;\n void this.addAbsorber(absorbersOptions, aPosition);\n }\n }\n async init() {\n this.absorbers = this.container.actualOptions.absorbers;\n this.interactivityAbsorbers = this.container.actualOptions.interactivity.modes.absorbers;\n const promises = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(this.absorbers, async absorber => {\n await this.addAbsorber(absorber);\n });\n if (promises instanceof Array) {\n await Promise.all(promises);\n } else {\n await promises;\n }\n }\n particleUpdate(particle) {\n for (const absorber of this.array) {\n absorber.attract(particle);\n if (particle.destroyed) {\n break;\n }\n }\n }\n removeAbsorber(absorber) {\n const index = this.array.indexOf(absorber),\n deleteCount = 1;\n if (index >= defaultIndex) {\n this.array.splice(index, deleteCount);\n }\n }\n resize() {\n for (const absorber of this.array) {\n absorber.resize();\n }\n }\n stop() {\n this.array = [];\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../plugins/absorbers/dist/browser/Absorbers.js?");
|
|
27
27
|
|
|
28
28
|
/***/ })
|
|
29
29
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -103,7 +103,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
103
103
|
\*******************************************************************************/
|
|
104
104
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
105
105
|
|
|
106
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersCircleShape: () => (/* binding */ EmittersCircleShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nconst quarter = 0.25,\n double = 2,\n doublePI = Math.PI * double,\n squareExp = 2,\n half = 0.5;\nclass EmittersCircleShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n }\n async init() {}\n
|
|
106
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersCircleShape: () => (/* binding */ EmittersCircleShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nconst quarter = 0.25,\n double = 2,\n doublePI = Math.PI * double,\n squareExp = 2,\n half = 0.5;\nclass EmittersCircleShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n }\n async init() {}\n randomPosition() {\n const size = this.size,\n fill = this.fill,\n position = this.position,\n generateTheta = (x, y) => {\n const u = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() * quarter,\n theta = Math.atan(y / x * Math.tan(doublePI * u)),\n v = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)();\n if (v < quarter) {\n return theta;\n } else if (v < double * quarter) {\n return Math.PI - theta;\n } else if (v < double * quarter + quarter) {\n return Math.PI + theta;\n } else {\n return -theta;\n }\n },\n radius = (x, y, theta) => x * y / Math.sqrt((y * Math.cos(theta)) ** squareExp + (x * Math.sin(theta)) ** squareExp),\n [a, b] = [size.width * half, size.height * half],\n randomTheta = generateTheta(a, b),\n maxRadius = radius(a, b, randomTheta),\n randomRadius = fill ? maxRadius * Math.sqrt((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)()) : maxRadius;\n return {\n position: {\n x: position.x + randomRadius * Math.cos(randomTheta),\n y: position.y + randomRadius * Math.sin(randomTheta)\n }\n };\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../plugins/emittersShapes/circle/dist/browser/EmittersCircleShape.js?");
|
|
107
107
|
|
|
108
108
|
/***/ }),
|
|
109
109
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -103,7 +103,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
|
|
|
103
103
|
\*******************************************************************************/
|
|
104
104
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
105
105
|
|
|
106
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersSquareShape: () => (/* binding */ EmittersSquareShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nconst half = 0.5,\n sides = 4,\n double = 2;\nfunction randomSquareCoordinate(position, offset) {\n return position + offset * ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() - _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.halfRandom);\n}\nclass EmittersSquareShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n }\n async init() {}\n
|
|
106
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmittersSquareShape: () => (/* binding */ EmittersSquareShape)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/plugin-emitters */ \"../../plugins/emitters/dist/browser/index.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\n\nconst half = 0.5,\n sides = 4,\n double = 2;\nfunction randomSquareCoordinate(position, offset) {\n return position + offset * ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() - _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.halfRandom);\n}\nclass EmittersSquareShape extends _tsparticles_plugin_emitters__WEBPACK_IMPORTED_MODULE_0__.EmitterShapeBase {\n constructor(position, size, fill, options) {\n super(position, size, fill, options);\n }\n async init() {}\n randomPosition() {\n const fill = this.fill,\n position = this.position,\n size = this.size;\n if (fill) {\n return {\n position: {\n x: randomSquareCoordinate(position.x, size.width),\n y: randomSquareCoordinate(position.y, size.height)\n }\n };\n } else {\n const halfW = size.width * half,\n halfH = size.height * half,\n side = Math.floor((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() * sides),\n v = ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.getRandom)() - _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.halfRandom) * double;\n switch (side) {\n case 0:\n return {\n position: {\n x: position.x + v * halfW,\n y: position.y - halfH\n }\n };\n case 1:\n return {\n position: {\n x: position.x - halfW,\n y: position.y + v * halfH\n }\n };\n case 2:\n return {\n position: {\n x: position.x + v * halfW,\n y: position.y + halfH\n }\n };\n case 3:\n default:\n return {\n position: {\n x: position.x + halfW,\n y: position.y + v * halfH\n }\n };\n }\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../plugins/emittersShapes/square/dist/browser/EmittersSquareShape.js?");
|
|
107
107
|
|
|
108
108
|
/***/ }),
|
|
109
109
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
\**************************************************************/
|
|
24
24
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
25
25
|
|
|
26
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst half = 0.5,\n defaultLifeDelay = 0,\n minLifeCount = 0,\n defaultSpawnDelay = 0,\n defaultEmitDelay = 0,\n defaultLifeCount = -1,\n defaultColorAnimationFactor = 1;\nfunction setParticlesOptionsColor(particlesOptions, color) {\n if (particlesOptions.color) {\n particlesOptions.color.value = color;\n } else {\n particlesOptions.color = {\n value: color\n };\n }\n}\nclass EmitterInstance {\n constructor(engine, emitters, container, options, position) {\n this.emitters = emitters;\n this.container = container;\n this._destroy = () => {\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.emitters.removeEmitter(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n this._prepareToDie = () => {\n if (this._paused) {\n return;\n }\n const duration = this.options.life?.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined,\n minDuration = 0,\n minLifeCount = 0;\n if (this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n this._setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor) => {\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(animation.offset),\n delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay),\n emitFactor = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor,\n defaultColorSpeed = 0,\n colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed ?? defaultColorSpeed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n let particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions ??= {};\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawnColor) {\n this.spawnColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(() => {\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(() => {\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"style\", \"width\", \"height\"]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape,\n shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!(this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, this.container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n async update(delta) {\n if (this._paused) {\n return;\n }\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n await this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._currentSpawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n await this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(),\n pxRatio = this.container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * half) * pxRatio,\n y: (elRect.y + elRect.height * half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: this.container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: \"precise\"\n };\n }\n }\n return this.options.size ?? (() => {\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: \"percent\",\n width: 0\n });\n return size;\n })();\n }\n async _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n await this._emitParticles(quantity);\n }\n async _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions);\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions);\n if (this.spawnColor) {\n const hslAnimation = this.options.spawnColor?.animation;\n if (hslAnimation) {\n const maxValues = {\n h: 360,\n s: 100,\n l: 100\n },\n colorFactor = 3.6;\n this.spawnColor.h = this._setColorAnimation(hslAnimation.h, this.spawnColor.h, maxValues.h, colorFactor);\n this.spawnColor.s = this._setColorAnimation(hslAnimation.s, this.spawnColor.s, maxValues.s);\n this.spawnColor.l = this._setColorAnimation(hslAnimation.l, this.spawnColor.l, maxValues.l);\n }\n setParticlesOptionsColor(particlesOptions, this.spawnColor);\n }\n const shapeOptions = this.options.shape;\n let position = this.position;\n if (this._shape) {\n const shapePosData = await this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsColor(particlesOptions, shapePosData.color);\n }\n if (replaceData.opacity) {\n if (particlesOptions.opacity) {\n particlesOptions.opacity.value = shapePosData.opacity;\n } else {\n particlesOptions.opacity = {\n value: shapePosData.opacity\n };\n }\n }\n } else {\n position = null;\n }\n }\n if (position) {\n await this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../plugins/emitters/dist/browser/EmitterInstance.js?");
|
|
26
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmitterInstance: () => (/* binding */ EmitterInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\");\n/* harmony import */ var _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Options/Classes/EmitterSize.js */ \"../../plugins/emitters/dist/browser/Options/Classes/EmitterSize.js\");\n\n\n\nconst half = 0.5,\n defaultLifeDelay = 0,\n minLifeCount = 0,\n defaultSpawnDelay = 0,\n defaultEmitDelay = 0,\n defaultLifeCount = -1,\n defaultColorAnimationFactor = 1;\nfunction setParticlesOptionsColor(particlesOptions, color) {\n if (particlesOptions.color) {\n particlesOptions.color.value = color;\n } else {\n particlesOptions.color = {\n value: color\n };\n }\n}\nclass EmitterInstance {\n constructor(engine, emitters, container, options, position) {\n this.emitters = emitters;\n this.container = container;\n this._destroy = () => {\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n this.emitters.removeEmitter(this);\n this._engine.dispatchEvent(\"emitterDestroyed\", {\n container: this.container,\n data: {\n emitter: this\n }\n });\n };\n this._prepareToDie = () => {\n if (this._paused) {\n return;\n }\n const duration = this.options.life?.duration !== undefined ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.duration) : undefined,\n minDuration = 0,\n minLifeCount = 0;\n if (this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal) && duration !== undefined && duration > minDuration) {\n this._duration = duration * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds;\n }\n };\n this._setColorAnimation = (animation, initValue, maxValue, factor = defaultColorAnimationFactor) => {\n const container = this.container;\n if (!animation.enable) {\n return initValue;\n }\n const colorOffset = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.randomInRange)(animation.offset),\n delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay),\n emitFactor = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / container.retina.reduceFactor,\n defaultColorSpeed = 0,\n colorSpeed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animation.speed ?? defaultColorSpeed);\n return (initValue + colorSpeed * container.fpsLimit / emitFactor + colorOffset * factor) % maxValue;\n };\n this._engine = engine;\n this._currentDuration = 0;\n this._currentEmitDelay = 0;\n this._currentSpawnDelay = 0;\n this._initialPosition = position;\n if (options instanceof _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter) {\n this.options = options;\n } else {\n this.options = new _Options_Classes_Emitter_js__WEBPACK_IMPORTED_MODULE_1__.Emitter();\n this.options.load(options);\n }\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n this.position = this._initialPosition ?? this._calcPosition();\n this.name = this.options.name;\n this.fill = this.options.fill;\n this._firstSpawn = !this.options.life.wait;\n this._startParticlesAdded = false;\n let particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, this.options.particles);\n particlesOptions ??= {};\n particlesOptions.move ??= {};\n particlesOptions.move.direction ??= this.options.direction;\n if (this.options.spawnColor) {\n this.spawnColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this.options.spawnColor);\n }\n this._paused = !this.options.autoPlay;\n this._particlesOptions = particlesOptions;\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._lifeCount = this.options.life.count ?? defaultLifeCount;\n this._immortal = this._lifeCount <= minLifeCount;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n this._mutationObserver = new MutationObserver(() => {\n this.resize();\n });\n this._resizeObserver = new ResizeObserver(() => {\n this.resize();\n });\n this._mutationObserver.observe(element, {\n attributes: true,\n attributeFilter: [\"style\", \"width\", \"height\"]\n });\n this._resizeObserver.observe(element);\n }\n }\n const shapeOptions = this.options.shape,\n shapeGenerator = this._engine.emitterShapeManager?.getShapeGenerator(shapeOptions.type);\n if (shapeGenerator) {\n this._shape = shapeGenerator.generate(this.position, this.size, this.fill, shapeOptions.options);\n }\n this._engine.dispatchEvent(\"emitterCreated\", {\n container,\n data: {\n emitter: this\n }\n });\n this.play();\n }\n externalPause() {\n this._paused = true;\n this.pause();\n }\n externalPlay() {\n this._paused = false;\n this.play();\n }\n async init() {\n await this._shape?.init();\n }\n pause() {\n if (this._paused) {\n return;\n }\n delete this._emitDelay;\n }\n play() {\n if (this._paused) {\n return;\n }\n if (!(this.container.retina.reduceFactor && (this._lifeCount > minLifeCount || this._immortal || !this.options.life.count) && (this._firstSpawn || this._currentSpawnDelay >= (this._spawnDelay ?? defaultSpawnDelay)))) {\n return;\n }\n if (this._emitDelay === undefined) {\n const delay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.delay);\n this._emitDelay = delay * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this._prepareToDie();\n }\n }\n resize() {\n const initialPosition = this._initialPosition;\n this.position = initialPosition && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isPointInside)(initialPosition, this.container.canvas.size, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.Vector.origin) ? initialPosition : this._calcPosition();\n this._size = this._calcSize();\n this.size = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getSize)(this._size, this.container.canvas.size);\n this._shape?.resize(this.position, this.size);\n }\n update(delta) {\n if (this._paused) {\n return;\n }\n if (this._firstSpawn) {\n this._firstSpawn = false;\n this._currentSpawnDelay = this._spawnDelay ?? defaultSpawnDelay;\n this._currentEmitDelay = this._emitDelay ?? defaultEmitDelay;\n }\n if (!this._startParticlesAdded) {\n this._startParticlesAdded = true;\n this._emitParticles(this.options.startCount);\n }\n if (this._duration !== undefined) {\n this._currentDuration += delta.value;\n if (this._currentDuration >= this._duration) {\n this.pause();\n if (this._spawnDelay !== undefined) {\n delete this._spawnDelay;\n }\n if (!this._immortal) {\n this._lifeCount--;\n }\n if (this._lifeCount > minLifeCount || this._immortal) {\n this.position = this._calcPosition();\n this._shape?.resize(this.position, this.size);\n this._spawnDelay = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.life.delay ?? defaultLifeDelay) * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.millisecondsToSeconds / this.container.retina.reduceFactor;\n } else {\n this._destroy();\n }\n this._currentDuration -= this._duration;\n delete this._duration;\n }\n }\n if (this._spawnDelay !== undefined) {\n this._currentSpawnDelay += delta.value;\n if (this._currentSpawnDelay >= this._spawnDelay) {\n this._engine.dispatchEvent(\"emitterPlay\", {\n container: this.container\n });\n this.play();\n this._currentSpawnDelay -= this._currentSpawnDelay;\n delete this._spawnDelay;\n }\n }\n if (this._emitDelay !== undefined) {\n this._currentEmitDelay += delta.value;\n if (this._currentEmitDelay >= this._emitDelay) {\n this._emit();\n this._currentEmitDelay -= this._emitDelay;\n }\n }\n }\n _calcPosition() {\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect(),\n pxRatio = this.container.retina.pixelRatio;\n return {\n x: (elRect.x + elRect.width * half) * pxRatio,\n y: (elRect.y + elRect.height * half) * pxRatio\n };\n }\n }\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.calcPositionOrRandomFromSizeRanged)({\n size: this.container.canvas.size,\n position: this.options.position\n });\n }\n _calcSize() {\n const container = this.container;\n if (this.options.domId) {\n const element = document.getElementById(this.options.domId);\n if (element) {\n const elRect = element.getBoundingClientRect();\n return {\n width: elRect.width * container.retina.pixelRatio,\n height: elRect.height * container.retina.pixelRatio,\n mode: \"precise\"\n };\n }\n }\n return this.options.size ?? (() => {\n const size = new _Options_Classes_EmitterSize_js__WEBPACK_IMPORTED_MODULE_2__.EmitterSize();\n size.load({\n height: 0,\n mode: \"percent\",\n width: 0\n });\n return size;\n })();\n }\n _emit() {\n if (this._paused) {\n return;\n }\n const quantity = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(this.options.rate.quantity);\n this._emitParticles(quantity);\n }\n _emitParticles(quantity) {\n const singleParticlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(this._particlesOptions);\n for (let i = 0; i < quantity; i++) {\n const particlesOptions = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, singleParticlesOptions);\n if (this.spawnColor) {\n const hslAnimation = this.options.spawnColor?.animation;\n if (hslAnimation) {\n const maxValues = {\n h: 360,\n s: 100,\n l: 100\n },\n colorFactor = 3.6;\n this.spawnColor.h = this._setColorAnimation(hslAnimation.h, this.spawnColor.h, maxValues.h, colorFactor);\n this.spawnColor.s = this._setColorAnimation(hslAnimation.s, this.spawnColor.s, maxValues.s);\n this.spawnColor.l = this._setColorAnimation(hslAnimation.l, this.spawnColor.l, maxValues.l);\n }\n setParticlesOptionsColor(particlesOptions, this.spawnColor);\n }\n const shapeOptions = this.options.shape;\n let position = this.position;\n if (this._shape) {\n const shapePosData = this._shape.randomPosition();\n if (shapePosData) {\n position = shapePosData.position;\n const replaceData = shapeOptions.replace;\n if (replaceData.color && shapePosData.color) {\n setParticlesOptionsColor(particlesOptions, shapePosData.color);\n }\n if (replaceData.opacity) {\n if (particlesOptions.opacity) {\n particlesOptions.opacity.value = shapePosData.opacity;\n } else {\n particlesOptions.opacity = {\n value: shapePosData.opacity\n };\n }\n }\n } else {\n position = null;\n }\n }\n if (position) {\n this.container.particles.addParticle(position, particlesOptions);\n }\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../plugins/emitters/dist/browser/EmitterInstance.js?");
|
|
27
27
|
|
|
28
28
|
/***/ })
|
|
29
29
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
\*******************************************************/
|
|
24
24
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
25
25
|
|
|
26
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitters: () => (/* binding */ Emitters)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Emitters {\n constructor(engine, container) {\n this.container = container;\n this._engine = engine;\n this.array = [];\n this.emitters = [];\n this.interactivityEmitters = {\n random: {\n count: 1,\n enable: false\n },\n value: []\n };\n const defaultIndex = 0;\n container.getEmitter = idxOrName => idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? this.array[idxOrName ?? defaultIndex] : this.array.find(t => t.name === idxOrName);\n container.addEmitter = async (options, position) => this.addEmitter(options, position);\n container.removeEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n this.removeEmitter(emitter);\n }\n };\n container.playEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n container.pauseEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n async addEmitter(options, position) {\n const {\n Emitter\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\")),\n {\n EmitterInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmitterInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmitterInstance.js */ \"../../plugins/emitters/dist/browser/EmitterInstance.js\")),\n emitterOptions = new Emitter();\n emitterOptions.load(options);\n const emitter = new EmitterInstance(this._engine, this, this.container, emitterOptions, position);\n await emitter.init();\n this.array.push(emitter);\n return emitter;\n }\n handleClickMode(mode) {\n const emitterOptions = this.emitters,\n modeEmitters = this.interactivityEmitters;\n if (mode !== \"emitter\") {\n return;\n }\n let emittersModeOptions;\n if (modeEmitters && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(modeEmitters.value)) {\n const minLength = 0;\n if (modeEmitters.value.length > minLength && modeEmitters.random.enable) {\n emittersModeOptions = [];\n const usedIndexes = [];\n for (let i = 0; i < modeEmitters.random.count; i++) {\n const idx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.arrayRandomIndex)(modeEmitters.value);\n if (usedIndexes.includes(idx) && usedIndexes.length < modeEmitters.value.length) {\n i--;\n continue;\n }\n usedIndexes.push(idx);\n emittersModeOptions.push((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromArray)(modeEmitters.value, idx));\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n } else {\n emittersModeOptions = modeEmitters?.value;\n }\n const emittersOptions = emittersModeOptions ?? emitterOptions,\n ePosition = this.container.interactivity.mouse.clickPosition;\n void (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(emittersOptions, async emitter => {\n await this.addEmitter(emitter, ePosition);\n });\n }\n async init() {\n this.emitters = this.container.actualOptions.emitters;\n this.interactivityEmitters = this.container.actualOptions.interactivity.modes.emitters;\n if (!this.emitters) {\n return;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(this.emitters)) {\n for (const emitterOptions of this.emitters) {\n await this.addEmitter(emitterOptions);\n }\n } else {\n await this.addEmitter(this.emitters);\n }\n }\n pause() {\n for (const emitter of this.array) {\n emitter.pause();\n }\n }\n play() {\n for (const emitter of this.array) {\n emitter.play();\n }\n }\n removeEmitter(emitter) {\n const index = this.array.indexOf(emitter),\n minIndex = 0,\n deleteCount = 1;\n if (index >= minIndex) {\n this.array.splice(index, deleteCount);\n }\n }\n resize() {\n for (const emitter of this.array) {\n emitter.resize();\n }\n }\n stop() {\n this.array = [];\n }\n
|
|
26
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Emitters: () => (/* binding */ Emitters)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Emitters {\n constructor(engine, container) {\n this.container = container;\n this._engine = engine;\n this.array = [];\n this.emitters = [];\n this.interactivityEmitters = {\n random: {\n count: 1,\n enable: false\n },\n value: []\n };\n const defaultIndex = 0;\n container.getEmitter = idxOrName => idxOrName === undefined || (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNumber)(idxOrName) ? this.array[idxOrName ?? defaultIndex] : this.array.find(t => t.name === idxOrName);\n container.addEmitter = async (options, position) => this.addEmitter(options, position);\n container.removeEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n this.removeEmitter(emitter);\n }\n };\n container.playEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPlay();\n }\n };\n container.pauseEmitter = idxOrName => {\n const emitter = container.getEmitter(idxOrName);\n if (emitter) {\n emitter.externalPause();\n }\n };\n }\n async addEmitter(options, position) {\n const {\n Emitter\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Options/Classes/Emitter.js */ \"../../plugins/emitters/dist/browser/Options/Classes/Emitter.js\")),\n {\n EmitterInstance\n } = await __webpack_require__.e(/*! import() */ \"plugins_emitters_dist_browser_EmitterInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmitterInstance.js */ \"../../plugins/emitters/dist/browser/EmitterInstance.js\")),\n emitterOptions = new Emitter();\n emitterOptions.load(options);\n const emitter = new EmitterInstance(this._engine, this, this.container, emitterOptions, position);\n await emitter.init();\n this.array.push(emitter);\n return emitter;\n }\n handleClickMode(mode) {\n const emitterOptions = this.emitters,\n modeEmitters = this.interactivityEmitters;\n if (mode !== \"emitter\") {\n return;\n }\n let emittersModeOptions;\n if (modeEmitters && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(modeEmitters.value)) {\n const minLength = 0;\n if (modeEmitters.value.length > minLength && modeEmitters.random.enable) {\n emittersModeOptions = [];\n const usedIndexes = [];\n for (let i = 0; i < modeEmitters.random.count; i++) {\n const idx = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.arrayRandomIndex)(modeEmitters.value);\n if (usedIndexes.includes(idx) && usedIndexes.length < modeEmitters.value.length) {\n i--;\n continue;\n }\n usedIndexes.push(idx);\n emittersModeOptions.push((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromArray)(modeEmitters.value, idx));\n }\n } else {\n emittersModeOptions = modeEmitters.value;\n }\n } else {\n emittersModeOptions = modeEmitters?.value;\n }\n const emittersOptions = emittersModeOptions ?? emitterOptions,\n ePosition = this.container.interactivity.mouse.clickPosition;\n void (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(emittersOptions, async emitter => {\n await this.addEmitter(emitter, ePosition);\n });\n }\n async init() {\n this.emitters = this.container.actualOptions.emitters;\n this.interactivityEmitters = this.container.actualOptions.interactivity.modes.emitters;\n if (!this.emitters) {\n return;\n }\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isArray)(this.emitters)) {\n for (const emitterOptions of this.emitters) {\n await this.addEmitter(emitterOptions);\n }\n } else {\n await this.addEmitter(this.emitters);\n }\n }\n pause() {\n for (const emitter of this.array) {\n emitter.pause();\n }\n }\n play() {\n for (const emitter of this.array) {\n emitter.play();\n }\n }\n removeEmitter(emitter) {\n const index = this.array.indexOf(emitter),\n minIndex = 0,\n deleteCount = 1;\n if (index >= minIndex) {\n this.array.splice(index, deleteCount);\n }\n }\n resize() {\n for (const emitter of this.array) {\n emitter.resize();\n }\n }\n stop() {\n this.array = [];\n }\n update(delta) {\n for (const emitter of this.array) {\n emitter.update(delta);\n }\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../plugins/emitters/dist/browser/Emitters.js?");
|
|
27
27
|
|
|
28
28
|
/***/ })
|
|
29
29
|
|
package/report.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>tsparticles [
|
|
6
|
+
<title>tsparticles [27 Feb 2024 at 12:25]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v3.
|
|
7
|
+
* v3.3.0
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,17 @@
|
|
|
23
23
|
\********************************************************/
|
|
24
24
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
25
25
|
|
|
26
|
-
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CircleDrawer: () => (/* binding */ CircleDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst sides = 12,\n maxAngle = 360,\n minAngle = 0;\nclass CircleDrawer {\n
|
|
26
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CircleDrawer: () => (/* binding */ CircleDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/circle/dist/browser/Utils.js\");\n\n\nconst sides = 12,\n maxAngle = 360,\n minAngle = 0;\nclass CircleDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.drawCircle)(data);\n }\n getSidesCount() {\n return sides;\n }\n particleInit(container, particle) {\n const shapeData = particle.shapeData,\n angle = shapeData?.angle ?? {\n max: maxAngle,\n min: minAngle\n };\n particle.circleRange = !(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isObject)(angle) ? {\n min: minAngle,\n max: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle)\n } : {\n min: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle.min),\n max: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle.max)\n };\n }\n}\n\n//# sourceURL=webpack://tsparticles/../../shapes/circle/dist/browser/CircleDrawer.js?");
|
|
27
|
+
|
|
28
|
+
/***/ }),
|
|
29
|
+
|
|
30
|
+
/***/ "../../shapes/circle/dist/browser/Utils.js":
|
|
31
|
+
/*!*************************************************!*\
|
|
32
|
+
!*** ../../shapes/circle/dist/browser/Utils.js ***!
|
|
33
|
+
\*************************************************/
|
|
34
|
+
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
35
|
+
|
|
36
|
+
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawCircle: () => (/* binding */ drawCircle)\n/* harmony export */ });\nconst double = 2,\n doublePI = Math.PI * double,\n minAngle = 0,\n origin = {\n x: 0,\n y: 0\n };\nfunction drawCircle(data) {\n const {\n context,\n particle,\n radius\n } = data;\n if (!particle.circleRange) {\n particle.circleRange = {\n min: minAngle,\n max: doublePI\n };\n }\n const circleRange = particle.circleRange;\n context.arc(origin.x, origin.y, radius, circleRange.min, circleRange.max, false);\n}\n\n//# sourceURL=webpack://tsparticles/../../shapes/circle/dist/browser/Utils.js?");
|
|
27
37
|
|
|
28
38
|
/***/ })
|
|
29
39
|
|