A menu on right click or long press.

Right-click (or long-press) the file list

Usage

Example.svelte
<script lang="ts">
	import CopyIcon from "@lucide/svelte/icons/copy";
	import PencilIcon from "@lucide/svelte/icons/pencil";
	import Trash2Icon from "@lucide/svelte/icons/trash-2";

	import * as ContextMenu from "@orochibraru/ui/context-menu";

	let showArchived = $state(false);
	let sort = $state("date");
</script>

<ContextMenu.Root>
	<ContextMenu.Trigger
		class="text-muted-foreground flex h-36 w-full items-center justify-center rounded-lg border border-dashed text-sm"
	>
		Right-click (or long-press) the file list
	</ContextMenu.Trigger>
	<ContextMenu.Content class="w-56">
		<ContextMenu.Item>
			<PencilIcon /> Edit
			<ContextMenu.Shortcut>⌘E</ContextMenu.Shortcut>
		</ContextMenu.Item>
		<ContextMenu.Item><CopyIcon /> Duplicate</ContextMenu.Item>
		<ContextMenu.Sub>
			<ContextMenu.SubTrigger>Move to project</ContextMenu.SubTrigger>
			<ContextMenu.SubContent>
				<ContextMenu.Item>Website redesign</ContextMenu.Item>
				<ContextMenu.Item>Mobile app</ContextMenu.Item>
			</ContextMenu.SubContent>
		</ContextMenu.Sub>
		<ContextMenu.Separator />
		<ContextMenu.CheckboxItem bind:checked={showArchived}>
			Show archived
		</ContextMenu.CheckboxItem>
		<ContextMenu.Separator />
		<ContextMenu.Group>
			<ContextMenu.GroupHeading>Sort by</ContextMenu.GroupHeading>
			<ContextMenu.RadioGroup bind:value={sort}>
				<ContextMenu.RadioItem value="date">Date</ContextMenu.RadioItem>
				<ContextMenu.RadioItem value="name">Name</ContextMenu.RadioItem>
			</ContextMenu.RadioGroup>
		</ContextMenu.Group>
		<ContextMenu.Separator />
		<ContextMenu.Item variant="destructive"
			><Trash2Icon /> Delete</ContextMenu.Item
		>
	</ContextMenu.Content>
</ContextMenu.Root>