diff --git a/examples/svelte/svelte.config.js b/examples/svelte/svelte.config.js
index 42e34179..10899539 100644
--- a/examples/svelte/svelte.config.js
+++ b/examples/svelte/svelte.config.js
@@ -6,9 +6,9 @@ const config = {
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
// for more information about preprocessors
preprocess: vitePreprocess(),
- // compilerOptions: {
- // runes: true
- // },
+ compilerOptions: {
+ runes: true
+ },
kit: {
// adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
// If your environment is not supported or you settled on a specific environment, switch out the adapter.
diff --git a/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte b/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte
index 053373c0..1b64bbba 100644
--- a/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte
+++ b/packages/svelte/src/lib/components/SvelteFlowProvider/SvelteFlowProvider.svelte
@@ -4,14 +4,14 @@
import { createStore, key } from '$lib/store';
import type { SvelteFlowProviderProps } from './types';
- type $$Props = SvelteFlowProviderProps;
-
- export let initialNodes: $$Props['initialNodes'] = undefined;
- export let initialEdges: $$Props['initialEdges'] = undefined;
- export let initialWidth: $$Props['initialWidth'] = undefined;
- export let initialHeight: $$Props['initialHeight'] = undefined;
- export let fitView: $$Props['fitView'] = undefined;
- export let nodeOrigin: $$Props['nodeOrigin'] = undefined;
+ let {
+ initialNodes,
+ initialEdges,
+ initialWidth,
+ initialHeight,
+ nodeOrigin,
+ fitView
+ }: SvelteFlowProviderProps = $props();
const store = createStore({
nodes: initialNodes,
diff --git a/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte b/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte
index 4af48ae2..2fab5055 100644
--- a/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte
+++ b/packages/svelte/src/lib/container/EdgeRenderer/EdgeRenderer.svelte
@@ -4,9 +4,15 @@
import { CallOnMount } from '$lib/components/CallOnMount';
import { MarkerDefinition } from '$lib/container/EdgeRenderer/MarkerDefinition';
import { useStore } from '$lib/store';
- import type { DefaultEdgeOptions } from '$lib/types';
+ import type { DefaultEdgeOptions, EdgeEvents } from '$lib/types';
- export let defaultEdgeOptions: DefaultEdgeOptions | undefined;
+ let {
+ defaultEdgeOptions,
+ onedgeclick,
+ onedgecontextmenu,
+ onedgemouseenter,
+ onedgemouseleave
+ }: { defaultEdgeOptions?: DefaultEdgeOptions } & EdgeEvents = $props();
const {
visibleEdges,
@@ -16,6 +22,7 @@
} = useStore();
onMount(() => {
+ // TODO: Remove this when we have a better way to set default options
if (defaultEdgeOptions) setDefaultOptions(defaultEdgeOptions);
});
@@ -54,10 +61,10 @@
class={edge.class}
type={edge.type || 'default'}
zIndex={edge.zIndex}
- on:edgeclick
- on:edgecontextmenu
- on:edgemouseenter
- on:edgemouseleave
+ {onedgeclick}
+ {onedgecontextmenu}
+ {onedgemouseenter}
+ {onedgemouseleave}
/>
{/each}
diff --git a/packages/svelte/src/lib/container/EdgeRenderer/MarkerDefinition/Marker.svelte b/packages/svelte/src/lib/container/EdgeRenderer/MarkerDefinition/Marker.svelte
index dd1ec439..71412ec0 100644
--- a/packages/svelte/src/lib/container/EdgeRenderer/MarkerDefinition/Marker.svelte
+++ b/packages/svelte/src/lib/container/EdgeRenderer/MarkerDefinition/Marker.svelte
@@ -1,16 +1,16 @@