From ae68c047b8c8a5810229552ab39bf88a9691e18c Mon Sep 17 00:00:00 2001
From: axel7083 <42176370+axel7083@users.noreply.github.com>
Date: Tue, 14 May 2024 15:00:46 +0200
Subject: [PATCH] feat(QuickPickInput): using modal component (#7180)
* feat(QuickPickInput): using modal component
Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com>
* fix(QuickPickInput): close mechanism
Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com>
---------
Signed-off-by: axel7083 <42176370+axel7083@users.noreply.github.com>
---
.../renderer/src/lib/dialogs/Modal.spec.ts | 18 +++++++-
.../renderer/src/lib/dialogs/Modal.svelte | 6 ++-
.../src/lib/dialogs/QuickPickInput.svelte | 41 ++++++++-----------
3 files changed, 37 insertions(+), 28 deletions(-)
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) {