Hide close button in dialog if in a noEscape modal

This commit is contained in:
Jon Staab
2026-03-17 14:55:40 -07:00
parent 368f0b048b
commit 58a6be911a
3 changed files with 11 additions and 7 deletions
+9 -6
View File
@@ -10,6 +10,7 @@
type Props = {
onClose?: any
noEscape?: boolean
fullscreen?: boolean
children: {
component: Component<any>
@@ -17,7 +18,7 @@
}
}
const {onClose = noop, fullscreen = false, children}: Props = $props()
const {onClose = noop, noEscape = false, fullscreen = false, children}: Props = $props()
const wrapperClass = $derived(
cx("absolute inset-0 flex sm:relative pointer-events-none", {
@@ -47,11 +48,13 @@
</button>
<div class={wrapperClass}>
<div class={innerClass} transition:fly>
<Button
class="absolute -top-4 right-3 btn btn-circle btn-neutral btn-sm"
onclick={clearModals}>
<Icon icon={Close} size={6} />
</Button>
{#if !noEscape}
<Button
class="absolute -top-4 right-3 btn btn-circle btn-neutral btn-sm"
onclick={clearModals}>
<Icon icon={Close} size={6} />
</Button>
{/if}
<children.component {...children.props} />
</div>
</div>