I am working on a Svelte component, and needed tabs.
I found this code written by Rich Harris and used that as a starting point, and made some modifications and enhancements on top of it.
Most of the hard work was done by Rich in the initial implementation.
It supports switching tabs with the mouse or with the arrow keys.
I am posting this in the hopes that some may find it useful.
You can find the library here: https://www.npmjs.com/package/svelte-tabs
And, you can find a simple demo here: https://joeattardi.github.io/svelte-tabs/