Trying to make mobil scrollabe tabs

I’m trying to find an example of a component which works similar to how Uber Eats handles categories in a restaurant, meaning you have a header with tabs, and clicking a particular tab takes you to a section of the menu. Scrolling to a section also updates the header, and finally, since you can have as many tabs as the restaurant adds, the tabs need to scroll to the left while you scroll down.

Has anyone done something similar? Any libraries I could use? I think I could achieve this effect by using scroll events and adding css classes conditionally, but I would rather have a starting point instead of going at it blindly.

Link to video of the component I’m refering to: https://imgur.com/a/RB74zam