diff --git a/packages/bbui/src/Modal/CustomContent.svelte b/packages/bbui/src/Modal/CustomContent.svelte index 952f7e8749..fafbf9b12e 100644 --- a/packages/bbui/src/Modal/CustomContent.svelte +++ b/packages/bbui/src/Modal/CustomContent.svelte @@ -2,7 +2,7 @@ import { getContext } from "svelte" import Context from "../context" - const { hide } = getContext(Context.Modal) as { hide: () => void } + const { hide } = getContext(Context.Modal) let count: number = 0 const clicks: number = 5 diff --git a/packages/bbui/src/Modal/Modal.svelte b/packages/bbui/src/Modal/Modal.svelte index 7faeee7c4a..0dabfc3e78 100644 --- a/packages/bbui/src/Modal/Modal.svelte +++ b/packages/bbui/src/Modal/Modal.svelte @@ -5,6 +5,7 @@ import { fade, fly } from "svelte/transition" import Portal from "svelte-portal" import Context from "../context" + import { ModalCancelFrom } from "../constants" export let fixed: boolean = false export let inline: boolean = false @@ -15,7 +16,7 @@ const dispatch = createEventDispatcher<{ show: void hide: void - cancel: void + cancel: ModalCancelFrom }>() let visible: boolean = fixed || inline let modal: HTMLElement | undefined @@ -44,17 +45,17 @@ } } - export function cancel(): void { + export function cancel(from: ModalCancelFrom): void { if (!visible || disableCancel) { return } - dispatch("cancel") + dispatch("cancel", from) hide() } function handleKey(e: KeyboardEvent): void { if (visible && e.key === "Escape") { - cancel() + cancel(ModalCancelFrom.ESCAPE_KEY) } } @@ -107,7 +108,7 @@