@tsparticles/all 4.0.0-alpha.25 → 4.0.0-alpha.27
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/102.min.js +1 -0
- package/1053.min.js +1 -0
- package/{1913.min.js → 1060.min.js} +1 -1
- package/1098.min.js +1 -0
- package/1146.min.js +1 -0
- package/{2406.min.js → 1154.min.js} +1 -1
- package/1171.min.js +1 -0
- package/1196.min.js +1 -0
- package/1220.min.js +1 -0
- package/1276.min.js +1 -0
- package/1283.min.js +1 -0
- package/{7293.min.js → 1298.min.js} +1 -1
- package/1302.min.js +1 -0
- package/1304.min.js +1 -0
- package/134.min.js +1 -0
- package/1368.min.js +1 -0
- package/1411.min.js +1 -0
- package/1510.min.js +1 -0
- package/1513.min.js +1 -0
- package/1553.min.js +1 -0
- package/1556.min.js +1 -0
- package/161.min.js +1 -0
- package/{3936.min.js → 1624.min.js} +1 -1
- package/1667.min.js +1 -0
- package/1739.min.js +1 -1
- package/1766.min.js +1 -0
- package/1812.min.js +1 -0
- package/1821.min.js +1 -0
- package/1906.min.js +1 -0
- package/2086.min.js +1 -0
- package/{5533.min.js → 2123.min.js} +2 -2
- package/2142.min.js +1 -0
- package/2167.min.js +1 -0
- package/2217.min.js +1 -0
- package/2218.min.js +1 -0
- package/229.min.js +1 -0
- package/2292.min.js +1 -0
- package/2295.min.js +1 -0
- package/{1228.min.js → 2317.min.js} +1 -1
- package/2346.min.js +1 -0
- package/{4026.min.js → 2382.min.js} +1 -1
- package/2397.min.js +1 -0
- package/241.min.js +1 -0
- package/243.min.js +1 -0
- package/2488.min.js +1 -0
- package/2513.min.js +1 -0
- package/2541.min.js +1 -0
- package/2553.min.js +1 -0
- package/2569.min.js +1 -0
- package/2609.min.js +1 -0
- package/2616.min.js +1 -0
- package/2618.min.js +1 -0
- package/2642.min.js +1 -0
- package/2715.min.js +1 -0
- package/{3092.min.js → 2738.min.js} +1 -1
- package/{4566.min.js → 2846.min.js} +1 -1
- package/2917.min.js +1 -0
- package/{9797.min.js → 2926.min.js} +1 -1
- package/2940.min.js +1 -0
- package/{2919.min.js → 3003.min.js} +1 -1
- package/{9292.min.js → 3019.min.js} +1 -1
- package/3037.min.js +1 -0
- package/3091.min.js +1 -0
- package/3093.min.js +1 -0
- package/3130.min.js +1 -0
- package/3136.min.js +1 -0
- package/3138.min.js +1 -0
- package/3150.min.js +1 -0
- package/3194.min.js +1 -0
- package/3216.min.js +1 -0
- package/{4634.min.js → 3233.min.js} +1 -1
- package/3257.min.js +1 -0
- package/3296.min.js +1 -0
- package/{8085.min.js → 3338.min.js} +2 -2
- package/{7960.min.js → 3391.min.js} +1 -1
- package/3407.min.js +1 -0
- package/{4609.min.js → 3413.min.js} +1 -1
- package/342.min.js +1 -0
- package/3433.min.js +1 -0
- package/3455.min.js +1 -0
- package/{8361.min.js → 3464.min.js} +1 -1
- package/3509.min.js +1 -0
- package/3573.min.js +1 -0
- package/358.min.js +1 -0
- package/3618.min.js +1 -0
- package/{2542.min.js → 3657.min.js} +1 -1
- package/3659.min.js +1 -0
- package/366.min.js +1 -0
- package/3663.min.js +1 -0
- package/3693.min.js +1 -0
- package/3713.min.js +1 -0
- package/3715.min.js +1 -0
- package/3747.min.js +1 -0
- package/3750.min.js +1 -0
- package/{8477.min.js → 3766.min.js} +1 -1
- package/379.min.js +1 -0
- package/{3725.min.js → 3793.min.js} +1 -1
- package/{8868.min.js → 3813.min.js} +1 -1
- package/{9282.min.js → 3853.min.js} +1 -1
- package/{7899.min.js → 3912.min.js} +1 -1
- package/{2800.min.js → 3924.min.js} +1 -1
- package/4067.min.js +1 -0
- package/4073.min.js +1 -0
- package/4082.min.js +1 -0
- package/4089.min.js +1 -0
- package/4141.min.js +1 -1
- package/4149.min.js +1 -0
- package/4191.min.js +1 -0
- package/{3755.min.js → 4204.min.js} +1 -1
- package/4234.min.js +1 -0
- package/4257.min.js +1 -0
- package/4268.min.js +1 -0
- package/4270.min.js +1 -0
- package/4285.min.js +1 -0
- package/{9474.min.js → 4292.min.js} +1 -1
- package/4303.min.js +1 -0
- package/4385.min.js +1 -0
- package/439.min.js +1 -0
- package/4413.min.js +1 -0
- package/{3785.min.js → 4424.min.js} +1 -1
- package/4433.min.js +1 -0
- package/4462.min.js +1 -0
- package/4463.min.js +1 -0
- package/449.min.js +1 -0
- package/4532.min.js +1 -0
- package/4570.min.js +1 -0
- package/4572.min.js +1 -0
- package/{9433.min.js → 4588.min.js} +1 -1
- package/465.min.js +1 -0
- package/4660.min.js +1 -0
- package/{6787.min.js → 4662.min.js} +1 -1
- package/4669.min.js +1 -0
- package/4671.min.js +1 -0
- package/468.min.js +1 -0
- package/4683.min.js +1 -0
- package/4689.min.js +1 -0
- package/{5349.min.js → 4708.min.js} +1 -1
- package/4724.min.js +1 -1
- package/4792.min.js +1 -0
- package/485.min.js +1 -0
- package/4894.min.js +1 -0
- package/4932.min.js +1 -0
- package/5055.min.js +1 -0
- package/{8690.min.js → 5133.min.js} +1 -1
- package/514.min.js +1 -1
- package/5157.min.js +1 -1
- package/5206.min.js +1 -0
- package/521.min.js +1 -0
- package/5249.min.js +1 -0
- package/5315.min.js +1 -0
- package/5322.min.js +1 -0
- package/533.min.js +1 -0
- package/5390.min.js +1 -0
- package/5406.min.js +1 -0
- package/{2681.min.js → 5411.min.js} +1 -1
- package/{4363.min.js → 5478.min.js} +1 -1
- package/5531.min.js +1 -0
- package/5538.min.js +1 -0
- package/5552.min.js +1 -0
- package/5558.min.js +1 -0
- package/5638.min.js +1 -0
- package/{9894.min.js → 5665.min.js} +1 -1
- package/{5547.min.js → 5712.min.js} +1 -1
- package/5723.min.js +1 -0
- package/5740.min.js +1 -0
- package/5833.min.js +1 -0
- package/5855.min.js +1 -0
- package/5901.min.js +1 -0
- package/5964.min.js +1 -0
- package/{2082.min.js → 5997.min.js} +1 -1
- package/6041.min.js +1 -0
- package/6058.min.js +1 -0
- package/{6213.min.js → 6066.min.js} +1 -1
- package/608.min.js +1 -0
- package/6098.min.js +1 -0
- package/6101.min.js +1 -0
- package/6179.min.js +1 -0
- package/6193.min.js +1 -0
- package/{5902.min.js → 6211.min.js} +1 -1
- package/622.min.js +1 -0
- package/6221.min.js +1 -0
- package/6299.min.js +1 -0
- package/{1986.min.js → 6351.min.js} +1 -1
- package/6361.min.js +1 -0
- package/6387.min.js +1 -0
- package/6405.min.js +1 -0
- package/644.min.js +1 -0
- package/{3437.min.js → 6450.min.js} +1 -1
- package/{9859.min.js → 6458.min.js} +1 -1
- package/6465.min.js +1 -0
- package/65.min.js +1 -0
- package/653.min.js +1 -0
- package/6583.min.js +1 -0
- package/6638.min.js +1 -0
- package/6684.min.js +1 -0
- package/6725.min.js +1 -0
- package/6808.min.js +1 -0
- package/{7771.min.js → 6839.min.js} +1 -1
- package/{6501.min.js → 6900.min.js} +1 -1
- package/{7153.min.js → 6970.min.js} +1 -1
- package/6982.min.js +1 -1
- package/6986.min.js +1 -0
- package/701.min.js +1 -0
- package/702.min.js +1 -0
- package/7028.min.js +1 -0
- package/{4956.min.js → 7041.min.js} +2 -2
- package/7116.min.js +1 -0
- package/7256.min.js +1 -0
- package/{7329.min.js → 7258.min.js} +1 -1
- package/7318.min.js +1 -0
- package/7377.min.js +1 -0
- package/7398.min.js +1 -0
- package/742.min.js +1 -0
- package/7449.min.js +1 -0
- package/7475.min.js +1 -0
- package/7520.min.js +1 -0
- package/{4038.min.js → 7554.min.js} +1 -1
- package/7559.min.js +1 -0
- package/7608.min.js +1 -0
- package/{9873.min.js → 7622.min.js} +2 -2
- package/{2380.min.js → 7636.min.js} +1 -1
- package/7646.min.js +1 -0
- package/7724.min.js +1 -0
- package/7812.min.js +1 -0
- package/787.min.js +1 -0
- package/{9777.min.js → 7876.min.js} +1 -1
- package/{3685.min.js → 7922.min.js} +1 -1
- package/7925.min.js +1 -0
- package/7937.min.js +1 -0
- package/7977.min.js +1 -0
- package/{3459.min.js → 7982.min.js} +1 -1
- package/8032.min.js +1 -0
- package/8061.min.js +1 -0
- package/8109.min.js +1 -0
- package/811.min.js +1 -0
- package/8214.min.js +1 -0
- package/8222.min.js +1 -0
- package/{7415.min.js → 8248.min.js} +1 -1
- package/8315.min.js +1 -0
- package/{3788.min.js → 8319.min.js} +1 -1
- package/8322.min.js +1 -0
- package/8360.min.js +1 -0
- package/8383.min.js +1 -0
- package/8386.min.js +1 -0
- package/84.min.js +1 -0
- package/8476.min.js +1 -0
- package/{7973.min.js → 8484.min.js} +1 -1
- package/8517.min.js +1 -0
- package/8553.min.js +1 -0
- package/8565.min.js +1 -0
- package/8589.min.js +1 -0
- package/{5169.min.js → 8606.min.js} +1 -1
- package/8620.min.js +1 -0
- package/{1740.min.js → 8639.min.js} +1 -1
- package/8684.min.js +1 -0
- package/8689.min.js +1 -0
- package/8756.min.js +1 -0
- package/881.min.js +1 -0
- package/8815.min.js +1 -0
- package/8819.min.js +1 -0
- package/8826.min.js +1 -0
- package/8841.min.js +1 -0
- package/8843.min.js +1 -0
- package/8902.min.js +1 -0
- package/{99.min.js → 8926.min.js} +2 -2
- package/{4099.min.js → 9082.min.js} +1 -1
- package/916.min.js +1 -0
- package/9177.min.js +1 -0
- package/9202.min.js +1 -0
- package/9279.min.js +1 -0
- package/9345.min.js +1 -0
- package/9352.min.js +1 -0
- package/9398.min.js +2 -0
- package/9544.min.js +1 -0
- package/9555.min.js +1 -0
- package/9565.min.js +1 -0
- package/9569.min.js +1 -0
- package/9578.min.js +1 -0
- package/9611.min.js +1 -0
- package/9613.min.js +1 -0
- package/9666.min.js +1 -0
- package/9739.min.js +1 -0
- package/{1555.min.js → 9761.min.js} +1 -1
- package/{5582.min.js → 9929.min.js} +1 -1
- package/9956.min.js +1 -0
- package/basic_dist_browser_index_js.js +2 -2
- package/browser/index.js +6 -2
- package/cjs/index.js +6 -2
- package/effects_bubble_dist_browser_BubbleDrawer_js.js +1 -1
- package/effects_bubble_dist_browser_index_js.js +2 -2
- package/effects_particles_dist_browser_ParticlesDrawer_js.js +1 -1
- package/effects_particles_dist_browser_index_js.js +2 -2
- 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 +1 -1
- package/effects_trail_dist_browser_index_js.js +2 -2
- package/engine_dist_browser_Core_Container_js.js +4 -4
- package/esm/index.js +6 -2
- package/full_dist_browser_index_js.js +2 -2
- package/interactions_external_attract_dist_browser_Attractor_js.js +3 -3
- package/interactions_external_attract_dist_browser_index_js.js +2 -2
- package/interactions_external_bounce_dist_browser_Bouncer_js.js +2 -2
- package/interactions_external_bounce_dist_browser_index_js.js +2 -2
- package/interactions_external_bubble_dist_browser_Bubbler_js.js +2 -2
- package/interactions_external_bubble_dist_browser_index_js.js +2 -2
- package/interactions_external_connect_dist_browser_Connector_js.js +2 -2
- package/interactions_external_connect_dist_browser_index_js.js +2 -2
- package/interactions_external_grab_dist_browser_Grabber_js.js +2 -2
- package/interactions_external_grab_dist_browser_index_js.js +2 -2
- package/interactions_external_parallax_dist_browser_Parallaxer_js.js +2 -2
- package/interactions_external_parallax_dist_browser_index_js.js +2 -2
- package/interactions_external_particle_dist_browser_InteractivityParticleMaker_js.js +2 -2
- package/interactions_external_particle_dist_browser_index_js.js +2 -2
- package/interactions_external_pause_dist_browser_Pauser_js.js +2 -2
- package/interactions_external_pause_dist_browser_index_js.js +2 -2
- package/interactions_external_pop_dist_browser_Popper_js.js +2 -2
- package/interactions_external_pop_dist_browser_index_js.js +2 -2
- package/interactions_external_push_dist_browser_Pusher_js.js +2 -2
- package/interactions_external_push_dist_browser_index_js.js +2 -2
- package/interactions_external_remove_dist_browser_Remover_js.js +2 -2
- package/interactions_external_remove_dist_browser_index_js.js +2 -2
- package/interactions_external_repulse_dist_browser_Repulser_js.js +3 -3
- package/interactions_external_repulse_dist_browser_index_js.js +2 -2
- package/interactions_external_slow_dist_browser_Slower_js.js +2 -2
- package/interactions_external_slow_dist_browser_index_js.js +2 -2
- package/interactions_external_trail_dist_browser_TrailMaker_js.js +3 -3
- package/interactions_external_trail_dist_browser_index_js.js +2 -2
- package/interactions_light_dist_browser_ExternalLighter_js.js +2 -2
- package/interactions_light_dist_browser_ParticlesLighter_js.js +2 -2
- package/interactions_light_dist_browser_index_js.js +2 -2
- package/interactions_particles_attract_dist_browser_Attractor_js.js +13 -3
- package/interactions_particles_attract_dist_browser_index_js.js +2 -2
- package/interactions_particles_collisions_dist_browser_Collider_js.js +5 -5
- package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
- package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
- 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 +2 -2
- package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
- package/interactions_particles_links_dist_browser_index_js.js +2 -2
- package/interactions_particles_repulse_dist_browser_Repulser_js.js +3 -3
- package/interactions_particles_repulse_dist_browser_index_js.js +2 -2
- package/package.json +77 -75
- package/paths_branches_dist_browser_BranchesPathGenerator_js.js +2 -2
- package/paths_branches_dist_browser_index_js.js +2 -2
- package/paths_brownian_dist_browser_BrownianPathGenerator_js.js +2 -2
- package/paths_brownian_dist_browser_index_js.js +2 -2
- 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 +1 -1
- package/paths_curves_dist_browser_index_js.js +2 -2
- package/paths_fractalNoise_dist_browser_FractalNoiseGenerator_js.js +2 -2
- package/paths_fractalNoise_dist_browser_index_js.js +2 -2
- package/paths_grid_dist_browser_GridPathGenerator_js.js +2 -2
- package/paths_grid_dist_browser_index_js.js +2 -2
- package/paths_levy_dist_browser_LevyPathGenerator_js.js +2 -2
- package/paths_levy_dist_browser_index_js.js +2 -2
- package/paths_perlinNoise_dist_browser_PerlinNoiseGenerator_js.js +2 -2
- 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 +2 -2
- package/paths_random_dist_browser_index_js.js +2 -2
- package/paths_simplexNoise_dist_browser_SimplexNoiseGenerator_js.js +2 -2
- package/paths_simplexNoise_dist_browser_index_js.js +2 -2
- package/paths_spiral_dist_browser_SpiralPathGenerator_js.js +2 -2
- package/paths_spiral_dist_browser_index_js.js +2 -2
- package/paths_svg_dist_browser_SVGPathGenerator_js.js +2 -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 +1 -1
- package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
- package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +2 -2
- package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
- package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
- package/plugins_absorbers_dist_browser_index_js.js +2 -2
- package/plugins_backgroundMask_dist_browser_BackgroundMaskPluginInstance_js.js +1 -1
- package/plugins_backgroundMask_dist_browser_BackgroundMaskPlugin_js.js +1 -1
- 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 +1 -1
- package/plugins_blend_dist_browser_index_js.js +2 -2
- package/plugins_canvasMask_dist_browser_CanvasMaskPluginInstance_js.js +2 -2
- package/plugins_canvasMask_dist_browser_CanvasMaskPlugin_js.js +2 -2
- package/plugins_canvasMask_dist_browser_index_js.js +2 -2
- package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
- 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 +2 -2
- 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 +2 -2
- package/plugins_colors_lab_dist_browser_index_js.js +2 -2
- package/plugins_colors_lch_dist_browser_LchColorManager_js.js +2 -2
- package/plugins_colors_lch_dist_browser_index_js.js +2 -2
- package/plugins_colors_named_dist_browser_NamedColorManager_js.js +1 -1
- package/plugins_colors_named_dist_browser_index_js.js +2 -2
- package/plugins_colors_oklab_dist_browser_OklabColorManager_js.js +2 -2
- package/plugins_colors_oklab_dist_browser_index_js.js +2 -2
- package/plugins_colors_oklch_dist_browser_OklchColorManager_js.js +2 -2
- 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 +1 -1
- package/plugins_easings_back_dist_browser_index_js.js +2 -2
- package/plugins_easings_bounce_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_bounce_dist_browser_index_js.js +2 -2
- package/plugins_easings_circ_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_circ_dist_browser_index_js.js +2 -2
- package/plugins_easings_cubic_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_cubic_dist_browser_index_js.js +2 -2
- package/plugins_easings_elastic_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_elastic_dist_browser_index_js.js +2 -2
- package/plugins_easings_expo_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_expo_dist_browser_index_js.js +2 -2
- package/plugins_easings_gaussian_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_gaussian_dist_browser_index_js.js +2 -2
- package/plugins_easings_linear_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_linear_dist_browser_index_js.js +2 -2
- package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_quad_dist_browser_index_js.js +2 -2
- package/plugins_easings_quart_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_quart_dist_browser_index_js.js +2 -2
- package/plugins_easings_quint_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_quint_dist_browser_index_js.js +2 -2
- package/plugins_easings_sigmoid_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_sigmoid_dist_browser_index_js.js +2 -2
- package/plugins_easings_sine_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_sine_dist_browser_index_js.js +2 -2
- package/plugins_easings_smoothstep_dist_browser_easingsFunctions_js.js +1 -1
- package/plugins_easings_smoothstep_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_canvas_dist_browser_EmittersCanvasShapeGenerator_js.js +3 -3
- package/plugins_emittersShapes_canvas_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +2 -2
- package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_path_dist_browser_EmittersPathShapeGenerator_js.js +2 -2
- package/plugins_emittersShapes_path_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_polygon_dist_browser_EmittersPolygonShapeGenerator_js.js +2 -2
- package/plugins_emittersShapes_polygon_dist_browser_index_js.js +2 -2
- package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +2 -2
- 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 +12 -2
- package/plugins_emitters_dist_browser_EmittersInteractor_js.js +14 -4
- package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
- package/plugins_emitters_dist_browser_EmittersPlugin_js.js +12 -2
- package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
- package/plugins_emitters_dist_browser_index_js.js +2 -2
- package/plugins_exports_image_dist_browser_ExportImagePluginInstance_js.js +1 -1
- package/plugins_exports_image_dist_browser_ExportImagePlugin_js.js +1 -1
- package/plugins_exports_image_dist_browser_index_js.js +2 -2
- package/plugins_exports_json_dist_browser_ExportJSONPluginInstance_js.js +1 -1
- package/plugins_exports_json_dist_browser_ExportJSONPlugin_js.js +1 -1
- package/plugins_exports_json_dist_browser_index_js.js +2 -2
- package/plugins_exports_video_dist_browser_ExportVideoPluginInstance_js.js +1 -1
- package/plugins_exports_video_dist_browser_ExportVideoPlugin_js.js +1 -1
- package/plugins_exports_video_dist_browser_index_js.js +2 -2
- package/plugins_infection_dist_browser_InfectionPluginInstance_js.js +1 -1
- package/plugins_infection_dist_browser_InfectionPlugin_js.js +1 -1
- package/plugins_infection_dist_browser_ParticlesInfecter_js.js +2 -2
- package/plugins_infection_dist_browser_index_js.js +2 -2
- package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +1 -1
- package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
- package/plugins_interactivity_dist_browser_index_js.js +2 -2
- package/plugins_manualParticles_dist_browser_ManualParticlesPluginInstance_js.js +1 -1
- package/plugins_manualParticles_dist_browser_ManualParticlesPlugin_js.js +1 -1
- package/plugins_manualParticles_dist_browser_index_js.js +2 -2
- package/plugins_motion_dist_browser_MotionPluginInstance_js.js +1 -1
- package/plugins_motion_dist_browser_MotionPlugin_js.js +1 -1
- 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 +1 -1
- 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 +1 -1
- package/plugins_polygonMask_dist_browser_PolygonMaskPlugin_js.js +1 -1
- package/plugins_polygonMask_dist_browser_index_js.js +2 -2
- package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +1 -1
- package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +3 -3
- package/plugins_responsive_dist_browser_index_js.js +2 -2
- package/plugins_sounds_dist_browser_SoundsPluginInstance_js.js +1 -1
- package/plugins_sounds_dist_browser_SoundsPlugin_js.js +1 -1
- 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 +1 -1
- package/plugins_themes_dist_browser_index_js.js +2 -2
- package/plugins_trail_dist_browser_TrailPluginInstance_js.js +1 -1
- package/plugins_trail_dist_browser_TrailPlugin_js.js +1 -1
- package/plugins_trail_dist_browser_index_js.js +2 -2
- package/plugins_zoom_dist_browser_ZoomPluginInstance_js.js +1 -1
- package/plugins_zoom_dist_browser_ZoomPlugin_js.js +1 -1
- package/plugins_zoom_dist_browser_index_js.js +2 -2
- package/report.html +1 -1
- package/shapes_arrow_dist_browser_ArrowDrawer_js.js +1 -1
- package/shapes_arrow_dist_browser_index_js.js +2 -2
- package/shapes_cards_dist_browser_cards_CardDrawer_js.js +1 -1
- package/shapes_cards_dist_browser_clubs_ClubDrawer_js.js +1 -1
- package/shapes_cards_dist_browser_diamonds_DiamondDrawer_js.js +1 -1
- package/shapes_cards_dist_browser_hearts_HeartDrawer_js.js +1 -1
- package/shapes_cards_dist_browser_index_js.js +7 -7
- package/shapes_cards_dist_browser_paths_js.js +1 -1
- package/shapes_cards_dist_browser_spades_SpadeDrawer_js.js +1 -1
- package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
- package/shapes_circle_dist_browser_index_js.js +2 -2
- package/shapes_cog_dist_browser_CogDrawer_js.js +1 -1
- package/shapes_cog_dist_browser_index_js.js +2 -2
- package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
- package/shapes_emoji_dist_browser_index_js.js +2 -2
- package/shapes_heart_dist_browser_HeartDrawer_js.js +1 -1
- package/shapes_heart_dist_browser_index_js.js +2 -2
- package/shapes_image_dist_browser_GifUtils_Utils_js.js +3 -3
- package/shapes_image_dist_browser_ImageDrawer_js.js +2 -2
- package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
- package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
- package/shapes_image_dist_browser_index_js.js +2 -2
- package/shapes_infinity_dist_browser_InfinityDrawer_js.js +1 -1
- package/shapes_infinity_dist_browser_index_js.js +2 -2
- package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
- package/shapes_line_dist_browser_index_js.js +2 -2
- package/shapes_matrix_dist_browser_MatrixDrawer_js.js +40 -0
- package/{move_base_dist_browser_index_js.js → shapes_matrix_dist_browser_index_js.js} +7 -7
- package/shapes_path_dist_browser_PathDrawer_js.js +1 -1
- package/shapes_path_dist_browser_index_js.js +2 -2
- package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
- package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
- package/shapes_polygon_dist_browser_index_js.js +2 -2
- package/shapes_rounded-polygon_dist_browser_RoundedPolygonDrawer_js.js +1 -1
- package/shapes_rounded-polygon_dist_browser_index_js.js +2 -2
- package/shapes_rounded-rect_dist_browser_RoundedRectDrawer_js.js +1 -1
- package/shapes_rounded-rect_dist_browser_index_js.js +2 -2
- package/shapes_spiral_dist_browser_SpiralDrawer_js.js +1 -1
- package/shapes_spiral_dist_browser_index_js.js +2 -2
- package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
- package/shapes_square_dist_browser_index_js.js +2 -2
- package/shapes_squircle_dist_browser_SquircleDrawer_js.js +40 -0
- package/{updaters_color_dist_browser_index_js.js → shapes_squircle_dist_browser_index_js.js} +7 -7
- package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
- package/shapes_star_dist_browser_index_js.js +2 -2
- package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
- package/shapes_text_dist_browser_index_js.js +2 -2
- package/slim_dist_browser_index_js.js +2 -2
- package/tsparticles.all.bundle.js +36 -36
- package/tsparticles.all.bundle.min.js +2 -2
- package/tsparticles.all.js +32 -12
- package/tsparticles.all.min.js +1 -1
- package/umd/index.js +13 -9
- package/updaters_destroy_dist_browser_DestroyUpdater_js.js +4 -4
- 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 +1 -1
- package/updaters_gradient_dist_browser_index_js.js +2 -2
- package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
- package/updaters_life_dist_browser_index_js.js +2 -2
- package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
- package/updaters_opacity_dist_browser_index_js.js +2 -2
- package/updaters_orbit_dist_browser_OrbitUpdater_js.js +1 -1
- package/updaters_orbit_dist_browser_index_js.js +2 -2
- package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +4 -4
- package/updaters_outModes_dist_browser_index_js.js +2 -2
- package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
- package/updaters_roll_dist_browser_index_js.js +2 -2
- package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
- package/updaters_rotate_dist_browser_index_js.js +2 -2
- package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
- package/updaters_size_dist_browser_index_js.js +2 -2
- package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
- package/updaters_strokeColor_dist_browser_index_js.js +2 -2
- package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
- 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 +2 -2
- package/updaters_wobble_dist_browser_index_js.js +2 -2
- package/utils_simplexNoise_dist_browser_index_js.js +1 -1
- package/1028.min.js +0 -1
- package/1031.min.js +0 -1
- package/1124.min.js +0 -1
- package/1165.min.js +0 -1
- package/1167.min.js +0 -1
- package/12.min.js +0 -1
- package/125.min.js +0 -1
- package/1256.min.js +0 -1
- package/1295.min.js +0 -1
- package/1340.min.js +0 -1
- package/1357.min.js +0 -1
- package/1363.min.js +0 -1
- package/1366.min.js +0 -1
- package/1435.min.js +0 -1
- package/1446.min.js +0 -1
- package/1515.min.js +0 -1
- package/1523.min.js +0 -1
- package/1574.min.js +0 -1
- package/1599.min.js +0 -1
- package/1650.min.js +0 -1
- package/1681.min.js +0 -1
- package/1724.min.js +0 -1
- package/1798.min.js +0 -1
- package/1816.min.js +0 -1
- package/182.min.js +0 -1
- package/1825.min.js +0 -1
- package/1884.min.js +0 -1
- package/1959.min.js +0 -1
- package/2068.min.js +0 -1
- package/2274.min.js +0 -1
- package/2401.min.js +0 -1
- package/2481.min.js +0 -1
- package/2521.min.js +0 -1
- package/2563.min.js +0 -1
- package/261.min.js +0 -1
- package/2650.min.js +0 -1
- package/269.min.js +0 -1
- package/2690.min.js +0 -1
- package/2696.min.js +0 -1
- package/2748.min.js +0 -1
- package/2772.min.js +0 -1
- package/2805.min.js +0 -1
- package/2810.min.js +0 -1
- package/284.min.js +0 -1
- package/2880.min.js +0 -1
- package/2981.min.js +0 -1
- package/3006.min.js +0 -1
- package/3023.min.js +0 -1
- package/3041.min.js +0 -1
- package/3067.min.js +0 -1
- package/310.min.js +0 -1
- package/3122.min.js +0 -1
- package/3148.min.js +0 -1
- package/3205.min.js +0 -1
- package/3258.min.js +0 -1
- package/3306.min.js +0 -1
- package/3346.min.js +0 -1
- package/3415.min.js +0 -1
- package/3486.min.js +0 -1
- package/3499.min.js +0 -1
- package/3517.min.js +0 -1
- package/3546.min.js +0 -1
- package/3575.min.js +0 -1
- package/3610.min.js +0 -1
- package/3616.min.js +0 -1
- package/362.min.js +0 -1
- package/3626.min.js +0 -1
- package/3647.min.js +0 -1
- package/374.min.js +0 -1
- package/3822.min.js +0 -1
- package/3891.min.js +0 -1
- package/3904.min.js +0 -1
- package/3951.min.js +0 -1
- package/3996.min.js +0 -1
- package/4013.min.js +0 -1
- package/4014.min.js +0 -1
- package/4021.min.js +0 -1
- package/4184.min.js +0 -1
- package/4198.min.js +0 -1
- package/4233.min.js +0 -1
- package/4272.min.js +0 -1
- package/4344.min.js +0 -1
- package/4369.min.js +0 -1
- package/4404.min.js +0 -1
- package/4432.min.js +0 -1
- package/4508.min.js +0 -1
- package/452.min.js +0 -1
- package/455.min.js +0 -1
- package/4551.min.js +0 -1
- package/4590.min.js +0 -1
- package/4659.min.js +0 -1
- package/4777.min.js +0 -1
- package/4779.min.js +0 -1
- package/4815.min.js +0 -1
- package/4818.min.js +0 -1
- package/4990.min.js +0 -1
- package/5061.min.js +0 -1
- package/5134.min.js +0 -1
- package/5174.min.js +0 -1
- package/5208.min.js +0 -1
- package/5223.min.js +0 -1
- package/5253.min.js +0 -1
- package/5287.min.js +0 -1
- package/5288.min.js +0 -1
- package/5293.min.js +0 -1
- package/538.min.js +0 -1
- package/5395.min.js +0 -1
- package/5434.min.js +0 -1
- package/5614.min.js +0 -1
- package/5742.min.js +0 -1
- package/5752.min.js +0 -1
- package/5809.min.js +0 -1
- package/5818.min.js +0 -1
- package/584.min.js +0 -1
- package/5894.min.js +0 -1
- package/5897.min.js +0 -1
- package/592.min.js +0 -1
- package/5924.min.js +0 -1
- package/600.min.js +0 -1
- package/6015.min.js +0 -1
- package/6073.min.js +0 -1
- package/6094.min.js +0 -1
- package/6097.min.js +0 -1
- package/6151.min.js +0 -1
- package/6178.min.js +0 -1
- package/6251.min.js +0 -1
- package/6275.min.js +0 -1
- package/6298.min.js +0 -1
- package/6310.min.js +0 -1
- package/6397.min.js +0 -1
- package/6472.min.js +0 -1
- package/658.min.js +0 -1
- package/6588.min.js +0 -1
- package/6604.min.js +0 -1
- package/679.min.js +0 -1
- package/6801.min.js +0 -1
- package/6837.min.js +0 -1
- package/6893.min.js +0 -1
- package/6916.min.js +0 -1
- package/7011.min.js +0 -1
- package/7029.min.js +0 -1
- package/7046.min.js +0 -1
- package/7128.min.js +0 -1
- package/7136.min.js +0 -1
- package/7180.min.js +0 -1
- package/7193.min.js +0 -1
- package/7283.min.js +0 -1
- package/7344.min.js +0 -1
- package/7366.min.js +0 -1
- package/7390.min.js +0 -1
- package/7485.min.js +0 -1
- package/7516.min.js +0 -1
- package/7536.min.js +0 -1
- package/7778.min.js +0 -1
- package/7790.min.js +0 -1
- package/7803.min.js +0 -1
- package/782.min.js +0 -1
- package/7828.min.js +0 -1
- package/7843.min.js +0 -1
- package/7881.min.js +0 -1
- package/80.min.js +0 -1
- package/8038.min.js +0 -1
- package/8071.min.js +0 -1
- package/8097.min.js +0 -1
- package/8117.min.js +0 -1
- package/8135.min.js +0 -1
- package/8154.min.js +0 -1
- package/8182.min.js +0 -1
- package/8204.min.js +0 -1
- package/8208.min.js +0 -1
- package/821.min.js +0 -2
- package/8300.min.js +0 -1
- package/8335.min.js +0 -1
- package/8353.min.js +0 -1
- package/8370.min.js +0 -1
- package/8403.min.js +0 -1
- package/8425.min.js +0 -1
- package/8426.min.js +0 -1
- package/8529.min.js +0 -1
- package/8538.min.js +0 -1
- package/8677.min.js +0 -1
- package/8804.min.js +0 -1
- package/882.min.js +0 -1
- package/8833.min.js +0 -1
- package/8840.min.js +0 -1
- package/8857.min.js +0 -1
- package/9006.min.js +0 -1
- package/909.min.js +0 -1
- package/9150.min.js +0 -1
- package/9171.min.js +0 -1
- package/92.min.js +0 -1
- package/9225.min.js +0 -1
- package/9259.min.js +0 -1
- package/9336.min.js +0 -1
- package/9405.min.js +0 -1
- package/9436.min.js +0 -1
- package/9494.min.js +0 -1
- package/9522.min.js +0 -1
- package/9531.min.js +0 -1
- package/9537.min.js +0 -1
- package/9560.min.js +0 -1
- package/9653.min.js +0 -1
- package/9731.min.js +0 -1
- package/9733.min.js +0 -1
- package/9745.min.js +0 -1
- package/9757.min.js +0 -1
- package/9769.min.js +0 -1
- package/9775.min.js +0 -1
- package/9792.min.js +0 -1
- package/9822.min.js +0 -1
- package/9825.min.js +0 -1
- package/9935.min.js +0 -1
- package/move_base_dist_browser_BaseMover_js.js +0 -40
- package/updaters_color_dist_browser_ColorUpdater_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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -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 */ Zoom: () => (/* reexport safe */ _Options_Classes_Zoom_js__WEBPACK_IMPORTED_MODULE_0__.Zoom),\n/* harmony export */ initialTouchDistance: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.initialTouchDistance),\n/* harmony export */ loadZoomPlugin: () => (/* binding */ loadZoomPlugin),\n/* harmony export */ maxZoom: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.maxZoom),\n/* harmony export */ minZoom: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.minZoom),\n/* harmony export */ touchCenterDivisor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchCenterDivisor),\n/* harmony export */ touchPointIndexFirst: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchPointIndexFirst),\n/* harmony export */ touchPointIndexSecond: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchPointIndexSecond),\n/* harmony export */ touchPointsCount: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchPointsCount),\n/* harmony export */ zoomGestureFactor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.zoomGestureFactor),\n/* harmony export */ zoomInFactor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.zoomInFactor),\n/* harmony export */ zoomOutFactor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.zoomOutFactor)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Zoom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Zoom.js */ \"../../plugins/zoom/dist/browser/Options/Classes/Zoom.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../plugins/zoom/dist/browser/Utils/Constants.js\");\n\n\nasync function loadZoomPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
46
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Zoom: () => (/* reexport safe */ _Options_Classes_Zoom_js__WEBPACK_IMPORTED_MODULE_0__.Zoom),\n/* harmony export */ initialTouchDistance: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.initialTouchDistance),\n/* harmony export */ loadZoomPlugin: () => (/* binding */ loadZoomPlugin),\n/* harmony export */ maxZoom: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.maxZoom),\n/* harmony export */ minZoom: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.minZoom),\n/* harmony export */ touchCenterDivisor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchCenterDivisor),\n/* harmony export */ touchPointIndexFirst: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchPointIndexFirst),\n/* harmony export */ touchPointIndexSecond: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchPointIndexSecond),\n/* harmony export */ touchPointsCount: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.touchPointsCount),\n/* harmony export */ zoomGestureFactor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.zoomGestureFactor),\n/* harmony export */ zoomInFactor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.zoomInFactor),\n/* harmony export */ zoomOutFactor: () => (/* reexport safe */ _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.zoomOutFactor)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_Zoom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/Zoom.js */ \"../../plugins/zoom/dist/browser/Options/Classes/Zoom.js\");\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../plugins/zoom/dist/browser/Utils/Constants.js\");\n\n\nasync function loadZoomPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register(async (e)=>{\n const { ZoomPlugin } = await __webpack_require__.e(/*! import() */ \"plugins_zoom_dist_browser_ZoomPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ZoomPlugin.js */ \"../../plugins/zoom/dist/browser/ZoomPlugin.js\"));\n e.addPlugin(new ZoomPlugin());\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../plugins/zoom/dist/browser/index.js?\n}");
|
|
47
47
|
|
|
48
48
|
/***/ }
|
|
49
49
|
|
package/report.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8"/>
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
6
|
-
<title>@tsparticles/all [
|
|
6
|
+
<title>@tsparticles/all [9 Mar 2026 at 17:27]</title>
|
|
7
7
|
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Demo / Generator : https://particles.js.org/
|
|
5
5
|
* GitHub : https://www.github.com/matteobruni/tsparticles
|
|
6
6
|
* How to use? : Check the GitHub README
|
|
7
|
-
* v4.0.0-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
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 */ loadArrowShape: () => (/* binding */ loadArrowShape)\n/* harmony export */ });\nasync function loadArrowShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadArrowShape: () => (/* binding */ loadArrowShape)\n/* harmony export */ });\nasync function loadArrowShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"arrow\"\n ], async ()=>{\n const { ArrowDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_arrow_dist_browser_ArrowDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./ArrowDrawer.js */ \"../../shapes/arrow/dist/browser/ArrowDrawer.js\"));\n return new ArrowDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/arrow/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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
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 */ loadFullCardsShape: () => (/* binding */ loadFullCardsShape)\n/* harmony export */ });\nasync function loadFullCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadFullCardsShape: () => (/* binding */ loadFullCardsShape)\n/* harmony export */ });\nasync function loadFullCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"card\"\n ], async ()=>{\n const { CardDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_cards_dist_browser_paths_js\"), __webpack_require__.e(\"shapes_cards_dist_browser_cards_CardDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./CardDrawer.js */ \"../../shapes/cards/dist/browser/cards/CardDrawer.js\"));\n return new CardDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/cards/dist/browser/cards/index.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 */ loadClubsSuitShape: () => (/* binding */ loadClubsSuitShape)\n/* harmony export */ });\nasync function loadClubsSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadClubsSuitShape: () => (/* binding */ loadClubsSuitShape)\n/* harmony export */ });\nasync function loadClubsSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"club\",\n \"clubs\"\n ], async ()=>{\n const { ClubDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_cards_dist_browser_paths_js\"), __webpack_require__.e(\"shapes_cards_dist_browser_clubs_ClubDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./ClubDrawer.js */ \"../../shapes/cards/dist/browser/clubs/ClubDrawer.js\"));\n return new ClubDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/cards/dist/browser/clubs/index.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 */ loadDiamondsSuitShape: () => (/* binding */ loadDiamondsSuitShape)\n/* harmony export */ });\nasync function loadDiamondsSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
46
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadDiamondsSuitShape: () => (/* binding */ loadDiamondsSuitShape)\n/* harmony export */ });\nasync function loadDiamondsSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"diamond\",\n \"diamonds\"\n ], async ()=>{\n const { DiamondDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_cards_dist_browser_paths_js\"), __webpack_require__.e(\"shapes_cards_dist_browser_diamonds_DiamondDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./DiamondDrawer.js */ \"../../shapes/cards/dist/browser/diamonds/DiamondDrawer.js\"));\n return new DiamondDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/cards/dist/browser/diamonds/index.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 */ loadHeartsSuitShape: () => (/* binding */ loadHeartsSuitShape)\n/* harmony export */ });\nasync function loadHeartsSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
56
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadHeartsSuitShape: () => (/* binding */ loadHeartsSuitShape)\n/* harmony export */ });\nasync function loadHeartsSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"heart\",\n \"hearts\"\n ], async ()=>{\n const { HeartDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_cards_dist_browser_paths_js\"), __webpack_require__.e(\"shapes_cards_dist_browser_hearts_HeartDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./HeartDrawer.js */ \"../../shapes/cards/dist/browser/hearts/HeartDrawer.js\"));\n return new HeartDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/cards/dist/browser/hearts/index.js?\n}");
|
|
57
57
|
|
|
58
58
|
/***/ },
|
|
59
59
|
|
|
@@ -63,7 +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 */ loadCardSuitsShape: () => (/* binding */ loadCardSuitsShape),\n/* harmony export */ loadCardsShape: () => (/* binding */ loadCardsShape),\n/* harmony export */ loadClubsSuitShape: () => (/* reexport safe */ _clubs_index_js__WEBPACK_IMPORTED_MODULE_1__.loadClubsSuitShape),\n/* harmony export */ loadDiamondsSuitShape: () => (/* reexport safe */ _diamonds_index_js__WEBPACK_IMPORTED_MODULE_2__.loadDiamondsSuitShape),\n/* harmony export */ loadFullCardsShape: () => (/* reexport safe */ _cards_index_js__WEBPACK_IMPORTED_MODULE_0__.loadFullCardsShape),\n/* harmony export */ loadHeartsSuitShape: () => (/* reexport safe */ _hearts_index_js__WEBPACK_IMPORTED_MODULE_3__.loadHeartsSuitShape),\n/* harmony export */ loadSpadesSuitShape: () => (/* reexport safe */ _spades_index_js__WEBPACK_IMPORTED_MODULE_4__.loadSpadesSuitShape)\n/* harmony export */ });\n/* harmony import */ var _cards_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cards/index.js */ \"../../shapes/cards/dist/browser/cards/index.js\");\n/* harmony import */ var _clubs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clubs/index.js */ \"../../shapes/cards/dist/browser/clubs/index.js\");\n/* harmony import */ var _diamonds_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./diamonds/index.js */ \"../../shapes/cards/dist/browser/diamonds/index.js\");\n/* harmony import */ var _hearts_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hearts/index.js */ \"../../shapes/cards/dist/browser/hearts/index.js\");\n/* harmony import */ var _spades_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./spades/index.js */ \"../../shapes/cards/dist/browser/spades/index.js\");\nasync function loadCardSuitsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
66
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCardSuitsShape: () => (/* binding */ loadCardSuitsShape),\n/* harmony export */ loadCardsShape: () => (/* binding */ loadCardsShape),\n/* harmony export */ loadClubsSuitShape: () => (/* reexport safe */ _clubs_index_js__WEBPACK_IMPORTED_MODULE_1__.loadClubsSuitShape),\n/* harmony export */ loadDiamondsSuitShape: () => (/* reexport safe */ _diamonds_index_js__WEBPACK_IMPORTED_MODULE_2__.loadDiamondsSuitShape),\n/* harmony export */ loadFullCardsShape: () => (/* reexport safe */ _cards_index_js__WEBPACK_IMPORTED_MODULE_0__.loadFullCardsShape),\n/* harmony export */ loadHeartsSuitShape: () => (/* reexport safe */ _hearts_index_js__WEBPACK_IMPORTED_MODULE_3__.loadHeartsSuitShape),\n/* harmony export */ loadSpadesSuitShape: () => (/* reexport safe */ _spades_index_js__WEBPACK_IMPORTED_MODULE_4__.loadSpadesSuitShape)\n/* harmony export */ });\n/* harmony import */ var _cards_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./cards/index.js */ \"../../shapes/cards/dist/browser/cards/index.js\");\n/* harmony import */ var _clubs_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./clubs/index.js */ \"../../shapes/cards/dist/browser/clubs/index.js\");\n/* harmony import */ var _diamonds_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./diamonds/index.js */ \"../../shapes/cards/dist/browser/diamonds/index.js\");\n/* harmony import */ var _hearts_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hearts/index.js */ \"../../shapes/cards/dist/browser/hearts/index.js\");\n/* harmony import */ var _spades_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./spades/index.js */ \"../../shapes/cards/dist/browser/spades/index.js\");\nasync function loadCardSuitsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register(async (e)=>{\n const [{ loadClubsSuitShape }, { loadDiamondsSuitShape }, { loadHeartsSuitShape }, { loadSpadesSuitShape }] = await Promise.all([\n Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./clubs/index.js */ \"../../shapes/cards/dist/browser/clubs/index.js\")),\n Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./diamonds/index.js */ \"../../shapes/cards/dist/browser/diamonds/index.js\")),\n Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./hearts/index.js */ \"../../shapes/cards/dist/browser/hearts/index.js\")),\n Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./spades/index.js */ \"../../shapes/cards/dist/browser/spades/index.js\"))\n ]);\n await Promise.all([\n loadClubsSuitShape(e),\n loadDiamondsSuitShape(e),\n loadHeartsSuitShape(e),\n loadSpadesSuitShape(e)\n ]);\n });\n}\nasync function loadCardsShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register(async (e)=>{\n const { loadFullCardsShape } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./cards/index.js */ \"../../shapes/cards/dist/browser/cards/index.js\"));\n await Promise.all([\n loadFullCardsShape(e),\n loadCardSuitsShape(e)\n ]);\n });\n}\n\n\n\n\n\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/cards/dist/browser/index.js?\n}");
|
|
67
67
|
|
|
68
68
|
/***/ },
|
|
69
69
|
|
|
@@ -73,7 +73,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
|
|
|
73
73
|
\*******************************************************/
|
|
74
74
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
75
75
|
|
|
76
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSpadesSuitShape: () => (/* binding */ loadSpadesSuitShape)\n/* harmony export */ });\nasync function loadSpadesSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
76
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadSpadesSuitShape: () => (/* binding */ loadSpadesSuitShape)\n/* harmony export */ });\nasync function loadSpadesSuitShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"spade\",\n \"spades\"\n ], async ()=>{\n const { SpadeDrawer } = await Promise.all(/*! import() */[__webpack_require__.e(\"shapes_cards_dist_browser_paths_js\"), __webpack_require__.e(\"shapes_cards_dist_browser_spades_SpadeDrawer_js\")]).then(__webpack_require__.bind(__webpack_require__, /*! ./SpadeDrawer.js */ \"../../shapes/cards/dist/browser/spades/SpadeDrawer.js\"));\n return new SpadeDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/cards/dist/browser/spades/index.js?\n}");
|
|
77
77
|
|
|
78
78
|
/***/ }
|
|
79
79
|
|
|
@@ -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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
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 */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nasync function loadCircleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nasync function loadCircleShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"circle\"\n ], async ()=>{\n const { CircleDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_CircleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\"));\n return new CircleDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/circle/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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
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 */ loadCogShape: () => (/* binding */ loadCogShape)\n/* harmony export */ });\nasync function loadCogShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCogShape: () => (/* binding */ loadCogShape)\n/* harmony export */ });\nasync function loadCogShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape([\n \"cog\"\n ], async ()=>{\n const { CogDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_cog_dist_browser_CogDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CogDrawer.js */ \"../../shapes/cog/dist/browser/CogDrawer.js\"));\n return new CogDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/cog/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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -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 */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/emoji/dist/browser/Utils.js\");\n\nasync function loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.
|
|
36
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"../../shapes/emoji/dist/browser/Utils.js\");\n\nasync function loadEmojiShape(engine) {\n engine.checkVersion(\"4.0.0-alpha.27\");\n await engine.register((e)=>{\n e.addShape(_Utils_js__WEBPACK_IMPORTED_MODULE_0__.validTypes, async ()=>{\n const { EmojiDrawer } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n return new EmojiDrawer();\n });\n });\n}\n\n\n//# sourceURL=webpack://@tsparticles/all/../../shapes/emoji/dist/browser/index.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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
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 engine.checkVersion(\"4.0.0-alpha.
|
|
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-alpha.27\");\n await engine.register((e)=>{\n e.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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
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 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
|
|
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
|
|
|
@@ -63,7 +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 _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 }\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}");
|
|
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}");
|
|
67
67
|
|
|
68
68
|
/***/ }
|
|
69
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-alpha.
|
|
7
|
+
* v4.0.0-alpha.27
|
|
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 _engine;\n constructor(engine){\n this._engine = engine;\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, particle.container.canvas.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 } = particle;\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
|
|
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 _engine;\n constructor(engine){\n this._engine = engine;\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, particle.container.canvas.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 } = particle;\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
|
|