[web] refactor tabs component
Summary:
In order to house the thread list in the panel component, we need to refactor the tabs component. At this moment the tabs component is made of two parts: the tabs and the tab content. The tabs component utilizes the React.Children.* API to interact with those child components. The React.Children.* API is listed as Legacy React API in the react docs and additionally for the redesign I need to decouple the tabs from the tab content to put the tabs in the panel header and the tab content in the panel body.
In order to make this refactor easy to review, I broke this down into many steps. The second step is to introduce a new tabs component which will utilize an alternate solution outlined in the react docs: https://react.dev/reference/react/Children#accepting-an-array-of-objects-as-a-prop
The structure/pattern for this solution should be pretty similar to the Panel component introduced in D10500
Afterwards I will update every tab use case to use the new tabs api
Depends on D10517
Test Plan: flow + every place that need to update to the new tabs will have their own diff with their own demo video
Reviewers: atul, inka, ashoat
Reviewed By: atul
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D10516