Tabs
Anatomy
Section titled “Anatomy”<Tabs> <TabsList> <TabsTrigger /> </TabsList> <TabsContent /></Tabs>To display a set of tabs, compose <Tabs>, <TabsList>, <TabsTrigger>, and <TabsContent>. You must set matching value props for <TabsTrigger> and <TabsContent> to link them together. You will probably want to set a defaultValue on <Tabs> to initialize the default tab.
import { Tabs, TabsList, TabsTrigger, TabsContent } from "stylus-ui/Tabs";
export default () => ( <Tabs defaultValue="account"> <TabsList> <TabsTrigger value="account">Account</TabsTrigger> <TabsTrigger value="documents">Documents</TabsTrigger> <TabsTrigger value="settings">Settings</TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents">Access and update documents.</TabsContent> <TabsContent value="settings">Edit settings or contact info.</TabsContent> </Tabs>);Variants
Section titled “Variants”The default variant of <TabsList> is "underline". To display tabs styled like switches, set variant to "switch".
import { Tabs, TabsList, TabsTrigger, TabsContent } from "stylus-ui/Tabs";
export default () => ( <Tabs defaultValue="account"> <TabsList variant="switch"> <TabsTrigger value="account">Account</TabsTrigger> <TabsTrigger value="documents">Documents</TabsTrigger> <TabsTrigger value="settings">Settings</TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents">Access and update documents.</TabsContent> <TabsContent value="settings">Edit settings or contact info.</TabsContent> </Tabs>);Tab counts
Section titled “Tab counts”Display counts beside a tab by passing a value to count on <TabsTrigger>.
import { Tabs, TabsList, TabsTrigger, TabsContent } from "stylus-ui/Tabs";
export default () => ( <Tabs defaultValue="account"> <div className="flex flex-col items-center gap-10"> <div> <TabsList> <TabsTrigger value="account">Account</TabsTrigger> <TabsTrigger value="documents" count={48}> Documents </TabsTrigger> <TabsTrigger value="settings">Settings</TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents"> Access and update documents. </TabsContent> <TabsContent value="settings"> Edit settings or contact info. </TabsContent> </div> <div> <TabsList variant="switch"> <TabsTrigger value="account">Account</TabsTrigger> <TabsTrigger value="documents" count={48}> Documents </TabsTrigger> <TabsTrigger value="settings">Settings</TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents"> Access and update documents. </TabsContent> <TabsContent value="settings"> Edit settings or contact info. </TabsContent> </div> </div> </Tabs>);Import any icons from Font Awesome and pass them to the icon prop on <TabsTrigger>.
import { Tabs, TabsList, TabsTrigger, TabsContent } from "stylus-ui/Tabs";import { faUser, faFile, faSliders } from "@fortawesome/pro-regular-svg-icons";
export default () => ( <Tabs defaultValue="account"> <div className="flex flex-col items-center gap-10"> <div> <TabsList> <TabsTrigger value="account" icon={faUser}> Account </TabsTrigger> <TabsTrigger value="documents" icon={faFile} count={48}> Documents </TabsTrigger> <TabsTrigger value="settings" icon={faSliders}> Settings </TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents"> Access and update documents. </TabsContent> <TabsContent value="settings"> Edit settings or contact info. </TabsContent> </div> <div> <TabsList variant="switch"> <TabsTrigger value="account" icon={faUser}> Account </TabsTrigger> <TabsTrigger value="documents" icon={faFile} count={48}> Documents </TabsTrigger> <TabsTrigger value="settings" icon={faSliders}> Settings </TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents"> Access and update documents. </TabsContent> <TabsContent value="settings"> Edit settings or contact info. </TabsContent> </div> </div> </Tabs>);Disabled
Section titled “Disabled”Individual tabs can be disabled by setting disabled on <TabsTrigger>.
import { Tabs, TabsList, TabsTrigger, TabsContent } from "stylus-ui/Tabs";import { faUser, faFile, faSliders } from "@fortawesome/pro-regular-svg-icons";
export default () => ( <Tabs defaultValue="account"> <div className="flex flex-col items-center gap-10"> <div> <TabsList> <TabsTrigger value="account" icon={faUser}> Account </TabsTrigger> <TabsTrigger value="documents" icon={faFile} count={48} disabled> Documents </TabsTrigger> <TabsTrigger value="settings" icon={faSliders}> Settings </TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents"> Access and update documents. </TabsContent> <TabsContent value="settings"> Edit settings or contact info. </TabsContent> </div> <div> <TabsList variant="switch"> <TabsTrigger value="account" icon={faUser}> Account </TabsTrigger> <TabsTrigger value="documents" icon={faFile} count={48} disabled> Documents </TabsTrigger> <TabsTrigger value="settings" icon={faSliders}> Settings </TabsTrigger> </TabsList> <TabsContent value="account">Make changes to your account.</TabsContent> <TabsContent value="documents"> Access and update documents. </TabsContent> <TabsContent value="settings"> Edit settings or contact info. </TabsContent> </div> </div> </Tabs>);Orientation
Section titled “Orientation”API Reference
Section titled “API Reference”Contains all the tabs component parts.
Inherits properties from HTMLElement.
TabsList
Section titled “TabsList”Contains the triggers that are aligned along the edge of the active content.
Inherits properties from HTMLElement.
TabsTrigger
Section titled “TabsTrigger”The button that activates its associated content.
Inherits properties from HTMLButtonElement.
TabsContent
Section titled “TabsContent”Contains the content associated with each trigger.
Inherits properties from HTMLElement.