{"__symbolic":"module","version":4,"exports":[{"from":"./lib/graph/colaForceDirected"},{"from":"./lib/graph/customLayouts"},{"from":"./lib/graph/d3ForceDirected"},{"from":"./lib/graph/dagre"},{"from":"./lib/graph/dagreCluster"},{"from":"./lib/graph/layout.service"}],"metadata":{"NgxGraphModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@swimlane/ngx-charts","name":"NgxChartsModule","line":8,"character":12}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"Edge":{"__symbolic":"interface"},"Graph":{"__symbolic":"interface"},"Layout":{"__symbolic":"interface"},"NodePosition":{"__symbolic":"interface"},"NodeDimension":{"__symbolic":"interface"},"Node":{"__symbolic":"interface"},"ClusterNode":{"__symbolic":"interface"},"Matrix":{"__symbolic":"interface"},"GraphComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@swimlane/ngx-charts","name":"BaseChartComponent","line":64,"character":36},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":57,"character":1},"arguments":[{"selector":"ngx-graph","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":61,"character":17},"member":"None"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":62,"character":19},"member":"OnPush"},"template":"<ngx-charts-chart\r\n  [view]=\"[width, height]\"\r\n  [showLegend]=\"legend\"\r\n  [legendOptions]=\"legendOptions\"\r\n  (legendLabelClick)=\"onClick($event)\"\r\n  (legendLabelActivate)=\"onActivate($event)\"\r\n  (legendLabelDeactivate)=\"onDeactivate($event)\"\r\n  mouseWheel\r\n  (mouseWheelUp)=\"onZoom($event, 'in')\"\r\n  (mouseWheelDown)=\"onZoom($event, 'out')\"\r\n>\r\n  <svg:g\r\n    *ngIf=\"initialized && graph\"\r\n    [attr.transform]=\"transform\"\r\n    (touchstart)=\"onTouchStart($event)\"\r\n    (touchend)=\"onTouchEnd($event)\"\r\n    class=\"graph chart\"\r\n  >\r\n    <defs>\r\n      <ng-template *ngIf=\"defsTemplate\" [ngTemplateOutlet]=\"defsTemplate\"></ng-template>\r\n      <svg:path\r\n        class=\"text-path\"\r\n        *ngFor=\"let link of graph.edges\"\r\n        [attr.d]=\"link.textPath\"\r\n        [attr.id]=\"link.id\"\r\n      ></svg:path>\r\n    </defs>\r\n\r\n    <svg:rect\r\n      class=\"panning-rect\"\r\n      [attr.width]=\"dims.width * 100\"\r\n      [attr.height]=\"dims.height * 100\"\r\n      [attr.transform]=\"'translate(' + (-dims.width || 0) * 50 + ',' + (-dims.height || 0) * 50 + ')'\"\r\n      (mousedown)=\"isPanning = true\"\r\n    />\r\n\r\n    <ng-content></ng-content>\r\n\r\n    <svg:g class=\"clusters\">\r\n      <svg:g\r\n        #clusterElement\r\n        *ngFor=\"let node of graph.clusters; trackBy: trackNodeBy\"\r\n        class=\"node-group\"\r\n        [id]=\"node.id\"\r\n        [attr.transform]=\"node.transform\"\r\n        (click)=\"onClick(node)\"\r\n      >\r\n        <ng-template\r\n          *ngIf=\"clusterTemplate\"\r\n          [ngTemplateOutlet]=\"clusterTemplate\"\r\n          [ngTemplateOutletContext]=\"{ $implicit: node }\"\r\n        ></ng-template>\r\n        <svg:g *ngIf=\"!clusterTemplate\" class=\"node cluster\">\r\n          <svg:rect\r\n            [attr.width]=\"node.dimension.width\"\r\n            [attr.height]=\"node.dimension.height\"\r\n            [attr.fill]=\"node.data?.color\"\r\n          />\r\n          <svg:text alignment-baseline=\"central\" [attr.x]=\"10\" [attr.y]=\"node.dimension.height / 2\">\r\n            {{ node.label }}\r\n          </svg:text>\r\n        </svg:g>\r\n      </svg:g>\r\n    </svg:g>\r\n\r\n    <svg:g class=\"links\">\r\n      <svg:g #linkElement *ngFor=\"let link of graph.edges; trackBy: trackLinkBy\" class=\"link-group\" [id]=\"link.id\">\r\n        <ng-template\r\n          *ngIf=\"linkTemplate\"\r\n          [ngTemplateOutlet]=\"linkTemplate\"\r\n          [ngTemplateOutletContext]=\"{ $implicit: link }\"\r\n        ></ng-template>\r\n        <svg:path *ngIf=\"!linkTemplate\" class=\"edge\" [attr.d]=\"link.line\" />\r\n      </svg:g>\r\n    </svg:g>\r\n\r\n    <svg:g class=\"nodes\">\r\n      <svg:g\r\n        #nodeElement\r\n        *ngFor=\"let node of graph.nodes; trackBy: trackNodeBy\"\r\n        class=\"node-group\"\r\n        [class.old-node]=\"animate && oldNodes.has(node.id)\"\r\n        [id]=\"node.id\"\r\n        [attr.transform]=\"node.transform\"\r\n        (click)=\"onClick(node)\"\r\n        (mousedown)=\"onNodeMouseDown($event, node)\"\r\n      >\r\n        <ng-template\r\n          *ngIf=\"nodeTemplate\"\r\n          [ngTemplateOutlet]=\"nodeTemplate\"\r\n          [ngTemplateOutletContext]=\"{ $implicit: node }\"\r\n        ></ng-template>\r\n        <svg:circle\r\n          *ngIf=\"!nodeTemplate\"\r\n          r=\"10\"\r\n          [attr.cx]=\"node.dimension.width / 2\"\r\n          [attr.cy]=\"node.dimension.height / 2\"\r\n          [attr.fill]=\"node.data?.color\"\r\n        />\r\n      </svg:g>\r\n    </svg:g>\r\n  </svg:g>\r\n</ngx-charts-chart>\r\n","styles":[".graph{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.graph .edge{stroke:#666;fill:none}.graph .edge .edge-label{stroke:none;font-size:12px;fill:#251e1e}.graph .panning-rect{fill:transparent;cursor:move}.graph .node-group.old-node{transition:transform .5s ease-in-out;transition:transform .5s ease-in-out,-webkit-transform .5s ease-in-out}.graph .node-group .node:focus{outline:0}.graph .cluster rect{opacity:.2}"]}]}],"members":{"legend":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"nodes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"clusters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"links":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"activeEntries":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"curve":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"draggingEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"nodeHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"nodeMaxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"nodeMinHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"nodeWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"nodeMinWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"nodeMaxWidth":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"panningEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"enableZoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":79,"character":3}}]}],"zoomSpeed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":80,"character":3}}]}],"minZoomLevel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":3}}]}],"maxZoomLevel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":82,"character":3}}]}],"autoZoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":3}}]}],"panOnZoom":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3}}]}],"animate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"autoCenter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"update$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":87,"character":3}}]}],"center$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":3}}]}],"zoomToFit$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":89,"character":3}}]}],"panToNode$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"layout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":91,"character":3}}]}],"layoutSettings":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"activate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":94,"character":3}}]}],"deactivate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":95,"character":3}}]}],"zoomChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":96,"character":3}}]}],"linkTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":98,"character":3},"arguments":["linkTemplate"]}]}],"nodeTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":99,"character":3},"arguments":["nodeTemplate"]}]}],"clusterTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":100,"character":3},"arguments":["clusterTemplate"]}]}],"defsTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":101,"character":3},"arguments":["defsTemplate"]}]}],"chart":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":103,"character":3},"arguments":[{"__symbolic":"reference","module":"@swimlane/ngx-charts","name":"ChartComponent","line":103,"character":13},{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":103,"character":37}}]}]}],"nodeElements":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":104,"character":3},"arguments":["nodeElement"]}]}],"linkElements":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":105,"character":3},"arguments":["linkElement"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":129,"character":16},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":130,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":131,"character":15},{"__symbolic":"reference","name":"ɵb"}]}],"groupResultsBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":137,"character":3}}]}],"zoomLevel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":150,"character":3},"arguments":["zoomLevel"]}]}],"panOffsetX":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":165,"character":3},"arguments":["panOffsetX"]}]}],"panOffsetY":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":180,"character":3},"arguments":["panOffsetY"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"setLayout":[{"__symbolic":"method"}],"setLayoutSettings":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"update":[{"__symbolic":"method"}],"createGraph":[{"__symbolic":"method"}],"draw":[{"__symbolic":"method"}],"tick":[{"__symbolic":"method"}],"applyNodeDimensions":[{"__symbolic":"method"}],"redrawLines":[{"__symbolic":"method"}],"calcDominantBaseline":[{"__symbolic":"method"}],"generateLine":[{"__symbolic":"method"}],"onZoom":[{"__symbolic":"method"}],"pan":[{"__symbolic":"method"}],"panTo":[{"__symbolic":"method"}],"zoom":[{"__symbolic":"method"}],"zoomTo":[{"__symbolic":"method"}],"onPan":[{"__symbolic":"method"}],"onDrag":[{"__symbolic":"method"}],"redrawEdge":[{"__symbolic":"method"}],"updateTransform":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"onActivate":[{"__symbolic":"method"}],"onDeactivate":[{"__symbolic":"method"}],"getSeriesDomain":[{"__symbolic":"method"}],"trackLinkBy":[{"__symbolic":"method"}],"trackNodeBy":[{"__symbolic":"method"}],"setColors":[{"__symbolic":"method"}],"getLegendOptions":[{"__symbolic":"method"}],"onMouseMove":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":888,"character":3},"arguments":["document:mousemove",["$event"]]}]}],"onTouchStart":[{"__symbolic":"method"}],"onTouchMove":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":913,"character":3},"arguments":["document:touchmove",["$event"]]}]}],"onTouchEnd":[{"__symbolic":"method"}],"onMouseUp":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":941,"character":3},"arguments":["document:mouseup"]}]}],"onNodeMouseDown":[{"__symbolic":"method"}],"center":[{"__symbolic":"method"}],"zoomToFit":[{"__symbolic":"method"}],"panToNodeId":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@swimlane/ngx-charts","name":"ChartCommonModule","line":8,"character":12}],"declarations":[{"__symbolic":"reference","name":"GraphComponent"},{"__symbolic":"reference","name":"ɵc"}],"exports":[{"__symbolic":"reference","name":"GraphComponent"},{"__symbolic":"reference","name":"ɵc"}],"providers":[{"__symbolic":"reference","name":"ɵb"}]}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"getLayout":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1},"arguments":[{"selector":"[mouseWheel]"}]}],"members":{"mouseWheelUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"mouseWheelDown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"onMouseWheelChrome":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":15,"character":3},"arguments":["mousewheel",["$event"]]}]}],"onMouseWheelFirefox":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":20,"character":3},"arguments":["DOMMouseScroll",["$event"]]}]}],"onMouseWheelIE":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":25,"character":3},"arguments":["onmousewheel",["$event"]]}]}],"mouseWheelFunc":[{"__symbolic":"method"}]}}},"origins":{"NgxGraphModule":"./lib/ngx-graph.module","Edge":"./lib/models/edge.model","Graph":"./lib/models/graph.model","Layout":"./lib/models/layout.model","NodePosition":"./lib/models/node.model","NodeDimension":"./lib/models/node.model","Node":"./lib/models/node.model","ClusterNode":"./lib/models/node.model","Matrix":"./lib/graph/graph.component","GraphComponent":"./lib/graph/graph.component","ɵa":"./lib/graph/graph.module","ɵb":"./lib/graph/layouts/layout.service","ɵc":"./lib/graph/mouse-wheel.directive"},"importAs":"@latusinski/ngx-graph"}