15 lines
822 B
Svelte
15 lines
822 B
Svelte
<script lang="ts">
|
|
import { confirmation, resolveConfirmation } from '../confirm.js';
|
|
import Dialog from './primitives/Dialog.svelte';
|
|
import Button from './primitives/Button.svelte';
|
|
</script>
|
|
|
|
<Dialog bind:open={() => $confirmation !== null, (open) => { if (!open) resolveConfirmation(false); }} title={$confirmation?.title ?? 'Confirm action'}>
|
|
<p>{$confirmation?.message}</p>
|
|
{#snippet actions()}
|
|
<Button variant="ghost" onclick={() => resolveConfirmation(false)}>Cancel</Button>
|
|
<Button variant={$confirmation?.danger ? 'danger' : 'primary'} onclick={() => resolveConfirmation(true)}>{$confirmation?.confirmLabel ?? 'Continue'}</Button>
|
|
{/snippet}
|
|
</Dialog>
|
|
<style>p { margin: 0; white-space: pre-line; color: var(--text-secondary); line-height: var(--leading-body); }</style>
|