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) { -
+