import { contextMenuPosition, type MenuPosition } from '$lib/utils/menuPosition'; export type MenuState = { target: T } & MenuPosition; export function createMenu() { let state = $state | null>(null); return { get state() { return state; }, open(event: MouseEvent, target: T) { event.preventDefault(); state = { target, ...contextMenuPosition(event) }; }, close() { state = null; } }; } export type Menu = ReturnType>;