Skip to content

Alert Dialog

Dialog de confirmação para ações destrutivas ou irreversíveis.

Uso

vue
<script setup lang="ts">
import { AlertDialog, Button } from '@halfbyte/maka'
import { ref } from 'vue'

const aberto = ref(false)

function confirmar() {
  console.log('Confirmado!')
  aberto.value = false
}
</script>

<template>
  <Button variant="destructive" @click="aberto = true">Excluir conta</Button>

  <AlertDialog
    v-model="aberto"
    title="Excluir conta permanentemente?"
    description="Esta ação não pode ser desfeita. Todos os seus dados serão removidos."
    confirm-label="Excluir"
    cancel-label="Cancelar"
    status="danger"
    @confirm="confirmar"
  />
</template>

Status

vue
<!-- Danger (padrão) -->
<AlertDialog status="danger" title="Excluir item?" confirm-label="Excluir" v-model="open" />

<!-- Warning -->
<AlertDialog status="warning" title="Publicar sem revisão?" confirm-label="Publicar" v-model="open" />

<!-- Info -->
<AlertDialog status="info" title="Confirmar envio?" confirm-label="Enviar" v-model="open" />

Props

PropTipoPadrão
modelValuebooleanfalse
titlestring
descriptionstring
status"danger" | "warning" | "info""danger"
confirmLabelstring"Confirmar"
cancelLabelstring"Cancelar"
loadingbooleanfalse

Slots

SlotDescrição
defaultConteúdo adicional no corpo do dialog
footerSubstitui os botões de ação padrão

Events

EventoPayloadDescrição
update:modelValuebooleanEmitido ao abrir/fechar
confirmEmitido ao clicar em confirmar
cancelEmitido ao clicar em cancelar