Skip to content

Tabs

Organiza conteúdo em painéis alternáveis.

Exemplos

vue
<script setup lang="ts">
import { Tabs } from '@halfbyte/maka'

const tabs = [
  { value: 'geral', label: 'Geral' },
  { value: 'seguranca', label: 'Segurança' },
  { value: 'notif', label: 'Notificações' },
]
</script>

<template>
  <Tabs :tabs="tabs">
    <template #geral>
      <p>Configurações gerais da conta.</p>
    </template>
    <template #seguranca>
      <p>Senha e autenticação de dois fatores.</p>
    </template>
    <template #notif>
      <p>Preferências de e-mail e push.</p>
    </template>
  </Tabs>
</template>

Com tab desabilitada

vue
<Tabs :tabs="[
  { value: 'ativo', label: 'Ativo' },
  { value: 'desabilitado', label: 'Desabilitado', disabled: true },
  { value: 'outro', label: 'Outro' },
]">
  <template #ativo>…</template>
  <template #outro>…</template>
</Tabs>

Props

PropTipoPadrão
tabsTabItem[]obrigatório
modelValuestring
defaultValuestringPrimeiro tab

TabItem

CampoTipoDescrição
valuestringIdentificador único do tab
labelstringTexto exibido no gatilho
disabledbooleanDesabilita o tab (opcional)

Slots

Cada tab tem um slot nomeado com seu value:

vue
<template #meu-tab>Conteúdo do tab</template>

Events

EventoPayloadDescrição
update:modelValuestringEmitido ao trocar de tab