import { BaseContextProperties, createCanvasPlugin, ElementProperties, NoneMode, PointerData, ScreenPointProperties, } from "@noya-app/noya-infinite-canvas"; export function doubleClickPlugin() { return createCanvasPlugin({ name: "doubleClick", data: {}, handlers: ( context: BaseContextProperties & ScreenPointProperties & ElementProperties & { handleDoubleClick: (options: { elementId: string }) => void; } ) => ({ onPointerDown(event) { const data = context.getData(); if (data.pointerDown && data.clickCount === 2) { const point = context.getCanvasPoint(event.nativeEvent); const elements = context.filterElements({ at: point }); if (elements.length > 0) { const elementId = context.getElementId(elements[0]); context.handleDoubleClick({ elementId }); } } }, }), }); }