Files
beavergram/frontend/src/lib/components/ui/ContextMenu.svelte
T

25 lines
582 B
Svelte

<script lang="ts">
import { ContextMenu } from "bits-ui";
import type { Snippet } from "svelte";
interface Props {
children: Snippet<[{ props: Record<string, unknown> }]>;
menu: Snippet;
}
const { children, menu }: Props = $props();
</script>
<ContextMenu.Root>
<ContextMenu.Trigger>
{#snippet child({ props })}
{@render children({ props })}
{/snippet}
</ContextMenu.Trigger>
<ContextMenu.Portal>
<ContextMenu.Content class="bg-menu-content">
{@render menu()}
</ContextMenu.Content>
</ContextMenu.Portal>
</ContextMenu.Root>