import { jsx as _jsx } from "react/jsx-runtime";
import { ReactFlow, ReactFlowProvider } from '@xyflow/react';
import { DependencyEdge } from './dependency-edge.js';
import { FeatureNode } from '../../common/feature-node/index.js';
import '@xyflow/react/dist/style.css';
const meta = {
    title: 'Features/DependencyEdge',
    decorators: [
        (Story) => (_jsx("div", { style: { width: '800px', height: '400px' }, children: _jsx(ReactFlowProvider, { children: _jsx(Story, {}) }) })),
    ],
};
export default meta;
const parentData = {
    name: 'Auth System',
    description: 'User authentication',
    featureId: 'feat-1234',
    lifecycle: 'implementation',
    state: 'running',
    progress: 60,
    repositoryPath: '/repo',
    branch: 'feat/auth',
    showHandles: true,
};
const childData = {
    name: 'Login Page',
    description: 'Login UI component',
    featureId: 'feat-5678',
    lifecycle: 'requirements',
    state: 'blocked',
    progress: 0,
    repositoryPath: '/repo',
    branch: 'feat/login',
    blockedBy: 'Auth System',
    showHandles: true,
};
export const Default = {
    render: () => (_jsx(ReactFlow, { nodes: [
            {
                id: 'parent',
                type: 'featureNode',
                position: { x: 50, y: 100 },
                data: parentData,
            },
            {
                id: 'child',
                type: 'featureNode',
                position: { x: 450, y: 100 },
                data: childData,
            },
        ], edges: [
            {
                id: 'dep-1',
                source: 'parent',
                target: 'child',
                type: 'dependencyEdge',
            },
        ], nodeTypes: { featureNode: FeatureNode }, edgeTypes: { dependencyEdge: DependencyEdge }, fitView: true, nodesDraggable: false, nodesConnectable: false, proOptions: { hideAttribution: true } })),
};
