@tsparticles/all 4.0.0-alpha.8 → 4.0.0-beta.1
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/1028.min.js +1 -0
- package/1030.min.js +1 -0
- package/1048.min.js +1 -0
- package/1051.min.js +1 -0
- package/1061.min.js +1 -0
- package/1089.min.js +1 -0
- package/1120.min.js +1 -0
- package/1121.min.js +1 -0
- package/1160.min.js +1 -0
- package/1167.min.js +1 -0
- package/117.min.js +1 -0
- package/1201.min.js +1 -0
- package/1255.min.js +1 -0
- package/143.min.js +1 -0
- package/1510.min.js +1 -0
- package/1551.min.js +1 -0
- package/1605.min.js +1 -0
- package/1611.min.js +1 -0
- package/1661.min.js +1 -0
- package/1707.min.js +2 -0
- package/1744.min.js +1 -0
- package/1767.min.js +1 -0
- package/1818.min.js +2 -0
- package/1841.min.js +1 -0
- package/1860.min.js +1 -0
- package/2004.min.js +1 -0
- package/2093.min.js +1 -0
- package/2105.min.js +1 -0
- package/2158.min.js +1 -0
- package/2177.min.js +1 -0
- package/2253.min.js +1 -0
- package/2261.min.js +1 -0
- package/2265.min.js +1 -0
- package/2360.min.js +1 -0
- package/2405.min.js +1 -0
- package/2413.min.js +1 -0
- package/2425.min.js +1 -0
- package/2429.min.js +1 -0
- package/2454.min.js +1 -0
- package/2554.min.js +1 -0
- package/264.min.js +1 -0
- package/2643.min.js +1 -0
- package/2682.min.js +1 -0
- package/2784.min.js +1 -0
- package/2825.min.js +1 -0
- package/2866.min.js +1 -0
- package/2908.min.js +1 -0
- package/2930.min.js +1 -0
- package/2933.min.js +1 -0
- package/2964.min.js +1 -0
- package/2971.min.js +1 -0
- package/2975.min.js +1 -0
- package/301.min.js +1 -0
- package/3041.min.js +1 -0
- package/3057.min.js +1 -0
- package/3088.min.js +1 -0
- package/3089.min.js +1 -0
- package/31.min.js +1 -0
- package/3128.min.js +1 -0
- package/3150.min.js +1 -0
- package/3152.min.js +1 -2
- package/3210.min.js +1 -0
- package/3248.min.js +1 -0
- package/3256.min.js +1 -0
- package/3285.min.js +1 -0
- package/3304.min.js +1 -0
- package/3323.min.js +1 -0
- package/335.min.js +1 -0
- package/3362.min.js +1 -0
- package/3471.min.js +1 -0
- package/3477.min.js +1 -0
- package/349.min.js +1 -0
- package/350.min.js +1 -0
- package/3595.min.js +1 -0
- package/3693.min.js +1 -0
- package/370.min.js +2 -0
- package/3706.min.js +1 -0
- package/3719.min.js +1 -0
- package/3728.min.js +1 -0
- package/3737.min.js +1 -0
- package/3775.min.js +1 -0
- package/3861.min.js +1 -0
- package/3875.min.js +1 -0
- package/3895.min.js +1 -0
- package/394.min.js +1 -0
- package/3949.min.js +1 -0
- package/3961.min.js +1 -2
- package/3972.min.js +1 -0
- package/3983.min.js +1 -0
- package/4051.min.js +1 -0
- package/4054.min.js +1 -0
- package/4074.min.js +1 -0
- package/4075.min.js +1 -0
- package/4088.min.js +1 -0
- package/410.min.js +1 -0
- package/4117.min.js +1 -0
- package/4129.min.js +1 -0
- package/4159.min.js +1 -0
- package/4191.min.js +1 -0
- package/4198.min.js +1 -0
- package/4204.min.js +1 -0
- package/4258.min.js +1 -0
- package/4301.min.js +1 -0
- package/4306.min.js +1 -0
- package/4316.min.js +1 -0
- package/4376.min.js +1 -0
- package/4468.min.js +1 -0
- package/4473.min.js +1 -0
- package/4489.min.js +1 -0
- package/4537.min.js +1 -0
- package/4550.min.js +1 -0
- package/4567.min.js +1 -0
- package/4592.min.js +1 -0
- package/4601.min.js +1 -0
- package/465.min.js +1 -0
- package/4656.min.js +1 -0
- package/4701.min.js +1 -0
- package/4722.min.js +1 -0
- package/4726.min.js +1 -0
- package/4837.min.js +1 -2
- package/4839.min.js +1 -0
- package/4880.min.js +1 -0
- package/4887.min.js +1 -0
- package/4898.min.js +1 -0
- package/4917.min.js +1 -0
- package/4952.min.js +1 -0
- package/4991.min.js +1 -0
- package/5055.min.js +1 -0
- package/5056.min.js +1 -0
- package/5077.min.js +1 -0
- package/5095.min.js +1 -0
- package/5136.min.js +1 -0
- package/5174.min.js +1 -0
- package/5197.min.js +1 -0
- package/5212.min.js +1 -0
- package/5232.min.js +1 -0
- package/5260.min.js +1 -0
- package/5264.min.js +1 -0
- package/5275.min.js +1 -0
- package/5313.min.js +1 -0
- package/5325.min.js +1 -0
- package/5332.min.js +1 -0
- package/5341.min.js +1 -0
- package/5347.min.js +1 -0
- package/5352.min.js +1 -0
- package/5356.min.js +1 -0
- package/5402.min.js +1 -0
- package/5437.min.js +1 -0
- package/5447.min.js +1 -0
- package/5453.min.js +1 -0
- package/5532.min.js +1 -0
- package/5541.min.js +1 -0
- package/5589.min.js +1 -0
- package/5602.min.js +1 -0
- package/561.min.js +1 -0
- package/5641.min.js +1 -0
- package/5651.min.js +1 -0
- package/5668.min.js +1 -0
- package/5669.min.js +1 -0
- package/5686.min.js +1 -0
- package/5694.min.js +1 -0
- package/5700.min.js +1 -0
- package/5719.min.js +1 -0
- package/5732.min.js +1 -0
- package/5742.min.js +1 -0
- package/5816.min.js +1 -0
- package/5832.min.js +1 -0
- package/587.min.js +1 -0
- package/5976.min.js +1 -0
- package/6055.min.js +1 -0
- package/6056.min.js +1 -0
- package/607.min.js +1 -0
- package/6130.min.js +1 -0
- package/6202.min.js +1 -0
- package/6222.min.js +1 -0
- package/6227.min.js +1 -0
- package/6252.min.js +1 -0
- package/6280.min.js +1 -0
- package/6297.min.js +1 -0
- package/6340.min.js +1 -0
- package/6362.min.js +1 -0
- package/6364.min.js +1 -0
- package/6388.min.js +1 -2
- package/6412.min.js +1 -0
- package/649.min.js +1 -0
- package/6496.min.js +1 -0
- package/6502.min.js +1 -0
- package/6561.min.js +1 -0
- package/6598.min.js +1 -0
- package/6613.min.js +1 -0
- package/6693.min.js +1 -0
- package/6711.min.js +1 -2
- package/6808.min.js +1 -0
- package/6822.min.js +1 -0
- package/6827.min.js +1 -0
- package/686.min.js +1 -0
- package/6868.min.js +1 -0
- package/6897.min.js +1 -0
- package/6907.min.js +1 -0
- package/6938.min.js +1 -0
- package/6940.min.js +1 -0
- package/7017.min.js +1 -0
- package/7041.min.js +1 -0
- package/7050.min.js +1 -0
- package/706.min.js +1 -0
- package/7062.min.js +1 -0
- package/7079.min.js +1 -0
- package/7149.min.js +1 -0
- package/7157.min.js +1 -0
- package/719.min.js +1 -0
- package/7196.min.js +1 -0
- package/7203.min.js +1 -0
- package/7206.min.js +1 -0
- package/7218.min.js +1 -0
- package/7359.min.js +1 -0
- package/7374.min.js +1 -0
- package/7386.min.js +1 -0
- package/7403.min.js +1 -0
- package/746.min.js +1 -0
- package/7462.min.js +1 -0
- package/748.min.js +1 -0
- package/7520.min.js +1 -0
- package/7522.min.js +1 -0
- package/7590.min.js +1 -0
- package/7596.min.js +1 -0
- package/7604.min.js +1 -0
- package/762.min.js +1 -0
- package/7721.min.js +1 -0
- package/7788.min.js +1 -0
- package/7817.min.js +1 -0
- package/786.min.js +1 -0
- package/7921.min.js +1 -0
- package/803.min.js +1 -0
- package/8082.min.js +1 -0
- package/8096.min.js +1 -0
- package/8111.min.js +1 -0
- package/8173.min.js +1 -0
- package/8243.min.js +1 -0
- package/8272.min.js +1 -0
- package/8274.min.js +1 -0
- package/83.min.js +2 -2
- package/830.min.js +1 -0
- package/8319.min.js +1 -0
- package/8342.min.js +1 -0
- package/8360.min.js +1 -0
- package/8421.min.js +1 -0
- package/8446.min.js +1 -0
- package/8536.min.js +1 -0
- package/8553.min.js +33 -0
- package/8569.min.js +1 -0
- package/8626.min.js +1 -0
- package/8650.min.js +1 -0
- package/8684.min.js +1 -0
- package/8708.min.js +1 -0
- package/8775.min.js +1 -0
- package/8776.min.js +1 -0
- package/8796.min.js +1 -0
- package/8805.min.js +1 -0
- package/8808.min.js +1 -0
- package/886.min.js +1 -0
- package/8930.min.js +1 -0
- package/8957.min.js +1 -0
- package/8977.min.js +2 -0
- package/8989.min.js +1 -0
- package/9022.min.js +1 -0
- package/9027.min.js +1 -0
- package/9033.min.js +1 -0
- package/9072.min.js +1 -0
- package/9134.min.js +1 -0
- package/9165.min.js +1 -0
- package/9261.min.js +1 -0
- package/9293.min.js +1 -0
- package/9326.min.js +1 -0
- package/9368.min.js +1 -0
- package/938.min.js +1 -0
- package/9463.min.js +1 -0
- package/9479.min.js +1 -0
- package/951.min.js +1 -0
- package/9630.min.js +1 -0
- package/9643.min.js +1 -2
- package/9654.min.js +1 -0
- package/9673.min.js +1 -0
- package/9720.min.js +1 -0
- package/9748.min.js +1 -0
- package/9782.min.js +1 -0
- package/9838.min.js +1 -0
- package/9920.min.js +1 -0
- package/9950.min.js +1 -0
- package/9994.min.js +1 -0
- package/README.md +158 -4
- package/basic_dist_browser_index_js.js +2 -2
- package/browser/bundle.js +1 -2
- package/browser/index.js +162 -68
- package/cjs/bundle.js +1 -2
- package/cjs/index.js +162 -68
- package/effects_bubble_dist_browser_BubbleDrawer_js.js +2 -2
- package/effects_bubble_dist_browser_index_js.js +2 -2
- package/effects_particles_dist_browser_ParticlesDrawer_js.js +30 -0
- package/effects_particles_dist_browser_index_js.js +30 -0
- package/effects_shadow_dist_browser_ShadowDrawer_js.js +2 -2
- package/effects_shadow_dist_browser_index_js.js +2 -2
- package/effects_trail_dist_browser_TrailDrawer_js.js +2 -2
- package/effects_trail_dist_browser_index_js.js +2 -2
- package/engine_dist_browser_Core_Container_js.js +30 -20
- package/esm/bundle.js +1 -2
- package/esm/index.js +162 -68
- package/full_dist_browser_index_js.js +2 -2
- package/interactions_external_attract_dist_browser_Attractor_js.js +42 -42
- package/interactions_external_attract_dist_browser_index_js.js +3 -3
- package/interactions_external_bounce_dist_browser_Bouncer_js.js +42 -42
- package/interactions_external_bounce_dist_browser_index_js.js +3 -3
- package/interactions_external_bubble_dist_browser_Bubbler_js.js +43 -43
- package/interactions_external_bubble_dist_browser_index_js.js +5 -5
- package/interactions_external_cannon_dist_browser_Cannoner_js.js +130 -0
- package/interactions_external_cannon_dist_browser_index_js.js +40 -0
- package/interactions_external_connect_dist_browser_Connector_js.js +62 -42
- package/interactions_external_connect_dist_browser_index_js.js +4 -4
- package/interactions_external_drag_dist_browser_Dragger_js.js +130 -0
- package/interactions_external_drag_dist_browser_index_js.js +40 -0
- package/interactions_external_grab_dist_browser_Grabber_js.js +62 -42
- package/interactions_external_grab_dist_browser_index_js.js +4 -4
- package/interactions_external_parallax_dist_browser_Parallaxer_js.js +41 -41
- package/interactions_external_parallax_dist_browser_index_js.js +3 -3
- package/interactions_external_particle_dist_browser_InteractivityParticleMaker_js.js +42 -42
- package/interactions_external_particle_dist_browser_index_js.js +2 -2
- package/interactions_external_pause_dist_browser_Pauser_js.js +41 -41
- package/interactions_external_pause_dist_browser_index_js.js +2 -2
- package/interactions_external_pop_dist_browser_Popper_js.js +41 -41
- package/interactions_external_pop_dist_browser_index_js.js +2 -2
- package/interactions_external_push_dist_browser_Pusher_js.js +41 -41
- package/interactions_external_push_dist_browser_index_js.js +3 -3
- package/interactions_external_remove_dist_browser_Remover_js.js +41 -41
- package/interactions_external_remove_dist_browser_index_js.js +3 -3
- package/interactions_external_repulse_dist_browser_Repulser_js.js +41 -41
- package/interactions_external_repulse_dist_browser_index_js.js +5 -5
- package/interactions_external_slow_dist_browser_Slower_js.js +41 -41
- package/interactions_external_slow_dist_browser_index_js.js +3 -3
- package/interactions_external_trail_dist_browser_TrailMaker_js.js +41 -41
- package/interactions_external_trail_dist_browser_index_js.js +33 -3
- package/interactions_light_dist_browser_ExternalLighter_js.js +42 -42
- package/interactions_light_dist_browser_ParticlesLighter_js.js +42 -42
- package/interactions_light_dist_browser_index_js.js +6 -6
- package/interactions_particles_attract_dist_browser_Attractor_js.js +51 -41
- package/interactions_particles_attract_dist_browser_index_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_Collider_js.js +49 -49
- package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
- package/interactions_particles_links_dist_browser_LinkInstance_js.js +3 -3
- package/interactions_particles_links_dist_browser_Linker_js.js +42 -42
- package/interactions_particles_links_dist_browser_LinksPlugin_js.js +2 -2
- package/interactions_particles_links_dist_browser_index_js.js +5 -5
- package/interactions_particles_repulse_dist_browser_Repulser_js.js +42 -42
- package/interactions_particles_repulse_dist_browser_index_js.js +2 -2
- package/package.json +78 -67
- package/paths_branches_dist_browser_BranchesPathGenerator_js.js +30 -0
- package/paths_branches_dist_browser_index_js.js +30 -0
- package/paths_brownian_dist_browser_BrownianPathGenerator_js.js +30 -0
- package/paths_brownian_dist_browser_index_js.js +30 -0
- package/paths_curlNoise_dist_browser_CurlNoiseGenerator_js.js +2 -2
- package/paths_curlNoise_dist_browser_index_js.js +2 -2
- package/paths_curves_dist_browser_CurvesPathGenerator_js.js +3 -3
- package/paths_curves_dist_browser_index_js.js +2 -2
- package/paths_fractalNoise_dist_browser_FractalNoiseGenerator_js.js +8 -8
- package/paths_fractalNoise_dist_browser_index_js.js +2 -2
- package/paths_grid_dist_browser_GridPathGenerator_js.js +30 -0
- package/paths_grid_dist_browser_index_js.js +30 -0
- package/paths_levy_dist_browser_LevyPathGenerator_js.js +30 -0
- package/paths_levy_dist_browser_index_js.js +30 -0
- package/paths_perlinNoise_dist_browser_PerlinNoiseGenerator_js.js +7 -7
- package/paths_perlinNoise_dist_browser_index_js.js +2 -2
- package/paths_polygon_dist_browser_PolygonPathGenerator_js.js +2 -2
- package/paths_polygon_dist_browser_index_js.js +2 -2
- package/paths_random_dist_browser_RandomPathGenerator_js.js +30 -0
- package/paths_random_dist_browser_index_js.js +30 -0
- package/paths_simplexNoise_dist_browser_SimplexNoiseGenerator_js.js +4 -4
- package/paths_simplexNoise_dist_browser_index_js.js +2 -2
- package/paths_spiral_dist_browser_SpiralPathGenerator_js.js +40 -0
- package/paths_spiral_dist_browser_index_js.js +30 -0
- package/paths_svg_dist_browser_SVGPathGenerator_js.js +22 -2
- package/paths_svg_dist_browser_index_js.js +2 -2
- package/paths_zigzag_dist_browser_ZigZagPathGenerator_js.js +2 -2
- package/paths_zigzag_dist_browser_index_js.js +2 -2
- package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +15 -5
- package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +2 -2
- package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +54 -44
- package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +2 -2
- package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +15 -5
- package/plugins_absorbers_dist_browser_index_js.js +2 -2
- package/plugins_backgroundMask_dist_browser_BackgroundMaskPluginInstance_js.js +2 -2
- package/plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js.js +4 -4
- package/plugins_backgroundMask_dist_browser_index_js.js +2 -2
- package/plugins_blend_dist_browser_BlendPluginInstance_js.js +2 -2
- package/plugins_blend_dist_browser_BlendPlugin_js.js +3 -3
- package/plugins_blend_dist_browser_index_js.js +2 -2
- package/plugins_canvasMask_dist_browser_CanvasMaskPluginInstance_js.js +23 -3
- package/plugins_canvasMask_dist_browser_CanvasMaskPlugin_js.js +9 -9
- package/plugins_canvasMask_dist_browser_index_js.js +2 -2
- package/plugins_colors_hex_dist_browser_HexColorManager_js.js +2 -2
- package/plugins_colors_hex_dist_browser_index_js.js +2 -2
- package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +2 -2
- package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
- package/plugins_colors_hsv_dist_browser_HsvColorManager_js.js +3 -3
- package/plugins_colors_hsv_dist_browser_index_js.js +2 -2
- package/plugins_colors_hwb_dist_browser_HwbColorManager_js.js +2 -2
- package/plugins_colors_hwb_dist_browser_index_js.js +2 -2
- package/plugins_colors_lab_dist_browser_LabColorManager_js.js +3 -3
- package/plugins_colors_lab_dist_browser_index_js.js +2 -2
- package/plugins_colors_lch_dist_browser_LchColorManager_js.js +3 -3
- package/plugins_colors_lch_dist_browser_index_js.js +2 -2
- package/plugins_colors_named_dist_browser_NamedColorManager_js.js +2 -2
- package/plugins_colors_named_dist_browser_index_js.js +2 -2
- package/plugins_colors_oklab_dist_browser_OklabColorManager_js.js +3 -3
- package/plugins_colors_oklab_dist_browser_index_js.js +2 -2
- package/plugins_colors_oklch_dist_browser_OklchColorManager_js.js +3 -3
- package/plugins_colors_oklch_dist_browser_index_js.js +2 -2
- package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +2 -2
- package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
- package/plugins_easings_back_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_back_dist_browser_index_js.js +2 -2
- package/plugins_easings_bounce_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_bounce_dist_browser_index_js.js +2 -2
- package/plugins_easings_circ_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_circ_dist_browser_index_js.js +2 -2
- package/plugins_easings_cubic_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_cubic_dist_browser_index_js.js +2 -2
- package/plugins_easings_elastic_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_elastic_dist_browser_index_js.js +2 -2
- package/plugins_easings_expo_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_expo_dist_browser_index_js.js +2 -2
- package/plugins_easings_gaussian_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_gaussian_dist_browser_index_js.js +2 -2
- package/plugins_easings_linear_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_linear_dist_browser_index_js.js +2 -2
- package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_quad_dist_browser_index_js.js +2 -2
- package/plugins_easings_quart_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_quart_dist_browser_index_js.js +2 -2
- package/plugins_easings_quint_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_quint_dist_browser_index_js.js +2 -2
- package/plugins_easings_sigmoid_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_sigmoid_dist_browser_index_js.js +2 -2
- package/plugins_easings_sine_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_sine_dist_browser_index_js.js +2 -2
- package/plugins_easings_smoothstep_dist_browser_easingsFunctions_js.js +2 -2
- package/plugins_easings_smoothstep_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js.js +26 -16
- package/plugins_emittersShapes_canvas_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +6 -6
- package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js.js +8 -8
- package/plugins_emittersShapes_path_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js.js +8 -8
- package/plugins_emittersShapes_polygon_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +6 -6
- package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
- package/plugins_emitters_dist_browser_EmitterInstance_js.js +2 -2
- package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +18 -8
- package/plugins_emitters_dist_browser_EmittersInteractor_js.js +58 -48
- package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +2 -2
- package/plugins_emitters_dist_browser_EmittersPlugin_js.js +18 -8
- package/plugins_emitters_dist_browser_ShapeManager_js.js +2 -2
- package/plugins_emitters_dist_browser_index_js.js +4 -4
- package/plugins_exports_image_dist_browser_ExportImagePluginInstance_js.js +2 -2
- package/plugins_exports_image_dist_browser_ExportImagePlugin_js.js +2 -2
- package/plugins_exports_image_dist_browser_index_js.js +2 -2
- package/plugins_exports_json_dist_browser_ExportJSONPluginInstance_js.js +2 -2
- package/plugins_exports_json_dist_browser_ExportJSONPlugin_js.js +2 -2
- package/plugins_exports_json_dist_browser_index_js.js +2 -2
- package/plugins_exports_video_dist_browser_ExportVideoPluginInstance_js.js +2 -2
- package/plugins_exports_video_dist_browser_ExportVideoPlugin_js.js +2 -2
- package/plugins_exports_video_dist_browser_index_js.js +2 -2
- package/plugins_infection_dist_browser_InfectionPluginInstance_js.js +3 -3
- package/plugins_infection_dist_browser_InfectionPlugin_js.js +4 -4
- package/plugins_infection_dist_browser_ParticlesInfecter_js.js +41 -41
- package/plugins_infection_dist_browser_index_js.js +2 -2
- package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +4 -4
- package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +6 -6
- package/plugins_interactivity_dist_browser_index_js.js +40 -40
- package/plugins_manualParticles_dist_browser_ManualParticlesPluginInstance_js.js +2 -2
- package/plugins_manualParticles_dist_browser_ManualParticlesPlugin_js.js +3 -3
- package/plugins_manualParticles_dist_browser_index_js.js +2 -2
- package/plugins_motion_dist_browser_MotionPluginInstance_js.js +2 -2
- package/plugins_motion_dist_browser_MotionPlugin_js.js +4 -4
- package/plugins_motion_dist_browser_index_js.js +2 -2
- package/plugins_move_dist_browser_MovePluginInstance_js.js +40 -0
- package/plugins_move_dist_browser_MovePlugin_js.js +30 -0
- package/plugins_move_dist_browser_index_js.js +30 -0
- package/plugins_poisson_dist_browser_PoissonDiscPluginInstance_js.js +2 -12
- package/plugins_poisson_dist_browser_PoissonDiscPlugin_js.js +3 -3
- package/plugins_poisson_dist_browser_PoissonDisc_js.js +30 -0
- package/plugins_poisson_dist_browser_index_js.js +2 -2
- package/plugins_polygonMask_dist_browser_PolygonMaskInstance_js.js +4 -4
- package/plugins_polygonMask_dist_browser_PolygonMaskPlugin_js.js +8 -8
- package/plugins_polygonMask_dist_browser_index_js.js +5 -5
- package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +2 -2
- package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +4 -4
- package/plugins_responsive_dist_browser_index_js.js +2 -2
- package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +3 -3
- package/plugins_sounds_dist_browser_SoundsPlugin_js.js +12 -12
- package/plugins_sounds_dist_browser_index_js.js +2 -2
- package/plugins_themes_dist_browser_ThemesPluginInstance_js.js +2 -2
- package/plugins_themes_dist_browser_ThemesPlugin_js.js +5 -5
- package/plugins_themes_dist_browser_index_js.js +2 -2
- package/plugins_trail_dist_browser_TrailPluginInstance_js.js +2 -2
- package/plugins_trail_dist_browser_TrailPlugin_js.js +4 -4
- package/plugins_trail_dist_browser_index_js.js +2 -2
- package/plugins_zoom_dist_browser_ZoomPluginInstance_js.js +40 -0
- package/plugins_zoom_dist_browser_ZoomPlugin_js.js +30 -0
- package/plugins_zoom_dist_browser_index_js.js +50 -0
- package/report.html +84 -29
- package/shapes_arrow_dist_browser_ArrowDrawer_js.js +3 -3
- package/shapes_arrow_dist_browser_index_js.js +2 -2
- package/shapes_cards_dist_browser_cards_CardDrawer_js.js +3 -53
- package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +2 -52
- package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +2 -52
- package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +2 -52
- package/shapes_cards_dist_browser_index_js.js +7 -7
- package/shapes_cards_dist_browser_paths_js.js +70 -0
- package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +2 -52
- package/shapes_circle_dist_browser_CircleDrawer_js.js +3 -3
- package/shapes_circle_dist_browser_index_js.js +2 -2
- package/shapes_cog_dist_browser_CogDrawer_js.js +3 -3
- package/shapes_cog_dist_browser_index_js.js +2 -2
- package/shapes_emoji_dist_browser_EmojiDrawer_js.js +17 -7
- package/shapes_emoji_dist_browser_index_js.js +12 -2
- package/shapes_heart_dist_browser_HeartDrawer_js.js +3 -3
- package/shapes_heart_dist_browser_index_js.js +2 -2
- package/shapes_image_dist_browser_GifUtils_Utils_js.js +6 -16
- package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
- package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +30 -0
- package/shapes_image_dist_browser_ImagePreloader_js.js +3 -3
- package/shapes_image_dist_browser_index_js.js +12 -2
- package/shapes_infinity_dist_browser_InfinityDrawer_js.js +3 -3
- package/shapes_infinity_dist_browser_index_js.js +2 -2
- package/shapes_line_dist_browser_LineDrawer_js.js +3 -3
- package/shapes_line_dist_browser_index_js.js +2 -2
- package/shapes_matrix_dist_browser_MatrixDrawer_js.js +40 -0
- package/shapes_matrix_dist_browser_index_js.js +30 -0
- package/shapes_path_dist_browser_PathDrawer_js.js +5 -5
- package/shapes_path_dist_browser_index_js.js +2 -2
- package/shapes_polygon_dist_browser_PolygonDrawer_js.js +4 -4
- package/shapes_polygon_dist_browser_TriangleDrawer_js.js +4 -4
- package/shapes_polygon_dist_browser_index_js.js +2 -2
- package/shapes_rounded-polygon_dist_browser_RoundedPolygonDrawer_js.js +3 -3
- package/shapes_rounded-polygon_dist_browser_index_js.js +2 -2
- package/shapes_rounded-rect_dist_browser_RoundedRectDrawer_js.js +3 -3
- package/shapes_rounded-rect_dist_browser_index_js.js +2 -2
- package/shapes_spiral_dist_browser_SpiralDrawer_js.js +3 -3
- package/shapes_spiral_dist_browser_index_js.js +2 -2
- package/shapes_square_dist_browser_SquareDrawer_js.js +3 -3
- package/shapes_square_dist_browser_index_js.js +2 -2
- package/shapes_squircle_dist_browser_SquircleDrawer_js.js +40 -0
- package/shapes_squircle_dist_browser_index_js.js +30 -0
- package/shapes_star_dist_browser_StarDrawer_js.js +3 -3
- package/shapes_star_dist_browser_index_js.js +2 -2
- package/shapes_text_dist_browser_TextDrawer_js.js +17 -7
- package/shapes_text_dist_browser_index_js.js +12 -2
- package/slim_dist_browser_index_js.js +2 -2
- package/tsparticles.all.bundle.js +100 -88
- package/tsparticles.all.bundle.min.js +2 -2
- package/tsparticles.all.js +131 -21
- package/tsparticles.all.min.js +1 -2
- package/types/bundle.d.ts +1 -2
- package/umd/bundle.js +3 -3
- package/umd/index.js +162 -68
- package/updaters_destroy_dist_browser_DestroyUpdater_js.js +9 -9
- package/updaters_destroy_dist_browser_index_js.js +2 -2
- package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +30 -0
- package/updaters_fillColor_dist_browser_index_js.js +30 -0
- package/updaters_gradient_dist_browser_GradientUpdater_js.js +9 -9
- package/updaters_gradient_dist_browser_index_js.js +2 -2
- package/updaters_life_dist_browser_LifeUpdater_js.js +6 -6
- package/updaters_life_dist_browser_index_js.js +2 -2
- package/updaters_opacity_dist_browser_OpacityUpdater_js.js +2 -2
- package/updaters_opacity_dist_browser_index_js.js +2 -2
- package/updaters_orbit_dist_browser_OrbitUpdater_js.js +6 -6
- package/updaters_orbit_dist_browser_index_js.js +2 -2
- package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +7 -7
- package/updaters_outModes_dist_browser_index_js.js +2 -2
- package/updaters_roll_dist_browser_RollUpdater_js.js +6 -6
- package/updaters_roll_dist_browser_index_js.js +2 -2
- package/updaters_rotate_dist_browser_RotateUpdater_js.js +4 -4
- package/updaters_rotate_dist_browser_index_js.js +2 -2
- package/updaters_size_dist_browser_SizeUpdater_js.js +2 -2
- package/updaters_size_dist_browser_index_js.js +2 -2
- package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +2 -2
- package/updaters_strokeColor_dist_browser_index_js.js +2 -2
- package/updaters_tilt_dist_browser_TiltUpdater_js.js +5 -5
- package/updaters_tilt_dist_browser_index_js.js +2 -2
- package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +18 -8
- package/updaters_twinkle_dist_browser_index_js.js +2 -2
- package/updaters_wobble_dist_browser_WobbleUpdater_js.js +5 -5
- package/updaters_wobble_dist_browser_index_js.js +2 -2
- package/utils_simplexNoise_dist_browser_index_js.js +7 -7
- package/1045.min.js +0 -2
- package/1045.min.js.LICENSE.txt +0 -1
- package/1049.min.js +0 -2
- package/1049.min.js.LICENSE.txt +0 -1
- package/1085.min.js +0 -2
- package/1085.min.js.LICENSE.txt +0 -1
- package/1112.min.js +0 -2
- package/1112.min.js.LICENSE.txt +0 -1
- package/1153.min.js +0 -2
- package/1153.min.js.LICENSE.txt +0 -1
- package/1183.min.js +0 -2
- package/1183.min.js.LICENSE.txt +0 -1
- package/1222.min.js +0 -2
- package/1222.min.js.LICENSE.txt +0 -1
- package/1278.min.js +0 -2
- package/1278.min.js.LICENSE.txt +0 -1
- package/1306.min.js +0 -2
- package/1306.min.js.LICENSE.txt +0 -1
- package/1350.min.js +0 -2
- package/1350.min.js.LICENSE.txt +0 -1
- package/1370.min.js +0 -2
- package/1370.min.js.LICENSE.txt +0 -1
- package/1446.min.js +0 -2
- package/1446.min.js.LICENSE.txt +0 -1
- package/15.min.js +0 -2
- package/15.min.js.LICENSE.txt +0 -1
- package/150.min.js +0 -2
- package/150.min.js.LICENSE.txt +0 -1
- package/151.min.js +0 -2
- package/151.min.js.LICENSE.txt +0 -1
- package/1542.min.js +0 -2
- package/1542.min.js.LICENSE.txt +0 -1
- package/1555.min.js +0 -2
- package/1555.min.js.LICENSE.txt +0 -1
- package/156.min.js +0 -2
- package/156.min.js.LICENSE.txt +0 -1
- package/1587.min.js +0 -2
- package/1587.min.js.LICENSE.txt +0 -1
- package/1608.min.js +0 -2
- package/1608.min.js.LICENSE.txt +0 -1
- package/1609.min.js +0 -2
- package/1609.min.js.LICENSE.txt +0 -1
- package/1678.min.js +0 -2
- package/1678.min.js.LICENSE.txt +0 -1
- package/1750.min.js +0 -2
- package/1750.min.js.LICENSE.txt +0 -1
- package/176.min.js +0 -2
- package/176.min.js.LICENSE.txt +0 -1
- package/1801.min.js +0 -2
- package/1801.min.js.LICENSE.txt +0 -1
- package/1804.min.js +0 -2
- package/1804.min.js.LICENSE.txt +0 -1
- package/1878.min.js +0 -2
- package/1878.min.js.LICENSE.txt +0 -1
- package/1887.min.js +0 -2
- package/1887.min.js.LICENSE.txt +0 -1
- package/1909.min.js +0 -2
- package/1909.min.js.LICENSE.txt +0 -1
- package/1968.min.js +0 -2
- package/1968.min.js.LICENSE.txt +0 -1
- package/1972.min.js +0 -2
- package/1972.min.js.LICENSE.txt +0 -1
- package/2006.min.js +0 -2
- package/2006.min.js.LICENSE.txt +0 -1
- package/2032.min.js +0 -2
- package/2032.min.js.LICENSE.txt +0 -1
- package/2192.min.js +0 -2
- package/2192.min.js.LICENSE.txt +0 -1
- package/2201.min.js +0 -2
- package/2201.min.js.LICENSE.txt +0 -1
- package/221.min.js +0 -2
- package/221.min.js.LICENSE.txt +0 -1
- package/2227.min.js +0 -2
- package/2227.min.js.LICENSE.txt +0 -1
- package/2291.min.js +0 -2
- package/2291.min.js.LICENSE.txt +0 -1
- package/2381.min.js +0 -2
- package/2381.min.js.LICENSE.txt +0 -1
- package/2387.min.js +0 -2
- package/2387.min.js.LICENSE.txt +0 -1
- package/2398.min.js +0 -2
- package/2398.min.js.LICENSE.txt +0 -1
- package/2461.min.js +0 -2
- package/2461.min.js.LICENSE.txt +0 -1
- package/2488.min.js +0 -2
- package/2488.min.js.LICENSE.txt +0 -1
- package/2495.min.js +0 -2
- package/2495.min.js.LICENSE.txt +0 -1
- package/2524.min.js +0 -2
- package/2524.min.js.LICENSE.txt +0 -1
- package/2583.min.js +0 -2
- package/2583.min.js.LICENSE.txt +0 -1
- package/2612.min.js +0 -2
- package/2612.min.js.LICENSE.txt +0 -1
- package/2615.min.js +0 -2
- package/2615.min.js.LICENSE.txt +0 -1
- package/2629.min.js +0 -2
- package/2629.min.js.LICENSE.txt +0 -1
- package/2679.min.js +0 -2
- package/2679.min.js.LICENSE.txt +0 -1
- package/2729.min.js +0 -2
- package/2729.min.js.LICENSE.txt +0 -1
- package/2752.min.js +0 -2
- package/2752.min.js.LICENSE.txt +0 -1
- package/2754.min.js +0 -2
- package/2754.min.js.LICENSE.txt +0 -1
- package/2827.min.js +0 -2
- package/2827.min.js.LICENSE.txt +0 -1
- package/2838.min.js +0 -2
- package/2838.min.js.LICENSE.txt +0 -1
- package/284.min.js +0 -2
- package/284.min.js.LICENSE.txt +0 -1
- package/2842.min.js +0 -2
- package/2842.min.js.LICENSE.txt +0 -1
- package/290.min.js +0 -2
- package/290.min.js.LICENSE.txt +0 -1
- package/2901.min.js +0 -2
- package/2901.min.js.LICENSE.txt +0 -1
- package/2923.min.js +0 -2
- package/2923.min.js.LICENSE.txt +0 -1
- package/2942.min.js +0 -2
- package/2942.min.js.LICENSE.txt +0 -1
- package/2970.min.js +0 -2
- package/2970.min.js.LICENSE.txt +0 -1
- package/3003.min.js +0 -2
- package/3003.min.js.LICENSE.txt +0 -1
- package/3067.min.js +0 -2
- package/3067.min.js.LICENSE.txt +0 -1
- package/3120.min.js +0 -2
- package/3120.min.js.LICENSE.txt +0 -1
- package/3148.min.js +0 -2
- package/3148.min.js.LICENSE.txt +0 -1
- package/3152.min.js.LICENSE.txt +0 -1
- package/3153.min.js +0 -2
- package/3153.min.js.LICENSE.txt +0 -1
- package/3182.min.js +0 -2
- package/3182.min.js.LICENSE.txt +0 -1
- package/3189.min.js +0 -2
- package/3189.min.js.LICENSE.txt +0 -1
- package/3209.min.js +0 -2
- package/3209.min.js.LICENSE.txt +0 -1
- package/3215.min.js +0 -2
- package/3215.min.js.LICENSE.txt +0 -1
- package/3306.min.js +0 -2
- package/3306.min.js.LICENSE.txt +0 -1
- package/3316.min.js +0 -2
- package/3316.min.js.LICENSE.txt +0 -1
- package/3396.min.js +0 -2
- package/3396.min.js.LICENSE.txt +0 -1
- package/3442.min.js +0 -2
- package/3442.min.js.LICENSE.txt +0 -1
- package/3445.min.js +0 -2
- package/3445.min.js.LICENSE.txt +0 -1
- package/3446.min.js +0 -2
- package/3446.min.js.LICENSE.txt +0 -1
- package/3451.min.js +0 -2
- package/3451.min.js.LICENSE.txt +0 -1
- package/346.min.js +0 -2
- package/346.min.js.LICENSE.txt +0 -1
- package/3598.min.js +0 -2
- package/3598.min.js.LICENSE.txt +0 -1
- package/3629.min.js +0 -2
- package/3629.min.js.LICENSE.txt +0 -1
- package/3643.min.js +0 -2
- package/3643.min.js.LICENSE.txt +0 -1
- package/3712.min.js +0 -2
- package/3712.min.js.LICENSE.txt +0 -1
- package/3722.min.js +0 -2
- package/3722.min.js.LICENSE.txt +0 -1
- package/3743.min.js +0 -2
- package/3743.min.js.LICENSE.txt +0 -1
- package/3744.min.js +0 -2
- package/3744.min.js.LICENSE.txt +0 -1
- package/3748.min.js +0 -2
- package/3748.min.js.LICENSE.txt +0 -1
- package/3759.min.js +0 -2
- package/3759.min.js.LICENSE.txt +0 -1
- package/3803.min.js +0 -2
- package/3803.min.js.LICENSE.txt +0 -1
- package/3804.min.js +0 -2
- package/3804.min.js.LICENSE.txt +0 -1
- package/3865.min.js +0 -2
- package/3865.min.js.LICENSE.txt +0 -1
- package/3925.min.js +0 -2
- package/3925.min.js.LICENSE.txt +0 -1
- package/3961.min.js.LICENSE.txt +0 -1
- package/3997.min.js +0 -2
- package/3997.min.js.LICENSE.txt +0 -1
- package/4007.min.js +0 -2
- package/4007.min.js.LICENSE.txt +0 -1
- package/4033.min.js +0 -2
- package/4033.min.js.LICENSE.txt +0 -1
- package/4091.min.js +0 -2
- package/4091.min.js.LICENSE.txt +0 -1
- package/4119.min.js +0 -2
- package/4119.min.js.LICENSE.txt +0 -1
- package/4235.min.js +0 -2
- package/4235.min.js.LICENSE.txt +0 -1
- package/4243.min.js +0 -2
- package/4243.min.js.LICENSE.txt +0 -1
- package/4324.min.js +0 -2
- package/4324.min.js.LICENSE.txt +0 -1
- package/4340.min.js +0 -2
- package/4340.min.js.LICENSE.txt +0 -1
- package/4427.min.js +0 -2
- package/4427.min.js.LICENSE.txt +0 -1
- package/4481.min.js +0 -2
- package/4481.min.js.LICENSE.txt +0 -1
- package/454.min.js +0 -2
- package/454.min.js.LICENSE.txt +0 -1
- package/4544.min.js +0 -2
- package/4544.min.js.LICENSE.txt +0 -1
- package/4545.min.js +0 -2
- package/4545.min.js.LICENSE.txt +0 -1
- package/4547.min.js +0 -2
- package/4547.min.js.LICENSE.txt +0 -1
- package/4571.min.js +0 -2
- package/4571.min.js.LICENSE.txt +0 -1
- package/4619.min.js +0 -2
- package/4619.min.js.LICENSE.txt +0 -1
- package/4675.min.js +0 -2
- package/4675.min.js.LICENSE.txt +0 -1
- package/4689.min.js +0 -2
- package/4689.min.js.LICENSE.txt +0 -1
- package/4698.min.js +0 -2
- package/4698.min.js.LICENSE.txt +0 -1
- package/4713.min.js +0 -2
- package/4713.min.js.LICENSE.txt +0 -1
- package/4744.min.js +0 -2
- package/4744.min.js.LICENSE.txt +0 -1
- package/4764.min.js +0 -2
- package/4764.min.js.LICENSE.txt +0 -1
- package/4813.min.js +0 -2
- package/4813.min.js.LICENSE.txt +0 -1
- package/4837.min.js.LICENSE.txt +0 -1
- package/4852.min.js +0 -2
- package/4852.min.js.LICENSE.txt +0 -1
- package/4873.min.js +0 -2
- package/4873.min.js.LICENSE.txt +0 -1
- package/4884.min.js +0 -2
- package/4884.min.js.LICENSE.txt +0 -1
- package/4962.min.js +0 -2
- package/4962.min.js.LICENSE.txt +0 -1
- package/4968.min.js +0 -2
- package/4968.min.js.LICENSE.txt +0 -1
- package/4983.min.js +0 -2
- package/4983.min.js.LICENSE.txt +0 -1
- package/4985.min.js +0 -2
- package/4985.min.js.LICENSE.txt +0 -1
- package/5010.min.js +0 -2
- package/5010.min.js.LICENSE.txt +0 -1
- package/5058.min.js +0 -2
- package/5058.min.js.LICENSE.txt +0 -1
- package/5113.min.js +0 -2
- package/5113.min.js.LICENSE.txt +0 -1
- package/5142.min.js +0 -2
- package/5142.min.js.LICENSE.txt +0 -1
- package/5152.min.js +0 -2
- package/5152.min.js.LICENSE.txt +0 -1
- package/5166.min.js +0 -2
- package/5166.min.js.LICENSE.txt +0 -1
- package/5182.min.js +0 -2
- package/5182.min.js.LICENSE.txt +0 -1
- package/521.min.js +0 -2
- package/521.min.js.LICENSE.txt +0 -1
- package/5273.min.js +0 -2
- package/5273.min.js.LICENSE.txt +0 -1
- package/5291.min.js +0 -2
- package/5291.min.js.LICENSE.txt +0 -1
- package/5302.min.js +0 -2
- package/5302.min.js.LICENSE.txt +0 -1
- package/5336.min.js +0 -2
- package/5336.min.js.LICENSE.txt +0 -1
- package/5460.min.js +0 -2
- package/5460.min.js.LICENSE.txt +0 -1
- package/5471.min.js +0 -2
- package/5471.min.js.LICENSE.txt +0 -1
- package/5475.min.js +0 -2
- package/5475.min.js.LICENSE.txt +0 -1
- package/5505.min.js +0 -2
- package/5505.min.js.LICENSE.txt +0 -1
- package/5516.min.js +0 -2
- package/5516.min.js.LICENSE.txt +0 -1
- package/5787.min.js +0 -2
- package/5787.min.js.LICENSE.txt +0 -1
- package/5913.min.js +0 -2
- package/5913.min.js.LICENSE.txt +0 -1
- package/5919.min.js +0 -2
- package/5919.min.js.LICENSE.txt +0 -1
- package/593.min.js +0 -2
- package/593.min.js.LICENSE.txt +0 -1
- package/5931.min.js +0 -2
- package/5931.min.js.LICENSE.txt +0 -1
- package/597.min.js +0 -2
- package/597.min.js.LICENSE.txt +0 -1
- package/5987.min.js +0 -2
- package/5987.min.js.LICENSE.txt +0 -1
- package/6048.min.js +0 -2
- package/6048.min.js.LICENSE.txt +0 -1
- package/6081.min.js +0 -2
- package/6081.min.js.LICENSE.txt +0 -1
- package/6181.min.js +0 -2
- package/6181.min.js.LICENSE.txt +0 -1
- package/6184.min.js +0 -2
- package/6184.min.js.LICENSE.txt +0 -1
- package/620.min.js +0 -2
- package/620.min.js.LICENSE.txt +0 -1
- package/6219.min.js +0 -2
- package/6219.min.js.LICENSE.txt +0 -1
- package/6249.min.js +0 -2
- package/6249.min.js.LICENSE.txt +0 -1
- package/6296.min.js +0 -2
- package/6296.min.js.LICENSE.txt +0 -1
- package/6361.min.js +0 -2
- package/6361.min.js.LICENSE.txt +0 -1
- package/6388.min.js.LICENSE.txt +0 -1
- package/6441.min.js +0 -2
- package/6441.min.js.LICENSE.txt +0 -1
- package/6548.min.js +0 -2
- package/6548.min.js.LICENSE.txt +0 -1
- package/6556.min.js +0 -2
- package/6556.min.js.LICENSE.txt +0 -1
- package/6580.min.js +0 -2
- package/6580.min.js.LICENSE.txt +0 -1
- package/6608.min.js +0 -2
- package/6608.min.js.LICENSE.txt +0 -1
- package/6640.min.js +0 -2
- package/6640.min.js.LICENSE.txt +0 -1
- package/671.min.js +0 -2
- package/671.min.js.LICENSE.txt +0 -1
- package/6711.min.js.LICENSE.txt +0 -1
- package/6720.min.js +0 -2
- package/6720.min.js.LICENSE.txt +0 -1
- package/6742.min.js +0 -2
- package/6742.min.js.LICENSE.txt +0 -1
- package/6753.min.js +0 -2
- package/6753.min.js.LICENSE.txt +0 -1
- package/6824.min.js +0 -2
- package/6824.min.js.LICENSE.txt +0 -1
- package/6890.min.js +0 -2
- package/6890.min.js.LICENSE.txt +0 -1
- package/6895.min.js +0 -2
- package/6895.min.js.LICENSE.txt +0 -1
- package/6905.min.js +0 -2
- package/6905.min.js.LICENSE.txt +0 -1
- package/6908.min.js +0 -2
- package/6908.min.js.LICENSE.txt +0 -1
- package/6911.min.js +0 -2
- package/6911.min.js.LICENSE.txt +0 -1
- package/6973.min.js +0 -2
- package/6973.min.js.LICENSE.txt +0 -1
- package/6983.min.js +0 -2
- package/6983.min.js.LICENSE.txt +0 -1
- package/6988.min.js +0 -2
- package/6988.min.js.LICENSE.txt +0 -1
- package/6992.min.js +0 -2
- package/6992.min.js.LICENSE.txt +0 -1
- package/6998.min.js +0 -2
- package/6998.min.js.LICENSE.txt +0 -1
- package/7012.min.js +0 -2
- package/7012.min.js.LICENSE.txt +0 -1
- package/7044.min.js +0 -2
- package/7044.min.js.LICENSE.txt +0 -1
- package/7056.min.js +0 -2
- package/7056.min.js.LICENSE.txt +0 -1
- package/7125.min.js +0 -2
- package/7125.min.js.LICENSE.txt +0 -1
- package/7134.min.js +0 -2
- package/7134.min.js.LICENSE.txt +0 -1
- package/7147.min.js +0 -2
- package/7147.min.js.LICENSE.txt +0 -1
- package/7160.min.js +0 -2
- package/7160.min.js.LICENSE.txt +0 -1
- package/718.min.js +0 -2
- package/718.min.js.LICENSE.txt +0 -1
- package/7188.min.js +0 -2
- package/7188.min.js.LICENSE.txt +0 -1
- package/7191.min.js +0 -2
- package/7191.min.js.LICENSE.txt +0 -1
- package/7245.min.js +0 -2
- package/7245.min.js.LICENSE.txt +0 -1
- package/7256.min.js +0 -2
- package/7256.min.js.LICENSE.txt +0 -1
- package/7259.min.js +0 -2
- package/7259.min.js.LICENSE.txt +0 -1
- package/7276.min.js +0 -2
- package/7276.min.js.LICENSE.txt +0 -1
- package/736.min.js +0 -2
- package/736.min.js.LICENSE.txt +0 -1
- package/7448.min.js +0 -2
- package/7448.min.js.LICENSE.txt +0 -1
- package/7569.min.js +0 -2
- package/7569.min.js.LICENSE.txt +0 -1
- package/76.min.js +0 -2
- package/76.min.js.LICENSE.txt +0 -1
- package/761.min.js +0 -2
- package/761.min.js.LICENSE.txt +0 -1
- package/7611.min.js +0 -2
- package/7611.min.js.LICENSE.txt +0 -1
- package/7613.min.js +0 -2
- package/7613.min.js.LICENSE.txt +0 -1
- package/7704.min.js +0 -2
- package/7704.min.js.LICENSE.txt +0 -1
- package/7746.min.js +0 -2
- package/7746.min.js.LICENSE.txt +0 -1
- package/7749.min.js +0 -2
- package/7749.min.js.LICENSE.txt +0 -1
- package/7774.min.js +0 -2
- package/7774.min.js.LICENSE.txt +0 -1
- package/7835.min.js +0 -2
- package/7835.min.js.LICENSE.txt +0 -1
- package/785.min.js +0 -2
- package/785.min.js.LICENSE.txt +0 -1
- package/7952.min.js +0 -2
- package/7952.min.js.LICENSE.txt +0 -1
- package/7983.min.js +0 -2
- package/7983.min.js.LICENSE.txt +0 -1
- package/8013.min.js +0 -2
- package/8013.min.js.LICENSE.txt +0 -1
- package/8018.min.js +0 -2
- package/8018.min.js.LICENSE.txt +0 -1
- package/8026.min.js +0 -2
- package/8026.min.js.LICENSE.txt +0 -1
- package/8084.min.js +0 -2
- package/8084.min.js.LICENSE.txt +0 -1
- package/8156.min.js +0 -2
- package/8156.min.js.LICENSE.txt +0 -1
- package/8182.min.js +0 -2
- package/8182.min.js.LICENSE.txt +0 -1
- package/8188.min.js +0 -2
- package/8188.min.js.LICENSE.txt +0 -1
- package/8296.min.js +0 -2
- package/8296.min.js.LICENSE.txt +0 -1
- package/83.min.js.LICENSE.txt +0 -1
- package/8314.min.js +0 -2
- package/8314.min.js.LICENSE.txt +0 -1
- package/8320.min.js +0 -2
- package/8320.min.js.LICENSE.txt +0 -1
- package/8411.min.js +0 -2
- package/8411.min.js.LICENSE.txt +0 -1
- package/8445.min.js +0 -2
- package/8445.min.js.LICENSE.txt +0 -1
- package/8509.min.js +0 -2
- package/8509.min.js.LICENSE.txt +0 -1
- package/8526.min.js +0 -2
- package/8526.min.js.LICENSE.txt +0 -1
- package/8551.min.js +0 -2
- package/8551.min.js.LICENSE.txt +0 -1
- package/8644.min.js +0 -2
- package/8644.min.js.LICENSE.txt +0 -1
- package/8675.min.js +0 -2
- package/8675.min.js.LICENSE.txt +0 -1
- package/8799.min.js +0 -2
- package/8799.min.js.LICENSE.txt +0 -1
- package/8818.min.js +0 -2
- package/8818.min.js.LICENSE.txt +0 -1
- package/8827.min.js +0 -2
- package/8827.min.js.LICENSE.txt +0 -1
- package/8830.min.js +0 -2
- package/8830.min.js.LICENSE.txt +0 -1
- package/8847.min.js +0 -2
- package/8847.min.js.LICENSE.txt +0 -1
- package/8893.min.js +0 -2
- package/8893.min.js.LICENSE.txt +0 -1
- package/8951.min.js +0 -2
- package/8951.min.js.LICENSE.txt +0 -1
- package/8993.min.js +0 -2
- package/8993.min.js.LICENSE.txt +0 -1
- package/9039.min.js +0 -2
- package/9039.min.js.LICENSE.txt +0 -1
- package/9050.min.js +0 -2
- package/9050.min.js.LICENSE.txt +0 -1
- package/9052.min.js +0 -2
- package/9052.min.js.LICENSE.txt +0 -1
- package/9111.min.js +0 -2
- package/9111.min.js.LICENSE.txt +0 -1
- package/9127.min.js +0 -2
- package/9127.min.js.LICENSE.txt +0 -1
- package/917.min.js +0 -2
- package/917.min.js.LICENSE.txt +0 -1
- package/9216.min.js +0 -2
- package/9216.min.js.LICENSE.txt +0 -1
- package/9234.min.js +0 -2
- package/9234.min.js.LICENSE.txt +0 -1
- package/9273.min.js +0 -2
- package/9273.min.js.LICENSE.txt +0 -1
- package/9277.min.js +0 -2
- package/9277.min.js.LICENSE.txt +0 -1
- package/937.min.js +0 -2
- package/937.min.js.LICENSE.txt +0 -1
- package/9410.min.js +0 -2
- package/9410.min.js.LICENSE.txt +0 -1
- package/9447.min.js +0 -2
- package/9447.min.js.LICENSE.txt +0 -1
- package/9456.min.js +0 -2
- package/9456.min.js.LICENSE.txt +0 -1
- package/9467.min.js +0 -2
- package/9467.min.js.LICENSE.txt +0 -1
- package/9527.min.js +0 -2
- package/9527.min.js.LICENSE.txt +0 -1
- package/9563.min.js +0 -2
- package/9563.min.js.LICENSE.txt +0 -1
- package/9566.min.js +0 -2
- package/9566.min.js.LICENSE.txt +0 -1
- package/9591.min.js +0 -2
- package/9591.min.js.LICENSE.txt +0 -1
- package/9596.min.js +0 -2
- package/9596.min.js.LICENSE.txt +0 -1
- package/9639.min.js +0 -2
- package/9639.min.js.LICENSE.txt +0 -1
- package/9643.min.js.LICENSE.txt +0 -1
- package/9665.min.js +0 -2
- package/9665.min.js.LICENSE.txt +0 -1
- package/9715.min.js +0 -2
- package/9715.min.js.LICENSE.txt +0 -1
- package/9765.min.js +0 -2
- package/9765.min.js.LICENSE.txt +0 -1
- package/979.min.js +0 -2
- package/979.min.js.LICENSE.txt +0 -1
- package/9839.min.js +0 -2
- package/9839.min.js.LICENSE.txt +0 -1
- package/987.min.js +0 -2
- package/987.min.js.LICENSE.txt +0 -1
- package/9902.min.js +0 -2
- package/9902.min.js.LICENSE.txt +0 -1
- package/9928.min.js +0 -2
- package/9928.min.js.LICENSE.txt +0 -1
- package/move_base_dist_browser_BaseMover_js.js +0 -40
- package/move_base_dist_browser_index_js.js +0 -30
- package/shapes_image_dist_browser_Utils_js.js +0 -30
- package/tsparticles.all.bundle.min.js.LICENSE.txt +0 -1
- package/tsparticles.all.min.js.LICENSE.txt +0 -1
- package/updaters_color_dist_browser_ColorUpdater_js.js +0 -30
- package/updaters_color_dist_browser_index_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
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ HeartDrawer: () => (/* binding */ HeartDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/heart/dist/browser/Utils.js\");\n\nclass HeartDrawer {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ HeartDrawer: () => (/* binding */ HeartDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/heart/dist/browser/Utils.js\");\n\nclass HeartDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawHeart)(data);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/heart/dist/browser/HeartDrawer.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ },
|
|
29
29
|
|
|
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
33
33
|
\************************************************/
|
|
34
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
35
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawHeart: () => (/* binding */ drawHeart)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nfunction drawHeart(data) {\n
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawHeart: () => (/* binding */ drawHeart)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nfunction drawHeart(data) {\n const { context, radius } = data, diameter = radius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double, halfRadius = radius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half, radiusAndHalf = radius + halfRadius, x = -radius, y = -radius;\n context.moveTo(x, y + halfRadius);\n context.quadraticCurveTo(x, y, x + halfRadius, y);\n context.quadraticCurveTo(x + radius, y, x + radius, y + halfRadius);\n context.quadraticCurveTo(x + radius, y, x + radiusAndHalf, y);\n context.quadraticCurveTo(x + diameter, y, x + diameter, y + halfRadius);\n context.quadraticCurveTo(x + diameter, y + radius, x + radiusAndHalf, y + radiusAndHalf);\n context.lineTo(x + radius, y + diameter);\n context.lineTo(x + halfRadius, y + radiusAndHalf);\n context.quadraticCurveTo(x, y + radius, x, y + halfRadius);\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/heart/dist/browser/Utils.js?\n}");
|
|
37
37
|
|
|
38
38
|
/***/ }
|
|
39
39
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ loadHeartShape: () => (/* binding */ loadHeartShape)\n/* harmony export */ });\nasync function loadHeartShape(engine) {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHeartShape: () => (/* binding */ loadHeartShape)\n/* harmony export */ });\nasync function loadHeartShape(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"heart\"\n ], async ()=>{\n const { HeartDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_heart_dist_browser_HeartDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./HeartDrawer.js */ \"../../shapes/heart/dist/browser/HeartDrawer.js\"));\n return new HeartDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/heart/dist/browser/index.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ }
|
|
29
29
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ ByteStream: () => (/* binding */ ByteStream)\n/* harmony export */ });\nclass ByteStream {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ByteStream: () => (/* binding */ ByteStream)\n/* harmony export */ });\nclass ByteStream {\n data;\n pos;\n constructor(bytes){\n this.pos = 0;\n this.data = new Uint8ClampedArray(bytes);\n }\n getString(count) {\n const slice = this.data.slice(this.pos, this.pos + count);\n this.pos += slice.length;\n return slice.reduce((acc, curr)=>acc + String.fromCharCode(curr), \"\");\n }\n nextByte() {\n return this.data[this.pos++];\n }\n nextTwoBytes() {\n const increment = 2, previous = 1, shift = 8;\n this.pos += increment;\n return this.data[this.pos - increment] + (this.data[this.pos - previous] << shift);\n }\n readSubBlocks() {\n let blockString = \"\", size;\n const minCount = 0, emptySize = 0;\n do {\n size = this.data[this.pos++];\n for(let count = size; --count >= minCount; blockString += String.fromCharCode(this.data[this.pos++])){}\n }while (size !== emptySize)\n return blockString;\n }\n readSubBlocksBin() {\n let size = this.data[this.pos], len = 0;\n const emptySize = 0, increment = 1;\n for(let offset = 0; size !== emptySize; offset += size + increment, size = this.data[this.pos + offset]){\n len += size;\n }\n const blockData = new Uint8Array(len);\n size = this.data[this.pos++];\n for(let i = 0; size !== emptySize; size = this.data[this.pos++]){\n for(let count = size; --count >= emptySize; blockData[i++] = this.data[this.pos++]){}\n }\n return blockData;\n }\n skipSubBlocks() {\n for(const increment = 1, noData = 0; this.data[this.pos] !== noData; this.pos += this.data[this.pos] + increment){}\n this.pos++;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/GifUtils/ByteStream.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ },
|
|
29
29
|
|
|
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
33
33
|
\*************************************************************/
|
|
34
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
35
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InterlaceOffsets: () => (/* binding */ InterlaceOffsets),\n/* harmony export */ InterlaceSteps: () => (/* binding */ InterlaceSteps)\n/* harmony export */ });\nconst InterlaceOffsets = [0
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InterlaceOffsets: () => (/* binding */ InterlaceOffsets),\n/* harmony export */ InterlaceSteps: () => (/* binding */ InterlaceSteps)\n/* harmony export */ });\nconst InterlaceOffsets = [\n 0,\n 4,\n 2,\n 1\n];\nconst InterlaceSteps = [\n 8,\n 8,\n 4,\n 2\n];\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/GifUtils/Constants.js?\n}");
|
|
37
37
|
|
|
38
38
|
/***/ },
|
|
39
39
|
|
|
@@ -43,7 +43,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
43
43
|
\************************************************************************/
|
|
44
44
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
45
45
|
|
|
46
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DisposalMethod: () => (/* binding */ DisposalMethod)\n/* harmony export */ });\nvar DisposalMethod;\n(function
|
|
46
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DisposalMethod: () => (/* binding */ DisposalMethod)\n/* harmony export */ });\nvar DisposalMethod;\n(function(DisposalMethod) {\n DisposalMethod[DisposalMethod[\"Replace\"] = 0] = \"Replace\";\n DisposalMethod[DisposalMethod[\"Combine\"] = 1] = \"Combine\";\n DisposalMethod[DisposalMethod[\"RestoreBackground\"] = 2] = \"RestoreBackground\";\n DisposalMethod[DisposalMethod[\"RestorePrevious\"] = 3] = \"RestorePrevious\";\n DisposalMethod[DisposalMethod[\"UndefinedA\"] = 4] = \"UndefinedA\";\n DisposalMethod[DisposalMethod[\"UndefinedB\"] = 5] = \"UndefinedB\";\n DisposalMethod[DisposalMethod[\"UndefinedC\"] = 6] = \"UndefinedC\";\n DisposalMethod[DisposalMethod[\"UndefinedD\"] = 7] = \"UndefinedD\";\n})(DisposalMethod || (DisposalMethod = {}));\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/GifUtils/Enums/DisposalMethod.js?\n}");
|
|
47
47
|
|
|
48
48
|
/***/ },
|
|
49
49
|
|
|
@@ -53,7 +53,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
53
53
|
\************************************************************************/
|
|
54
54
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
55
55
|
|
|
56
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GIFDataHeaders: () => (/* binding */ GIFDataHeaders)\n/* harmony export */ });\nvar GIFDataHeaders;\n(function
|
|
56
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GIFDataHeaders: () => (/* binding */ GIFDataHeaders)\n/* harmony export */ });\nvar GIFDataHeaders;\n(function(GIFDataHeaders) {\n GIFDataHeaders[GIFDataHeaders[\"Extension\"] = 33] = \"Extension\";\n GIFDataHeaders[GIFDataHeaders[\"ApplicationExtension\"] = 255] = \"ApplicationExtension\";\n GIFDataHeaders[GIFDataHeaders[\"GraphicsControlExtension\"] = 249] = \"GraphicsControlExtension\";\n GIFDataHeaders[GIFDataHeaders[\"PlainTextExtension\"] = 1] = \"PlainTextExtension\";\n GIFDataHeaders[GIFDataHeaders[\"CommentExtension\"] = 254] = \"CommentExtension\";\n GIFDataHeaders[GIFDataHeaders[\"Image\"] = 44] = \"Image\";\n GIFDataHeaders[GIFDataHeaders[\"EndOfFile\"] = 59] = \"EndOfFile\";\n})(GIFDataHeaders || (GIFDataHeaders = {}));\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/GifUtils/Types/GIFDataHeaders.js?\n}");
|
|
57
57
|
|
|
58
58
|
/***/ },
|
|
59
59
|
|
|
@@ -63,17 +63,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
63
63
|
\*********************************************************/
|
|
64
64
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
65
65
|
|
|
66
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeGIF: () => (/* binding */ decodeGIF),\n/* harmony export */ drawGif: () => (/* binding */ drawGif),\n/* harmony export */ getGIFLoopAmount: () => (/* binding */ getGIFLoopAmount),\n/* harmony export */ loadGifImage: () => (/* binding */ loadGifImage)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Constants.js */ \"../../shapes/image/dist/browser/GifUtils/Constants.js\");\n/* harmony import */ var _ByteStream_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ByteStream.js */ \"../../shapes/image/dist/browser/GifUtils/ByteStream.js\");\n/* harmony import */ var _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DisposalMethod.js */ \"../../shapes/image/dist/browser/GifUtils/Enums/DisposalMethod.js\");\n/* harmony import */ var _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Types/GIFDataHeaders.js */ \"../../shapes/image/dist/browser/GifUtils/Types/GIFDataHeaders.js\");\n\n\n\n\n\n\nconst origin = {\n x: 0,\n y: 0\n },\n defaultFrame = 0,\n initialTime = 0,\n firstIndex = 0,\n defaultLoopCount = 0;\nfunction parseColorTable(byteStream, count) {\n const colors = [];\n for (let i = 0; i < count; i++) {\n colors.push({\n r: byteStream.data[byteStream.pos],\n g: byteStream.data[byteStream.pos + 1],\n b: byteStream.data[byteStream.pos + 2]\n });\n byteStream.pos += 3;\n }\n return colors;\n}\nfunction parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex) {\n switch (byteStream.nextByte()) {\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.GraphicsControlExtension:\n {\n const frame = gif.frames[getFrameIndex(false)];\n byteStream.pos++;\n const packedByte = byteStream.nextByte();\n frame.GCreserved = (packedByte & 0xe0) >>> 5;\n frame.disposalMethod = (packedByte & 0x1c) >>> 2;\n frame.userInputDelayFlag = (packedByte & 2) === 2;\n const transparencyFlag = (packedByte & 1) === 1;\n frame.delayTime = byteStream.nextTwoBytes() * 0xa;\n const transparencyIndex = byteStream.nextByte();\n if (transparencyFlag) {\n getTransparencyIndex(transparencyIndex);\n }\n byteStream.pos++;\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.ApplicationExtension:\n {\n byteStream.pos++;\n const applicationExtension = {\n identifier: byteStream.getString(8),\n authenticationCode: byteStream.getString(3),\n data: byteStream.readSubBlocksBin()\n };\n gif.applicationExtensions.push(applicationExtension);\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.CommentExtension:\n {\n gif.comments.push([getFrameIndex(false), byteStream.readSubBlocks()]);\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.PlainTextExtension:\n {\n if (gif.globalColorTable.length === 0) {\n throw new EvalError(\"plain text extension without global color table\");\n }\n byteStream.pos++;\n gif.frames[getFrameIndex(false)].plainTextData = {\n left: byteStream.nextTwoBytes(),\n top: byteStream.nextTwoBytes(),\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes(),\n charSize: {\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes()\n },\n foregroundColor: byteStream.nextByte(),\n backgroundColor: byteStream.nextByte(),\n text: byteStream.readSubBlocks()\n };\n break;\n }\n default:\n byteStream.skipSubBlocks();\n break;\n }\n}\nasync function parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, progressCallback) {\n const frame = gif.frames[getFrameIndex(true)];\n frame.left = byteStream.nextTwoBytes();\n frame.top = byteStream.nextTwoBytes();\n frame.width = byteStream.nextTwoBytes();\n frame.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(),\n localColorTableFlag = (packedByte & 0x80) === 0x80,\n interlacedFlag = (packedByte & 0x40) === 0x40;\n frame.sortFlag = (packedByte & 0x20) === 0x20;\n frame.reserved = (packedByte & 0x18) >>> 3;\n const localColorCount = 1 << (packedByte & 7) + 1;\n if (localColorTableFlag) {\n frame.localColorTable = parseColorTable(byteStream, localColorCount);\n }\n const getColor = index => {\n const {\n r,\n g,\n b\n } = (localColorTableFlag ? frame.localColorTable : gif.globalColorTable)[index];\n if (index !== getTransparencyIndex(null)) {\n return {\n r,\n g,\n b,\n a: 255\n };\n }\n return {\n r,\n g,\n b,\n a: avgAlpha ? Math.trunc((r + g + b) / 3) : 0\n };\n };\n const image = (() => {\n try {\n return new ImageData(frame.width, frame.height, {\n colorSpace: \"srgb\"\n });\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (image == null) {\n throw new EvalError(\"GIF frame size is to large\");\n }\n const minCodeSize = byteStream.nextByte(),\n imageData = byteStream.readSubBlocksBin(),\n clearCode = 1 << minCodeSize;\n const readBits = (pos, len) => {\n const bytePos = pos >>> 3,\n bitPos = pos & 7;\n return (imageData[bytePos] + (imageData[bytePos + 1] << 8) + (imageData[bytePos + 2] << 16) & (1 << len) - 1 << bitPos) >>> bitPos;\n };\n if (interlacedFlag) {\n for (let code = 0, size = minCodeSize + 1, pos = 0, dic = [[0]], pass = 0; pass < 4; pass++) {\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] < frame.height) {\n let pixelPos = 0,\n lineIndex = 0,\n exit = false;\n while (!exit) {\n const last = code;\n code = readBits(pos, size);\n pos += size + 1;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for (let i = 0; i < dic.length; i++) {\n dic[i] = i < clearCode ? [i] : [];\n }\n } else {\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]) {\n const {\n r,\n g,\n b,\n a\n } = getColor(item);\n image.data.set([r, g, b, a], _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] * frame.width + _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceSteps[pass] * lineIndex + pixelPos % (frame.width * 4));\n pixelPos += 4;\n }\n if (dic.length === 1 << size && size < 0xc) {\n size++;\n }\n }\n if (pixelPos === frame.width * 4 * (lineIndex + 1)) {\n lineIndex++;\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] + _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceSteps[pass] * lineIndex >= frame.height) {\n exit = true;\n }\n }\n }\n }\n progressCallback?.(byteStream.pos / (byteStream.data.length - 1), getFrameIndex(false) + 1, image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n } else {\n let code = 0,\n size = minCodeSize + 1,\n pos = 0,\n pixelPos = -4;\n const dic = [[0]];\n for (;;) {\n const last = code;\n code = readBits(pos, size);\n pos += size;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for (let i = 0; i < dic.length; i++) {\n dic[i] = i < clearCode ? [i] : [];\n }\n } else {\n if (code === clearCode + 1) {\n break;\n }\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]) {\n const {\n r,\n g,\n b,\n a\n } = getColor(item);\n image.data.set([r, g, b, a], pixelPos);\n pixelPos += 4;\n }\n if (dic.length >= 1 << size && size < 0xc) {\n size++;\n }\n }\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n progressCallback?.((byteStream.pos + 1) / byteStream.data.length, getFrameIndex(false) + 1, frame.image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n}\nasync function parseBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, progressCallback) {\n switch (byteStream.nextByte()) {\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.EndOfFile:\n return true;\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.Image:\n await parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, progressCallback);\n break;\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.Extension:\n parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex);\n break;\n default:\n throw new EvalError(\"undefined block found\");\n }\n return false;\n}\nfunction getGIFLoopAmount(gif) {\n for (const extension of gif.applicationExtensions) {\n if (extension.identifier + extension.authenticationCode !== \"NETSCAPE2.0\") {\n continue;\n }\n return extension.data[1] + (extension.data[2] << 8);\n }\n return NaN;\n}\nasync function decodeGIF(gifURL, progressCallback, avgAlpha) {\n avgAlpha ??= false;\n const res = await fetch(gifURL);\n if (!res.ok && res.status === 404) {\n throw new EvalError(\"file not found\");\n }\n const buffer = await res.arrayBuffer();\n const gif = {\n width: 0,\n height: 0,\n totalTime: 0,\n colorRes: 0,\n pixelAspectRatio: 0,\n frames: [],\n sortFlag: false,\n globalColorTable: [],\n backgroundImage: new ImageData(1, 1, {\n colorSpace: \"srgb\"\n }),\n comments: [],\n applicationExtensions: []\n },\n byteStream = new _ByteStream_js__WEBPACK_IMPORTED_MODULE_3__.ByteStream(new Uint8ClampedArray(buffer));\n if (byteStream.getString(6) !== \"GIF89a\") {\n throw new Error(\"not a supported GIF file\");\n }\n gif.width = byteStream.nextTwoBytes();\n gif.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(),\n globalColorTableFlag = (packedByte & 0x80) === 0x80;\n gif.colorRes = (packedByte & 0x70) >>> 4;\n gif.sortFlag = (packedByte & 8) === 8;\n const globalColorCount = 1 << (packedByte & 7) + 1,\n backgroundColorIndex = byteStream.nextByte();\n gif.pixelAspectRatio = byteStream.nextByte();\n if (gif.pixelAspectRatio !== 0) {\n gif.pixelAspectRatio = (gif.pixelAspectRatio + 0xf) / 0x40;\n }\n if (globalColorTableFlag) {\n gif.globalColorTable = parseColorTable(byteStream, globalColorCount);\n }\n const backgroundImage = (() => {\n try {\n return new ImageData(gif.width, gif.height, {\n colorSpace: \"srgb\"\n });\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (backgroundImage == null) {\n throw new Error(\"GIF frame size is to large\");\n }\n const {\n r,\n g,\n b\n } = gif.globalColorTable[backgroundColorIndex];\n backgroundImage.data.set(globalColorTableFlag ? [r, g, b, 255] : [0, 0, 0, 0]);\n for (let i = 4; i < backgroundImage.data.length; i *= 2) {\n backgroundImage.data.copyWithin(i, 0, i);\n }\n gif.backgroundImage = backgroundImage;\n let frameIndex = -1,\n incrementFrameIndex = true,\n transparencyIndex = -1;\n const getframeIndex = increment => {\n if (increment) {\n incrementFrameIndex = true;\n }\n return frameIndex;\n };\n const getTransparencyIndex = newValue => {\n if (newValue != null) {\n transparencyIndex = newValue;\n }\n return transparencyIndex;\n };\n try {\n do {\n if (incrementFrameIndex) {\n gif.frames.push({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n disposalMethod: _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Replace,\n image: new ImageData(1, 1, {\n colorSpace: \"srgb\"\n }),\n plainTextData: null,\n userInputDelayFlag: false,\n delayTime: 0,\n sortFlag: false,\n localColorTable: [],\n reserved: 0,\n GCreserved: 0\n });\n frameIndex++;\n transparencyIndex = -1;\n incrementFrameIndex = false;\n }\n } while (!(await parseBlock(byteStream, gif, avgAlpha, getframeIndex, getTransparencyIndex, progressCallback)));\n gif.frames.length--;\n for (const frame of gif.frames) {\n if (frame.userInputDelayFlag && frame.delayTime === 0) {\n gif.totalTime = Infinity;\n break;\n }\n gif.totalTime += frame.delayTime;\n }\n return gif;\n } catch (error) {\n if (error instanceof EvalError) {\n throw new Error(`error while parsing frame ${frameIndex.toString()} \"${error.message}\"`);\n }\n throw error;\n }\n}\nfunction drawGif(data) {\n const {\n context,\n radius,\n particle,\n delta\n } = data,\n image = particle.image;\n if (!image?.gifData || !image.gif) {\n return;\n }\n const offscreenCanvas = new OffscreenCanvas(image.gifData.width, image.gifData.height),\n offscreenContext = offscreenCanvas.getContext(\"2d\");\n if (!offscreenContext) {\n throw new Error(\"could not create offscreen canvas context\");\n }\n offscreenContext.imageSmoothingQuality = \"low\";\n offscreenContext.imageSmoothingEnabled = false;\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n particle.gifLoopCount ??= image.gifLoopCount ?? defaultLoopCount;\n let frameIndex = particle.gifFrame ?? defaultFrame;\n const pos = {\n x: -image.gifData.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half,\n y: -image.gifData.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half\n },\n frame = image.gifData.frames[frameIndex];\n particle.gifTime ??= initialTime;\n if (!frame.bitmap) {\n return;\n }\n context.scale(radius / image.gifData.width, radius / image.gifData.height);\n switch (frame.disposalMethod) {\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedA:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedB:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedC:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedD:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Replace:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Combine:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.RestoreBackground:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n if (!image.gifData.globalColorTable.length) {\n offscreenContext.putImageData(image.gifData.frames[firstIndex].image, pos.x + frame.left, pos.y + frame.top);\n } else {\n offscreenContext.putImageData(image.gifData.backgroundImage, pos.x, pos.y);\n }\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.RestorePrevious:\n {\n const previousImageData = offscreenContext.getImageData(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.putImageData(previousImageData, origin.x, origin.y);\n }\n break;\n }\n particle.gifTime += delta.value;\n if (particle.gifTime > frame.delayTime) {\n particle.gifTime -= frame.delayTime;\n if (++frameIndex >= image.gifData.frames.length) {\n if (--particle.gifLoopCount <= defaultLoopCount) {\n return;\n }\n frameIndex = firstIndex;\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n }\n particle.gifFrame = frameIndex;\n }\n context.scale(image.gifData.width / radius, image.gifData.height / radius);\n}\nasync function loadGifImage(image) {\n if (image.type !== \"gif\") {\n await (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.loadImage)(image);\n return;\n }\n image.loading = true;\n try {\n image.gifData = await decodeGIF(image.source);\n image.gifLoopCount = getGIFLoopAmount(image.gifData);\n if (!image.gifLoopCount) {\n image.gifLoopCount = Infinity;\n }\n } catch {\n image.error = true;\n }\n image.loading = false;\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/GifUtils/Utils.js?\n}");
|
|
67
|
-
|
|
68
|
-
/***/ },
|
|
69
|
-
|
|
70
|
-
/***/ "../../shapes/image/dist/browser/Utils.js"
|
|
71
|
-
/*!************************************************!*\
|
|
72
|
-
!*** ../../shapes/image/dist/browser/Utils.js ***!
|
|
73
|
-
\************************************************/
|
|
74
|
-
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
75
|
-
|
|
76
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ downloadSvgImage: () => (/* binding */ downloadSvgImage),\n/* harmony export */ loadImage: () => (/* binding */ loadImage),\n/* harmony export */ replaceImageColor: () => (/* binding */ replaceImageColor)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst stringStart = 0,\n defaultOpacity = 1;\nconst currentColorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;\nfunction replaceColorSvg(imageShape, color, opacity, hdr = false) {\n const {\n svgData\n } = imageShape;\n if (!svgData) {\n return \"\";\n }\n const colorStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(color, hdr, opacity);\n if (svgData.includes(\"fill\")) {\n return svgData.replace(currentColorRegex, () => colorStyle);\n }\n const preFillIndex = svgData.indexOf(\">\");\n return `${svgData.substring(stringStart, preFillIndex)} fill=\"${colorStyle}\"${svgData.substring(preFillIndex)}`;\n}\nasync function loadImage(image) {\n return new Promise(resolve => {\n image.loading = true;\n const img = new Image();\n image.element = img;\n img.addEventListener(\"load\", () => {\n image.loading = false;\n resolve();\n });\n img.addEventListener(\"error\", () => {\n image.element = undefined;\n image.error = true;\n image.loading = false;\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(`Error loading image: ${image.source}`);\n resolve();\n });\n img.src = image.source;\n });\n}\nasync function downloadSvgImage(image) {\n if (image.type !== \"svg\") {\n await loadImage(image);\n return;\n }\n image.loading = true;\n const response = await fetch(image.source);\n if (!response.ok) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(\"Image not found\");\n image.error = true;\n } else {\n image.svgData = await response.text();\n }\n image.loading = false;\n}\nfunction replaceImageColor(image, imageData, color, particle, hdr = false) {\n const svgColoredData = replaceColorSvg(image, color, particle.opacity?.value ?? defaultOpacity, hdr),\n imageRes = {\n color,\n gif: imageData.gif,\n data: {\n ...image,\n svgData: svgColoredData\n },\n loaded: false,\n ratio: imageData.width / imageData.height,\n replaceColor: imageData.replaceColor,\n source: imageData.src\n };\n return new Promise(resolve => {\n const svg = new Blob([svgColoredData], {\n type: \"image/svg+xml\"\n }),\n url = URL.createObjectURL(svg),\n img = new Image();\n img.addEventListener(\"load\", () => {\n imageRes.loaded = true;\n imageRes.element = img;\n resolve(imageRes);\n URL.revokeObjectURL(url);\n });\n const errorHandler = async () => {\n URL.revokeObjectURL(url);\n const img2 = {\n ...image,\n error: false,\n loading: true\n };\n await loadImage(img2);\n imageRes.loaded = true;\n imageRes.element = img2.element;\n resolve(imageRes);\n };\n img.addEventListener(\"error\", () => void errorHandler());\n img.src = url;\n });\n}\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/Utils.js?\n}");
|
|
66
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeGIF: () => (/* binding */ decodeGIF),\n/* harmony export */ drawGif: () => (/* binding */ drawGif),\n/* harmony export */ getGIFLoopAmount: () => (/* binding */ getGIFLoopAmount),\n/* harmony export */ loadGifImage: () => (/* binding */ loadGifImage)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Constants.js */ \"../../shapes/image/dist/browser/GifUtils/Constants.js\");\n/* harmony import */ var _ByteStream_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ByteStream.js */ \"../../shapes/image/dist/browser/GifUtils/ByteStream.js\");\n/* harmony import */ var _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Enums/DisposalMethod.js */ \"../../shapes/image/dist/browser/GifUtils/Enums/DisposalMethod.js\");\n/* harmony import */ var _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Types/GIFDataHeaders.js */ \"../../shapes/image/dist/browser/GifUtils/Types/GIFDataHeaders.js\");\n\n\n\n\n\n\nconst defaultFrame = 0, initialTime = 0, firstIndex = 0, defaultLoopCount = 0;\nfunction parseColorTable(byteStream, count) {\n const colors = [];\n for(let i = 0; i < count; i++){\n colors.push({\n r: byteStream.data[byteStream.pos],\n g: byteStream.data[byteStream.pos + 1],\n b: byteStream.data[byteStream.pos + 2]\n });\n byteStream.pos += 3;\n }\n return colors;\n}\nfunction parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex) {\n switch(byteStream.nextByte()){\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.GraphicsControlExtension:\n {\n const frame = gif.frames[getFrameIndex(false)];\n byteStream.pos++;\n const packedByte = byteStream.nextByte();\n frame.GCreserved = (packedByte & 0xe0) >>> 5;\n frame.disposalMethod = (packedByte & 0x1c) >>> 2;\n frame.userInputDelayFlag = (packedByte & 2) === 2;\n const transparencyFlag = (packedByte & 1) === 1;\n frame.delayTime = byteStream.nextTwoBytes() * 0xa;\n const transparencyIndex = byteStream.nextByte();\n if (transparencyFlag) {\n getTransparencyIndex(transparencyIndex);\n }\n byteStream.pos++;\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.ApplicationExtension:\n {\n byteStream.pos++;\n const applicationExtension = {\n identifier: byteStream.getString(8),\n authenticationCode: byteStream.getString(3),\n data: byteStream.readSubBlocksBin()\n };\n gif.applicationExtensions.push(applicationExtension);\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.CommentExtension:\n {\n gif.comments.push([\n getFrameIndex(false),\n byteStream.readSubBlocks()\n ]);\n break;\n }\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.PlainTextExtension:\n {\n if (gif.globalColorTable.length === 0) {\n throw new EvalError(\"plain text extension without global color table\");\n }\n byteStream.pos++;\n gif.frames[getFrameIndex(false)].plainTextData = {\n left: byteStream.nextTwoBytes(),\n top: byteStream.nextTwoBytes(),\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes(),\n charSize: {\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes()\n },\n foregroundColor: byteStream.nextByte(),\n backgroundColor: byteStream.nextByte(),\n text: byteStream.readSubBlocks()\n };\n break;\n }\n default:\n byteStream.skipSubBlocks();\n break;\n }\n}\nfunction readBits(imageData, pos, len) {\n const bytePos = pos >>> 3, bitPos = pos & 7;\n return (imageData[bytePos] + (imageData[bytePos + 1] << 8) + (imageData[bytePos + 2] << 16) & (1 << len) - 1 << bitPos) >>> bitPos;\n}\nasync function parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, canvasSettings, progressCallback) {\n const frame = gif.frames[getFrameIndex(true)];\n frame.left = byteStream.nextTwoBytes();\n frame.top = byteStream.nextTwoBytes();\n frame.width = byteStream.nextTwoBytes();\n frame.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(), localColorTableFlag = (packedByte & 0x80) === 0x80, interlacedFlag = (packedByte & 0x40) === 0x40;\n frame.sortFlag = (packedByte & 0x20) === 0x20;\n frame.reserved = (packedByte & 0x18) >>> 3;\n const localColorCount = 1 << (packedByte & 7) + 1;\n if (localColorTableFlag) {\n frame.localColorTable = parseColorTable(byteStream, localColorCount);\n }\n const getColor = (index)=>{\n const { r, g, b } = (localColorTableFlag ? frame.localColorTable : gif.globalColorTable)[index];\n if (index !== getTransparencyIndex(null)) {\n return {\n r,\n g,\n b,\n a: 255\n };\n }\n return {\n r,\n g,\n b,\n a: avgAlpha ? Math.trunc((r + g + b) / 3) : 0\n };\n }, image = (()=>{\n try {\n return new ImageData(frame.width, frame.height, canvasSettings);\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (image == null) {\n throw new EvalError(\"GIF frame size is to large\");\n }\n const minCodeSize = byteStream.nextByte(), imageData = byteStream.readSubBlocksBin(), clearCode = 1 << minCodeSize;\n if (interlacedFlag) {\n for(let code = 0, size = minCodeSize + 1, pos = 0, dic = [\n [\n 0\n ]\n ], pass = 0; pass < 4; pass++){\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] < frame.height) {\n let pixelPos = 0, lineIndex = 0, exit = false;\n while(!exit){\n const last = code;\n code = readBits(imageData, pos, size);\n pos += size + 1;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for(let i = 0; i < dic.length; i++){\n dic[i] = i < clearCode ? [\n i\n ] : [];\n }\n } else {\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]){\n const { r, g, b, a } = getColor(item);\n image.data.set([\n r,\n g,\n b,\n a\n ], _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] * frame.width + _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceSteps[pass] * lineIndex + pixelPos % (frame.width * 4));\n pixelPos += 4;\n }\n if (dic.length === 1 << size && size < 0xc) {\n size++;\n }\n }\n if (pixelPos === frame.width * 4 * (lineIndex + 1)) {\n lineIndex++;\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceOffsets[pass] + _Constants_js__WEBPACK_IMPORTED_MODULE_2__.InterlaceSteps[pass] * lineIndex >= frame.height) {\n exit = true;\n }\n }\n }\n }\n progressCallback?.(byteStream.pos / (byteStream.data.length - 1), getFrameIndex(false) + 1, image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n } else {\n let code = 0, size = minCodeSize + 1, pos = 0, pixelPos = -4;\n const dic = [\n [\n 0\n ]\n ];\n for(;;){\n const last = code;\n code = readBits(imageData, pos, size);\n pos += size;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for(let i = 0; i < dic.length; i++){\n dic[i] = i < clearCode ? [\n i\n ] : [];\n }\n } else {\n if (code === clearCode + 1) {\n break;\n }\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]){\n const { r, g, b, a } = getColor(item);\n pixelPos += 4;\n image.data.set([\n r,\n g,\n b,\n a\n ], pixelPos);\n }\n if (dic.length >= 1 << size && size < 0xc) {\n size++;\n }\n }\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n progressCallback?.((byteStream.pos + 1) / byteStream.data.length, getFrameIndex(false) + 1, frame.image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n}\nasync function parseBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, canvasSettings, progressCallback) {\n switch(byteStream.nextByte()){\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.EndOfFile:\n return true;\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.Image:\n await parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, canvasSettings, progressCallback);\n break;\n case _Types_GIFDataHeaders_js__WEBPACK_IMPORTED_MODULE_5__.GIFDataHeaders.Extension:\n parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex);\n break;\n default:\n throw new EvalError(\"undefined block found\");\n }\n return false;\n}\nfunction getGIFLoopAmount(gif) {\n for (const extension of gif.applicationExtensions){\n if (extension.identifier + extension.authenticationCode !== \"NETSCAPE2.0\") {\n continue;\n }\n return extension.data[1] + (extension.data[2] << 8);\n }\n return Number.NaN;\n}\nasync function decodeGIF(gifURL, canvasSettings, progressCallback, avgAlpha) {\n avgAlpha ??= false;\n const res = await fetch(gifURL);\n if (!res.ok && res.status === 404) {\n throw new EvalError(\"file not found\");\n }\n const buffer = await res.arrayBuffer(), gif = {\n width: 0,\n height: 0,\n totalTime: 0,\n colorRes: 0,\n pixelAspectRatio: 0,\n frames: [],\n sortFlag: false,\n globalColorTable: [],\n backgroundImage: new ImageData(1, 1, canvasSettings),\n comments: [],\n applicationExtensions: []\n }, byteStream = new _ByteStream_js__WEBPACK_IMPORTED_MODULE_3__.ByteStream(new Uint8ClampedArray(buffer));\n if (byteStream.getString(6) !== \"GIF89a\") {\n throw new Error(\"not a supported GIF file\");\n }\n gif.width = byteStream.nextTwoBytes();\n gif.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(), globalColorTableFlag = (packedByte & 0x80) === 0x80;\n gif.colorRes = (packedByte & 0x70) >>> 4;\n gif.sortFlag = (packedByte & 8) === 8;\n const globalColorCount = 1 << (packedByte & 7) + 1, backgroundColorIndex = byteStream.nextByte();\n gif.pixelAspectRatio = byteStream.nextByte();\n if (gif.pixelAspectRatio !== 0) {\n gif.pixelAspectRatio = (gif.pixelAspectRatio + 0xf) / 0x40;\n }\n if (globalColorTableFlag) {\n gif.globalColorTable = parseColorTable(byteStream, globalColorCount);\n }\n const backgroundImage = (()=>{\n try {\n return new ImageData(gif.width, gif.height, canvasSettings);\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (backgroundImage == null) {\n throw new Error(\"GIF frame size is to large\");\n }\n const { r, g, b } = gif.globalColorTable[backgroundColorIndex];\n backgroundImage.data.set(globalColorTableFlag ? [\n r,\n g,\n b,\n 255\n ] : [\n 0,\n 0,\n 0,\n 0\n ]);\n for(let i = 4; i < backgroundImage.data.length; i *= 2){\n backgroundImage.data.copyWithin(i, 0, i);\n }\n gif.backgroundImage = backgroundImage;\n let frameIndex = -1, incrementFrameIndex = true, transparencyIndex = -1;\n const getframeIndex = (increment)=>{\n if (increment) {\n incrementFrameIndex = true;\n }\n return frameIndex;\n }, getTransparencyIndex = (newValue)=>{\n if (newValue != null) {\n transparencyIndex = newValue;\n }\n return transparencyIndex;\n };\n try {\n do {\n if (incrementFrameIndex) {\n gif.frames.push({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n disposalMethod: _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Replace,\n image: new ImageData(1, 1, canvasSettings),\n plainTextData: null,\n userInputDelayFlag: false,\n delayTime: 0,\n sortFlag: false,\n localColorTable: [],\n reserved: 0,\n GCreserved: 0\n });\n frameIndex++;\n transparencyIndex = -1;\n incrementFrameIndex = false;\n }\n }while (!await parseBlock(byteStream, gif, avgAlpha, getframeIndex, getTransparencyIndex, canvasSettings, progressCallback))\n gif.frames.length--;\n for (const frame of gif.frames){\n if (frame.userInputDelayFlag && frame.delayTime === 0) {\n gif.totalTime = Infinity;\n break;\n }\n gif.totalTime += frame.delayTime;\n }\n return gif;\n } catch (error) {\n if (error instanceof EvalError) {\n throw new Error(`error while parsing frame ${frameIndex.toString()} \"${error.message}\"`, {\n cause: error\n });\n }\n throw error;\n }\n}\nfunction drawGif(data, canvasSettings) {\n const { context, radius, particle, delta } = data, image = particle.image;\n if (!image?.gifData || !image.gif) {\n return;\n }\n const offscreenCanvas = new OffscreenCanvas(image.gifData.width, image.gifData.height), offscreenContext = offscreenCanvas.getContext(\"2d\", canvasSettings);\n if (!offscreenContext) {\n throw new Error(\"could not create offscreen canvas context\");\n }\n offscreenContext.imageSmoothingQuality = \"low\";\n offscreenContext.imageSmoothingEnabled = false;\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n particle.gifLoopCount ??= image.gifLoopCount ?? defaultLoopCount;\n let frameIndex = particle.gifFrame ?? defaultFrame;\n const pos = {\n x: -image.gifData.width * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half,\n y: -image.gifData.height * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.half\n }, frame = image.gifData.frames[frameIndex];\n particle.gifTime ??= initialTime;\n if (!frame.bitmap) {\n return;\n }\n context.scale(radius / image.gifData.width, radius / image.gifData.height);\n switch(frame.disposalMethod){\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedA:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedB:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedC:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.UndefinedD:\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Replace:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.Combine:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.RestoreBackground:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n if (!image.gifData.globalColorTable.length) {\n offscreenContext.putImageData(image.gifData.frames[firstIndex].image, pos.x + frame.left, pos.y + frame.top);\n } else {\n offscreenContext.putImageData(image.gifData.backgroundImage, pos.x, pos.y);\n }\n break;\n case _Enums_DisposalMethod_js__WEBPACK_IMPORTED_MODULE_4__.DisposalMethod.RestorePrevious:\n {\n const previousImageData = offscreenContext.getImageData(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.putImageData(previousImageData, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y);\n }\n break;\n }\n particle.gifTime += delta.value;\n if (particle.gifTime > frame.delayTime) {\n particle.gifTime -= frame.delayTime;\n if (++frameIndex >= image.gifData.frames.length) {\n if (--particle.gifLoopCount <= defaultLoopCount) {\n return;\n }\n frameIndex = firstIndex;\n offscreenContext.clearRect(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_1__.originPoint.y, offscreenCanvas.width, offscreenCanvas.height);\n }\n particle.gifFrame = frameIndex;\n }\n context.scale(image.gifData.width / radius, image.gifData.height / radius);\n}\nasync function loadGifImage(image, canvasSettings) {\n if (image.type !== \"gif\") {\n await (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.loadImage)(image);\n return;\n }\n image.loading = true;\n try {\n image.gifData = await decodeGIF(image.source, canvasSettings);\n image.gifLoopCount = getGIFLoopAmount(image.gifData);\n if (!image.gifLoopCount) {\n image.gifLoopCount = Infinity;\n }\n } catch {\n image.error = true;\n }\n image.loading = false;\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/GifUtils/Utils.js?\n}");
|
|
77
67
|
|
|
78
68
|
/***/ }
|
|
79
69
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ ImageDrawer: () => (/* binding */ ImageDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\");\n\n\n\nconst sides = 12;\nclass ImageDrawer {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImageDrawer: () => (/* binding */ ImageDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n/* harmony import */ var _GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\");\n\n\n\nconst sides = 12;\nclass ImageDrawer {\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n }\n draw(data) {\n const { context, radius, particle, opacity } = data, image = particle.image, element = image?.element;\n if (!image) {\n return;\n }\n context.globalAlpha = opacity;\n if (image.gif && image.gifData) {\n (0,_GifUtils_Utils_js__WEBPACK_IMPORTED_MODULE_2__.drawGif)(data, this._container.canvas.render.settings);\n } else if (element) {\n const ratio = image.ratio, pos = {\n x: -radius,\n y: -radius\n }, diameter = radius * _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.double;\n context.drawImage(element, pos.x, pos.y, diameter, diameter / ratio);\n }\n context.globalAlpha = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultAlpha;\n }\n getSidesCount() {\n return sides;\n }\n async init(container) {\n const options = container.actualOptions;\n if (!options.preload || !this._engine.loadImage) {\n return;\n }\n const promises = [];\n for (const imageData of options.preload){\n promises.push(this._engine.loadImage(container, imageData));\n }\n await Promise.all(promises);\n }\n loadShape(particle) {\n const { _container: container } = this;\n if (!particle.shape || !_Utils_js__WEBPACK_IMPORTED_MODULE_1__.shapeTypes.includes(particle.shape)) {\n return;\n }\n const imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const images = this._engine.getImages?.(container), image = images?.find((t)=>t.name === imageData.name || t.source === imageData.src);\n if (image) {\n return;\n }\n void this.loadImageShape(container, imageData).then(()=>{\n this.loadShape(particle);\n });\n }\n particleInit(container, particle) {\n if (particle.shape !== \"image\" && particle.shape !== \"images\") {\n return;\n }\n const images = this._engine.getImages?.(container), imageData = particle.shapeData;\n if (!imageData) {\n return;\n }\n const color = particle.getFillColor(), image = images?.find((t)=>t.name === imageData.name || t.source === imageData.src);\n if (!image) {\n return;\n }\n const replaceColor = imageData.replaceColor;\n if (image.loading) {\n setTimeout(()=>{\n this.particleInit(container, particle);\n });\n return;\n }\n void (async ()=>{\n let imageRes;\n if (image.svgData && color) {\n imageRes = await (0,_Utils_js__WEBPACK_IMPORTED_MODULE_1__.replaceImageColor)(image, imageData, color, particle, container.hdr);\n } else {\n imageRes = {\n color,\n data: image,\n element: image.element,\n gif: image.gif,\n gifData: image.gifData,\n gifLoopCount: image.gifLoopCount,\n loaded: true,\n ratio: imageData.width && imageData.height ? imageData.width / imageData.height : image.ratio ?? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.defaultRatio,\n replaceColor: replaceColor,\n source: imageData.src\n };\n }\n if (!imageRes.ratio) {\n imageRes.ratio = 1;\n }\n const close = imageData.close ?? particle.shapeClose, imageShape = {\n image: imageRes,\n close\n };\n particle.image = imageShape.image;\n particle.shapeClose = imageShape.close;\n })();\n }\n loadImageShape = async (container, imageShape)=>{\n if (!this._engine.loadImage) {\n throw new Error(`Image shape not initialized`);\n }\n await this._engine.loadImage(container, {\n gif: imageShape.gif,\n name: imageShape.name,\n replaceColor: imageShape.replaceColor,\n src: imageShape.src\n });\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/ImageDrawer.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ }
|
|
29
29
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Author : Matteo Bruni
|
|
3
|
+
* MIT license: https://opensource.org/licenses/MIT
|
|
4
|
+
* Demo / Generator : https://particles.js.org/
|
|
5
|
+
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
|
+
* How to use? : Check the GitHub README
|
|
7
|
+
* v4.0.0-beta.1
|
|
8
|
+
*/
|
|
9
|
+
"use strict";
|
|
10
|
+
/*
|
|
11
|
+
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
12
|
+
* This devtool is neither made for production nor for readable output files.
|
|
13
|
+
* It uses "eval()" calls to create a separate source file in the browser devtools.
|
|
14
|
+
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
15
|
+
* or disable the default devtool with "devtool: false".
|
|
16
|
+
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
17
|
+
*/
|
|
18
|
+
(this["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["shapes_image_dist_browser_ImagePreloaderInstance_js"],{
|
|
19
|
+
|
|
20
|
+
/***/ "../../shapes/image/dist/browser/ImagePreloaderInstance.js"
|
|
21
|
+
/*!*****************************************************************!*\
|
|
22
|
+
!*** ../../shapes/image/dist/browser/ImagePreloaderInstance.js ***!
|
|
23
|
+
\*****************************************************************/
|
|
24
|
+
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
+
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImagePreloaderInstance: () => (/* binding */ ImagePreloaderInstance)\n/* harmony export */ });\nclass ImagePreloaderInstance {\n _container;\n _engine;\n constructor(engine, container){\n this._engine = engine;\n this._container = container;\n }\n destroy() {\n this._engine.images?.delete(this._container);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/ImagePreloaderInstance.js?\n}");
|
|
27
|
+
|
|
28
|
+
/***/ }
|
|
29
|
+
|
|
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
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ ImagePreloaderPlugin: () => (/* binding */ ImagePreloaderPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Preload_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Preload.js */ \"../../shapes/image/dist/browser/Options/Classes/Preload.js\");\n\nclass ImagePreloaderPlugin {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ImagePreloaderPlugin: () => (/* binding */ ImagePreloaderPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Preload_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Preload.js */ \"../../shapes/image/dist/browser/Options/Classes/Preload.js\");\n\nclass ImagePreloaderPlugin {\n id = \"image-preloader\";\n _engine;\n constructor(engine){\n this._engine = engine;\n }\n async getPlugin(container) {\n const { ImagePreloaderInstance } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImagePreloaderInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImagePreloaderInstance.js */ \"../../shapes/image/dist/browser/ImagePreloaderInstance.js\"));\n return new ImagePreloaderInstance(this._engine, container);\n }\n loadOptions(_container, options, source) {\n if (!source?.preload) {\n return;\n }\n options.preload ??= [];\n const preloadOptions = options.preload;\n for (const item of source.preload){\n const existing = preloadOptions.find((t)=>t.name === item.name || t.src === item.src);\n if (existing) {\n existing.load(item);\n } else {\n const preload = new _Options_Classes_Preload_js__WEBPACK_IMPORTED_MODULE_0__.Preload();\n preload.load(item);\n preloadOptions.push(preload);\n }\n }\n }\n needsPlugin() {\n return true;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/ImagePreloader.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ },
|
|
29
29
|
|
|
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
33
33
|
\******************************************************************/
|
|
34
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
35
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Preload: () => (/* binding */ Preload)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Preload {\n
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Preload: () => (/* binding */ Preload)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nclass Preload {\n gif;\n height;\n name;\n replaceColor;\n src;\n width;\n constructor(){\n this.src = \"\";\n this.gif = false;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.gif !== undefined) {\n this.gif = data.gif;\n }\n if (data.height !== undefined) {\n this.height = data.height;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.replaceColor !== undefined) {\n this.replaceColor = data.replaceColor;\n }\n if (data.src !== undefined) {\n this.src = data.src;\n }\n if (data.width !== undefined) {\n this.width = data.width;\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/Options/Classes/Preload.js?\n}");
|
|
37
37
|
|
|
38
38
|
/***/ }
|
|
39
39
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -17,13 +17,23 @@
|
|
|
17
17
|
*/
|
|
18
18
|
(this["webpackChunk_tsparticles_all"] = this["webpackChunk_tsparticles_all"] || []).push([["shapes_image_dist_browser_index_js"],{
|
|
19
19
|
|
|
20
|
+
/***/ "../../shapes/image/dist/browser/Utils.js"
|
|
21
|
+
/*!************************************************!*\
|
|
22
|
+
!*** ../../shapes/image/dist/browser/Utils.js ***!
|
|
23
|
+
\************************************************/
|
|
24
|
+
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
|
+
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ downloadSvgImage: () => (/* binding */ downloadSvgImage),\n/* harmony export */ loadImage: () => (/* binding */ loadImage),\n/* harmony export */ replaceImageColor: () => (/* binding */ replaceImageColor),\n/* harmony export */ shapeTypes: () => (/* binding */ shapeTypes)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst shapeTypes = [\n \"image\",\n \"images\"\n];\nconst stringStart = 0, defaultOpacity = 1;\nconst currentColorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;\nfunction replaceColorSvg(imageShape, color, opacity, hdr = false) {\n const { svgData } = imageShape;\n if (!svgData) {\n return \"\";\n }\n const colorStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(color, hdr, opacity);\n if (svgData.includes(\"fill\")) {\n return svgData.replaceAll(currentColorRegex, ()=>colorStyle);\n }\n const preFillIndex = svgData.indexOf(\">\");\n return `${svgData.substring(stringStart, preFillIndex)} fill=\"${colorStyle}\"${svgData.substring(preFillIndex)}`;\n}\nasync function loadImage(image) {\n return new Promise((resolve)=>{\n image.loading = true;\n const img = new Image();\n image.element = img;\n img.addEventListener(\"load\", ()=>{\n image.loading = false;\n resolve();\n });\n img.addEventListener(\"error\", ()=>{\n image.element = undefined;\n image.error = true;\n image.loading = false;\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(`Error loading image: ${image.source}`);\n resolve();\n });\n img.src = image.source;\n });\n}\nasync function downloadSvgImage(image) {\n if (image.type !== \"svg\") {\n await loadImage(image);\n return;\n }\n image.loading = true;\n const response = await fetch(image.source);\n if (response.ok) {\n image.svgData = await response.text();\n } else {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(\"Image not found\");\n image.error = true;\n }\n image.loading = false;\n}\nfunction replaceImageColor(image, imageData, color, particle, hdr = false) {\n const svgColoredData = replaceColorSvg(image, color, particle.opacity?.value ?? defaultOpacity, hdr), imageRes = {\n color,\n gif: imageData.gif,\n data: {\n ...image,\n svgData: svgColoredData\n },\n loaded: false,\n ratio: imageData.width / imageData.height,\n replaceColor: imageData.replaceColor,\n source: imageData.src\n };\n return new Promise((resolve)=>{\n const svg = new Blob([\n svgColoredData\n ], {\n type: \"image/svg+xml\"\n }), url = URL.createObjectURL(svg), img = new Image();\n img.addEventListener(\"load\", ()=>{\n imageRes.loaded = true;\n imageRes.element = img;\n resolve(imageRes);\n URL.revokeObjectURL(url);\n });\n const errorHandler = async ()=>{\n URL.revokeObjectURL(url);\n const img2 = {\n ...image,\n error: false,\n loading: true\n };\n await loadImage(img2);\n imageRes.loaded = true;\n imageRes.element = img2.element;\n resolve(imageRes);\n };\n img.addEventListener(\"error\", ()=>void errorHandler());\n img.src = url;\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/Utils.js?\n}");
|
|
27
|
+
|
|
28
|
+
/***/ },
|
|
29
|
+
|
|
20
30
|
/***/ "../../shapes/image/dist/browser/index.js"
|
|
21
31
|
/*!************************************************!*\
|
|
22
32
|
!*** ../../shapes/image/dist/browser/index.js ***!
|
|
23
33
|
\************************************************/
|
|
24
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
35
|
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadImageShape: () => (/* binding */ loadImageShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\");\n\nconst extLength = 3;\nfunction addLoadImageToEngine(engine) {\n engine.getImages ??= (container)=>{\n engine.images ??= new Map();\n let images = engine.images.get(container);\n if (!images) {\n images = [];\n engine.images.set(container, images);\n }\n return images;\n };\n engine.loadImage ??= async (container, data)=>{\n if (!engine.getImages) {\n throw new Error(\"No images collection found\");\n }\n if (!data.name && !data.src) {\n throw new Error(\"No image source provided\");\n }\n engine.images ??= new Map();\n const containerImages = engine.getImages(container);\n if (containerImages.some((t)=>t.name === data.name || t.source === data.src)) {\n return;\n }\n try {\n const image = {\n gif: data.gif,\n name: data.name ?? data.src,\n source: data.src,\n type: data.src.substring(data.src.length - extLength),\n error: false,\n loading: true,\n replaceColor: data.replaceColor,\n ratio: data.width && data.height ? data.width / data.height : undefined\n };\n containerImages.push(image);\n engine.images.set(container, containerImages);\n let imageFunc;\n if (data.gif) {\n const { loadGifImage } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_GifUtils_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./GifUtils/Utils.js */ \"../../shapes/image/dist/browser/GifUtils/Utils.js\"));\n imageFunc = (img)=>loadGifImage(img, {\n colorSpace: \"srgb\"\n });\n } else if (data.replaceColor) {\n const { downloadSvgImage } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = downloadSvgImage;\n } else {\n const { loadImage } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n imageFunc = loadImage;\n }\n await imageFunc(image);\n } catch {\n throw new Error(`${data.name ?? data.src} not found`);\n }\n };\n}\nasync function loadImageShape(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register(async (e)=>{\n const { ImagePreloaderPlugin } = await __webpack_require__.e(/*! import() */ \"shapes_image_dist_browser_ImagePreloader_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ImagePreloader.js */ \"../../shapes/image/dist/browser/ImagePreloader.js\"));\n addLoadImageToEngine(e);\n e.pluginManager.addPlugin(new ImagePreloaderPlugin(e));\n e.pluginManager.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.shapeTypes, async (container)=>{\n const { ImageDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_image_dist_browser_GifUtils_Utils_js\"), __webpack_require__.e(\"shapes_image_dist_browser_ImageDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./ImageDrawer.js */ \"../../shapes/image/dist/browser/ImageDrawer.js\"));\n return new ImageDrawer(e, container);\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/image/dist/browser/index.js?\n}");
|
|
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
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ InfinityDrawer: () => (/* binding */ InfinityDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/infinity/dist/browser/Utils.js\");\n\nclass InfinityDrawer {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InfinityDrawer: () => (/* binding */ InfinityDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/infinity/dist/browser/Utils.js\");\n\nclass InfinityDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawInfinity)(data);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/infinity/dist/browser/InfinityDrawer.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ },
|
|
29
29
|
|
|
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
33
33
|
\***************************************************/
|
|
34
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
35
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawInfinity: () => (/* binding */ drawInfinity)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst loopSizeFactor = 0.55;\nfunction drawInfinity(data) {\n
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawInfinity: () => (/* binding */ drawInfinity)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst loopSizeFactor = 0.55;\nfunction drawInfinity(data) {\n const { context, radius } = data, loopControl = radius * loopSizeFactor;\n context.moveTo(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y);\n context.bezierCurveTo(loopControl, -radius, loopControl, radius, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y);\n context.moveTo(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y);\n context.bezierCurveTo(-loopControl, -radius, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x - loopControl, radius, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.x, _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.originPoint.y);\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/infinity/dist/browser/Utils.js?\n}");
|
|
37
37
|
|
|
38
38
|
/***/ }
|
|
39
39
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ loadInfinityShape: () => (/* binding */ loadInfinityShape)\n/* harmony export */ });\nasync function loadInfinityShape(engine) {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadInfinityShape: () => (/* binding */ loadInfinityShape)\n/* harmony export */ });\nasync function loadInfinityShape(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"infinity\"\n ], async ()=>{\n const { InfinityDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_infinity_dist_browser_InfinityDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./InfinityDrawer.js */ \"../../shapes/infinity/dist/browser/InfinityDrawer.js\"));\n return new InfinityDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/infinity/dist/browser/index.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ }
|
|
29
29
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
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 */ LineDrawer: () => (/* binding */ LineDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/line/dist/browser/Utils.js\");\n\nconst sides = 1;\nclass LineDrawer {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LineDrawer: () => (/* binding */ LineDrawer)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/line/dist/browser/Utils.js\");\n\nconst sides = 1;\nclass LineDrawer {\n draw(data) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.drawLine)(data);\n }\n getSidesCount() {\n return sides;\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/line/dist/browser/LineDrawer.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ },
|
|
29
29
|
|
|
@@ -33,7 +33,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
33
33
|
\***********************************************/
|
|
34
34
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
35
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawLine: () => (/* binding */ drawLine)\n/* harmony export */ });\nfunction drawLine(data) {\n
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawLine: () => (/* binding */ drawLine)\n/* harmony export */ });\nfunction drawLine(data) {\n const { context, particle, radius } = data, shapeData = particle.shapeData, centerY = 0;\n context.moveTo(-radius, centerY);\n context.lineTo(radius, centerY);\n context.lineCap = shapeData?.cap ?? \"butt\";\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/line/dist/browser/Utils.js?\n}");
|
|
37
37
|
|
|
38
38
|
/***/ }
|
|
39
39
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-
|
|
7
|
+
* v4.0.0-beta.1
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
\***********************************************/
|
|
24
24
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
25
25
|
|
|
26
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadLineShape: () => (/* binding */ loadLineShape)\n/* harmony export */ });\nasync function loadLineShape(engine) {\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadLineShape: () => (/* binding */ loadLineShape)\n/* harmony export */ });\nasync function loadLineShape(engine) {\n engine.checkVersion(\"4.0.0-beta.1\");\n await engine.pluginManager.register((e)=>{\n e.pluginManager.addShape([\n \"line\"\n ], async ()=>{\n const { LineDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_line_dist_browser_LineDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./LineDrawer.js */ \"../../shapes/line/dist/browser/LineDrawer.js\"));\n return new LineDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/line/dist/browser/index.js?\n}");
|
|
27
27
|
|
|
28
28
|
/***/ }
|
|
29
29
|
|