import { d3Curve, defineChart, link, rect, text } from "@tanstack/charts"
import { sankeyDiagram } from "@tanstack/charts/network/sankey"
import { curveBumpX } from "d3-shape"
{ id: "orders", label: "Orders" },
{ id: "berlin", label: "Berlin" },
{ id: "lyon", label: "Lyon" },
{ id: "delivered", label: "Delivered" },
{ source: "orders", target: "berlin", value: 772 },
{ source: "orders", target: "lyon", value: 512 },
{ source: "berlin", target: "delivered", value: 772 },
{ source: "lyon", target: "delivered", value: 512 },
const definition = defineChart({
inset: { left: 64, right: 64, top: 16, bottom: 16 },
marks: ({ nodes, links }) => [
stroke: chartColors.series[0],
strokeWidth: (flow) => Math.max(1, flow.width),
curve: d3Curve(curveBumpX),
fill: chartColors.series[0],
x: (node) => (node.depth === 0 ? node.x0 - 8 : node.x1 + 8),
text: (node) => node.data.label,
anchor: (node) => (node.depth === 0 ? "end" : "start"),
scales: { x: null, y: null },