Skip to content
Frauthy Brand
Frauthy index

Go anywhere.

    No exact contract found. Try a component family, product name, prop, or keyboard key.

    ↑↓ move↵ openesc close

    Tabs

    interactive

    Tabbed interface with roving tabindex, arrow-key navigation, and the ARIA tabs pattern. Supports badges and HTML content panels.

    Preview

    PRIVATE_BETA_INSTALL_INSTRUCTIONS_REDACTED PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED

    Usage

    import { Tabs } from 'PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED';
    
    <Tabs
      aria-label="Install methods"
      items={[
        { key: 'bun', label: 'Bun', badge: 'recommended',
          content: <pre>PRIVATE_BETA_INSTALL_INSTRUCTIONS_REDACTED PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED</pre> },
        { key: 'npm', label: 'npm',
          content: <pre>PRIVATE_BETA_INSTALL_INSTRUCTIONS_REDACTED PRIVATE_BETA_PACKAGE_COORDINATE_REDACTED</pre> },
      ]}
    />

    Props

    PropTypeDefaultDescription
    itemsTabItem[]requiredTab definitions (key, label, content, badge?, html?)
    defaultActivestringfirst keyInitially active tab
    aria-labelstring'Tabs'Accessible label for the tablist
    classstring--Additional CSS classes

    TabItem interface

    FieldTypeDescription
    keystringUnique identifier
    labelstringTab button text
    badgestringOptional badge (e.g. "recommended")
    contentJSX.Element | stringPanel content
    htmlbooleanTreat content as raw HTML

    Accessibility

    Do / Don't

    Do

    Provide an aria-label that describes the tab group's purpose.

    Don't

    Don't use tabs for sequential content (steps). Tabs are for parallel, independently viewable panels.