Static
createCreates and manages a browser wide context menu. The best way to create the context menu is to pass in the source
DOM event as it is processed for the location of the context menu to display. Likewise, a A11yFocusSource object
is generated that allows focus to be returned to the source location. You may supply a default focus target as a
fallback via focusEl
.
Optional
opts: { Optional parameters.
Optional
duration?: numberTransition option for duration of transition.
Optional
easing?: EasingFunctionTransition option for easing function.
Optional
event?: MouseEvent | KeyboardEventThe source MouseEvent or KeyboardEvent.
Optional
focusWhen true the associated A11yFocusSource object will log focus target data when applied.
Optional
focusA specific HTMLElement or selector string as the default focus target.
Optional
id?: stringA custom CSS ID to add to the menu. This allows CSS style targeting.
Optional
items?: Iterable<TJSContextMenuItemData>Menu items to display.
Optional
keyKey to select menu items.
Optional
styles?: Record<string, string>Optional inline styles to apply.
Optional
x?: numberX position override for the top / left of the menu.
Optional
y?: numberY position override for the top / left of the menu.
Optional
zZ-index for context menu.
Provides and manages browser window wide context menu functionality. The best way to create a context menu is to attach the source KeyboardEvent or MouseEvent / PointerEvent as data in TJSContextMenu.create. This allows proper keyboard handling across browsers supporting the context menu key. A A11yFocusSource data object is generated which allows tracking of the source element that triggered the context menu allowing focus to return to the source when the context menu is closed. This A11yFocusSource object is also forwarded on through the
onPress
callback and is intended to be supplied asSvelteApplication
options particularly for modal dialogs allowing focus to return to the original source after the modal dialog is closed.