diff --git a/packages/renderer/src/lib/dialogs/Modal.spec.ts b/packages/renderer/src/lib/dialogs/Modal.spec.ts
index 8e8a4c0efc03d..27303d61aef1c 100644
--- a/packages/renderer/src/lib/dialogs/Modal.spec.ts
+++ b/packages/renderer/src/lib/dialogs/Modal.spec.ts
@@ -20,7 +20,7 @@ import '@testing-library/jest-dom/vitest';
import { render, screen } from '@testing-library/svelte';
import userEvent from '@testing-library/user-event';
-import { expect, test, vi } from 'vitest';
+import { describe, expect, test, vi } from 'vitest';
import Modal from '/@/lib/dialogs/Modal.svelte';
@@ -52,3 +52,19 @@ test('Escape key should trigger close', async () => {
await userEvent.keyboard('{Escape}');
expect(closeMock).toHaveBeenCalled();
});
+
+describe('translation-y', () => {
+ test('default modal should have translate-y', async () => {
+ render(Modal);
+
+ const dialog = screen.getByRole('dialog');
+ expect(dialog.classList).toContain('translate-y-[-20%]');
+ });
+
+ test('modal with top should not have translate-y', async () => {
+ render(Modal, { top: true });
+
+ const dialog = screen.getByRole('dialog');
+ expect(dialog.classList).not.toContain('translate-y-[-20%]');
+ });
+});
diff --git a/packages/renderer/src/lib/dialogs/Modal.svelte b/packages/renderer/src/lib/dialogs/Modal.svelte
index 1527ca014027a..02adb5ce18090 100644
--- a/packages/renderer/src/lib/dialogs/Modal.svelte
+++ b/packages/renderer/src/lib/dialogs/Modal.svelte
@@ -8,6 +8,7 @@ const close = () => dispatch('close');
let modal: HTMLDivElement;
export let name = '';
+export let top: boolean = false;
const handle_keydown = (e: any) => {
if (e.key === 'Escape') {
@@ -31,14 +32,15 @@ if (previously_focused) {