feat(svelte): add SvelteFlowProvider and useSvelteFlow hook
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
export let selected: $$Props['selected'] = false;
|
||||
export let label: $$Props['label'] = undefined;
|
||||
|
||||
const { edgeTypes, edges } = useStore();
|
||||
const { edges, edgeTypes } = useStore();
|
||||
const dispatch = createEventDispatcher();
|
||||
|
||||
const edgeComponent: typeof SvelteComponentTyped<EdgeProps> = $edgeTypes[type!] || BezierEdge;
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
import type { KeyHandlerProps } from './types';
|
||||
import type { KeyDefinition, KeyDefinitionObject } from '$lib/types';
|
||||
|
||||
const { selectionKeyPressed, deleteKeyPressed } = useStore();
|
||||
|
||||
type $$Props = KeyHandlerProps;
|
||||
|
||||
export let selectionKey: $$Props['selectionKey'] = 'Shift';
|
||||
export let deleteKey: $$Props['deleteKey'] = 'Backspace';
|
||||
|
||||
const { selectionKeyPressed, deleteKeyPressed } = useStore();
|
||||
|
||||
function isKeyObject(key?: KeyDefinition): key is KeyDefinitionObject {
|
||||
return typeof key === 'object';
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<script lang="ts">
|
||||
import { setContext } from 'svelte';
|
||||
|
||||
import { createStore, key } from '$lib/store';
|
||||
|
||||
const store = createStore();
|
||||
|
||||
setContext(key, {
|
||||
getStore: () => store
|
||||
});
|
||||
</script>
|
||||
|
||||
<slot />
|
||||
@@ -0,0 +1,2 @@
|
||||
export { default as SvelteFlowProvider } from './SvelteFlowProvider.svelte';
|
||||
export type { SvelteFlowProviderProps } from './types';
|
||||
@@ -0,0 +1,6 @@
|
||||
import type { SvelteFlowProps } from '$lib/container/SvelteFlow/types';
|
||||
|
||||
export type SvelteFlowProviderProps = Pick<
|
||||
SvelteFlowProps,
|
||||
'nodes' | 'edges' | 'fitView' | 'nodeTypes'
|
||||
>;
|
||||
Reference in New Issue
Block a user