Right-Click Context Menu
A context menu that opens at the pointer on right-click, scoped to its own area so the native browser menu still works elsewhere.
3 फ्रेमवर्कएडवांस्ड
A three-dot overflow button on a list row that opens a menu of row actions.
<!-- A list row with an overflow "kebab" that opens an actions menu. Shown open. -->
<div class="flex items-center gap-3 rounded-lg border border-gray-200 bg-white p-3 dark:border-gray-800 dark:bg-gray-900">
<div class="min-w-0 flex-1">
<p class="truncate text-sm font-medium text-gray-900 dark:text-gray-100">Q3 revenue model</p>
<p class="truncate text-xs text-gray-500 dark:text-gray-400">Edited 2 hours ago</p>
</div>
<div class="relative flex-none">
<button type="button" aria-haspopup="menu" aria-expanded="true" aria-label="Actions for Q3 revenue model" class="flex h-9 w-9 items-center justify-center rounded-md text-gray-500 hover:bg-gray-100 hover:text-gray-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-600 dark:text-gray-400 dark:hover:bg-gray-800 dark:hover:text-gray-200 dark:focus-visible:ring-blue-400">
<svg class="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><circle cx="12" cy="5" r="1.6"/><circle cx="12" cy="12" r="1.6"/><circle cx="12" cy="19" r="1.6"/></svg>
</button>
<div role="menu" aria-label="Actions for Q3 revenue model" class="absolute right-0 top-[calc(100%+0.375rem)] z-20 min-w-40 rounded-xl border border-gray-200 bg-white p-1 shadow-lg dark:border-gray-700 dark:bg-gray-900">
<button type="button" role="menuitem" class="flex w-full items-center rounded-md px-3 py-2 text-left text-sm text-gray-700 hover:bg-gray-100 focus-visible:bg-gray-100 focus-visible:outline-none dark:text-gray-300 dark:hover:bg-gray-800 dark:focus-visible:bg-gray-800">Rename</button>
<button type="button" role="menuitem" class="flex w-full items-center rounded-md px-3 py-2 text-left text-sm text-gray-700 hover:bg-gray-100 focus-visible:bg-gray-100 focus-visible:outline-none dark:text-gray-300 dark:hover:bg-gray-800 dark:focus-visible:bg-gray-800">Duplicate</button>
<button type="button" role="menuitem" class="flex w-full items-center rounded-md px-3 py-2 text-left text-sm text-red-600 hover:bg-red-50 focus-visible:bg-red-50 focus-visible:outline-none dark:text-red-400 dark:hover:bg-red-950/40 dark:focus-visible:bg-red-950/40">Delete</button>
</div>
</div>
</div>| Prop | टाइप | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
titleआवश्यक | string | - | कार्ड की हेडिंग टेक्स्ट। |
subtitle | string | - | Subtitle |
actionsआवश्यक | RowAction[] | - | Actions |
onAction | (id: string) => void | - | On action |
The kebab carries a real `aria-label` and `aria-haspopup`, and the menu is anchored to the row’s right edge in an absolutely positioned layer so it never widens the row. Arrow keys rove, Escape returns focus to the trigger, and a `danger` action renders in red.