Tabs
The Tabs component displays a group of buttons used to navigate between different views.
Default
A basic tab group with internal state and static content blocks.
Build the perfect messaging experience in 10 minutes.
<Tabs
tabs={[
{ label: "Home", content: <div>...</div> },
{ label: "Profile", content: <div>...</div> },
{ label: "Settings", content: <div>...</div> },
]}
/>With icons
Each tab can optionally include an icon component before the label.
Explore the many out-of-the-box features of TalkJS.
<Tabs
tabs={[
{
label: (
<span className="flex items-center gap-1.5">
<Home className="w-4 h-4" /> Home
</span>
),
content: <Text as="p">...</Text>,
},
{
label: (
<span className="flex items-center gap-1.5">
<View className="w-4 h-4" /> Components
</span>
),
content: <Text as="p">...</Text>,
},
{
label: (
<span className="flex items-center gap-1.5">
<Wikis className="w-4 h-4" /> Customers
</span>
),
content: <Text as="p">...</Text>,
},
]}
/>Props
tabs— Array of tab objects withlabelandcontent.onChange— Optional callback called with the selected label.
Usage
Import the Tabs component and define your tab label, content, and optional onChange handler.
import Tabs from "../../components/Tabs";<Tabs
tabs={[
{ label: "Home", content: <div>...</div> },
{ label: "Profile", content: <div>...</div> },
]}
onChange={(label) => console.log("Selected:", label)}
/>