{#if open} {@render dialog()} {/if} {#snippet dialog()}
{ const target = e.target as HTMLElement; if (open && !reallyFrozen && !dialogContainer?.contains(target) && target !== dialogContainer) open = false; }} onkeydown={(e) => { if (e.key === 'Escape' && !reallyFrozen) { if (stackIndex === dialogStack.length - 1) { // only close if this dialog is the topmost dialog open = false; } } }} role="dialog" aria-labelledby="{identifier}-title" aria-describedby="{identifier}-description" tabindex="-1" >

{@render stringOrSnippet(title)}

{#if close !== null} {#if typeof close === 'function'} {@render close()} {:else} {@render dialogCloseButton(getState(), close)} {/if} {/if}
{#if error} {/if} {#if description}

{@render stringOrSnippet(description)}

{/if} {#if children}{@render children()}{:else}Dialog is empty{/if}
{#if controls && typeof controls === 'function'}{@render controls( getState() )}{:else if controls?.flip} {#if controls.ok !== null} {@render dialogOkButton(getState(), controls.ok)} {/if} {#if controls.cancel !== null} {@render dialogCancelButton(getState(), controls.cancel)} {/if} {:else} {#if controls.cancel !== null} {@render dialogCancelButton(getState(), controls.cancel)} {/if} {#if controls.ok !== null} {@render dialogOkButton(getState(), controls.ok)} {/if} {/if}
{/snippet} {#snippet dialogCancelButton(state: DialogState, opts?: DialogControls['cancel'])} {/snippet} {#snippet dialogOkButton(state: DialogState, opts?: DialogControls['ok'])} {/snippet} {#snippet dialogCloseButton(state: DialogState, opts?: Omit | null)} {/snippet} {#snippet stringOrSnippet(val: string | Snippet<[state: DialogState]>)} {#if typeof val === 'string'} {val} {:else} {@render val(getState())} {/if} {/snippet}