import { BackgroundVariant } from "../../xyflow/react.js";
import { GRID_SPACING } from "../../constants.js";
const BASE_CANVAS_GRID_SPACING = GRID_SPACING;
const BASE_CANVAS_DEFAULTS = {
    zoom: {
        min: 0.2,
        max: 3,
        default: 1
    },
    defaultViewport: {
        x: 0,
        y: 0,
        zoom: 1
    },
    fitViewOptions: {
        padding: 0.1,
        duration: 300
    },
    background: {
        gap: BASE_CANVAS_GRID_SPACING,
        size: 2,
        color: 'color-mix(in srgb, var(--canvas-border-de-emp), transparent 50%)',
        bgColor: 'var(--canvas-background-secondary)',
        variant: BackgroundVariant.Dots
    },
    transitions: {
        opacity: 'opacity 0.2s ease-in-out',
        default: {
            cssValue: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',
            durationMs: 300
        }
    },
    edge: {
        type: 'default'
    },
    pro: {
        hideAttribution: true
    },
    snapToGrid: true,
    snapGrid: [
        BASE_CANVAS_GRID_SPACING,
        BASE_CANVAS_GRID_SPACING
    ],
    maintainNodesInView: {
        padding: 50,
        debounceMs: 50
    },
    organizeAnimationDuration: 500
};
const PAN_ON_DRAG = [
    1
];
const FIT_VIEW_DELAY_MS = 50;
const CANVAS_READY_DELAY_MS = 50;
const EDGE_STYLES = {
    strokeWidth: 1,
    selectedStrokeWidth: 3
};
const NODE_DIMENSIONS = {
    agent: {
        width: 320,
        height: 140
    },
    resource: {
        width: 80,
        height: 80
    },
    flow: {
        width: 150,
        height: 60
    },
    codedAgent: {
        width: 220,
        height: 80
    }
};
const FLOW_LAYOUT = {
    groupSpacing: 120,
    groupDistanceHorizontal: 200,
    groupDistanceVertical: 160
};
export { BASE_CANVAS_DEFAULTS, BASE_CANVAS_GRID_SPACING, CANVAS_READY_DELAY_MS, EDGE_STYLES, FIT_VIEW_DELAY_MS, FLOW_LAYOUT, NODE_DIMENSIONS, PAN_ON_DRAG };
