New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@isoftdata/svelte-context-menu

Package Overview
Dependencies
Maintainers
12
Versions
27
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

npmnpm
Version
1.3.0
Version published
Weekly downloads
231
425%
Maintainers
12
Weekly downloads
 
Created
Source

Svelte ContextMenu

A Context/Dropdown menu component, filled with DropdownItems

Install

npm i @isoftdata/svelte-context-menu

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.

Events

  • open - Fired when the menu is opened
  • close - Fired whe nthe 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|preventDefault={e => cm.open(e, "target")}
>
	Right Click to Open Menu
</button>
<ContextMenu bind:this={cm}>
		<DropdownItem
			icon="mouse"
			on:click={() => 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 16 Jan 2024

Related posts