Logoshadcn-docs-template
DocsDemo
Sections
  • Get Started
Getting Started
  • Introduction
  • Installation
Customization
  • Customizing the Template
  • MDC Components
  • Composables
  • Writing Documentation
Components
  • DocTabs
  • Callout
  • ComponentPreview
  • CommandMenu
  • CopyButton
  • DocsSidebar
  • DocsTableOfContents
  • PageHeader
  • SiteHeader
  • CopyCodeButton
  • DocsCopyPage
  • CodeBlockCommand
  • CommandMenuItem
  • CommandMenuKbd
  • GitHubLink
  • LucideIcon
  • MainNav
  • MobileNav
  • ModeSwitcher
  • PageHeaderDescription
  • PageHeaderHeading
  • SiteBody
  • SiteConfig
  • SiteFooter
  • OgImage (Custom)

DocTabs

PreviousNext

A flexible tabbed interface component for displaying content in documentation.

The DocTabs component provides a flexible tabbed interface for displaying content in documentation. It's perfect for showing installation methods, code examples, or any content that needs to be organized in tabs.

Demo

CLI content here

Usage

Use the ::doc-tabs directive with ::doc-tabs-list, ::doc-tabs-trigger, and ::doc-tabs-content child components:

::::doc-tabs{default-value="cli"}
  :::doc-tabs-list
    ::doc-tabs-trigger{value="cli"}
    CLI
    ::

    ::doc-tabs-trigger{value="manual"}
    Manual
    ::
  :::

  :::doc-tabs-content{value="cli"}
  CLI content here
  :::

  :::doc-tabs-content{value="manual"}
  Manual content here
  :::
::::

Props

DocTabs

PropTypeDefaultDescription
default-valuestringundefinedDefault active tab value
model-valuestringundefinedControlled value (for v-model support)
classstringundefinedAdditional CSS classes

DocTabsList

PropTypeDefaultDescription
classstringundefinedAdditional CSS classes

DocTabsTrigger

PropTypeDefaultDescription
valuestring(Required)Unique identifier for this tab
classstringundefinedAdditional CSS classes

DocTabsContent

PropTypeDefaultDescription
valuestring(Required)Matches the trigger value
classstringundefinedAdditional CSS classes

Features

  • Flexible: Support any number of tabs with any values
  • Generic: Not limited to installation guides - use for any tabbed content
  • Styled: Border-bottom variant matches shadcn-vue documentation style
  • Controlled/Uncontrolled: Support both controlled (v-model) and uncontrolled (default-value) modes

Examples

Basic Tabs

::::doc-tabs{default-value="tab1"}
  :::doc-tabs-list
    ::doc-tabs-trigger{value="tab1"}
    Tab 1
    ::

    ::doc-tabs-trigger{value="tab2"}
    Tab 2
    ::
  :::

  :::doc-tabs-content{value="tab1"}
  Content for tab 1
  :::

  :::doc-tabs-content{value="tab2"}
  Content for tab 2
  :::
::::

With CodeBlockCommand

For installation commands, combine with CodeBlockCommand to show package manager options:

:::doc-tabs-content{value="cli"}
  ::code-block-command{code="npx shadcn-vue@latest add button"}
  ::
:::

Installation Guide Example

A common use case is displaying installation instructions:

::::doc-tabs{default-value="cli"}
  :::doc-tabs-list
    ::doc-tabs-trigger{value="cli"}
    CLI
    ::

    ::doc-tabs-trigger{value="manual"}
    Manual
    ::
  :::

  :::doc-tabs-content{value="cli"}
  ::code-block-command{code="npx shadcn-vue@latest add dialog command"}
  ::
  :::

  :::doc-tabs-content{value="manual"}
    ::steps
      ::step
      Install the following dependencies:
      ::

      ```bash
      npm install reka-ui
      ```

      ::step
      Copy and paste the source code into your project.
      ::

      ::step
      Update the import paths to match your project setup.
      ::
    ::
  :::
::::
Writing DocumentationCallout

On This Page

DemoUsagePropsDocTabsDocTabsListDocTabsTriggerDocTabsContentFeaturesExamplesBasic TabsWith CodeBlockCommandInstallation Guide Example
© shadcn-vue.com