
Security News
Insecure Agents Podcast: How to Keep AI Agents From Bypassing Security Controls
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.
@isoftdata/svelte-context-menu
Advanced tools
A Context/Dropdown menu component, filled with DropdownItems and DropdownCheckboxItems
pnpm i @isoftdata/svelte-context-menu
| Name | Type | Description | Default Value |
|---|---|---|---|
| id | string | The id of the context menu element. | "menu" |
| menuItemClickCloses | boolean | Whether clicking a menu item will close the menu. | true |
| placement | string | The placement of the context menu relative to the reference element. | "bottom-start" |
| aria-label | string | Accessible name for the menu. Set this or aria-labelledby so screen readers can announce what the menu is. | undefined |
| aria-labelledby | string | Id of an element that labels the menu, as an alternative to aria-label. | undefined |
This component follows the ARIA menu pattern:
ArrowUp/ArrowDown wrap around, Home/End jump to the first/last item).Escape and Tab close the menu; closing via the keyboard returns focus to whichever element opened the menu.DropdownItem renders with role="menuitem", and DropdownCheckboxItem renders with role="menuitemcheckbox" and aria-checked reflecting its checked state.aria-label or aria-labelledby, since a role="menu" element needs one to be identifiable to screen reader users.The main way you'll interact with this component is through calling the methods below. To access these methods on the component instance, you will have to use the bind:this directive on the ContextMenu in your template, and assign it to a variable, which you can then call the methods on. See Example for more details.
event - the mouse eventtargetId (optional) the id of an element. If supplied, the menu will be positioned relative to this element. Otherwise, it will be positioned relative to the cursor.<script lang="ts">
import ContextMenu from '@isoftdata/svelte-context-menu'
let cm: ContextMenu
</script>
<button
id="target"
class="btn btn-primary btn-block"
on:contextmenu={e => {
event.preventDefault()
cm.open(e, "target")
}}
>
Right Click to Open Menu
</button>
<ContextMenu bind:this={cm}>
<DropdownItem
icon="mouse"
onclick={() => alert("Dropdown Item Clicked!")}
>
Click Me!
</DropdownItem>
<div class="downdown-divider" />
<h6 class="dropdown-header">Clicked {cmClicks} time(s)</h6>
</ContextMenu>
FAQs

Security News
Socket CTO Ahmad Nassri discusses how to keep AI agents from bypassing package blocks, limit credential access, and monitor their actions.

Security News
GPT-6 Astra tried to plant malicious code in simulated open source projects using fake GitHub accounts and deceptive PRs during an assigned CTF challenge.

Security News
upm uses Node.js to deliver fast npm installs in about 250 KB, with a JavaScript API and security defaults.