From ce6fcc7a82258a71d1d31562c13988b416437ac9 Mon Sep 17 00:00:00 2001 From: peterkogo Date: Tue, 14 Jan 2025 13:15:40 +0100 Subject: [PATCH] Export event types and use pointer events wherever possible --- .../components/NodeWrapper/NodeWrapper.svelte | 6 ++-- .../src/lib/container/SvelteFlow/types.ts | 4 +-- packages/svelte/src/lib/index.ts | 1 + packages/svelte/src/lib/types/events.ts | 32 +++++++++---------- 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte b/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte index 28e5e7cf..cc07da75 100644 --- a/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte +++ b/packages/svelte/src/lib/components/NodeWrapper/NodeWrapper.svelte @@ -202,9 +202,9 @@ style:visibility={initialized ? 'visible' : 'hidden'} style="{style ?? ''};{inlineStyleDimensions.width}{inlineStyleDimensions.height}" onclick={onSelectNodeHandler} - onmouseenter={onnodemouseenter ? (event) => onnodemouseenter({ node, event }) : undefined} - onmouseleave={onnodemouseleave ? (event) => onnodemouseleave({ node, event }) : undefined} - onmousemove={onnodemousemove ? (event) => onnodemousemove({ node, event }) : undefined} + onpointerenter={onnodemouseenter ? (event) => onnodemouseenter({ node, event }) : undefined} + onpointerleave={onnodemouseleave ? (event) => onnodemouseleave({ node, event }) : undefined} + onpointermove={onnodemousemove ? (event) => onnodemousemove({ node, event }) : undefined} oncontextmenu={onnodecontextmenu ? (event) => onnodecontextmenu({ node, event }) : undefined} > = ({ node, event }: { node: Node; - event: MouseEvent | TouchEvent; + event: T; }) => void; -export type NodesEventWithPointer = ({ +export type NodesEventWithPointer = ({ nodes, event }: { nodes: Node[]; - event: MouseEvent | TouchEvent; + event: T; }) => void; -export type NodeTargetEventWithPointer = ({ +export type NodeTargetEventWithPointer = ({ targetNode, nodes, event }: { targetNode: Node | null; nodes: Node[]; - event: MouseEvent | TouchEvent; + event: T; }) => void; export type NodeEvents = { - onnodeclick?: NodeEventWithPointer; - onnodecontextmenu?: NodeEventWithPointer; - onnodedrag?: NodeTargetEventWithPointer; - onnodedragstart?: NodeTargetEventWithPointer; - onnodedragstop?: NodeTargetEventWithPointer; + onnodeclick?: NodeEventWithPointer; + onnodecontextmenu?: NodeEventWithPointer; + onnodedrag?: NodeTargetEventWithPointer; + onnodedragstart?: NodeTargetEventWithPointer; + onnodedragstop?: NodeTargetEventWithPointer; onnodemouseenter?: NodeEventWithPointer; onnodemouseleave?: NodeEventWithPointer; onnodemousemove?: NodeEventWithPointer; @@ -44,13 +44,13 @@ export type NodeSelectionEvents = { }; export type PaneEvents = { - onpaneclick?: ({ event }: { event: MouseEvent | TouchEvent }) => void; + onpaneclick?: ({ event }: { event: PointerEvent }) => void; onpanecontextmenu?: ({ event }: { event: MouseEvent }) => void; }; export type EdgeEvents = { - onedgeclick?: ({ edge, event }: { edge: Edge; event: MouseEvent | TouchEvent }) => void; - onedgecontextmenu?: ({ edge, event }: { edge: Edge; event: MouseEvent }) => void; - onedgemouseenter?: ({ edge, event }: { edge: Edge; event: MouseEvent }) => void; - onedgemouseleave?: ({ edge, event }: { edge: Edge; event: MouseEvent }) => void; + onedgeclick?: ({ edge, event }: { edge: Edge; event: PointerEvent }) => void; + onedgecontextmenu?: ({ edge, event }: { edge: Edge; event: PointerEvent }) => void; + onedgemouseenter?: ({ edge, event }: { edge: Edge; event: PointerEvent }) => void; + onedgemouseleave?: ({ edge, event }: { edge: Edge; event: PointerEvent }) => void; };