diff options
| author | Fuwn <[email protected]> | 2024-10-28 15:32:46 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-10-28 15:32:46 -0700 |
| commit | 39b677404558ae3b7eb34e818d7ca308f62f9cb0 (patch) | |
| tree | 7f19fca39ecd4237e3c0d1aef2d8e9fa3cec7845 /src/lib/Layout/Dropdown.svelte | |
| parent | feat(graphql): paged badges query (diff) | |
| download | due.moe-svelte-5.tar.xz due.moe-svelte-5.zip | |
feat: update to svelte 5svelte-5
Diffstat (limited to 'src/lib/Layout/Dropdown.svelte')
| -rw-r--r-- | src/lib/Layout/Dropdown.svelte | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/lib/Layout/Dropdown.svelte b/src/lib/Layout/Dropdown.svelte index fb270dfe..aca94975 100644 --- a/src/lib/Layout/Dropdown.svelte +++ b/src/lib/Layout/Dropdown.svelte @@ -6,12 +6,14 @@ preventDefault?: boolean; } - export let items: Item[] = []; - export let title: string | undefined = undefined; - export let header = true; - export let center = false; + let { + items = [] as Item[], + title = undefined as string | undefined, + header = true, + center = false + } = $props(); - let open = false; + let open = $state(false); const handleClickOutside = (event: any) => { if (!event.target.closest('.dropdown')) open = false; @@ -30,8 +32,8 @@ <span class={`${header ? 'header-item' : ''} dropdown-toggle`} id="dropdown-toggle" - on:click|preventDefault={() => (open = !open)} - on:keydown={() => {}} + onclick={() => (open = !open)} + onkeydown={() => {}} role="button" tabindex="0" > @@ -47,7 +49,7 @@ <a href={item.url} class="header-item" - on:click={(e) => { + onclick={(e) => { if (item.preventDefault) e.preventDefault(); if (item.onClick) item.onClick(); }} @@ -89,7 +91,10 @@ transform: translateY(-20px); visibility: hidden; $delay: 0.25s; - transition: opacity $delay ease, transform $delay ease, visibility 0s linear $delay; + transition: + opacity $delay ease, + transform $delay ease, + visibility 0s linear $delay; left: var(--dropdown-left); transform: var(--dropdown-transform); z-index: 1; |