Окно подтверждения

Сфокусированный confirmation dialog с cancel и submit actions.

Установка

npx alixan-ui-nuxt add confirm-dialog

Использование

<script setup lang="ts">
import ConfirmDialog from '~/components/ui/confirm-dialog/ConfirmDialog.vue'

const dialog = useDialog()

const openConfirm = () => {
  dialog.open(ConfirmDialog, {
    width: '360px',
    height: '240px',
    data: {
      title: 'confirmDialogPreview.title',
      description: 'confirmDialogPreview.description',
      cancelLabel: 'actions.cancel',
      submitLabel: 'confirmDialogPreview.delete',
      submitColor: 'destructive',
      onSubmit: () => console.log('confirmed'),
    },
  })
}
</script>

<template>
  <Button color="destructive" @click="openConfirm">
    {{ $t('confirmDialogPreview.delete') }}
  </Button>
</template>

Справочник API

СвойствоТипПо умолчаниюОписание
data.titlestring-Заголовок диалога.
data.descriptionstring-Короткое пояснение под заголовком.
data.cancelLabelstring-Текст кнопки отмены.
data.submitLabelstring-Текст кнопки подтверждения.
data.submitColor'default' | 'primary' | 'secondary' | 'destructive''primary'Цвет кнопки подтверждения.
data.onCancel() => void-Callback, вызываемый перед закрытием через cancel.
data.onSubmit() => unknown | Promise<unknown>-Callback, вызываемый перед закрытием через submit.