Basic Features
Alert
An alert dialog can be triggered using the $dialog.alert() method. This method returns a promise which resolves when the dialog is dismissed.
<template>
  <UIExamplesButton @click="openDialog">Show alert</UIExamplesButton>
</template>
<script setup>
  import {inject} from 'vue'
  import {injectionKey} from "../../../src/plugin/index.ts";
  defineOptions({
    name: "FeaturesExampleAlert"
  })
  const $dialog = inject(injectionKey)
  const openDialog = () => $dialog.alert({
    title: 'Alert example',
    body: 'Session expired. Please login again to continue.',
  }, {
    okText: 'Dismiss'
  })
</script>Confirm
A confirm dialog can be triggered with the $dialog.confirm() method. Like the alert dialog, this method returns a promise which resolves when the dialog is dismissed. In this section we shall explore how to create a basic confirm dialog as well as the two other variations of the confirm dialog namely; soft and hard confirmation dialogs.
Basic confirm dialog
<template>
  <UIExamplesButton @click="openDialog">Show confirm | basic</UIExamplesButton>
</template>
<script setup>
  import {inject} from 'vue'
  import {injectionKey} from "../../../src/plugin/index.ts";
  defineOptions({
    name: "FeaturesExampleConfirm"
  })
  const $dialog = inject(injectionKey)
  const openDialog = () => $dialog.confirm({
    title: 'Confirm example',
    body: 'The is a low risk operation. Single click required to confirm.',
  }, {
    cancelText: 'No',
    okText: 'Yes'
  })
</script>Soft confirm dialog
<template>
  <UIExamplesButton @click="openDialog">Show confirm | soft</UIExamplesButton>
</template>
<script setup>
  import {inject} from 'vue'
  import {injectionKey} from "../../../src/plugin/index.ts";
  defineOptions({
    name: "FeaturesExampleConfirmSoft"
  })
  const $dialog = inject(injectionKey)
  const openDialog = () => $dialog.confirm({
    title: 'Soft confirm example',
    body: 'This is a medium risk action. Multiple clicks required to confirm',
  }, {
    cancelText: 'Cancel',
    okText: 'Proceed',
    clicksCount: 2,
    type: 'soft'
  })
</script>Hard confirm dialog
<template>
  <UIExamplesButton @click="openDialog">Show confirm | hard</UIExamplesButton>
</template>
<script setup>
  import {inject} from 'vue'
  import {injectionKey} from "../../../src/plugin/index.ts";
  defineOptions({
    name: "FeaturesExampleConfirm"
  })
  const $dialog = inject(injectionKey)
  const openDialog = () => $dialog.confirm({
    title: 'Confirm example',
    body: 'The requested resource is no longer available. It may have been moved or deleted',
  }, {
    cancelText: 'No',
    okText: 'Yes',
    type: 'hard'
  })
</script>Prompt
The $dialog.prompt() method creates a prompt dialog. Use the prompt dialog to ask user directly for input.
<template>
  <UIExamplesButton @click="openDialog">Show prompt</UIExamplesButton>
</template>
<script setup>
  import {inject} from 'vue'
  import {injectionKey} from "../../../src/plugin/index.ts";
  defineOptions({
    name: "FeaturesExamplePrompt"
  })
  const $dialog = inject(injectionKey)
  const openDialog = () => $dialog.prompt({
    title: 'Prompt Example',
    body: 'What is the most important thing in life?',
  }, {
    cancelText: 'Dismiss',
    okText: 'Done',
    promptHelp: 'Type in the box below and click "[+:okText]"'
  }).then(result => {
    if (result.canceled) return;
    $dialog.alert(JSON.stringify(result))
  })
</script>Confirm directive
Add the v-confirm directive to any element to instantly cause it to trigger a confirm dialog. This dialog upon confirmation will trigger the default action or the provided callback when available.
<template>
  <a href="https://example.com"
     target="_blank"
     v-confirm="'Confirming this dialog will take you to an external website'"
  >A link</a>
  <span> or a </span>
  <button v-confirm="'Confirm to change button text to \'Already clicked\''"
          @click="($event) => $event.target.textContent = 'Already clicked'"
  >button</button>
</template>