{"version":3,"file":"ngx-xyflow.mjs","sources":["../../../src/xyflow/controls.directive.ts","../../../src/xyflow/minimap.directive.ts","../../../src/xyflow/xyflow.component.ts","../../../src/xyflow/background.directive.ts","../../../src/xyflow/handle.directive.ts","../../../src/xyflow/node-resizer.directive.ts","../../../src/xyflow/node-toolbar.directive.ts","../../../src/xyflow/node.directive.ts","../../../src/xyflow/xyflow.module.ts","../../../src/xyflow/ngx-xyflow.ts"],"sourcesContent":["import {booleanAttribute, Directive, EventEmitter, Input, Output, SimpleChanges} from '@angular/core';\nimport { ControlProps } from '@xyflow/react';\nimport { XYFlowComponent } from './xyflow.component';\n\n@Directive({\n    selector: 'ngx-xyflow>ngx-xyflow-controls'\n})\nexport class ControlsDirective implements Omit<ControlProps, 'onFitView' | 'onInteractiveChange' | 'onZoomIn' | 'onZoomOut'> {\n\n    @Input() 'aria-label': ControlProps['aria-label'];\n    @Input() children: ControlProps['children'];\n    @Input() className: ControlProps['className'];\n    @Input() fitViewOptions: ControlProps['fitViewOptions'];\n    @Input() orientation: ControlProps['orientation'];\n    @Input() position: ControlProps['position'];\n    @Input({ transform: booleanAttribute }) showFitView: ControlProps['showFitView'];\n    @Input({ transform: booleanAttribute }) showInteractive: ControlProps['showInteractive'];\n    @Input({ transform: booleanAttribute }) showZoom: ControlProps['showZoom'];\n    @Input() style: ControlProps['style'];\n\n    @Output() onFitView = new EventEmitter<Parameters<ControlProps['onFitView']>>();\n    @Output() onInteractiveChange = new EventEmitter<Parameters<ControlProps['onInteractiveChange']>>();\n    @Output() onZoomIn = new EventEmitter<Parameters<ControlProps['onZoomIn']>>();\n    @Output() onZoomOut = new EventEmitter<Parameters<ControlProps['onZoomOut']>>();\n\n    constructor(private readonly xyflow: XYFlowComponent) { }\n    ngOnChanges(changes: SimpleChanges) {\n        this.xyflow.ngOnChanges(changes);\n    }\n}\n","import {booleanAttribute, Directive, EventEmitter, Input, Output, SimpleChanges} from '@angular/core';\nimport { MiniMapProps } from '@xyflow/react';\nimport { XYFlowComponent } from './xyflow.component';\n\n@Directive({\n    selector: 'ngx-xyflow>ngx-xyflow-minimap'\n})\nexport class MinimapDirective implements Omit<MiniMapProps, 'onClick' | 'onNodeClick'> {\n\n    @Input() ariaLabel: MiniMapProps['ariaLabel'];\n    @Input() bgColor: MiniMapProps['bgColor'];\n    @Input() inversePan: MiniMapProps['inversePan'];\n    @Input() maskColor: MiniMapProps['maskColor'];\n    @Input() maskStrokeColor: MiniMapProps['maskStrokeColor'];\n    @Input() maskStrokeWidth: MiniMapProps['maskStrokeWidth'];\n    @Input() nodeBorderRadius: MiniMapProps['nodeBorderRadius'];\n    @Input() nodeClassName: MiniMapProps['nodeClassName'];\n    @Input() nodeColor: MiniMapProps['nodeColor'];\n    @Input() nodeComponent: MiniMapProps['nodeComponent'];\n    @Input() nodeStrokeColor: MiniMapProps['nodeStrokeColor'];\n    @Input() nodeStrokeWidth: MiniMapProps['nodeStrokeWidth'];\n    @Input() offsetScale: MiniMapProps['offsetScale'];\n    @Input({ transform: booleanAttribute }) pannable: MiniMapProps['pannable'];\n    @Input() position: MiniMapProps['position'];\n    @Input({ transform: booleanAttribute }) zoomable: MiniMapProps['zoomable'];\n    @Input() zoomStep: MiniMapProps['zoomStep'];\n\n    @Output() onClick = new EventEmitter<Parameters<MiniMapProps['onClick']>>();\n    @Output() onNodeClick = new EventEmitter<Parameters<MiniMapProps['onNodeClick']>>();\n\n    constructor(private readonly xyflow: XYFlowComponent) { }\n    ngOnChanges(changes: SimpleChanges) {\n        this.xyflow.ngOnChanges(changes);\n    }\n}\n","import {\n    ChangeDetectorRef,\n    Component,\n    ContentChild,\n    EventEmitter,\n    Input,\n    NgZone,\n    OnChanges,\n    Output,\n    SimpleChanges,\n    ViewContainerRef,\n    ViewEncapsulation\n} from '@angular/core';\nimport {\n    addEdge,\n    applyEdgeChanges,\n    applyNodeChanges,\n    Background,\n    Controls,\n    MiniMap,\n    ReactFlow,\n    ReactFlowInstance,\n    ReactFlowProps,\n    ReactFlowProvider\n} from '@xyflow/react';\nimport { ReactifyNgComponent } from 'ngx-reactify';\nimport * as React from 'react';\nimport { BackgroundDirective } from './background.directive';\nimport { ControlsDirective } from './controls.directive';\nimport { MinimapDirective } from './minimap.directive';\n\ntype XYFlowProps = ReactFlowProps<any, any>;\ntype OverriddenProps = 'onBeforeDelete' | 'onClickConnectEnd' | 'onClickConnectStart' | 'onConnect' | 'onConnectEnd' | 'onConnectStart' | 'onDelete' | 'onEdgeClick' | 'onEdgeContextMenu' | 'onEdgeDoubleClick' | 'onEdgeMouseEnter' | 'onEdgeMouseLeave' | 'onEdgeMouseMove' | 'onEdgesChange' | 'onEdgesDelete' | 'onError' | 'onInit' | 'onMove' | 'onMoveEnd' | 'onMoveStart' | 'onNodeClick' | 'onNodeContextMenu' | 'onNodeDoubleClick' | 'onNodeDrag' | 'onNodeDragStart' | 'onNodeDragStop' | 'onNodeMouseEnter' | 'onNodeMouseLeave' | 'onNodeMouseMove' | 'onNodesChange' | 'onNodesDelete' | 'onPaneClick' | 'onPaneContextMenu' | 'onPaneMouseEnter' | 'onPaneMouseLeave' | 'onPaneMouseMove' | 'onPaneScroll' | 'onReconnect' | 'onReconnectStart' | 'onReconnectEnd' | 'onSelectionChange' | 'onSelectionContextMenu' | 'onSelectionDrag' | 'onSelectionDragStart' | 'onSelectionDragStop' | 'onSelectionEnd' | 'onSelectionStart';\ntype InheritedXYFlowProps = Omit<XYFlowProps, OverriddenProps>;\n\n@Component({\n    selector: 'ngx-xyflow',\n    template: '',\n    styleUrls: ['../../node_modules/@xyflow/react/dist/style.css'],\n    encapsulation: ViewEncapsulation.None\n})\nexport class XYFlowComponent extends ReactifyNgComponent implements XYFlowProps, OnChanges {\n\n    @Input(\"nodes\") _nodes: XYFlowProps['nodes'];\n    @Output(\"nodesChange\") _nodesChange = new EventEmitter<XYFlowProps['nodes']>();\n\n    @Input(\"edges\") _edges: XYFlowProps['edges'];\n    @Output(\"edgesChange\") _edgesChange = new EventEmitter<XYFlowProps['edges']>();\n\n    @Input() defaultEdgeOptions: XYFlowProps['defaultEdgeOptions'];\n\n    nodeTypes: any = {}; //XYFlowProps['nodeTypes'] = {};\n    edgeTypes: XYFlowProps['edgeTypes'] = {};\n\n    instance: ReactFlowInstance;\n\n    @Input() connectionLineType: XYFlowProps['connectionLineType'];\n    @Input() connectionLineStyle: XYFlowProps['connectionLineStyle'];\n    @Input() connectionLineComponent: XYFlowProps['connectionLineComponent'];\n    @Input() connectionLineContainerStyle: XYFlowProps['connectionLineContainerStyle'];\n    @Input() connectionMode: XYFlowProps['connectionMode'];\n    @Input() deleteKeyCode: XYFlowProps['deleteKeyCode'];\n    @Input() selectionKeyCode: XYFlowProps['selectionKeyCode'];\n    @Input() selectionOnDrag: XYFlowProps['selectionOnDrag'];\n    @Input() selectionMode: XYFlowProps['selectionMode'];\n    @Input() panActivationKeyCode: XYFlowProps['panActivationKeyCode'];\n    @Input() multiSelectionKeyCode: XYFlowProps['multiSelectionKeyCode'];\n    @Input() zoomActivationKeyCode: XYFlowProps['zoomActivationKeyCode'];\n    @Input() snapToGrid: XYFlowProps['snapToGrid'];\n    @Input() snapGrid: XYFlowProps['snapGrid'];\n    @Input() onlyRenderVisibleElements: XYFlowProps['onlyRenderVisibleElements'];\n    @Input() nodesDraggable: XYFlowProps['nodesDraggable'];\n    @Input() nodesConnectable: XYFlowProps['nodesConnectable'];\n    @Input() nodesFocusable: XYFlowProps['nodesFocusable'];\n    @Input() nodeOrigin: XYFlowProps['nodeOrigin'];\n    @Input() edgesFocusable: XYFlowProps['edgesFocusable'];\n    @Input() elementsSelectable: XYFlowProps['elementsSelectable'];\n    @Input() selectNodesOnDrag: XYFlowProps['selectNodesOnDrag'];\n    @Input() panOnDrag: XYFlowProps['panOnDrag'];\n    @Input() minZoom: XYFlowProps['minZoom'];\n    @Input() maxZoom: XYFlowProps['maxZoom'];\n    @Input() defaultViewport: XYFlowProps['defaultViewport'];\n    @Input() translateExtent: XYFlowProps['translateExtent'];\n    @Input() preventScrolling: XYFlowProps['preventScrolling'];\n    @Input() nodeExtent: XYFlowProps['nodeExtent'];\n    @Input() defaultMarkerColor: XYFlowProps['defaultMarkerColor'];\n    @Input() zoomOnScroll: XYFlowProps['zoomOnScroll'];\n    @Input() zoomOnPinch: XYFlowProps['zoomOnPinch'];\n    @Input() panOnScroll: XYFlowProps['panOnScroll'];\n    @Input() panOnScrollSpeed: XYFlowProps['panOnScrollSpeed'];\n    @Input() panOnScrollMode: XYFlowProps['panOnScrollMode'];\n    @Input() zoomOnDoubleClick: XYFlowProps['zoomOnDoubleClick'];\n    @Input() noDragClassName: XYFlowProps['noDragClassName'];\n    @Input() noWheelClassName: XYFlowProps['noWheelClassName'];\n    @Input() noPanClassName: XYFlowProps['noPanClassName'];\n    @Input() fitView: XYFlowProps['fitView'];\n    @Input() fitViewOptions: XYFlowProps['fitViewOptions'];\n    @Input() connectOnClick: XYFlowProps['connectOnClick'];\n    @Input() attributionPosition: XYFlowProps['attributionPosition'];\n    @Input() proOptions: XYFlowProps['proOptions'];\n    @Input() elevateNodesOnSelect: XYFlowProps['elevateNodesOnSelect'];\n    @Input() elevateEdgesOnSelect: XYFlowProps['elevateEdgesOnSelect'];\n    @Input() disableKeyboardA11y: XYFlowProps['disableKeyboardA11y'];\n    @Input() autoPanOnNodeDrag: XYFlowProps['autoPanOnNodeDrag'];\n    @Input() autoPanOnConnect: XYFlowProps['autoPanOnConnect'];\n    @Input() connectionRadius: XYFlowProps['connectionRadius'];\n\n    // `as any` casting for the Output properties to inherit the description from the xyflow JSDOC comments.\n    // As of now I don't know of a better way to replace the types while keeping the comments.\n\n    // @Output() onBeforeDelete = new EventEmitter<[XYFlowProps['onBeforeDelete']]> as any;\n    @Output() onClickConnectEnd = new EventEmitter<[XYFlowProps['onClickConnectEnd']]> as any;\n    @Output() onClickConnectStart = new EventEmitter<[XYFlowProps['onClickConnectStart']]> as any;\n    @Output() onConnect = new EventEmitter<[XYFlowProps['onConnect']]> as any;\n    @Output() onConnectEnd = new EventEmitter<[XYFlowProps['onConnectEnd']]> as any;\n    @Output() onConnectStart = new EventEmitter<[XYFlowProps['onConnectStart']]> as any;\n    @Output() onDelete = new EventEmitter<[XYFlowProps['onDelete']]> as any;\n    @Output() onEdgeClick = new EventEmitter<[XYFlowProps['onEdgeClick']]> as any;\n    @Output() onEdgeContextMenu = new EventEmitter<[XYFlowProps['onEdgeContextMenu']]> as any;\n    @Output() onEdgeDoubleClick = new EventEmitter<[XYFlowProps['onEdgeDoubleClick']]> as any;\n    @Output() onEdgeMouseEnter = new EventEmitter<[XYFlowProps['onEdgeMouseEnter']]> as any;\n    @Output() onEdgeMouseLeave = new EventEmitter<[XYFlowProps['onEdgeMouseLeave']]> as any;\n    @Output() onEdgeMouseMove = new EventEmitter<[XYFlowProps['onEdgeMouseMove']]> as any;\n    @Output() onEdgesChange = new EventEmitter<[XYFlowProps['onEdgesChange']]> as any;\n    @Output() onEdgesDelete = new EventEmitter<[XYFlowProps['onEdgesDelete']]> as any;\n    @Output() onError = new EventEmitter<[XYFlowProps['onError']]> as any;\n    @Output() onInit = new EventEmitter<[XYFlowProps['onInit']]> as any;\n    @Output() onMove = new EventEmitter<[XYFlowProps['onMove']]> as any;\n    @Output() onMoveEnd = new EventEmitter<[XYFlowProps['onMoveEnd']]> as any;\n    @Output() onMoveStart = new EventEmitter<[XYFlowProps['onMoveStart']]> as any;\n    @Output() onNodeClick = new EventEmitter<[XYFlowProps['onNodeClick']]> as any;\n    @Output() onNodeContextMenu = new EventEmitter<[XYFlowProps['onNodeContextMenu']]> as any;\n    @Output() onNodeDoubleClick = new EventEmitter<[XYFlowProps['onNodeDoubleClick']]> as any;\n    @Output() onNodeDrag = new EventEmitter<[XYFlowProps['onNodeDrag']]> as any;\n    @Output() onNodeDragStart = new EventEmitter<[XYFlowProps['onNodeDragStart']]> as any;\n    @Output() onNodeDragStop = new EventEmitter<[XYFlowProps['onNodeDragStop']]> as any;\n    @Output() onNodeMouseEnter = new EventEmitter<[XYFlowProps['onNodeMouseEnter']]> as any;\n    @Output() onNodeMouseLeave = new EventEmitter<[XYFlowProps['onNodeMouseLeave']]> as any;\n    @Output() onNodeMouseMove = new EventEmitter<[XYFlowProps['onNodeMouseMove']]> as any;\n    @Output() onNodesChange = new EventEmitter<[XYFlowProps['onNodesChange']]> as any;\n    @Output() onNodesDelete = new EventEmitter<[XYFlowProps['onNodesDelete']]> as any;\n    @Output() onPaneClick = new EventEmitter<[XYFlowProps['onPaneClick']]> as any;\n    @Output() onPaneContextMenu = new EventEmitter<[XYFlowProps['onPaneContextMenu']]> as any;\n    @Output() onPaneMouseEnter = new EventEmitter<[XYFlowProps['onPaneMouseEnter']]> as any;\n    @Output() onPaneMouseLeave = new EventEmitter<[XYFlowProps['onPaneMouseLeave']]> as any;\n    @Output() onPaneMouseMove = new EventEmitter<[XYFlowProps['onPaneMouseMove']]> as any;\n    @Output() onPaneScroll = new EventEmitter<[XYFlowProps['onPaneScroll']]> as any;\n    @Output() onReconnect = new EventEmitter<[XYFlowProps['onReconnect']]> as any;\n    @Output() onReconnectStart = new EventEmitter<[XYFlowProps['onReconnectStart']]> as any;\n    @Output() onReconnectEnd = new EventEmitter<[XYFlowProps['onReconnectEnd']]> as any;\n    @Output() onSelectionChange = new EventEmitter<[XYFlowProps['onSelectionChange']]> as any;\n    @Output() onSelectionContextMenu = new EventEmitter<[XYFlowProps['onSelectionContextMenu']]> as any;\n    @Output() onSelectionDrag = new EventEmitter<[XYFlowProps['onSelectionDrag']]> as any;\n    @Output() onSelectionDragStart = new EventEmitter<[XYFlowProps['onSelectionDragStart']]> as any;\n    @Output() onSelectionDragStop = new EventEmitter<[XYFlowProps['onSelectionDragStop']]> as any;\n    @Output() onSelectionEnd = new EventEmitter<[XYFlowProps['onSelectionEnd']]> as any;\n    @Output() onSelectionStart = new EventEmitter<[XYFlowProps['onSelectionStart']]> as any;\n\n\n    @ContentChild(BackgroundDirective) _background: BackgroundDirective;\n    @ContentChild(ControlsDirective) _controls: ControlsDirective;\n    @ContentChild(MinimapDirective) _minimap: MinimapDirective;\n\n\n    private _setNodes: React.Dispatch<React.SetStateAction<any[]>>;\n    private _setEdges: React.Dispatch<React.SetStateAction<any[]>>;\n\n    override ngReactComponent = ({ props }: { props: ReactFlowProps; }) => {\n        const getProps = (obj = {}) => {\n            const props = {};\n            Object.entries(obj).forEach(([k, v]) => {\n                // Omit keys prefixed with _\n                if (k.startsWith('_')) return;\n                // Omit event emitter properties\n                if (k.startsWith('on')) return;\n\n                props[k] = v;\n            });\n            return props as any;\n        };\n\n        const controlProps = getProps(this._controls);\n        const minimapProps = getProps(this._minimap);\n\n        controlProps.onFitView = () =>\n            this._controls.onFitView.emit();\n        controlProps.onInteractiveChange = (interactiveStatus) =>\n            this._controls.onInteractiveChange.emit(interactiveStatus);\n        controlProps.onZoomIn = () =>\n            this._controls.onZoomIn.emit();\n        controlProps.onZoomOut = () =>\n            this._controls.onZoomOut.emit();\n\n        minimapProps.onClick = () =>\n            this._minimap.onClick.emit();\n        minimapProps.onNodeClick = () =>\n            this._minimap.onNodeClick.emit();\n\n        const reactDirectives = [\n            this._background ? React.createElement(Background, getProps(this._background)) : null,\n            this._controls ? React.createElement(Controls, controlProps) : null,\n            this._minimap ? React.createElement(MiniMap, minimapProps) : null,\n        ].filter(r => r);\n\n        const [nodes, setNodes] = React.useState(this._nodes);\n        const [edges, setEdges] = React.useState(this._edges);\n\n        // Store setState functions for use in ngOnChanges\n        React.useEffect(() => {\n            this._setNodes = setNodes;\n            this._setEdges = setEdges;\n        }, [setNodes, setEdges]);\n\n        props.onNodesChange = React.useCallback(\n            (changes) => setNodes((nds) => {\n                const nodes = applyNodeChanges(changes, nds);\n                this._nodesChange.emit(this._nodes = nodes);\n                return nodes;\n            }),\n            []\n        );\n        props.onEdgesChange = React.useCallback(\n            (changes) => setEdges((eds) => {\n                console.log(\"SED\");\n                const edges = applyEdgeChanges(changes, eds);\n                this._edgesChange.emit(this._edges = edges);\n                return edges;\n            }),\n            []\n        );\n        props.onConnect = React.useCallback(\n            (params) => setEdges((eds) => {\n                const edges = addEdge(params, eds);\n                this._edgesChange.emit(this._edges = edges);\n                return edges;\n            }),\n            []\n        );\n\n        // Overwrite the property bindings\n        props.nodes = nodes;\n        props.edges = edges;\n\n\n        // Effectively outputs this:\n        // <ReactFlowProvider>\n        //     <ReactFlow props={props}>\n        //         <Background/>\n        //         <Controls/>\n        //         <MiniMap/>\n        //     </ReactFlow>\n        // </ReactFlowProvider>\n\n        return React.createElement(ReactFlowProvider, { children: [] },\n            React.createElement(ReactFlow, {\n                ...props as any, onInit: rf => {\n                    this.instance = rf;\n                }\n            },\n                ...reactDirectives\n            )\n        );\n    };\n\n    constructor(\n        ngContainer: ViewContainerRef,\n        ngZone: NgZone,\n        cdr: ChangeDetectorRef\n    ) {\n        super(ngContainer, ngZone);\n        (this as any).ngChangeDetector = cdr;\n    }\n\n    override ngOnInit() {\n\n    }\n\n    override ngAfterViewInit() {\n        super.ngAfterViewInit();\n    }\n\n    override ngOnChanges(changes?: SimpleChanges) {\n        if (this._setNodes && changes['_nodes']?.firstChange == false) {\n            this._setNodes(changes['_nodes'].currentValue);\n        }\n        if (this._setEdges && changes['_edges']?.firstChange == false) {\n            this._setEdges(changes['_edges'].currentValue);\n        }\n        super.ngOnChanges();\n    }\n}\n","import {Directive, Input, SimpleChanges} from '@angular/core';\nimport { BackgroundProps } from '@xyflow/react';\nimport { XYFlowComponent } from './xyflow.component';\n\n@Directive({\n    selector: 'ngx-xyflow>ngx-xyflow-background'\n})\nexport class BackgroundDirective implements BackgroundProps {\n\n    @Input() bgColor: BackgroundProps['bgColor'];\n    @Input() className: BackgroundProps['className'];\n    @Input() color: BackgroundProps['color'];\n    @Input() gap: BackgroundProps['gap'];\n    @Input() id: BackgroundProps['id'];\n    @Input() lineWidth: BackgroundProps['lineWidth'];\n    @Input() offset: BackgroundProps['offset'];\n    @Input() patternClassName: BackgroundProps['patternClassName'];\n    @Input() size: BackgroundProps['size'];\n    @Input() style: BackgroundProps['style'];\n    @Input() variant: BackgroundProps['variant'];\n\n    constructor(private readonly xyflow: XYFlowComponent) {}\n    ngOnChanges(changes: SimpleChanges) {\n        this.xyflow.ngOnChanges(changes);\n    }\n}\n","import {booleanAttribute, Directive, Input, SimpleChanges} from '@angular/core';\nimport { HandleProps } from '@xyflow/react';\nimport { XYFlowComponent } from './xyflow.component';\n\n@Directive({\n    selector: 'ngx-xyflow>ngx-xyflow-node>ngx-xyflow-handle'\n})\nexport class HandleDirective implements Omit<HandleProps, \"position\" | \"onConnect\"> {\n\n    @Input() id: HandleProps['id'];\n    @Input({ transform: booleanAttribute }) isConnectable: HandleProps['isConnectable'];\n    @Input({ transform: booleanAttribute }) isConnectableEnd: HandleProps['isConnectableEnd'];\n    @Input({ transform: booleanAttribute }) isConnectableStart: HandleProps['isConnectableStart'];\n    @Input() isValidConnection: HandleProps['isValidConnection'];\n    @Input() position: 'top' | 'left' | 'right' | 'bottom';\n    @Input() type: HandleProps['type'];\n\n    // @Output() onConnect = new EventEmitter<Connection>();\n    // @Output() onEdgesDelete = new EventEmitter<[XYFlowProps['onEdgesDelete']]>\n\n    constructor(private readonly xyflow: XYFlowComponent) { }\n    ngOnChanges(changes: SimpleChanges) {\n        this.xyflow.ngOnChanges(changes);\n    }\n}\n","import {booleanAttribute, Directive, Input, SimpleChanges} from '@angular/core';\nimport { NodeResizerProps } from '@xyflow/react';\nimport { XYFlowComponent } from './xyflow.component';\n\n@Directive({\n    selector: 'ngx-xyflow>ngx-xyflow-node>ngx-xyflow-node-resizer'\n})\nexport class NodeResizerDirective implements NodeResizerProps {\n\n    @Input() color: NodeResizerProps['color'];\n    @Input() handleClassName: NodeResizerProps['handleClassName'];\n    @Input() handleStyle: NodeResizerProps['handleStyle'];\n    @Input({ transform: booleanAttribute }) isVisible: NodeResizerProps['isVisible'];\n    @Input({ transform: booleanAttribute }) keepAspectRatio: NodeResizerProps['keepAspectRatio'];\n    @Input() lineClassName: NodeResizerProps['lineClassName'];\n    @Input() lineStyle: NodeResizerProps['lineStyle'];\n    @Input() maxHeight: NodeResizerProps['maxHeight'];\n    @Input() maxWidth: NodeResizerProps['maxWidth'];\n    @Input() minHeight: NodeResizerProps['minHeight'];\n    @Input() minWidth: NodeResizerProps['minWidth'];\n    @Input() nodeId: NodeResizerProps['nodeId'];\n    @Input() shouldResize: NodeResizerProps['shouldResize'];\n\n    @Input() onResizeStart: NodeResizerProps['onResizeStart'];\n    @Input() onResize: NodeResizerProps['onResize'];\n    @Input() onResizeEnd: NodeResizerProps['onResizeEnd'];\n\n    constructor(private readonly xyflow: XYFlowComponent) { }\n    ngOnChanges(changes: SimpleChanges) {\n        this.xyflow.ngOnChanges(changes);\n    }\n}\n","import {booleanAttribute, Directive, Input, SimpleChanges} from '@angular/core';\nimport { NodeToolbarProps } from '@xyflow/react';\nimport { XYFlowComponent } from './xyflow.component';\n\n@Directive({\n    selector: 'ngx-xyflow>ngx-xyflow-node>ngx-xyflow-node-toolbar'\n})\nexport class NodeToolbarDirective implements Omit<NodeToolbarProps, 'position'> {\n\n    @Input({ transform: booleanAttribute }) isVisible: NodeToolbarProps['isVisible'];\n    @Input() nodeId: NodeToolbarProps['nodeId'];\n    @Input() offset: NodeToolbarProps['offset'];\n    @Input() position: 'top' | 'left' | 'right' | 'bottom';\n\n    constructor(private readonly xyflow: XYFlowComponent) { }\n    ngOnChanges(changes: SimpleChanges) {\n        this.xyflow.ngOnChanges(changes);\n    }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n    ApplicationRef,\n    Component,\n    ContentChild,\n    ContentChildren,\n    Directive,\n    ElementRef,\n    EventEmitter,\n    Injector,\n    Input,\n    NgZone,\n    Output,\n    QueryList,\n    SimpleChanges,\n    TemplateRef,\n    ViewChildren\n} from '@angular/core';\nimport { Handle, NodeResizer, NodeToolbar } from '@xyflow/react';\nimport * as React from 'react';\nimport { HandleDirective } from './handle.directive';\nimport { XYFlowComponent } from './xyflow.component';\nimport { NodeResizerDirective } from './node-resizer.directive';\nimport { NodeToolbarDirective } from './node-toolbar.directive';\nimport { AutoWrapAngularObject, ng2ReactProps } from 'ngx-reactify';\n\n\n@Component({\n    selector: \"ngx-xyflow-node\",\n    template: `\n        @if(template) {\n            <ng-container\n                [ngTemplateOutlet]=\"template\"\n                [ngTemplateOutletContext]=\"{ '$implicit': data }\"\n            />\n        }\n        @else {\n            <span style=\"color: red\">\n                Node has no template.\n            </span>\n        }\n    `,\n    imports: [\n        NgTemplateOutlet\n    ],\n    standalone: true\n})\nclass XYFlowNodeComponent {\n    @Input() template: TemplateRef<any>;\n    @Input() data: any;\n    @Input() node: any;\n}\n\n\n@Directive({\n    selector: 'ngx-xyflow>ngx-xyflow-node'\n})\nexport class NodeDirective {\n\n    @ContentChildren(HandleDirective) handles: QueryList<HandleDirective>;\n\n    @Input() nodeType: string;\n\n    @ContentChild(TemplateRef) template: ElementRef;\n    @ContentChild(NodeResizerDirective) nodeResizer: NodeResizerDirective;\n    @ContentChild(NodeToolbarDirective) nodeToolbar: NodeToolbarDirective;\n\n    @Output() blur = new EventEmitter<HTMLElementEventMap['blur']>();\n    @Output() click = new EventEmitter<HTMLElementEventMap['click']>();\n    @Output() contextmenu = new EventEmitter<HTMLElementEventMap['contextmenu']>();\n    @Output() dblclick = new EventEmitter<HTMLElementEventMap['dblclick']>();\n    @Output() drag = new EventEmitter<HTMLElementEventMap['drag']>();\n    @Output() dragend = new EventEmitter<HTMLElementEventMap['dragend']>();\n    @Output() dragenter = new EventEmitter<HTMLElementEventMap['dragenter']>();\n    @Output() dragleave = new EventEmitter<HTMLElementEventMap['dragleave']>();\n    @Output() dragover = new EventEmitter<HTMLElementEventMap['dragover']>();\n    @Output() dragstart = new EventEmitter<HTMLElementEventMap['dragstart']>();\n    @Output() focus = new EventEmitter<HTMLElementEventMap['focus']>();\n    @Output() keydown = new EventEmitter<HTMLElementEventMap['keydown']>();\n    @Output() keyup = new EventEmitter<HTMLElementEventMap['keyup']>();\n    @Output() keypress = new EventEmitter<HTMLElementEventMap['keypress']>();\n    @Output() mousedown = new EventEmitter<HTMLElementEventMap['mousedown']>();\n    @Output() mouseenter = new EventEmitter<HTMLElementEventMap['mouseenter']>();\n    @Output() mouseleave = new EventEmitter<HTMLElementEventMap['mouseleave']>();\n    @Output() mousemove = new EventEmitter<HTMLElementEventMap['mousemove']>();\n    @Output() mouseout = new EventEmitter<HTMLElementEventMap['mouseout']>();\n    @Output() mouseover = new EventEmitter<HTMLElementEventMap['mouseover']>();\n    @Output() mouseup = new EventEmitter<HTMLElementEventMap['mouseup']>();\n    @Output() mousewheel = new EventEmitter<HTMLElementEventMap['wheel']>();\n    @Output() pointercancel = new EventEmitter<HTMLElementEventMap['pointercancel']>();\n    @Output() pointerdown = new EventEmitter<HTMLElementEventMap['pointerdown']>();\n    @Output() pointerenter = new EventEmitter<HTMLElementEventMap['pointerenter']>();\n    @Output() pointerleave = new EventEmitter<HTMLElementEventMap['pointerleave']>();\n    @Output() pointermove = new EventEmitter<HTMLElementEventMap['pointermove']>();\n    @Output() pointerout = new EventEmitter<HTMLElementEventMap['pointerout']>();\n    @Output() pointerover = new EventEmitter<HTMLElementEventMap['pointerover']>();\n    @Output() pointerrawupdate = new EventEmitter<Event>();\n    @Output() pointerup = new EventEmitter<HTMLElementEventMap['pointerup']>();\n    @Output() resize = new EventEmitter<HTMLElementEventMap['resize']>();\n    @Output() scroll = new EventEmitter<HTMLElementEventMap['scroll']>();\n    @Output() wheel = new EventEmitter<HTMLElementEventMap['wheel']>();\n\n    constructor(\n        private readonly xyflow: XYFlowComponent,\n        private readonly appRef: ApplicationRef,\n        private readonly injector: Injector,\n        private readonly ngZone: NgZone\n    ) { }\n\n    ngOnChanges(changes: SimpleChanges) {\n        this.xyflow.ngOnChanges(changes);\n    }\n\n    ngAfterViewInit() {\n        if (!this.nodeType) {\n            console.error(new Error(\"NGX: XYFlow Node bootstrapped without a node type!\\n\"));\n            return;\n        }\n\n        this.xyflow.nodeTypes[this.nodeType] = AutoWrapAngularObject({\n            component: XYFlowNodeComponent,\n            appRef: this.appRef,\n            injector: this.injector,\n            instance: this,\n            ngZone: this.ngZone,\n            containerTag: \"ngx-xyflow-node-container\",\n            reactTemplate: el => {\n                return React.createElement(React.Fragment, {},\n                    ...[\n                        this.nodeResizer ? React.createElement(NodeResizer, ng2ReactProps(this.nodeResizer)) : null,\n                        this.nodeToolbar ? React.createElement(NodeToolbar, ng2ReactProps(this.nodeToolbar)) : null,\n                        el,\n                        ...(this.handles?.map(handle => {\n                            const props = ng2ReactProps(handle) as any;\n                            // props.onConnect = (connection) =>\n                            //     handle.onConnect.next(connection);\n\n                            return React.createElement(Handle, props);\n                        }) || []),\n                    ].filter(n => !!n)\n                )\n            }\n        })\n    }\n}\n","import { NgModule } from '@angular/core';\nimport { BackgroundDirective } from './background.directive';\nimport { ControlsDirective } from './controls.directive';\nimport { HandleDirective } from './handle.directive';\nimport { MinimapDirective } from './minimap.directive';\nimport { NodeResizerDirective } from './node-resizer.directive';\nimport { NodeToolbarDirective } from './node-toolbar.directive';\nimport { NodeDirective } from './node.directive';\nimport { XYFlowComponent } from './xyflow.component';\n\n@NgModule({\n    declarations: [\n        XYFlowComponent,\n        NodeDirective,\n        BackgroundDirective,\n        ControlsDirective,\n        HandleDirective,\n        MinimapDirective,\n        NodeResizerDirective,\n        NodeToolbarDirective\n   ],\n    exports: [\n        XYFlowComponent,\n        NodeDirective,\n        HandleDirective,\n        BackgroundDirective,\n        ControlsDirective,\n        HandleDirective,\n        MinimapDirective,\n        NodeResizerDirective,\n        NodeToolbarDirective\n    ]\n})\nexport class XYFlowModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.XYFlowComponent"],"mappings":"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"}