I have created 3 custom blocks to build a custom tabs component. The first one is the whole tabs container that houses all the tabs. The second is an individual tab and the third is the individual tab content. To better illustrate here are some images of each one.
If this is the correct approach, one of the first issues I had before even getting into any functionality is the styling. I tried with some css to get the tabs aligned side by side or horizontally as opposed to beneath each other but without much success so not sure if it would be possible? I will update this question once I start building onto it but wanted to clarify the initial approach here is in fact correct.