Skip to content

Commit 70d5fd2

Browse files
committed
feat: add dialog closedby attribute
1 parent bccee42 commit 70d5fd2

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

e2e/modal.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ test('modal functionality', async ({ page }) => {
4242

4343
await escCheckbox.uncheck();
4444
await openButton.click();
45+
// Reference https://github.com/sveltejs/svelte/pull/15458
46+
await page.keyboard.press('Escape');
4547
await page.keyboard.press('Escape');
4648
await expect(modal).toHaveAttribute('open');
4749
await closeButton.click();

src/lib/Modal.svelte

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@
4040
CSS.supports('transition-behavior', 'allow-discrete');
4141
</script>
4242

43-
<!-- svelte-ignore a11y_click_events_have_key_events -->
44-
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
4543
<dialog
4644
bind:this={dialog}
45+
class:transition={enableTransitions}
46+
closedby={!closeOnEscapeKey ? 'none' : null}
4747
oncancel={(e) => {
4848
if (!closeOnEscapeKey) e.preventDefault();
4949
oncancel?.(e);
@@ -82,7 +82,6 @@
8282
e.clientY > rect.bottom;
8383
if (isBackdropClick) dialog.close();
8484
}}
85-
class:transition={enableTransitions}
8685
>
8786
{@render children?.()}
8887
</dialog>

0 commit comments

Comments
 (0)