@cnvx/svelte-diagrams
Version:
A Svelte 5 library for creating interactive node diagrams with customizable connections and layouts
20 lines (19 loc) • 824 B
TypeScript
import { type Snippet } from "svelte";
import type { DiagramNodeDef, DiagramEdgeParams } from "./Diagram.svelte";
import type { HTMLAttributes } from "svelte/elements";
import { type Vector2 } from "./diagram-lib.js";
type IndividualConnectActionParam = string | (DiagramEdgeParams & {
target: string;
}) | (DiagramEdgeParams & {
source: string;
});
type DiagramNodeConnectParam = IndividualConnectActionParam | IndividualConnectActionParam[];
export type DiagramNodeProps = {
children?: Snippet;
connect?: DiagramNodeConnectParam;
autosize?: boolean;
origin?: Vector2;
} & Omit<DiagramNodeDef, "snippet"> & HTMLAttributes<HTMLDivElement>;
declare const DiagramNode: import("svelte").Component<DiagramNodeProps, {}, "">;
type DiagramNode = ReturnType<typeof DiagramNode>;
export default DiagramNode;