🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@isoftdata/svelte-context-menu

Package Overview
Dependencies
Maintainers
11
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@isoftdata/svelte-context-menu

A Context/Dropdown menu component, filled with [DropdownItem](DropdownItem.md)s and [DropdownCheckboxItem](DropdownCheckboxItem.md)s

npmnpm
Version
2.0.0
Version published
Weekly downloads
45
-16.67%
Maintainers
11
Weekly downloads
 
Created
Source

Svelte ContextMenu

A Context/Dropdown menu component, filled with DropdownItems and DropdownCheckboxItems

Install

npm i @isoftdata/svelte-context-menu

Breaking changes

2.0.0

  • Require Svelte 5
  • Slots -> Snippets
  • Events -> Callbacks

Props

NameTypeDescriptionDefault Value
idstringThe id of the context menu element."menu"
menuItemClickClosesbooleanWhether clicking a menu item will close the menu.true
placementstringThe placement of the context menu relative to the reference element."bottom-start"

Usage

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.

Methods

  • open - Opens the context menu. Arguments below.
    • event - the mouse event
    • targetId (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.
  • close - Closes the context menu. Normally you'd close the context menu by clicking on an item within it, but this is also an option.

Callbacks

  • open - Called when the menu is opened
  • close - Called when the menu is closed

Example

<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

Package last updated on 17 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts