UIPackage
Menu

Framework

Change language

Boilerplate repo

Vertical Tabs

vertical-tabsui

Settings-page navigation pattern — labels stack on the left, content panel on the right. Same API as Tabs but with a vertical orientation. Use for dense, multi-section settings UIs.

Also available for React ->

Installation

$npx shadcn-vue@latest add https://uipkge.dev/r/vue/vertical-tabs.json
Named registry:npx shadcn-vue@latest add @uipkge/vertical-tabsInstalls to:app/components/ui/vertical-tabs/

Examples

Loading interactive previews…

Props

NameType / ValuesDefaultRequired
classHTMLAttributes['class']optional

npm dependencies

Files installed (6)

  • app/components/ui/vertical-tabs/VerticalTabs.vue0.7 kB
    <script setup lang="ts">
    import type { TabsRootEmits, TabsRootProps } from 'reka-ui'
    import type { HTMLAttributes } from 'vue'
    import { reactiveOmit } from '@vueuse/core'
    import { TabsRoot, useForwardPropsEmits } from 'reka-ui'
    import { cn } from '@/lib/utils'
    
    const props = defineProps<
      TabsRootProps & {
        class?: HTMLAttributes['class']
      }
    >()
    const emits = defineEmits<TabsRootEmits>()
    
    const delegated = reactiveOmit(props, 'class', 'orientation')
    const forwarded = useForwardPropsEmits(delegated, emits)
    </script>
    
    <template>
      <TabsRoot
        data-uipkge=""
        v-bind="{ 'data-slot': 'vertical-tabs', orientation: 'vertical', ...forwarded }"
        :class="cn('flex w-full gap-6', props.class)"
      >
        <slot />
      </TabsRoot>
    </template>
    
  • app/components/ui/vertical-tabs/VerticalTabsList.vue4.6 kB
  • app/components/ui/vertical-tabs/VerticalTabsSection.vue0.4 kB
  • app/components/ui/vertical-tabs/VerticalTabsTrigger.vue1.8 kB
  • app/components/ui/vertical-tabs/VerticalTabsContent.vue0.8 kB
  • app/components/ui/vertical-tabs/index.ts0.3 kB

Raw manifest:https://uipkge.dev/r/vue/vertical-tabs.json