Vitral 0.2
Sobreposição

ConfirmPopup

Uma confirmação ancorada ao elemento de que trata, aberta com useConfirm e segurando o foco até ser respondida.

Importação

main.ts
import { ConfirmPopup } from '@vitral/vue';

Básico

Last answer: —
<script setup lang="ts">import { Button, ConfirmPopup, useConfirm } from '@vitral/vue';import { ref } from 'vue'; const confirm = useConfirm();const status = ref('—'); function save(event: MouseEvent) {    confirm.require({        target: event.currentTarget as HTMLElement,        message: 'Save your changes before leaving?',        icon: 'info',        accept: () => (status.value = 'Saved'),        reject: () => (status.value = 'Discarded'),        onHide: () => (status.value = 'Dismissed')    });} function remove(event: MouseEvent) {    confirm.require({        target: event.currentTarget as HTMLElement,        header: 'Delete record',        message: 'This cannot be undone.',        severity: 'danger',        acceptLabel: 'Delete',        rejectLabel: 'Keep',        defaultFocus: 'reject',        accept: () => (status.value = 'Deleted'),        reject: () => (status.value = 'Kept')    });}</script> <template>    <ConfirmPopup />    <Button label="Save" icon="check" @click="save" />    <Button label="Delete" icon="trash" severity="danger" variant="outlined" @click="remove" />    <small style="color: var(--vt-text-muted-color)">Last answer: {{ status }}</small></template>

API

Lido de packages/vue/src/components/ConfirmPopup/types.ts, então diz o que o componente aceita de fato.

Props

NomeTipoDescrição
groupstringResponde só às chamadas de `useConfirm().require()` enviadas com o mesmo `group` e um `target`.
placementOverlayPlacementOnde abre em relação ao alvo. O padrão é `'bottom'`.

Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.

Slots

NomeProps do slotDescrição
message(props: { message: ConfirmOptions })Substitui a mensagem; ela continua descrevendo o popup.
icon(props: { message: ConfirmOptions })—