anki/ts/components/DropdownMenu.svelte
2021-09-15 17:56:56 +02:00

39 lines
922 B
Svelte

<!--
Copyright: Ankitects Pty Ltd and contributors
License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
-->
<script lang="typescript">
import { setContext } from "svelte";
import { dropdownKey } from "./context-keys";
export let id: string | undefined = undefined;
let className: string = "";
export { className as class };
export let labelledby: string | undefined = undefined;
export let show = false;
setContext(dropdownKey, null);
</script>
<div
{id}
class="dropdown-menu"
class:show
aria-labelledby={labelledby}
on:mousedown|preventDefault|stopPropagation
>
<div class="dropdown-content {className}">
<slot />
</div>
</div>
<style lang="scss">
.dropdown-menu {
border-radius: 5px;
background-color: var(--frame-bg);
border-color: var(--medium-border);
min-width: 1rem;
}
</style>