Context Menu
Menu konteks klik-kanan dengan item, label, shortcut, separator, dan sub-menu bersarang.
bun x bosia@latest add context-menuMenu yang dipicu klik-kanan yang muncul di posisi kursor. Mendukung item, label, petunjuk shortcut keyboard, separator, dan sub-menu bersarang.
Preview
Right click here
Sub-komponen
ContextMenu— wrapper root, mengelola state open dan koordinat kursorContextMenuTrigger— membungkus area yang bisa diklik-kananContextMenuContent— panel berposisi tetap di koordinat kursorContextMenuItem— item aksi (propdisabledopsional)ContextMenuSeparator— pembatas antar itemContextMenuLabel— heading grup non-interaktifContextMenuShortcut— petunjuk keyboard yang ditampilkan di kananContextMenuSub— pengelola state sub-menuContextMenuSubTrigger— item dengan panah yang membuka sub-menuContextMenuSubContent— panel fly-out untuk sub-menu
Penggunaan
<script lang="ts">
import {
ContextMenu,
ContextMenuTrigger,
ContextMenuContent,
ContextMenuItem,
ContextMenuSeparator,
ContextMenuLabel,
ContextMenuShortcut,
} from "$lib/components/ui/context-menu";
</script>
<ContextMenu>
<ContextMenuTrigger>
<div class="h-36 w-72 border border-dashed rounded-md flex items-center justify-center">
Right click here
</div>
</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuLabel>Actions</ContextMenuLabel>
<ContextMenuSeparator />
<ContextMenuItem onclick={() => console.log("back")}>
Back
<ContextMenuShortcut>⌘[</ContextMenuShortcut>
</ContextMenuItem>
<ContextMenuItem onclick={() => console.log("reload")}>
Reload
<ContextMenuShortcut>⌘R</ContextMenuShortcut>
</ContextMenuItem>
</ContextMenuContent>
</ContextMenu>Sub-menu
<script lang="ts">
import {
ContextMenu,
ContextMenuTrigger,
ContextMenuContent,
ContextMenuItem,
ContextMenuSub,
ContextMenuSubTrigger,
ContextMenuSubContent,
} from "$lib/components/ui/context-menu";
</script>
<ContextMenu>
<ContextMenuTrigger>
<div class="h-36 w-72 border border-dashed rounded-md flex items-center justify-center">
Right click here
</div>
</ContextMenuTrigger>
<ContextMenuContent>
<ContextMenuItem>Back</ContextMenuItem>
<ContextMenuSub>
<ContextMenuSubTrigger>More Tools</ContextMenuSubTrigger>
<ContextMenuSubContent>
<ContextMenuItem>Save Page As...</ContextMenuItem>
<ContextMenuItem>Developer Tools</ContextMenuItem>
</ContextMenuSubContent>
</ContextMenuSub>
</ContextMenuContent>
</ContextMenu>Item Nonaktif
<ContextMenuItem disabled>Forward</ContextMenuItem>