Ported Tab and TabHeader to TypeScript