rete-angular-plugin 2.2.1 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +28 -2
  2. package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
  3. package/12/esm2015/core.js +3 -3
  4. package/12/esm2015/presets/classic/components/node/node.component.js +2 -1
  5. package/12/esm2015/presets/context-menu/components/item/item.component.js +3 -1
  6. package/12/esm2015/presets/context-menu/components/menu/menu.component.js +3 -1
  7. package/12/esm2015/presets/minimap/components/minimap/minimap.component.js +3 -1
  8. package/12/esm2015/presets/reroute/components/pins/pins.component.js +3 -1
  9. package/12/esm2015/reflect.js +18 -0
  10. package/12/fesm2015/rete-angular-plugin-ng12.js +28 -2
  11. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  12. package/12/reflect.d.ts +1 -0
  13. package/13/esm2020/core.mjs +3 -3
  14. package/13/esm2020/presets/classic/components/node/node.component.mjs +1 -1
  15. package/13/esm2020/presets/context-menu/components/item/item.component.mjs +2 -1
  16. package/13/esm2020/presets/context-menu/components/menu/menu.component.mjs +2 -1
  17. package/13/esm2020/presets/minimap/components/minimap/minimap.component.mjs +2 -1
  18. package/13/esm2020/presets/reroute/components/pins/pins.component.mjs +2 -1
  19. package/13/esm2020/reflect.mjs +18 -0
  20. package/13/fesm2015/rete-angular-plugin-ng13.mjs +23 -2
  21. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  22. package/13/fesm2020/rete-angular-plugin-ng13.mjs +23 -2
  23. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  24. package/13/reflect.d.ts +1 -0
  25. package/14/esm2020/core.mjs +3 -3
  26. package/14/esm2020/presets/classic/components/node/node.component.mjs +1 -1
  27. package/14/esm2020/presets/context-menu/components/item/item.component.mjs +2 -1
  28. package/14/esm2020/presets/context-menu/components/menu/menu.component.mjs +2 -1
  29. package/14/esm2020/presets/minimap/components/minimap/minimap.component.mjs +2 -1
  30. package/14/esm2020/presets/reroute/components/pins/pins.component.mjs +2 -1
  31. package/14/esm2020/reflect.mjs +18 -0
  32. package/14/fesm2015/rete-angular-plugin-ng14.mjs +23 -2
  33. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  34. package/14/fesm2020/rete-angular-plugin-ng14.mjs +23 -2
  35. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  36. package/14/reflect.d.ts +1 -0
  37. package/15/esm2020/core.mjs +3 -3
  38. package/15/esm2020/presets/classic/components/node/node.component.mjs +1 -1
  39. package/15/esm2020/presets/context-menu/components/item/item.component.mjs +2 -1
  40. package/15/esm2020/presets/context-menu/components/menu/menu.component.mjs +2 -1
  41. package/15/esm2020/presets/minimap/components/minimap/minimap.component.mjs +2 -1
  42. package/15/esm2020/presets/reroute/components/pins/pins.component.mjs +2 -1
  43. package/15/esm2020/reflect.mjs +18 -0
  44. package/15/fesm2015/rete-angular-plugin-ng15.mjs +23 -2
  45. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  46. package/15/fesm2020/rete-angular-plugin-ng15.mjs +23 -2
  47. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  48. package/15/reflect.d.ts +1 -0
  49. package/16/esm2022/core.mjs +3 -3
  50. package/16/esm2022/presets/classic/components/node/node.component.mjs +1 -1
  51. package/16/esm2022/presets/context-menu/components/item/item.component.mjs +2 -1
  52. package/16/esm2022/presets/context-menu/components/menu/menu.component.mjs +2 -1
  53. package/16/esm2022/presets/minimap/components/minimap/minimap.component.mjs +2 -1
  54. package/16/esm2022/presets/reroute/components/pins/pins.component.mjs +2 -1
  55. package/16/esm2022/reflect.mjs +18 -0
  56. package/16/fesm2022/rete-angular-plugin-ng16.mjs +23 -2
  57. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  58. package/16/reflect.d.ts +1 -0
  59. package/17/esm2022/core.mjs +3 -3
  60. package/17/esm2022/presets/classic/components/node/node.component.mjs +2 -2
  61. package/17/esm2022/presets/context-menu/components/item/item.component.mjs +3 -2
  62. package/17/esm2022/presets/context-menu/components/menu/menu.component.mjs +3 -2
  63. package/17/esm2022/presets/minimap/components/minimap/minimap.component.mjs +3 -2
  64. package/17/esm2022/presets/reroute/components/pins/pins.component.mjs +3 -2
  65. package/17/esm2022/reflect.mjs +18 -0
  66. package/17/fesm2022/rete-angular-plugin-ng17.mjs +28 -7
  67. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -1
  68. package/17/reflect.d.ts +1 -0
  69. package/18/esm2022/core.mjs +3 -3
  70. package/18/esm2022/presets/classic/components/node/node.component.mjs +2 -2
  71. package/18/esm2022/presets/context-menu/components/item/item.component.mjs +3 -2
  72. package/18/esm2022/presets/context-menu/components/menu/menu.component.mjs +3 -2
  73. package/18/esm2022/presets/minimap/components/minimap/minimap.component.mjs +3 -2
  74. package/18/esm2022/presets/reroute/components/pins/pins.component.mjs +3 -2
  75. package/18/esm2022/reflect.mjs +18 -0
  76. package/18/fesm2022/rete-angular-plugin-ng18.mjs +28 -7
  77. package/18/fesm2022/rete-angular-plugin-ng18.mjs.map +1 -1
  78. package/18/reflect.d.ts +1 -0
  79. package/19/core.d.ts +68 -0
  80. package/19/fesm2022/rete-angular-plugin-ng18.mjs +1558 -0
  81. package/19/fesm2022/rete-angular-plugin-ng18.mjs.map +1 -0
  82. package/19/index.d.ts +13 -0
  83. package/19/module.d.ts +13 -0
  84. package/19/package.json +22 -0
  85. package/19/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
  86. package/19/presets/classic/components/connection/connection.component.d.ts +11 -0
  87. package/19/presets/classic/components/control/control.component.d.ts +14 -0
  88. package/19/presets/classic/components/index.d.ts +5 -0
  89. package/19/presets/classic/components/node/node.component.d.ts +25 -0
  90. package/19/presets/classic/components/socket/socket.component.d.ts +12 -0
  91. package/19/presets/classic/index.d.ts +21 -0
  92. package/19/presets/classic/types.d.ts +49 -0
  93. package/19/presets/context-menu/components/index.d.ts +3 -0
  94. package/19/presets/context-menu/components/item/item.component.d.ts +26 -0
  95. package/19/presets/context-menu/components/menu/menu.component.d.ts +27 -0
  96. package/19/presets/context-menu/components/search/search.component.d.ts +8 -0
  97. package/19/presets/context-menu/debounce.d.ts +5 -0
  98. package/19/presets/context-menu/index.d.ts +9 -0
  99. package/19/presets/context-menu/module.d.ts +10 -0
  100. package/19/presets/context-menu/types.d.ts +12 -0
  101. package/19/presets/index.d.ts +8 -0
  102. package/19/presets/minimap/components/index.d.ts +3 -0
  103. package/19/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
  104. package/19/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
  105. package/19/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
  106. package/19/presets/minimap/index.d.ts +9 -0
  107. package/19/presets/minimap/module.d.ts +10 -0
  108. package/19/presets/minimap/types.d.ts +22 -0
  109. package/19/presets/reroute/components/index.d.ts +2 -0
  110. package/19/presets/reroute/components/pin/pin.component.d.ts +30 -0
  111. package/19/presets/reroute/components/pins/pins.component.d.ts +17 -0
  112. package/19/presets/reroute/index.d.ts +13 -0
  113. package/19/presets/reroute/module.d.ts +9 -0
  114. package/19/presets/reroute/types.d.ts +18 -0
  115. package/19/presets/types.d.ts +15 -0
  116. package/19/ref.d.ts +12 -0
  117. package/19/reflect.d.ts +1 -0
  118. package/19/shared/drag.d.ts +10 -0
  119. package/19/types.d.ts +29 -0
  120. package/CHANGELOG.md +19 -0
  121. package/bundles/rete-angular-plugin.umd.js +28 -2
  122. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  123. package/esm2015/core.js +3 -3
  124. package/esm2015/presets/classic/components/node/node.component.js +2 -1
  125. package/esm2015/presets/context-menu/components/item/item.component.js +3 -1
  126. package/esm2015/presets/context-menu/components/menu/menu.component.js +3 -1
  127. package/esm2015/presets/minimap/components/minimap/minimap.component.js +3 -1
  128. package/esm2015/presets/reroute/components/pins/pins.component.js +3 -1
  129. package/esm2015/reflect.js +18 -0
  130. package/fesm2015/rete-angular-plugin.js +28 -2
  131. package/fesm2015/rete-angular-plugin.js.map +1 -1
  132. package/package.json +5 -5
  133. package/reflect.d.ts +1 -0
  134. package/rete-angular-plugin.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rete-angular-plugin-ng16.mjs","sources":["../../../ng16/.src/ref.ts","../../../ng16/.src/presets/classic/components/node/node.component.html","../../../ng16/.src/presets/classic/components/node/node.component.ts","../../../ng16/.src/presets/classic/components/socket/socket.component.ts","../../../ng16/.src/presets/classic/components/control/control.component.ts","../../../ng16/.src/presets/classic/components/control/control.component.html","../../../ng16/.src/presets/classic/components/connection/connection.component.ts","../../../ng16/.src/presets/classic/components/connection/connection.component.html","../../../ng16/.src/presets/classic/components/connection/connection-wrapper.component.ts","../../../ng16/.src/presets/classic/index.ts","../../../ng16/.src/presets/context-menu/debounce.ts","../../../ng16/.src/presets/context-menu/components/search/search.component.ts","../../../ng16/.src/presets/context-menu/components/search/search.component.html","../../../ng16/.src/presets/context-menu/components/item/item.component.html","../../../ng16/.src/presets/context-menu/components/item/item.component.ts","../../../ng16/.src/presets/context-menu/components/menu/menu.component.html","../../../ng16/.src/presets/context-menu/components/menu/menu.component.ts","../../../ng16/.src/presets/context-menu/index.ts","../../../ng16/.src/shared/drag.ts","../../../ng16/.src/presets/minimap/components/mini-viewport/mini-viewport.component.ts","../../../ng16/.src/presets/minimap/components/mini-node/mini-node.component.ts","../../../ng16/.src/presets/minimap/components/minimap/minimap.component.html","../../../ng16/.src/presets/minimap/components/minimap/minimap.component.ts","../../../ng16/.src/presets/minimap/index.ts","../../../ng16/.src/presets/reroute/components/pin/pin.component.ts","../../../ng16/.src/presets/reroute/components/pins/pins.component.html","../../../ng16/.src/presets/reroute/components/pins/pins.component.ts","../../../ng16/.src/presets/reroute/index.ts","../../../ng16/.src/presets/index.ts","../../../ng16/.src/module.ts","../../../ng16/.src/presets/context-menu/module.ts","../../../ng16/.src/presets/minimap/module.ts","../../../ng16/.src/presets/reroute/module.ts","../../../ng16/.src/core.ts","../../../ng16/.src/rete-angular-plugin-ng16.ts"],"sourcesContent":["import { Input, ElementRef, OnChanges, OnDestroy } from '@angular/core';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[refComponent]'\n})\nexport class RefDirective implements OnChanges, OnDestroy {\n @Input() data!: any\n @Input() emit!: any\n\n constructor(private el: ElementRef) { }\n\n ngOnChanges() {\n this.emit({ type: 'render', data: { ...this.data, element: this.el.nativeElement } })\n }\n\n ngOnDestroy() {\n this.emit({ type: 'unmount', data: { element: this.el.nativeElement } })\n }\n}\n","<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalue: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n","import { Component, Input, HostBinding, ChangeDetectorRef, OnChanges } from '@angular/core';\nimport { ClassicPreset as Classic } from 'rete';\nimport { KeyValue } from '@angular/common';\n\ntype NodeExtraData = { width?: number, height?: number }\ntype SortValue<N extends Classic.Node> = (N['controls'] | N['inputs'] | N['outputs'])[string]\n\n@Component({\n templateUrl: './node.component.html',\n styleUrls: ['./node.component.sass'],\n host: {\n 'data-testid': 'node'\n }\n})\nexport class NodeComponent implements OnChanges {\n @Input() data!: Classic.Node & NodeExtraData;\n @Input() emit!: (data: any) => void\n @Input() rendered!: () => void\n\n seed = 0\n\n @HostBinding('style.width.px') get width() {\n return this.data.width\n }\n\n @HostBinding('style.height.px') get height() {\n return this.data.height\n }\n\n @HostBinding('class.selected') get selected() {\n return this.data.selected\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n this.seed++ // force render sockets\n }\n\n sortByIndex<N extends Classic.Node, I extends KeyValue<string, SortValue<N>>>(a: I, b: I) {\n const ai = a.value?.index || 0\n const bi = b.value?.index || 0\n\n return ai - bi\n }\n}\n","import { Component, Input, HostBinding, AfterViewChecked, ChangeDetectorRef, OnChanges } from '@angular/core';\n\n@Component({\n template: ``,\n styleUrls: ['./socket.component.sass']\n})\nexport class SocketComponent implements OnChanges {\n @Input() data!: any;\n @Input() rendered!: any;\n\n\n @HostBinding('title') get title() {\n return this.data.name\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n}\n","import { Component, Input, OnChanges, SimpleChanges, ChangeDetectorRef, HostListener } from '@angular/core';\nimport { ClassicPreset } from 'rete';\n\n@Component({\n templateUrl: `./control.component.html`,\n styleUrls: ['./control.component.sass']\n})\nexport class ControlComponent<T extends 'text' | 'number'> implements OnChanges {\n @Input() data!: ClassicPreset.InputControl<T>;\n @Input() rendered!: any;\n\n\n @HostListener('pointerdown', ['$event'])\n public pointerdown(event: any) {\n event.stopPropagation();\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const seed = changes['seed']\n const data = changes['data']\n\n if ((seed && seed.currentValue !== seed.previousValue)\n || (data && data.currentValue !== data.previousValue)) {\n this.cdr.detectChanges()\n }\n requestAnimationFrame(() => this.rendered())\n }\n\n onChange(e: Event) {\n const target = e.target as HTMLInputElement\n const value = (this.data.type === 'number'\n ? +target.value\n : target.value) as ClassicPreset.InputControl<T>['value']\n\n this.data.setValue(value)\n this.cdr.detectChanges()\n }\n}\n","<input\n [value]=\"data.value\"\n [readonly]=\"data.readonly\"\n [type]=\"data.type\"\n (input)=\"onChange($event)\"\n/>\n","import { Component, Input } from '@angular/core';\nimport { ClassicPreset } from 'rete';\nimport { classicConnectionPath } from 'rete-render-utils'\nimport { Position } from '../../../../types';\n\n\n@Component({\n selector: 'connection',\n templateUrl: './connection.component.html',\n styleUrls: ['./connection.component.sass']\n})\nexport class ConnectionComponent {\n @Input() data!: ClassicPreset.Connection<ClassicPreset.Node, ClassicPreset.Node>;\n @Input() start: Position\n @Input() end: Position\n @Input() path: string\n}\n","<svg data-testid=\"connection\">\n <path [attr.d]=\"path\" />\n</svg>\n","import { Component, Input, OnInit, ChangeDetectorRef, OnChanges, ViewContainerRef, ComponentFactoryResolver, ComponentRef } from '@angular/core';\nimport { ClassicPreset } from 'rete';\nimport { Position } from '../../../../types';\n\ntype PositionWatcher = (cb: (value: Position) => void) => (() => void)\n\n@Component({\n template: ''\n})\nexport class ConnectionWrapperComponent implements OnInit, OnChanges{\n @Input() data!: ClassicPreset.Connection<ClassicPreset.Node, ClassicPreset.Node>;\n @Input() start!: Position | PositionWatcher\n @Input() end!: Position | PositionWatcher\n @Input() path!: (start: Position, end: Position) => Promise<string>\n @Input() rendered!: any\n @Input() connectionComponent!: any\n\n ref!: ComponentRef<any>\n\n startOb: Position | null = null\n get _start(): Position | null {\n return 'x' in this.start ? this.start : this.startOb\n }\n endOb: Position | null = null\n get _end(): Position | null {\n return 'x' in this.end ? this.end : this.endOb\n }\n _path: string\n\n constructor(private cdr: ChangeDetectorRef, public viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {\n this.cdr.detach()\n }\n\n async ngOnChanges(): Promise<void> {\n await this.updatePath()\n requestAnimationFrame(() => this.rendered())\n this.cdr.detectChanges()\n this.update()\n }\n\n async updatePath() {\n if (this._start && this._end) {\n this._path = await this.path(this._start, this._end)\n }\n }\n\n ngOnInit() {\n if (typeof this.start === 'function') {\n this.start(async value => {\n this.startOb = value\n await this.updatePath()\n this.cdr.detectChanges()\n this.update()\n })\n }\n if (typeof this.end === 'function') {\n this.end(async value => {\n this.endOb = value\n await this.updatePath()\n this.cdr.detectChanges()\n this.update()\n })\n }\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.connectionComponent);\n this.viewContainerRef.clear();\n\n this.ref = this.viewContainerRef.createComponent(componentFactory);\n this.update()\n }\n\n update() {\n this.ref.instance.data = this.data\n this.ref.instance.start = this._start\n this.ref.instance.end = this._end\n this.ref.instance.path = this._path\n }\n}\n","import { Type } from '@angular/core';\nimport { ClassicPreset, getUID, Scope } from 'rete';\nimport { classicConnectionPath, loopConnectionPath, SocketPositionWatcher, getDOMSocketPosition } from 'rete-render-utils';\nimport { AngularArea2D, ClassicScheme, ExtractPayload } from './types';\nimport { NodeComponent } from './components/node/node.component';\nimport { SocketComponent } from './components/socket/socket.component';\nimport { ControlComponent } from './components/control/control.component';\nimport { ConnectionComponent } from './components/connection/connection.component';\nimport { ConnectionWrapperComponent } from './components/connection/connection-wrapper.component';\nimport { Position } from '../../types';\nimport { RenderPreset } from '../types'\n\ntype AngularComponent = Type<any>\ntype CustomizationProps<Schemes extends ClassicScheme> = {\n node?: (data: ExtractPayload<Schemes, 'node'>) => AngularComponent | null\n connection?: (data: ExtractPayload<Schemes, 'connection'>) => AngularComponent | null\n socket?: (data: ExtractPayload<Schemes, 'socket'>) => AngularComponent | null\n control?: (data: ExtractPayload<Schemes, 'control'>) => AngularComponent | null\n}\n\ntype ClassicProps<Schemes extends ClassicScheme, K> = {\n socketPositionWatcher?: SocketPositionWatcher<Scope<never, [K]>>\n customize?: CustomizationProps<Schemes>\n}\n\n/**\n * Classic preset for rendering nodes, connections, controls and sockets.\n */\nexport function setup<Schemes extends ClassicScheme, K extends AngularArea2D<Schemes>>(\n props?: ClassicProps<Schemes, K>\n): RenderPreset<Schemes, K> {\n const positionWatcher = typeof props?.socketPositionWatcher === 'undefined'\n ? getDOMSocketPosition<Schemes, any>() // fix Type instantiation is excessively deep and possibly infinite.\n : props?.socketPositionWatcher\n const { node, connection, socket, control } = props?.customize || {}\n\n\n return {\n attach(plugin) {\n positionWatcher.attach(plugin as unknown as Scope<never, [K]>)\n },\n update(context) {\n const data = context.data.payload\n\n if (context.data.type === 'connection') {\n const { start, end } = context.data\n\n return {\n data,\n ...(start ? { start } : {}),\n ...(end ? { end } : {}),\n }\n }\n return { data }\n },\n mount(context, plugin) {\n const parent = plugin.parentScope()\n const emit = parent.emit.bind(parent)\n const rendered = () => {\n emit({ type: 'rendered', data: context.data })\n }\n\n if (context.data.type === 'node') {\n const component = node ? node(context.data) : NodeComponent\n\n return {\n key: `node-${context.data.payload.id}`,\n component,\n props: {\n data: context.data.payload,\n emit,\n rendered\n }\n }\n }\n if (context.data.type === 'connection') {\n const component = connection ? connection(context.data) : ConnectionComponent\n const id = context.data.payload.id\n const { sourceOutput, targetInput, source, target } = context.data.payload\n const { start, end, payload } = context.data\n\n return {\n key: `connection-${id}`,\n component: ConnectionWrapperComponent,\n props: {\n connectionComponent: component,\n data: payload,\n start: start || ((change: any) => positionWatcher.listen(source, 'output', sourceOutput, change)),\n end: end || ((change: any) => positionWatcher.listen(target, 'input', targetInput, change)),\n path: async (start, end) => {\n const response = await plugin.emit({ type: 'connectionpath', data: { payload, points: [start, end] } })\n\n if (!response) return ''\n\n const { path, points } = response.data\n const curvature = 0.3\n\n if (!path && points.length !== 2) throw new Error('cannot render connection with a custom number of points')\n if (!path) return payload.isLoop\n ? loopConnectionPath(points as [Position, Position], curvature, 120)\n : classicConnectionPath(points as [Position, Position], curvature)\n\n return path\n },\n rendered\n }\n }\n }\n if (context.data.type === 'socket') {\n const component = socket ? socket(context.data) : SocketComponent\n\n return {\n key: `socket-${getUID()}`,\n component,\n props: {\n data: context.data.payload,\n rendered\n }\n }\n }\n if (context.data.type === 'control') {\n const component = control\n ? control(context.data)\n : (\n context.data.payload instanceof ClassicPreset.InputControl\n ? ControlComponent\n : null\n )\n\n if (component) {\n return {\n key: `control-${context.data.payload.id}`,\n component,\n props: {\n data: context.data.payload,\n rendered\n }\n }\n }\n return\n }\n return\n }\n }\n}\n","export function debounce(cb: () => void) {\n return {\n timeout: null as null | number,\n cancel() {\n if (this.timeout) {\n window.clearTimeout(this.timeout)\n this.timeout = null\n }\n },\n call(delay: number) {\n this.timeout = window.setTimeout(() => {\n cb()\n }, delay)\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'context-menu-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.sass']\n})\nexport class ContextMenuSearchComponent {\n @Input() value!: string\n @Output() update = new EventEmitter<string>()\n}\n","<input class=\"search\" [value]=\"value\" (input)=\"update.emit($any($event.target)?.value || '')\"\n data-testid=\"context-menu-search-input\" />\n","<ng-content></ng-content>\n<div class=\"subitems\" *ngIf=\"subitems && visibleSubitems\">\n <context-menu-item *ngFor=\"let item of subitems\" [delay]=\"delay\" (select)=\"item.handler()\" (hide)=\"hide.emit()\">\n {{ item.label }}\n </context-menu-item>\n</div>\n","import { ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { Item } from '../../types';\nimport { debounce } from '../../debounce';\n\n@Component({\n selector: 'context-menu-item',\n templateUrl: './item.component.html',\n styleUrls: ['./item.component.sass', '../../block.sass'],\n host: {\n 'data-testid': 'context-menu-item'\n }\n})\nexport class ContextMenuItemComponent {\n @Input() subitems?: Item[]\n @Input() delay!: number\n @Output() select = new EventEmitter<void>();\n @Output() hide = new EventEmitter<void>();\n\n @HostBinding('class.block') get block() { return true }\n @HostBinding('class.hasSubitems') get hasSubitems() { return this.subitems }\n\n @HostListener('click', ['$event']) click(event: MouseEvent) {\n event.stopPropagation()\n this.select.emit()\n this.hide.emit()\n }\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n }\n @HostListener('wheel', ['$event']) wheel(event: MouseEvent) {\n event.stopPropagation()\n }\n\n hideSubitems = debounce(() => {\n this.visibleSubitems = false\n this.cdr.detectChanges()\n })\n visibleSubitems = false\n\n @HostListener('pointerover') pointerover() {\n this.hideSubitems.cancel()\n this.visibleSubitems = true\n this.cdr.detectChanges()\n }\n @HostListener('pointerleave') pointerleave() {\n this.hideSubitems.call(this.delay)\n this.cdr.detectChanges()\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n}\n","<div class=\"block\" *ngIf=\"searchBar\">\n <context-menu-search [value]=\"filter\" (update)=\"setFilter($event)\"></context-menu-search>\n</div>\n\n<context-menu-item *ngFor=\"let item of getItems()\" [delay]=\"delay\" (select)=\"item.handler()\" [subitems]=\"item.subitems\"\n (hide)=\"onHide()\">\n {{ item.label }}\n</context-menu-item>\n","import { Component, Input, ChangeDetectorRef, OnChanges, OnDestroy, HostListener, HostBinding } from '@angular/core';\nimport { Item } from '../../types';\nimport { debounce } from '../../debounce';\n\n@Component({\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.sass', '../../block.sass'],\n host: {\n 'data-testid': 'context-menu'\n }\n})\nexport class ContextMenuComponent implements OnChanges, OnDestroy {\n @Input() items!: Item[]\n @Input() delay!: number\n @Input() searchBar?: boolean\n @Input() onHide!: () => void\n @Input() rendered!: () => void\n\n public filter: string = ''\n\n hide = debounce(() => {\n this.onHide()\n this.cdr.detectChanges()\n })\n\n @HostBinding('attr.rete-context-menu') customAttribute = ''\n\n @HostListener('mouseover') pointerover() {\n this.hide.cancel()\n this.cdr.detectChanges()\n }\n @HostListener('mouseleave') pointerleave() {\n this.hide.call(this.delay)\n this.cdr.detectChanges()\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n\n setFilter(value: string) {\n this.filter = value\n this.cdr.detectChanges()\n }\n\n getItems() {\n const filterRegexp = new RegExp(this.filter, 'i')\n const filteredList = this.items.filter(item => (\n item.label.match(filterRegexp)\n ))\n\n return filteredList\n }\n\n ngOnDestroy(): void {\n if (this.hide) this.hide.cancel()\n }\n}\n","import { BaseSchemes } from 'rete';\n\nimport { ContextMenuRender } from './types';\nimport { ContextMenuComponent } from './components/menu/menu.component';\nimport { RenderPreset } from '../types';\n\n/**\n * Preset for rendering context menu.\n */\nexport function setup<Schemes extends BaseSchemes, K extends ContextMenuRender>(props?: { delay?: number }): RenderPreset<Schemes, K> {\n const delay = typeof props?.delay === 'undefined' ? 1000 : props.delay\n\n return {\n update(context) {\n if (context.data.type === 'contextmenu') {\n return {\n items: context.data.items,\n delay,\n searchBar: context.data.searchBar,\n onHide: context.data.onHide\n }\n }\n },\n mount(context, plugin) {\n const parent = plugin.parentScope()\n const emit = parent.emit.bind(parent)\n const rendered = () => {\n emit({ type: 'rendered', data: context.data } as any)\n }\n\n if (context.data.type === 'contextmenu') {\n return {\n key: 'context-menu',\n component: ContextMenuComponent,\n props: {\n items: context.data.items,\n delay,\n searchBar: context.data.searchBar,\n onHide: context.data.onHide,\n rendered\n }\n }\n }\n return null\n }\n }\n}\n","import { Position } from '../types'\n\ntype Translate = (dx: number, dy: number) => void\ntype StartEvent = { pageX: number, pageY: number }\n\nexport function useDrag(translate: Translate, getPointer: (e: StartEvent) => Position) {\n return {\n start(e: StartEvent) {\n let previous = { ...getPointer(e) }\n\n function move(moveEvent: MouseEvent) {\n const current = { ...getPointer(moveEvent) }\n const dx = current.x - previous.x\n const dy = current.y - previous.y\n\n previous = current\n\n translate(dx, dy)\n }\n function up() {\n window.removeEventListener('pointermove', move)\n window.removeEventListener('pointerup', up)\n window.removeEventListener('pointercancel', up)\n }\n\n window.addEventListener('pointermove', move)\n window.addEventListener('pointerup', up)\n window.addEventListener('pointercancel', up)\n }\n }\n}\n","import { Component, Input, HostBinding, HostListener } from '@angular/core';\nimport { useDrag } from '../../../../shared/drag';\nimport { MinimapData } from '../../types';\n\n@Component({\n selector: 'minimap-mini-viewport',\n templateUrl: './mini-viewport.component.html',\n styleUrls: ['./mini-viewport.component.sass'],\n host: {\n 'data-testid': 'minimap-viewport'\n }\n})\nexport class MiniViewportComponent {\n @Input() left!: number\n @Input() top!: number\n @Input() width!: number\n @Input() height!: number\n @Input() containerWidth!: number\n @Input() translate!: MinimapData['translate']\n\n drag = useDrag((dx, dy) => this.onDrag(dx, dy), e => ({ x: e.pageX, y: e.pageY }))\n\n @HostBinding('style.left') get styleLeft() {\n return this.px(this.scale(this.left))\n }\n @HostBinding('style.top') get styleTop() {\n return this.px(this.scale(this.top))\n }\n @HostBinding('style.width') get styleWidth() {\n return this.px(this.scale(this.width))\n }\n @HostBinding('style.height') get styleHeight() {\n return this.px(this.scale(this.height))\n }\n\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n this.drag.start(event)\n }\n\n px(value: number) {\n return `${value}px`\n }\n\n scale(v: number) {\n return v * this.containerWidth\n }\n\n invert(v: number) {\n return v / this.containerWidth\n }\n\n onDrag(dx: number, dy: number) {\n this.translate(this.invert(-dx), this.invert(-dy))\n }\n}\n","import { Component, Input, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'minimap-mini-node',\n templateUrl: './mini-node.component.html',\n styleUrls: ['./mini-node.component.sass'],\n host: {\n 'data-testid': 'minimap-node'\n }\n})\nexport class MiniNodeComponent {\n @Input() left!: number\n @Input() top!: number\n @Input() width!: number\n @Input() height!: number\n\n @HostBinding('style.left') get styleLeft() {\n return this.px(this.left)\n }\n @HostBinding('style.top') get styleTop() {\n return this.px(this.top)\n }\n @HostBinding('style.width') get styleWidth() {\n return this.px(this.width)\n }\n @HostBinding('style.height') get styleHeight() {\n return this.px(this.height)\n }\n\n px(value: number) {\n return `${value}px`\n }\n\n}\n","<minimap-mini-node *ngFor=\"let node of nodes; trackBy: identifyMiniNode\" [left]=\"scale(node.left)\"\n [top]=\"scale(node.top)\" [width]=\"scale(node.width)\" [height]=\"scale(node.height)\">\n\n</minimap-mini-node>\n<minimap-mini-viewport [left]=\"viewport.left\" [top]=\"viewport.top\" [width]=\"viewport.width\" [height]=\"viewport.height\"\n [containerWidth]=\"el.nativeElement?.clientWidth\" [translate]=\"translate\"></minimap-mini-viewport>\n","import { Component, Input, ChangeDetectorRef, OnChanges, HostListener, ElementRef, HostBinding } from '@angular/core';\nimport { MinimapData } from '../../types';\n\n@Component({\n templateUrl: './minimap.component.html',\n styleUrls: ['./minimap.component.sass'],\n host: {\n 'data-testid': 'minimap'\n }\n})\nexport class MinimapComponent implements OnChanges {\n @Input() rendered!: () => void\n @Input() size!: number\n @Input() ratio!: MinimapData['ratio']\n @Input() nodes!: MinimapData['nodes']\n @Input() viewport!: MinimapData['viewport']\n @Input() translate!: MinimapData['translate']\n @Input() point!: MinimapData['point']\n\n @HostBinding('style.width') get width() {\n return this.px(this.size * this.ratio)\n }\n @HostBinding('style.height') get height() {\n return this.px(this.size)\n }\n\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n event.preventDefault()\n }\n\n @HostListener('dblclick', ['$event']) dblclick(event: MouseEvent) {\n event.stopPropagation()\n event.preventDefault()\n\n if (!this.el.nativeElement) return\n const box = this.el.nativeElement.getBoundingClientRect()\n const x = (event.clientX - box.left) / (this.size * this.ratio)\n const y = (event.clientY - box.top) / (this.size * this.ratio)\n\n this.point(x, y)\n }\n\n constructor(public el: ElementRef, private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n\n px(value: number) {\n return `${value}px`\n }\n\n scale(value: number) {\n if (!this.el.nativeElement) return 0\n\n return value * this.el.nativeElement.clientWidth\n }\n\n identifyMiniNode(_: number, item: MinimapData['nodes'][number]) {\n return [item.top, item.left].join('_')\n }\n}\n","import { BaseSchemes } from 'rete';\n\nimport { RenderPreset } from '../types';\nimport { MinimapRender } from './types';\nimport { MinimapComponent } from './components/minimap/minimap.component';\n\n/**\n * Preset for rendering minimap.\n */\nexport function setup<Schemes extends BaseSchemes, K extends MinimapRender>(props?: { size?: number }): RenderPreset<Schemes, K> {\n return {\n update(context) {\n if (context.data.type === 'minimap') {\n return {\n nodes: context.data.nodes,\n size: props?.size || 200,\n ratio: context.data.ratio,\n viewport: context.data.viewport,\n translate: context.data.translate,\n point: context.data.point\n }\n }\n return null\n },\n mount(context, plugin) {\n const parent = plugin.parentScope()\n const emit = parent.emit.bind(parent)\n const rendered = () => {\n emit({ type: 'rendered', data: context.data } as any)\n }\n\n if (context.data.type === 'minimap') {\n return {\n key: 'rete-minimap',\n component: MinimapComponent,\n props: {\n nodes: context.data.nodes,\n size: props?.size || 200,\n ratio: context.data.ratio,\n viewport: context.data.viewport,\n translate: context.data.translate,\n point: context.data.point,\n rendered\n }\n }\n }\n return null\n }\n }\n}\n","import { Component, Input, ChangeDetectorRef, OnChanges, HostListener, HostBinding, Output, EventEmitter } from '@angular/core';\nimport { Position } from '../../types';\nimport { useDrag } from '../../../../shared/drag'\n\nconst pinSize = 20\n\n@Component({\n selector: 'reroute-pin',\n template: '',\n styleUrls: ['./pin.component.sass'],\n host: {\n 'data-testid': 'pin'\n }\n})\nexport class PinComponent implements OnChanges {\n @Input() position!: Position\n @Input() selected?: boolean\n @Input() getPointer!: () => Position\n @Output() menu = new EventEmitter<void>()\n @Output() translate = new EventEmitter<{ dx: number, dy: number }>()\n @Output() down = new EventEmitter<void>()\n\n drag = useDrag((dx, dy) => {\n this.translate.emit({ dx, dy })\n }, () => this.getPointer())\n\n @HostBinding('class.selected') get _selected() {\n return this.selected\n }\n @HostBinding('style.top') get top() {\n return `${this.position.y - pinSize / 2}px`\n }\n @HostBinding('style.left') get left() {\n return `${this.position.x - pinSize / 2}px`\n }\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n event.preventDefault()\n\n this.drag.start(event)\n this.down.emit()\n }\n @HostListener('contextmenu', ['$event']) contextmenu(event: MouseEvent) {\n event.stopPropagation()\n event.preventDefault()\n\n this.menu.emit()\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n // this.cdr.detach()\n }\n\n ngOnChanges(): void {\n // this.cdr.detectChanges()\n // requestAnimationFrame(() => this.rendered())\n }\n\n}\n","<reroute-pin *ngFor=\"let pin of pins; trackBy: track\" [position]=\"pin.position\" [selected]=\"pin.selected\"\n (menu)=\"menu && menu(pin.id)\" (translate)=\"translate && translate(pin.id, $event.dx, $event.dy)\"\n (down)=\"down && down(pin.id)\" [getPointer]=\"getPointer\"></reroute-pin>\n","import { Component, Input, ChangeDetectorRef, OnChanges } from '@angular/core';\nimport { Pin, PinData, Position } from '../../types';\n\n@Component({\n templateUrl: './pins.component.html'\n})\nexport class PinsComponent implements OnChanges {\n @Input() rendered!: () => void\n @Input() pins!: PinData['pins']\n @Input() down?: (id: string) => void\n @Input() translate?: (id: string, dx: number, dy: number) => void\n @Input() menu?: (id: string) => void\n @Input() getPointer?: () => Position\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n\n track(_: number, item: Pin) {\n return item.id\n }\n}\n","import { BaseSchemes } from 'rete';\nimport { BaseAreaPlugin } from 'rete-area-plugin';\n\nimport { RenderPreset } from '../types'\nimport { PinsRender } from './types';\nimport { PinsComponent } from './components/pins/pins.component';\n\ntype Props = {\n translate?: (id: string, dx: number, dy: number) => void\n contextMenu?: (id: string) => void\n pointerdown?: (id: string) => void\n}\n\n/**\n * Preset for rendering pins.\n */\nexport function setup<Schemes extends BaseSchemes, K extends PinsRender>(props?: Props): RenderPreset<Schemes, K> {\n const getProps = () => ({\n menu: props?.contextMenu || (() => null),\n translate: props?.translate || (() => null),\n down: props?.pointerdown || (() => null)\n })\n\n return {\n update(context) {\n if (context.data.type === 'reroute-pins') {\n return {\n ...getProps(),\n pins: context.data.data.pins\n }\n }\n return null\n },\n mount(context, plugin) {\n const area = plugin.parentScope<BaseAreaPlugin<Schemes, PinsRender>>(BaseAreaPlugin)\n const rendered = () => {\n area.emit({ type: 'rendered', data: context.data })\n }\n\n if (context.data.type === 'reroute-pins') {\n return {\n key: 'rete-reroute',\n component: PinsComponent,\n props: {\n ...getProps(),\n pins: context.data.data.pins,\n rendered,\n getPointer: () => area.area.pointer\n }\n }\n }\n return null\n }\n }\n}\n","/**\n * Built-in presets, responsible for rendering different parts of the editor.\n * @module\n */\nexport * as classic from './classic'\nexport * as contextMenu from './context-menu'\nexport * as minimap from './minimap'\nexport * as reroute from './reroute'\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { NodeComponent } from './presets/classic/components/node/node.component';\nimport { ConnectionComponent } from './presets/classic/components/connection/connection.component';\nimport { SocketComponent } from './presets/classic/components/socket/socket.component';\nimport { ConnectionWrapperComponent } from './presets/classic/components/connection/connection-wrapper.component';\nimport { ControlComponent } from './presets/classic/components/control/control.component';\nimport { RefDirective } from './ref';\n\n@NgModule({\n declarations: [\n RefDirective,\n NodeComponent,\n ConnectionComponent,\n ConnectionWrapperComponent,\n SocketComponent,\n ControlComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n RefDirective,\n NodeComponent,\n ConnectionComponent,\n ConnectionWrapperComponent,\n SocketComponent,\n ControlComponent\n ]\n})\nexport class ReteModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ContextMenuComponent } from './components/menu/menu.component'\nimport { ContextMenuSearchComponent } from './components/search/search.component'\nimport { ContextMenuItemComponent } from './components/item/item.component'\n\n@NgModule({\n declarations: [\n ContextMenuComponent,\n ContextMenuSearchComponent,\n ContextMenuItemComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ContextMenuComponent,\n ContextMenuSearchComponent,\n ContextMenuItemComponent,\n ]\n})\nexport class ReteContextMenuModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MinimapComponent } from './components/minimap/minimap.component';\nimport { MiniViewportComponent } from './components/mini-viewport/mini-viewport.component';\nimport { MiniNodeComponent } from './components/mini-node/mini-node.component';\n\n@NgModule({\n declarations: [\n MinimapComponent,\n MiniViewportComponent,\n MiniNodeComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n MinimapComponent,\n MiniViewportComponent,\n MiniNodeComponent\n ]\n})\nexport class ReteMinimapModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PinsComponent } from './components/pins/pins.component';\nimport { PinComponent } from './components/pin/pin.component';\n\n@NgModule({\n declarations: [\n PinsComponent,\n PinComponent,\n ],\n imports: [\n CommonModule\n ],\n exports: [\n PinsComponent,\n PinComponent,\n ]\n})\nexport class ReteRerouteModule {}\n","import { Injector } from '@angular/core';\nimport { BaseSchemes, CanAssignSignal, Scope } from 'rete'\nimport { createCustomElement } from '@angular/elements';\n\nimport { NgElement, NodeProps, Position, RenderSignal } from './types'\nimport { RenderPreset } from './presets/types';\n\ntype Item = { key: string, ngElement: NgElement }\n\ntype Renderer = {\n get(element: HTMLElement): Item | undefined\n mount(element: HTMLElement, key: string, component: any, injector: Injector, props: Record<string, unknown>): void\n update(item: Item, props: Record<string, unknown>): void\n unmount(element: HTMLElement): void\n}\nfunction getRenderer(): Renderer {\n const elements = new WeakMap<HTMLElement, Item>()\n\n return {\n get(element) {\n return elements.get(element)\n },\n mount(element, key, component, injector, props) {\n // LIMITATION: If an element is remounted with the same identifier, the component cannot be replaced\n const exists = customElements.get(key)\n\n if (!exists) {\n customElements.define(key, createCustomElement(component, { injector }))\n }\n\n const ngElement = document.createElement(key) as NodeProps & NgElement & typeof props\n\n Object.keys(props).forEach(key => {\n ngElement[key] = props[key]\n })\n\n element.appendChild(ngElement)\n elements.set(element, { key, ngElement })\n },\n update({ ngElement }, props) {\n Object.keys(props).forEach(key => {\n ngElement.ngElementStrategy.setInputValue(key, props[key])\n })\n ngElement.ngElementStrategy.setInputValue('seed', Math.random())\n },\n unmount(element) {\n const existing = elements.get(element)\n\n if (existing) {\n existing.ngElement.remove()\n elements.delete(element)\n }\n }\n }\n}\n\n/**\n * Signals that can be emitted by the plugin\n * @priority 10\n */\nexport type Produces<Schemes extends BaseSchemes> =\n | { type: 'connectionpath', data: { payload: Schemes['Connection'], path?: string, points: Position[] } }\n\ntype Requires<Schemes extends BaseSchemes> =\n | RenderSignal<'node', { payload: Schemes['Node'] }>\n | RenderSignal<'connection', { payload: Schemes['Connection'], start?: Position, end?: Position }>\n | { type: 'unmount', data: { element: HTMLElement } }\n\n/**\n * Angular plugin. Renders nodes, connections and other elements using React.\n * @priority 9\n * @emits connectionpath\n * @listens render\n * @listens unmount\n */\nexport class AngularPlugin<Schemes extends BaseSchemes, T = Requires<Schemes>> extends Scope<Produces<Schemes>, [Requires<Schemes> | T]> {\n presets: RenderPreset<Schemes, T>[] = []\n renderer: Renderer\n owners = new WeakMap<HTMLElement, RenderPreset<Schemes, T>>()\n\n /**\n * @constructor\n * @param params Plugin properties\n * @param params.injector Angular's Injector instance\n */\n constructor(private params: { injector: Injector }) {\n super('angular-render')\n this.renderer = getRenderer()\n\n this.addPipe(context => {\n if (!context || typeof context !== 'object' || !('type' in context)) return context\n if (context.type === 'unmount') {\n this.unmount(context.data.element)\n } else if (context.type === 'render') {\n if ('filled' in context.data && context.data.filled) {\n return context\n }\n if (this.mount(context.data.element, context)) {\n return {\n ...context,\n data: {\n ...context.data,\n filled: true\n }\n } as typeof context\n }\n }\n return context\n })\n }\n\n setParent(scope: Scope<Requires<Schemes> | T>): void {\n super.setParent(scope)\n\n this.presets.forEach(preset => {\n if (preset.attach) preset.attach(this)\n })\n }\n\n\n private unmount(element: HTMLElement) {\n this.owners.delete(element)\n this.renderer.unmount(element)\n }\n\n private mount(element: HTMLElement, context: Requires<Schemes>) {\n const existing = this.renderer.get(element)\n\n if (existing) {\n this.presets.forEach(preset => {\n if (this.owners.get(element) !== preset) return\n const result = preset.update(context as unknown as Extract<T, { type: 'render' }>, this)\n\n if (result) {\n this.renderer.update(existing, result)\n }\n })\n return true\n }\n\n for (const preset of this.presets) {\n const result = preset.mount(context as unknown as Extract<T, { type: 'render' }>, this)\n\n if (!result) continue\n\n const { key, component, props } = result\n\n this.renderer.mount(element, key, component, this.params.injector, props)\n\n this.owners.set(element, preset)\n return true\n }\n return\n }\n\n /**\n * Adds a preset to the plugin.\n * @param preset Preset that can render nodes, connections and other elements.\n */\n public addPreset<K>(preset: RenderPreset<Schemes, CanAssignSignal<T, K> extends true ? K : 'Cannot apply preset. Provided signals are not compatible'>) {\n const local = preset as unknown as RenderPreset<Schemes, T>\n\n if (local.attach) local.attach(this)\n this.presets.push(local)\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c0","setup"],"mappings":"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"}
1
+ {"version":3,"file":"rete-angular-plugin-ng16.mjs","sources":["../../../ng16/.src/ref.ts","../../../ng16/.src/presets/classic/components/node/node.component.html","../../../ng16/.src/presets/classic/components/node/node.component.ts","../../../ng16/.src/presets/classic/components/socket/socket.component.ts","../../../ng16/.src/presets/classic/components/control/control.component.ts","../../../ng16/.src/presets/classic/components/control/control.component.html","../../../ng16/.src/presets/classic/components/connection/connection.component.ts","../../../ng16/.src/presets/classic/components/connection/connection.component.html","../../../ng16/.src/presets/classic/components/connection/connection-wrapper.component.ts","../../../ng16/.src/presets/classic/index.ts","../../../ng16/.src/presets/context-menu/debounce.ts","../../../ng16/.src/presets/context-menu/components/search/search.component.ts","../../../ng16/.src/presets/context-menu/components/search/search.component.html","../../../ng16/.src/presets/context-menu/components/item/item.component.html","../../../ng16/.src/presets/context-menu/components/item/item.component.ts","../../../ng16/.src/presets/context-menu/components/menu/menu.component.html","../../../ng16/.src/presets/context-menu/components/menu/menu.component.ts","../../../ng16/.src/presets/context-menu/index.ts","../../../ng16/.src/shared/drag.ts","../../../ng16/.src/presets/minimap/components/mini-viewport/mini-viewport.component.ts","../../../ng16/.src/presets/minimap/components/mini-node/mini-node.component.ts","../../../ng16/.src/presets/minimap/components/minimap/minimap.component.html","../../../ng16/.src/presets/minimap/components/minimap/minimap.component.ts","../../../ng16/.src/presets/minimap/index.ts","../../../ng16/.src/presets/reroute/components/pin/pin.component.ts","../../../ng16/.src/presets/reroute/components/pins/pins.component.html","../../../ng16/.src/presets/reroute/components/pins/pins.component.ts","../../../ng16/.src/presets/reroute/index.ts","../../../ng16/.src/presets/index.ts","../../../ng16/.src/module.ts","../../../ng16/.src/presets/context-menu/module.ts","../../../ng16/.src/presets/minimap/module.ts","../../../ng16/.src/presets/reroute/module.ts","../../../ng16/.src/reflect.ts","../../../ng16/.src/core.ts","../../../ng16/.src/rete-angular-plugin-ng16.ts"],"sourcesContent":["import { Input, ElementRef, OnChanges, OnDestroy } from '@angular/core';\nimport { Directive } from '@angular/core';\n\n@Directive({\n selector: '[refComponent]'\n})\nexport class RefDirective implements OnChanges, OnDestroy {\n @Input() data!: any\n @Input() emit!: any\n\n constructor(private el: ElementRef) { }\n\n ngOnChanges() {\n this.emit({ type: 'render', data: { ...this.data, element: this.el.nativeElement } })\n }\n\n ngOnDestroy() {\n this.emit({ type: 'unmount', data: { element: this.el.nativeElement } })\n }\n}\n","<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'output-'+output.key\">\n <div class=\"output-title\" data-testid=\"output-title\">{{output.value?.label}}</div>\n <div\n class=\"output-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'output', key: output.key, nodeId: data.id, payload: output.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"output-socket\"\n ></div>\n</div>\n<div\n class=\"control\"\n *ngFor=\"let control of data.controls | keyvalue: sortByIndex\"\n refComponent\n [data]=\"{type: 'control', payload: control.value }\"\n [emit]=\"emit\"\n [attr.data-testid]=\"'control-'+control.key\"\n></div>\n<div class=\"input\" *ngFor=\"let input of data.inputs | keyvalue: sortByIndex\" [attr.data-testid]=\"'input-'+input.key\">\n <div\n class=\"input-socket\"\n refComponent\n [data]=\"{type: 'socket', side: 'input', key: input.key, nodeId: data.id, payload: input.value?.socket, seed: seed }\"\n [emit]=\"emit\"\n data-testid=\"input-socket\"\n ></div>\n <div class=\"input-title\" data-testid=\"input-title\" *ngIf=\"!input.value?.control || !input.value?.showControl\">{{input.value?.label}}</div>\n <div\n class=\"input-control\"\n [style.display]=\"input.value?.control && input.value?.showControl ? '' : 'none'\"\n refComponent\n [data]=\"{type: 'control', payload: input.value?.control }\"\n [emit]=\"emit\"\n data-testid=\"input-control\"\n ></div>\n</div>\n","import { Component, Input, HostBinding, ChangeDetectorRef, OnChanges } from '@angular/core';\nimport { ClassicPreset as Classic } from 'rete';\nimport { KeyValue } from '@angular/common';\n// [imports]\n\ntype NodeExtraData = { width?: number, height?: number }\ntype SortValue<N extends Classic.Node> = (N['controls'] | N['inputs'] | N['outputs'])[string]\n\n@Component({\n // [component-directive]\n templateUrl: './node.component.html',\n styleUrls: ['./node.component.sass'],\n host: {\n 'data-testid': 'node'\n }\n})\nexport class NodeComponent implements OnChanges {\n @Input() data!: Classic.Node & NodeExtraData;\n @Input() emit!: (data: any) => void\n @Input() rendered!: () => void\n\n seed = 0\n\n @HostBinding('style.width.px') get width() {\n return this.data.width\n }\n\n @HostBinding('style.height.px') get height() {\n return this.data.height\n }\n\n @HostBinding('class.selected') get selected() {\n return this.data.selected\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n this.seed++ // force render sockets\n }\n\n sortByIndex<N extends Classic.Node, I extends KeyValue<string, SortValue<N>>>(a: I, b: I) {\n const ai = a.value?.index || 0\n const bi = b.value?.index || 0\n\n return ai - bi\n }\n}\n","import { Component, Input, HostBinding, AfterViewChecked, ChangeDetectorRef, OnChanges } from '@angular/core';\n\n@Component({\n template: ``,\n styleUrls: ['./socket.component.sass']\n})\nexport class SocketComponent implements OnChanges {\n @Input() data!: any;\n @Input() rendered!: any;\n\n\n @HostBinding('title') get title() {\n return this.data.name\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n}\n","import { Component, Input, OnChanges, SimpleChanges, ChangeDetectorRef, HostListener } from '@angular/core';\nimport { ClassicPreset } from 'rete';\n\n@Component({\n templateUrl: `./control.component.html`,\n styleUrls: ['./control.component.sass']\n})\nexport class ControlComponent<T extends 'text' | 'number'> implements OnChanges {\n @Input() data!: ClassicPreset.InputControl<T>;\n @Input() rendered!: any;\n\n\n @HostListener('pointerdown', ['$event'])\n public pointerdown(event: any) {\n event.stopPropagation();\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const seed = changes['seed']\n const data = changes['data']\n\n if ((seed && seed.currentValue !== seed.previousValue)\n || (data && data.currentValue !== data.previousValue)) {\n this.cdr.detectChanges()\n }\n requestAnimationFrame(() => this.rendered())\n }\n\n onChange(e: Event) {\n const target = e.target as HTMLInputElement\n const value = (this.data.type === 'number'\n ? +target.value\n : target.value) as ClassicPreset.InputControl<T>['value']\n\n this.data.setValue(value)\n this.cdr.detectChanges()\n }\n}\n","<input\n [value]=\"data.value\"\n [readonly]=\"data.readonly\"\n [type]=\"data.type\"\n (input)=\"onChange($event)\"\n/>\n","import { Component, Input } from '@angular/core';\nimport { ClassicPreset } from 'rete';\nimport { classicConnectionPath } from 'rete-render-utils'\nimport { Position } from '../../../../types';\n\n\n@Component({\n selector: 'connection',\n templateUrl: './connection.component.html',\n styleUrls: ['./connection.component.sass']\n})\nexport class ConnectionComponent {\n @Input() data!: ClassicPreset.Connection<ClassicPreset.Node, ClassicPreset.Node>;\n @Input() start: Position\n @Input() end: Position\n @Input() path: string\n}\n","<svg data-testid=\"connection\">\n <path [attr.d]=\"path\" />\n</svg>\n","import { Component, Input, OnInit, ChangeDetectorRef, OnChanges, ViewContainerRef, ComponentFactoryResolver, ComponentRef } from '@angular/core';\nimport { ClassicPreset } from 'rete';\nimport { Position } from '../../../../types';\n\ntype PositionWatcher = (cb: (value: Position) => void) => (() => void)\n\n@Component({\n template: ''\n})\nexport class ConnectionWrapperComponent implements OnInit, OnChanges{\n @Input() data!: ClassicPreset.Connection<ClassicPreset.Node, ClassicPreset.Node>;\n @Input() start!: Position | PositionWatcher\n @Input() end!: Position | PositionWatcher\n @Input() path!: (start: Position, end: Position) => Promise<string>\n @Input() rendered!: any\n @Input() connectionComponent!: any\n\n ref!: ComponentRef<any>\n\n startOb: Position | null = null\n get _start(): Position | null {\n return 'x' in this.start ? this.start : this.startOb\n }\n endOb: Position | null = null\n get _end(): Position | null {\n return 'x' in this.end ? this.end : this.endOb\n }\n _path: string\n\n constructor(private cdr: ChangeDetectorRef, public viewContainerRef: ViewContainerRef, private componentFactoryResolver: ComponentFactoryResolver) {\n this.cdr.detach()\n }\n\n async ngOnChanges(): Promise<void> {\n await this.updatePath()\n requestAnimationFrame(() => this.rendered())\n this.cdr.detectChanges()\n this.update()\n }\n\n async updatePath() {\n if (this._start && this._end) {\n this._path = await this.path(this._start, this._end)\n }\n }\n\n ngOnInit() {\n if (typeof this.start === 'function') {\n this.start(async value => {\n this.startOb = value\n await this.updatePath()\n this.cdr.detectChanges()\n this.update()\n })\n }\n if (typeof this.end === 'function') {\n this.end(async value => {\n this.endOb = value\n await this.updatePath()\n this.cdr.detectChanges()\n this.update()\n })\n }\n const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.connectionComponent);\n this.viewContainerRef.clear();\n\n this.ref = this.viewContainerRef.createComponent(componentFactory);\n this.update()\n }\n\n update() {\n this.ref.instance.data = this.data\n this.ref.instance.start = this._start\n this.ref.instance.end = this._end\n this.ref.instance.path = this._path\n }\n}\n","import { Type } from '@angular/core';\nimport { ClassicPreset, getUID, Scope } from 'rete';\nimport { classicConnectionPath, loopConnectionPath, SocketPositionWatcher, getDOMSocketPosition } from 'rete-render-utils';\nimport { AngularArea2D, ClassicScheme, ExtractPayload } from './types';\nimport { NodeComponent } from './components/node/node.component';\nimport { SocketComponent } from './components/socket/socket.component';\nimport { ControlComponent } from './components/control/control.component';\nimport { ConnectionComponent } from './components/connection/connection.component';\nimport { ConnectionWrapperComponent } from './components/connection/connection-wrapper.component';\nimport { Position } from '../../types';\nimport { RenderPreset } from '../types'\n\ntype AngularComponent = Type<any>\ntype CustomizationProps<Schemes extends ClassicScheme> = {\n node?: (data: ExtractPayload<Schemes, 'node'>) => AngularComponent | null\n connection?: (data: ExtractPayload<Schemes, 'connection'>) => AngularComponent | null\n socket?: (data: ExtractPayload<Schemes, 'socket'>) => AngularComponent | null\n control?: (data: ExtractPayload<Schemes, 'control'>) => AngularComponent | null\n}\n\ntype ClassicProps<Schemes extends ClassicScheme, K> = {\n socketPositionWatcher?: SocketPositionWatcher<Scope<never, [K]>>\n customize?: CustomizationProps<Schemes>\n}\n\n/**\n * Classic preset for rendering nodes, connections, controls and sockets.\n */\nexport function setup<Schemes extends ClassicScheme, K extends AngularArea2D<Schemes>>(\n props?: ClassicProps<Schemes, K>\n): RenderPreset<Schemes, K> {\n const positionWatcher = typeof props?.socketPositionWatcher === 'undefined'\n ? getDOMSocketPosition<Schemes, any>() // fix Type instantiation is excessively deep and possibly infinite.\n : props?.socketPositionWatcher\n const { node, connection, socket, control } = props?.customize || {}\n\n\n return {\n attach(plugin) {\n positionWatcher.attach(plugin as unknown as Scope<never, [K]>)\n },\n update(context) {\n const data = context.data.payload\n\n if (context.data.type === 'connection') {\n const { start, end } = context.data\n\n return {\n data,\n ...(start ? { start } : {}),\n ...(end ? { end } : {}),\n }\n }\n return { data }\n },\n mount(context, plugin) {\n const parent = plugin.parentScope()\n const emit = parent.emit.bind(parent)\n const rendered = () => {\n emit({ type: 'rendered', data: context.data })\n }\n\n if (context.data.type === 'node') {\n const component = node ? node(context.data) : NodeComponent\n\n return {\n key: `node-${context.data.payload.id}`,\n component,\n props: {\n data: context.data.payload,\n emit,\n rendered\n }\n }\n }\n if (context.data.type === 'connection') {\n const component = connection ? connection(context.data) : ConnectionComponent\n const id = context.data.payload.id\n const { sourceOutput, targetInput, source, target } = context.data.payload\n const { start, end, payload } = context.data\n\n return {\n key: `connection-${id}`,\n component: ConnectionWrapperComponent,\n props: {\n connectionComponent: component,\n data: payload,\n start: start || ((change: any) => positionWatcher.listen(source, 'output', sourceOutput, change)),\n end: end || ((change: any) => positionWatcher.listen(target, 'input', targetInput, change)),\n path: async (start, end) => {\n const response = await plugin.emit({ type: 'connectionpath', data: { payload, points: [start, end] } })\n\n if (!response) return ''\n\n const { path, points } = response.data\n const curvature = 0.3\n\n if (!path && points.length !== 2) throw new Error('cannot render connection with a custom number of points')\n if (!path) return payload.isLoop\n ? loopConnectionPath(points as [Position, Position], curvature, 120)\n : classicConnectionPath(points as [Position, Position], curvature)\n\n return path\n },\n rendered\n }\n }\n }\n if (context.data.type === 'socket') {\n const component = socket ? socket(context.data) : SocketComponent\n\n return {\n key: `socket-${getUID()}`,\n component,\n props: {\n data: context.data.payload,\n rendered\n }\n }\n }\n if (context.data.type === 'control') {\n const component = control\n ? control(context.data)\n : (\n context.data.payload instanceof ClassicPreset.InputControl\n ? ControlComponent\n : null\n )\n\n if (component) {\n return {\n key: `control-${context.data.payload.id}`,\n component,\n props: {\n data: context.data.payload,\n rendered\n }\n }\n }\n return\n }\n return\n }\n }\n}\n","export function debounce(cb: () => void) {\n return {\n timeout: null as null | number,\n cancel() {\n if (this.timeout) {\n window.clearTimeout(this.timeout)\n this.timeout = null\n }\n },\n call(delay: number) {\n this.timeout = window.setTimeout(() => {\n cb()\n }, delay)\n }\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\n@Component({\n selector: 'context-menu-search',\n templateUrl: './search.component.html',\n styleUrls: ['./search.component.sass']\n})\nexport class ContextMenuSearchComponent {\n @Input() value!: string\n @Output() update = new EventEmitter<string>()\n}\n","<input class=\"search\" [value]=\"value\" (input)=\"update.emit($any($event.target)?.value || '')\"\n data-testid=\"context-menu-search-input\" />\n","<ng-content></ng-content>\n<div class=\"subitems\" *ngIf=\"subitems && visibleSubitems\">\n <context-menu-item *ngFor=\"let item of subitems\" [delay]=\"delay\" (select)=\"item.handler()\" (hide)=\"hide.emit()\">\n {{ item.label }}\n </context-menu-item>\n</div>\n","import { ChangeDetectorRef, Component, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { Item } from '../../types';\nimport { debounce } from '../../debounce';\n// [imports]\n\n@Component({\n // [component-directive]\n selector: 'context-menu-item',\n templateUrl: './item.component.html',\n styleUrls: ['./item.component.sass', '../../block.sass'],\n host: {\n 'data-testid': 'context-menu-item'\n }\n})\nexport class ContextMenuItemComponent {\n @Input() subitems?: Item[]\n @Input() delay!: number\n @Output() select = new EventEmitter<void>();\n @Output() hide = new EventEmitter<void>();\n\n @HostBinding('class.block') get block() { return true }\n @HostBinding('class.hasSubitems') get hasSubitems() { return this.subitems }\n\n @HostListener('click', ['$event']) click(event: MouseEvent) {\n event.stopPropagation()\n this.select.emit()\n this.hide.emit()\n }\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n }\n @HostListener('wheel', ['$event']) wheel(event: MouseEvent) {\n event.stopPropagation()\n }\n\n hideSubitems = debounce(() => {\n this.visibleSubitems = false\n this.cdr.detectChanges()\n })\n visibleSubitems = false\n\n @HostListener('pointerover') pointerover() {\n this.hideSubitems.cancel()\n this.visibleSubitems = true\n this.cdr.detectChanges()\n }\n @HostListener('pointerleave') pointerleave() {\n this.hideSubitems.call(this.delay)\n this.cdr.detectChanges()\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n}\n","<div class=\"block\" *ngIf=\"searchBar\">\n <context-menu-search [value]=\"filter\" (update)=\"setFilter($event)\"></context-menu-search>\n</div>\n\n<context-menu-item *ngFor=\"let item of getItems()\" [delay]=\"delay\" (select)=\"item.handler()\" [subitems]=\"item.subitems\"\n (hide)=\"onHide()\">\n {{ item.label }}\n</context-menu-item>\n","import { Component, Input, ChangeDetectorRef, OnChanges, OnDestroy, HostListener, HostBinding } from '@angular/core';\nimport { Item } from '../../types';\nimport { debounce } from '../../debounce';\n// [imports]\n\n@Component({\n // [component-directive]\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.sass', '../../block.sass'],\n host: {\n 'data-testid': 'context-menu'\n }\n})\nexport class ContextMenuComponent implements OnChanges, OnDestroy {\n @Input() items!: Item[]\n @Input() delay!: number\n @Input() searchBar?: boolean\n @Input() onHide!: () => void\n @Input() rendered!: () => void\n\n public filter: string = ''\n\n hide = debounce(() => {\n this.onHide()\n this.cdr.detectChanges()\n })\n\n @HostBinding('attr.rete-context-menu') customAttribute = ''\n\n @HostListener('mouseover') pointerover() {\n this.hide.cancel()\n this.cdr.detectChanges()\n }\n @HostListener('mouseleave') pointerleave() {\n this.hide.call(this.delay)\n this.cdr.detectChanges()\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n\n setFilter(value: string) {\n this.filter = value\n this.cdr.detectChanges()\n }\n\n getItems() {\n const filterRegexp = new RegExp(this.filter, 'i')\n const filteredList = this.items.filter(item => (\n item.label.match(filterRegexp)\n ))\n\n return filteredList\n }\n\n ngOnDestroy(): void {\n if (this.hide) this.hide.cancel()\n }\n}\n","import { BaseSchemes } from 'rete';\n\nimport { ContextMenuRender } from './types';\nimport { ContextMenuComponent } from './components/menu/menu.component';\nimport { RenderPreset } from '../types';\n\n/**\n * Preset for rendering context menu.\n */\nexport function setup<Schemes extends BaseSchemes, K extends ContextMenuRender>(props?: { delay?: number }): RenderPreset<Schemes, K> {\n const delay = typeof props?.delay === 'undefined' ? 1000 : props.delay\n\n return {\n update(context) {\n if (context.data.type === 'contextmenu') {\n return {\n items: context.data.items,\n delay,\n searchBar: context.data.searchBar,\n onHide: context.data.onHide\n }\n }\n },\n mount(context, plugin) {\n const parent = plugin.parentScope()\n const emit = parent.emit.bind(parent)\n const rendered = () => {\n emit({ type: 'rendered', data: context.data } as any)\n }\n\n if (context.data.type === 'contextmenu') {\n return {\n key: 'context-menu',\n component: ContextMenuComponent,\n props: {\n items: context.data.items,\n delay,\n searchBar: context.data.searchBar,\n onHide: context.data.onHide,\n rendered\n }\n }\n }\n return null\n }\n }\n}\n","import { Position } from '../types'\n\ntype Translate = (dx: number, dy: number) => void\ntype StartEvent = { pageX: number, pageY: number }\n\nexport function useDrag(translate: Translate, getPointer: (e: StartEvent) => Position) {\n return {\n start(e: StartEvent) {\n let previous = { ...getPointer(e) }\n\n function move(moveEvent: MouseEvent) {\n const current = { ...getPointer(moveEvent) }\n const dx = current.x - previous.x\n const dy = current.y - previous.y\n\n previous = current\n\n translate(dx, dy)\n }\n function up() {\n window.removeEventListener('pointermove', move)\n window.removeEventListener('pointerup', up)\n window.removeEventListener('pointercancel', up)\n }\n\n window.addEventListener('pointermove', move)\n window.addEventListener('pointerup', up)\n window.addEventListener('pointercancel', up)\n }\n }\n}\n","import { Component, Input, HostBinding, HostListener } from '@angular/core';\nimport { useDrag } from '../../../../shared/drag';\nimport { MinimapData } from '../../types';\n\n@Component({\n selector: 'minimap-mini-viewport',\n templateUrl: './mini-viewport.component.html',\n styleUrls: ['./mini-viewport.component.sass'],\n host: {\n 'data-testid': 'minimap-viewport'\n }\n})\nexport class MiniViewportComponent {\n @Input() left!: number\n @Input() top!: number\n @Input() width!: number\n @Input() height!: number\n @Input() containerWidth!: number\n @Input() translate!: MinimapData['translate']\n\n drag = useDrag((dx, dy) => this.onDrag(dx, dy), e => ({ x: e.pageX, y: e.pageY }))\n\n @HostBinding('style.left') get styleLeft() {\n return this.px(this.scale(this.left))\n }\n @HostBinding('style.top') get styleTop() {\n return this.px(this.scale(this.top))\n }\n @HostBinding('style.width') get styleWidth() {\n return this.px(this.scale(this.width))\n }\n @HostBinding('style.height') get styleHeight() {\n return this.px(this.scale(this.height))\n }\n\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n this.drag.start(event)\n }\n\n px(value: number) {\n return `${value}px`\n }\n\n scale(v: number) {\n return v * this.containerWidth\n }\n\n invert(v: number) {\n return v / this.containerWidth\n }\n\n onDrag(dx: number, dy: number) {\n this.translate(this.invert(-dx), this.invert(-dy))\n }\n}\n","import { Component, Input, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'minimap-mini-node',\n templateUrl: './mini-node.component.html',\n styleUrls: ['./mini-node.component.sass'],\n host: {\n 'data-testid': 'minimap-node'\n }\n})\nexport class MiniNodeComponent {\n @Input() left!: number\n @Input() top!: number\n @Input() width!: number\n @Input() height!: number\n\n @HostBinding('style.left') get styleLeft() {\n return this.px(this.left)\n }\n @HostBinding('style.top') get styleTop() {\n return this.px(this.top)\n }\n @HostBinding('style.width') get styleWidth() {\n return this.px(this.width)\n }\n @HostBinding('style.height') get styleHeight() {\n return this.px(this.height)\n }\n\n px(value: number) {\n return `${value}px`\n }\n\n}\n","<minimap-mini-node *ngFor=\"let node of nodes; trackBy: identifyMiniNode\" [left]=\"scale(node.left)\"\n [top]=\"scale(node.top)\" [width]=\"scale(node.width)\" [height]=\"scale(node.height)\">\n\n</minimap-mini-node>\n<minimap-mini-viewport [left]=\"viewport.left\" [top]=\"viewport.top\" [width]=\"viewport.width\" [height]=\"viewport.height\"\n [containerWidth]=\"el.nativeElement?.clientWidth\" [translate]=\"translate\"></minimap-mini-viewport>\n","import { Component, Input, ChangeDetectorRef, OnChanges, HostListener, ElementRef, HostBinding } from '@angular/core';\nimport { MinimapData } from '../../types';\n// [imports]\n\n@Component({\n // [component-directive]\n templateUrl: './minimap.component.html',\n styleUrls: ['./minimap.component.sass'],\n host: {\n 'data-testid': 'minimap'\n }\n})\nexport class MinimapComponent implements OnChanges {\n @Input() rendered!: () => void\n @Input() size!: number\n @Input() ratio!: MinimapData['ratio']\n @Input() nodes!: MinimapData['nodes']\n @Input() viewport!: MinimapData['viewport']\n @Input() translate!: MinimapData['translate']\n @Input() point!: MinimapData['point']\n\n @HostBinding('style.width') get width() {\n return this.px(this.size * this.ratio)\n }\n @HostBinding('style.height') get height() {\n return this.px(this.size)\n }\n\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n event.preventDefault()\n }\n\n @HostListener('dblclick', ['$event']) dblclick(event: MouseEvent) {\n event.stopPropagation()\n event.preventDefault()\n\n if (!this.el.nativeElement) return\n const box = this.el.nativeElement.getBoundingClientRect()\n const x = (event.clientX - box.left) / (this.size * this.ratio)\n const y = (event.clientY - box.top) / (this.size * this.ratio)\n\n this.point(x, y)\n }\n\n constructor(public el: ElementRef, private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n\n px(value: number) {\n return `${value}px`\n }\n\n scale(value: number) {\n if (!this.el.nativeElement) return 0\n\n return value * this.el.nativeElement.clientWidth\n }\n\n identifyMiniNode(_: number, item: MinimapData['nodes'][number]) {\n return [item.top, item.left].join('_')\n }\n}\n","import { BaseSchemes } from 'rete';\n\nimport { RenderPreset } from '../types';\nimport { MinimapRender } from './types';\nimport { MinimapComponent } from './components/minimap/minimap.component';\n\n/**\n * Preset for rendering minimap.\n */\nexport function setup<Schemes extends BaseSchemes, K extends MinimapRender>(props?: { size?: number }): RenderPreset<Schemes, K> {\n return {\n update(context) {\n if (context.data.type === 'minimap') {\n return {\n nodes: context.data.nodes,\n size: props?.size || 200,\n ratio: context.data.ratio,\n viewport: context.data.viewport,\n translate: context.data.translate,\n point: context.data.point\n }\n }\n return null\n },\n mount(context, plugin) {\n const parent = plugin.parentScope()\n const emit = parent.emit.bind(parent)\n const rendered = () => {\n emit({ type: 'rendered', data: context.data } as any)\n }\n\n if (context.data.type === 'minimap') {\n return {\n key: 'rete-minimap',\n component: MinimapComponent,\n props: {\n nodes: context.data.nodes,\n size: props?.size || 200,\n ratio: context.data.ratio,\n viewport: context.data.viewport,\n translate: context.data.translate,\n point: context.data.point,\n rendered\n }\n }\n }\n return null\n }\n }\n}\n","import { Component, Input, ChangeDetectorRef, OnChanges, HostListener, HostBinding, Output, EventEmitter } from '@angular/core';\nimport { Position } from '../../types';\nimport { useDrag } from '../../../../shared/drag'\n\nconst pinSize = 20\n\n@Component({\n selector: 'reroute-pin',\n template: '',\n styleUrls: ['./pin.component.sass'],\n host: {\n 'data-testid': 'pin'\n }\n})\nexport class PinComponent implements OnChanges {\n @Input() position!: Position\n @Input() selected?: boolean\n @Input() getPointer!: () => Position\n @Output() menu = new EventEmitter<void>()\n @Output() translate = new EventEmitter<{ dx: number, dy: number }>()\n @Output() down = new EventEmitter<void>()\n\n drag = useDrag((dx, dy) => {\n this.translate.emit({ dx, dy })\n }, () => this.getPointer())\n\n @HostBinding('class.selected') get _selected() {\n return this.selected\n }\n @HostBinding('style.top') get top() {\n return `${this.position.y - pinSize / 2}px`\n }\n @HostBinding('style.left') get left() {\n return `${this.position.x - pinSize / 2}px`\n }\n @HostListener('pointerdown', ['$event']) pointerdown(event: PointerEvent) {\n event.stopPropagation()\n event.preventDefault()\n\n this.drag.start(event)\n this.down.emit()\n }\n @HostListener('contextmenu', ['$event']) contextmenu(event: MouseEvent) {\n event.stopPropagation()\n event.preventDefault()\n\n this.menu.emit()\n }\n\n constructor(private cdr: ChangeDetectorRef) {\n // this.cdr.detach()\n }\n\n ngOnChanges(): void {\n // this.cdr.detectChanges()\n // requestAnimationFrame(() => this.rendered())\n }\n\n}\n","<reroute-pin *ngFor=\"let pin of pins; trackBy: track\" [position]=\"pin.position\" [selected]=\"pin.selected\"\n (menu)=\"menu && menu(pin.id)\" (translate)=\"translate && translate(pin.id, $event.dx, $event.dy)\"\n (down)=\"down && down(pin.id)\" [getPointer]=\"getPointer\"></reroute-pin>\n","import { Component, Input, ChangeDetectorRef, OnChanges } from '@angular/core';\nimport { Pin, PinData, Position } from '../../types';\n// [imports]\n\n@Component({\n // [component-directive]\n templateUrl: './pins.component.html'\n})\nexport class PinsComponent implements OnChanges {\n @Input() rendered!: () => void\n @Input() pins!: PinData['pins']\n @Input() down?: (id: string) => void\n @Input() translate?: (id: string, dx: number, dy: number) => void\n @Input() menu?: (id: string) => void\n @Input() getPointer?: () => Position\n\n constructor(private cdr: ChangeDetectorRef) {\n this.cdr.detach()\n }\n\n ngOnChanges(): void {\n this.cdr.detectChanges()\n requestAnimationFrame(() => this.rendered())\n }\n\n track(_: number, item: Pin) {\n return item.id\n }\n}\n","import { BaseSchemes } from 'rete';\nimport { BaseAreaPlugin } from 'rete-area-plugin';\n\nimport { RenderPreset } from '../types'\nimport { PinsRender } from './types';\nimport { PinsComponent } from './components/pins/pins.component';\n\ntype Props = {\n translate?: (id: string, dx: number, dy: number) => void\n contextMenu?: (id: string) => void\n pointerdown?: (id: string) => void\n}\n\n/**\n * Preset for rendering pins.\n */\nexport function setup<Schemes extends BaseSchemes, K extends PinsRender>(props?: Props): RenderPreset<Schemes, K> {\n const getProps = () => ({\n menu: props?.contextMenu || (() => null),\n translate: props?.translate || (() => null),\n down: props?.pointerdown || (() => null)\n })\n\n return {\n update(context) {\n if (context.data.type === 'reroute-pins') {\n return {\n ...getProps(),\n pins: context.data.data.pins\n }\n }\n return null\n },\n mount(context, plugin) {\n const area = plugin.parentScope<BaseAreaPlugin<Schemes, PinsRender>>(BaseAreaPlugin)\n const rendered = () => {\n area.emit({ type: 'rendered', data: context.data })\n }\n\n if (context.data.type === 'reroute-pins') {\n return {\n key: 'rete-reroute',\n component: PinsComponent,\n props: {\n ...getProps(),\n pins: context.data.data.pins,\n rendered,\n getPointer: () => area.area.pointer\n }\n }\n }\n return null\n }\n }\n}\n","/**\n * Built-in presets, responsible for rendering different parts of the editor.\n * @module\n */\nexport * as classic from './classic'\nexport * as contextMenu from './context-menu'\nexport * as minimap from './minimap'\nexport * as reroute from './reroute'\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { NodeComponent } from './presets/classic/components/node/node.component';\nimport { ConnectionComponent } from './presets/classic/components/connection/connection.component';\nimport { SocketComponent } from './presets/classic/components/socket/socket.component';\nimport { ConnectionWrapperComponent } from './presets/classic/components/connection/connection-wrapper.component';\nimport { ControlComponent } from './presets/classic/components/control/control.component';\nimport { RefDirective } from './ref';\n\n@NgModule({\n declarations: [\n RefDirective,\n NodeComponent,\n ConnectionComponent,\n ConnectionWrapperComponent,\n SocketComponent,\n ControlComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n RefDirective,\n NodeComponent,\n ConnectionComponent,\n ConnectionWrapperComponent,\n SocketComponent,\n ControlComponent\n ]\n})\nexport class ReteModule { }\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ContextMenuComponent } from './components/menu/menu.component'\nimport { ContextMenuSearchComponent } from './components/search/search.component'\nimport { ContextMenuItemComponent } from './components/item/item.component'\n\n@NgModule({\n declarations: [\n ContextMenuComponent,\n ContextMenuSearchComponent,\n ContextMenuItemComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n ContextMenuComponent,\n ContextMenuSearchComponent,\n ContextMenuItemComponent,\n ]\n})\nexport class ReteContextMenuModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MinimapComponent } from './components/minimap/minimap.component';\nimport { MiniViewportComponent } from './components/mini-viewport/mini-viewport.component';\nimport { MiniNodeComponent } from './components/mini-node/mini-node.component';\n\n@NgModule({\n declarations: [\n MinimapComponent,\n MiniViewportComponent,\n MiniNodeComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n MinimapComponent,\n MiniViewportComponent,\n MiniNodeComponent\n ]\n})\nexport class ReteMinimapModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { PinsComponent } from './components/pins/pins.component';\nimport { PinComponent } from './components/pin/pin.component';\n\n@NgModule({\n declarations: [\n PinsComponent,\n PinComponent,\n ],\n imports: [\n CommonModule\n ],\n exports: [\n PinsComponent,\n PinComponent,\n ]\n})\nexport class ReteRerouteModule {}\n","export function reflect(obj: unknown) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n\n return new Proxy(obj, {\n get(target, prop) {\n return target[prop];\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has: (target, prop) => prop in target,\n deleteProperty: (target, prop) => delete target[prop],\n ownKeys: target => Reflect.ownKeys(target)\n });\n}","import { Injector } from '@angular/core';\nimport { BaseSchemes, CanAssignSignal, Scope } from 'rete'\nimport { createCustomElement } from '@angular/elements';\n\nimport { NgElement, NodeProps, Position, RenderSignal } from './types'\nimport { RenderPreset } from './presets/types';\nimport { reflect } from './reflect';\n\ntype Item = { key: string, ngElement: NgElement }\n\ntype Renderer = {\n get(element: HTMLElement): Item | undefined\n mount(element: HTMLElement, key: string, component: any, injector: Injector, props: Record<string, unknown>): void\n update(item: Item, props: Record<string, unknown>): void\n unmount(element: HTMLElement): void\n}\nfunction getRenderer(): Renderer {\n const elements = new WeakMap<HTMLElement, Item>()\n\n return {\n get(element) {\n return elements.get(element)\n },\n mount(element, key, component, injector, props) {\n // LIMITATION: If an element is remounted with the same identifier, the component cannot be replaced\n const exists = customElements.get(key)\n\n if (!exists) {\n customElements.define(key, createCustomElement(component, { injector }))\n }\n\n const ngElement = document.createElement(key) as NodeProps & NgElement & typeof props\n\n Object.keys(props).forEach(key => {\n ngElement[key] = props[key]\n })\n\n element.appendChild(ngElement)\n elements.set(element, { key, ngElement })\n },\n update({ ngElement }, props) {\n Object.keys(props).forEach(key => {\n ngElement.ngElementStrategy.setInputValue(key, reflect(props[key]))\n })\n },\n unmount(element) {\n const existing = elements.get(element)\n\n if (existing) {\n existing.ngElement.remove()\n elements.delete(element)\n }\n }\n }\n}\n\n/**\n * Signals that can be emitted by the plugin\n * @priority 10\n */\nexport type Produces<Schemes extends BaseSchemes> =\n | { type: 'connectionpath', data: { payload: Schemes['Connection'], path?: string, points: Position[] } }\n\ntype Requires<Schemes extends BaseSchemes> =\n | RenderSignal<'node', { payload: Schemes['Node'] }>\n | RenderSignal<'connection', { payload: Schemes['Connection'], start?: Position, end?: Position }>\n | { type: 'unmount', data: { element: HTMLElement } }\n\n/**\n * Angular plugin. Renders nodes, connections and other elements using React.\n * @priority 9\n * @emits connectionpath\n * @listens render\n * @listens unmount\n */\nexport class AngularPlugin<Schemes extends BaseSchemes, T = Requires<Schemes>> extends Scope<Produces<Schemes>, [Requires<Schemes> | T]> {\n presets: RenderPreset<Schemes, T>[] = []\n renderer: Renderer\n owners = new WeakMap<HTMLElement, RenderPreset<Schemes, T>>()\n\n /**\n * @constructor\n * @param params Plugin properties\n * @param params.injector Angular's Injector instance\n */\n constructor(private params: { injector: Injector }) {\n super('angular-render')\n this.renderer = getRenderer()\n\n this.addPipe(context => {\n if (!context || typeof context !== 'object' || !('type' in context)) return context\n if (context.type === 'unmount') {\n this.unmount(context.data.element)\n } else if (context.type === 'render') {\n if ('filled' in context.data && context.data.filled) {\n return context\n }\n if (this.mount(context.data.element, context)) {\n return {\n ...context,\n data: {\n ...context.data,\n filled: true\n }\n } as typeof context\n }\n }\n return context\n })\n }\n\n setParent(scope: Scope<Requires<Schemes> | T>): void {\n super.setParent(scope)\n\n this.presets.forEach(preset => {\n if (preset.attach) preset.attach(this)\n })\n }\n\n\n private unmount(element: HTMLElement) {\n this.owners.delete(element)\n this.renderer.unmount(element)\n }\n\n private mount(element: HTMLElement, context: Requires<Schemes>) {\n const existing = this.renderer.get(element)\n\n if (existing) {\n this.presets.forEach(preset => {\n if (this.owners.get(element) !== preset) return\n const result = preset.update(context as unknown as Extract<T, { type: 'render' }>, this)\n\n if (result) {\n this.renderer.update(existing, result)\n }\n })\n return true\n }\n\n for (const preset of this.presets) {\n const result = preset.mount(context as unknown as Extract<T, { type: 'render' }>, this)\n\n if (!result) continue\n\n const { key, component, props } = result\n\n this.renderer.mount(element, key, component, this.params.injector, props)\n\n this.owners.set(element, preset)\n return true\n }\n return\n }\n\n /**\n * Adds a preset to the plugin.\n * @param preset Preset that can render nodes, connections and other elements.\n */\n public addPreset<K>(preset: RenderPreset<Schemes, CanAssignSignal<T, K> extends true ? K : 'Cannot apply preset. Provided signals are not compatible'>) {\n const local = preset as unknown as RenderPreset<Schemes, T>\n\n if (local.attach) local.attach(this)\n this.presets.push(local)\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_c0","setup"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function reflect(obj: unknown): unknown;
@@ -1,5 +1,6 @@
1
1
  import { Scope } from 'rete';
2
2
  import { createCustomElement } from '@angular/elements';
3
+ import { reflect } from './reflect';
3
4
  function getRenderer() {
4
5
  const elements = new WeakMap();
5
6
  return {
@@ -21,9 +22,8 @@ function getRenderer() {
21
22
  },
22
23
  update({ ngElement }, props) {
23
24
  Object.keys(props).forEach(key => {
24
- ngElement.ngElementStrategy.setInputValue(key, props[key]);
25
+ ngElement.ngElementStrategy.setInputValue(key, reflect(props[key]));
25
26
  });
26
- ngElement.ngElementStrategy.setInputValue('seed', Math.random());
27
27
  },
28
28
  unmount(element) {
29
29
  const existing = elements.get(element);
@@ -124,4 +124,4 @@ export class AngularPlugin extends Scope {
124
124
  this.presets.push(local);
125
125
  }
126
126
  }
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25nMTcvLnNyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBYXhELFNBQVMsV0FBVztJQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQTtJQUVqRCxPQUFPO1FBQ0wsR0FBRyxDQUFDLE9BQU87WUFDVCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSztZQUM1QyxvR0FBb0c7WUFDcEcsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUV0QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTthQUN6RTtZQUVELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUF5QyxDQUFBO1lBRXJGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQixTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQzdCLENBQUMsQ0FBQyxDQUFBO1lBRUYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUM5QixRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFB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QUFBO1FBRTNELElBQUksS0FBSyxDQUFDLE1BQU07WUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU2NoZW1lcywgQ2FuQXNzaWduU2lnbmFsLCBTY29wZSB9IGZyb20gJ3JldGUnXG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xuXG5pbXBvcnQgeyBOZ0VsZW1lbnQsIE5vZGVQcm9wcywgUG9zaXRpb24sIFJlbmRlclNpZ25hbCB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBSZW5kZXJQcmVzZXQgfSBmcm9tICcuL3ByZXNldHMvdHlwZXMnO1xuXG50eXBlIEl0ZW0gPSB7IGtleTogc3RyaW5nLCBuZ0VsZW1lbnQ6IE5nRWxlbWVudCB9XG5cbnR5cGUgUmVuZGVyZXIgPSB7XG4gIGdldChlbGVtZW50OiBIVE1MRWxlbWVudCk6IEl0ZW0gfCB1bmRlZmluZWRcbiAgbW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGtleTogc3RyaW5nLCBjb21wb25lbnQ6IGFueSwgaW5qZWN0b3I6IEluamVjdG9yLCBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkXG4gIHVwZGF0ZShpdGVtOiBJdGVtLCBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB2b2lkXG4gIHVubW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkXG59XG5mdW5jdGlvbiBnZXRSZW5kZXJlcigpOiBSZW5kZXJlciB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3IFdlYWtNYXA8SFRNTEVsZW1lbnQsIEl0ZW0+KClcblxuICByZXR1cm4ge1xuICAgIGdldChlbGVtZW50KSB7XG4gICAgICByZXR1cm4gZWxlbWVudHMuZ2V0KGVsZW1lbnQpXG4gICAgfSxcbiAgICBtb3VudChlbGVtZW50LCBrZXksIGNvbXBvbmVudCwgaW5qZWN0b3IsIHByb3BzKSB7XG4gICAgICAvLyBMSU1JVEFUSU9OOiBJZiBhbiBlbGVtZW50IGlzIHJlbW91bnRlZCB3aXRoIHRoZSBzYW1lIGlkZW50aWZpZXIsIHRoZSBjb21wb25lbnQgY2Fubm90IGJlIHJlcGxhY2VkXG4gICAgICBjb25zdCBleGlzdHMgPSBjdXN0b21FbGVtZW50cy5nZXQoa2V5KVxuXG4gICAgICBpZiAoIWV4aXN0cykge1xuICAgICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUoa2V5LCBjcmVhdGVDdXN0b21FbGVtZW50KGNvbXBvbmVudCwgeyBpbmplY3RvciB9KSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChrZXkpIGFzIE5vZGVQcm9wcyAmIE5nRWxlbWVudCAmIHR5cGVvZiBwcm9wc1xuXG4gICAgICBPYmplY3Qua2V5cyhwcm9wcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBuZ0VsZW1lbnRba2V5XSA9IHByb3BzW2tleV1cbiAgICAgIH0pXG5cbiAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQobmdFbGVtZW50KVxuICAgICAgZWxlbWVudHMuc2V0KGVsZW1lbnQsIHsga2V5LCBuZ0VsZW1lbnQgfSlcbiAgICB9LFxuICAgIHVwZGF0ZSh7IG5nRWxlbWVudCB9LCBwcm9wcykge1xuICAgICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgbmdFbGVtZW50Lm5nRWxlbWVudFN0cmF0ZWd5LnNldElucHV0VmFsdWUoa2V5LCBwcm9wc1trZXldKVxuICAgICAgfSlcbiAgICAgIG5nRWxlbWVudC5uZ0VsZW1lbnRTdHJhdGVneS5zZXRJbnB1dFZhbHVlKCdzZWVkJywgTWF0aC5yYW5kb20oKSlcbiAgICB9LFxuICAgIHVubW91bnQoZWxlbWVudCkge1xuICAgICAgY29uc3QgZXhpc3RpbmcgPSBlbGVtZW50cy5nZXQoZWxlbWVudClcblxuICAgICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICAgIGV4aXN0aW5nLm5nRWxlbWVudC5yZW1vdmUoKVxuICAgICAgICBlbGVtZW50cy5kZWxldGUoZWxlbWVudClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTaWduYWxzIHRoYXQgY2FuIGJlIGVtaXR0ZWQgYnkgdGhlIHBsdWdpblxuICogQHByaW9yaXR5IDEwXG4gKi9cbmV4cG9ydCB0eXBlIFByb2R1Y2VzPFNjaGVtZXMgZXh0ZW5kcyBCYXNlU2NoZW1lcz4gPVxuICB8IHsgdHlwZTogJ2Nvbm5lY3Rpb25wYXRoJywgZGF0YTogeyBwYXlsb2FkOiBTY2hlbWVzWydDb25uZWN0aW9uJ10sIHBhdGg/OiBzdHJpbmcsIHBvaW50czogUG9zaXRpb25bXSB9IH1cblxudHlwZSBSZXF1aXJlczxTY2hlbWVzIGV4dGVuZHMgQmFzZVNjaGVtZXM+ID1cbiAgfCBSZW5kZXJTaWduYWw8J25vZGUnLCB7IHBheWxvYWQ6IFNjaGVtZXNbJ05vZGUnXSB9PlxuICB8IFJlbmRlclNpZ25hbDwnY29ubmVjdGlvbicsIHsgcGF5bG9hZDogU2NoZW1lc1snQ29ubmVjdGlvbiddLCBzdGFydD86IFBvc2l0aW9uLCBlbmQ/OiBQb3NpdGlvbiB9PlxuICB8IHsgdHlwZTogJ3VubW91bnQnLCBkYXRhOiB7IGVsZW1lbnQ6IEhUTUxFbGVtZW50IH0gfVxuXG4vKipcbiAqIEFuZ3VsYXIgcGx1Z2luLiBSZW5kZXJzIG5vZGVzLCBjb25uZWN0aW9ucyBhbmQgb3RoZXIgZWxlbWVudHMgdXNpbmcgUmVhY3QuXG4gKiBAcHJpb3JpdHkgOVxuICogQGVtaXRzIGNvbm5lY3Rpb25wYXRoXG4gKiBAbGlzdGVucyByZW5kZXJcbiAqIEBsaXN0ZW5zIHVubW91bnRcbiAqL1xuZXhwb3J0IGNsYXNzIEFuZ3VsYXJQbHVnaW48U2NoZW1lcyBleHRlbmRzIEJhc2VTY2hlbWVzLCBUID0gUmVxdWlyZXM8U2NoZW1lcz4+IGV4dGVuZHMgU2NvcGU8UHJvZHVjZXM8U2NoZW1lcz4sIFtSZXF1aXJlczxTY2hlbWVzPiB8IFRdPiB7XG4gIHByZXNldHM6IFJlbmRlclByZXNldDxTY2hlbWVzLCBUPltdID0gW11cbiAgcmVuZGVyZXI6IFJlbmRlcmVyXG4gIG93bmVycyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgVD4+KClcblxuICAvKipcbiAgICogQGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBwYXJhbXMgUGx1Z2luIHByb3BlcnRpZXNcbiAgICogQHBhcmFtIHBhcmFtcy5pbmplY3RvciBBbmd1bGFyJ3MgSW5qZWN0b3IgaW5zdGFuY2VcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyYW1zOiB7IGluamVjdG9yOiBJbmplY3RvciB9KSB7XG4gICAgc3VwZXIoJ2FuZ3VsYXItcmVuZGVyJylcbiAgICB0aGlzLnJlbmRlcmVyID0gZ2V0UmVuZGVyZXIoKVxuXG4gICAgdGhpcy5hZGRQaXBlKGNvbnRleHQgPT4ge1xuICAgICAgaWYgKCFjb250ZXh0IHx8IHR5cGVvZiBjb250ZXh0ICE9PSAnb2JqZWN0JyB8fCAhKCd0eXBlJyBpbiBjb250ZXh0KSkgcmV0dXJuIGNvbnRleHRcbiAgICAgIGlmIChjb250ZXh0LnR5cGUgPT09ICd1bm1vdW50Jykge1xuICAgICAgICB0aGlzLnVubW91bnQoY29udGV4dC5kYXRhLmVsZW1lbnQpXG4gICAgICB9IGVsc2UgaWYgKGNvbnRleHQudHlwZSA9PT0gJ3JlbmRlcicpIHtcbiAgICAgICAgaWYgKCdmaWxsZWQnIGluIGNvbnRleHQuZGF0YSAmJiBjb250ZXh0LmRhdGEuZmlsbGVkKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnRleHRcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tb3VudChjb250ZXh0LmRhdGEuZWxlbWVudCwgY29udGV4dCkpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgLi4uY29udGV4dC5kYXRhLFxuICAgICAgICAgICAgICBmaWxsZWQ6IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGFzIHR5cGVvZiBjb250ZXh0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBjb250ZXh0XG4gICAgfSlcbiAgfVxuXG4gIHNldFBhcmVudChzY29wZTogU2NvcGU8UmVxdWlyZXM8U2NoZW1lcz4gfCBUPik6IHZvaWQge1xuICAgIHN1cGVyLnNldFBhcmVudChzY29wZSlcblxuICAgIHRoaXMucHJlc2V0cy5mb3JFYWNoKHByZXNldCA9PiB7XG4gICAgICBpZiAocHJlc2V0LmF0dGFjaCkgcHJlc2V0LmF0dGFjaCh0aGlzKVxuICAgIH0pXG4gIH1cblxuXG4gIHByaXZhdGUgdW5tb3VudChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIHRoaXMub3duZXJzLmRlbGV0ZShlbGVtZW50KVxuICAgIHRoaXMucmVuZGVyZXIudW5tb3VudChlbGVtZW50KVxuICB9XG5cbiAgcHJpdmF0ZSBtb3VudChlbGVtZW50OiBIVE1MRWxlbWVudCwgY29udGV4dDogUmVxdWlyZXM8U2NoZW1lcz4pIHtcbiAgICBjb25zdCBleGlzdGluZyA9IHRoaXMucmVuZGVyZXIuZ2V0KGVsZW1lbnQpXG5cbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIHRoaXMucHJlc2V0cy5mb3JFYWNoKHByZXNldCA9PiB7XG4gICAgICAgIGlmICh0aGlzLm93bmVycy5nZXQoZWxlbWVudCkgIT09IHByZXNldCkgcmV0dXJuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHByZXNldC51cGRhdGUoY29udGV4dCBhcyB1bmtub3duIGFzIEV4dHJhY3Q8VCwgeyB0eXBlOiAncmVuZGVyJyB9PiwgdGhpcylcblxuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci51cGRhdGUoZXhpc3RpbmcsIHJlc3VsdClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcmVzZXQgb2YgdGhpcy5wcmVzZXRzKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBwcmVzZXQubW91bnQoY29udGV4dCBhcyB1bmtub3duIGFzIEV4dHJhY3Q8VCwgeyB0eXBlOiAncmVuZGVyJyB9PiwgdGhpcylcblxuICAgICAgaWYgKCFyZXN1bHQpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IHsga2V5LCBjb21wb25lbnQsIHByb3BzIH0gPSByZXN1bHRcblxuICAgICAgdGhpcy5yZW5kZXJlci5tb3VudChlbGVtZW50LCBrZXksIGNvbXBvbmVudCwgdGhpcy5wYXJhbXMuaW5qZWN0b3IsIHByb3BzKVxuXG4gICAgICB0aGlzLm93bmVycy5zZXQoZWxlbWVudCwgcHJlc2V0KVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHByZXNldCB0byB0aGUgcGx1Z2luLlxuICAgKiBAcGFyYW0gcHJlc2V0IFByZXNldCB0aGF0IGNhbiByZW5kZXIgbm9kZXMsIGNvbm5lY3Rpb25zIGFuZCBvdGhlciBlbGVtZW50cy5cbiAgICovXG4gIHB1YmxpYyBhZGRQcmVzZXQ8Sz4ocHJlc2V0OiBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgQ2FuQXNzaWduU2lnbmFsPFQsIEs+IGV4dGVuZHMgdHJ1ZSA/IEsgOiAnQ2Fubm90IGFwcGx5IHByZXNldC4gUHJvdmlkZWQgc2lnbmFscyBhcmUgbm90IGNvbXBhdGlibGUnPikge1xuICAgIGNvbnN0IGxvY2FsID0gcHJlc2V0IGFzIHVua25vd24gYXMgUmVuZGVyUHJlc2V0PFNjaGVtZXMsIFQ+XG5cbiAgICBpZiAobG9jYWwuYXR0YWNoKSBsb2NhbC5hdHRhY2godGhpcylcbiAgICB0aGlzLnByZXNldHMucHVzaChsb2NhbClcbiAgfVxufVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25nMTcvLnNyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFVcEMsU0FBUyxXQUFXO0lBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxFQUFxQixDQUFBO0lBRWpELE9BQU87UUFDTCxHQUFHLENBQUMsT0FBTztZQUNULE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QixDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLO1lBQzVDLG9HQUFvRztZQUNwRyxNQUFNLE1BQU0sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRXRDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO2FBQ3pFO1lBRUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQXlDLENBQUE7WUFFckYsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQy9CLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDN0IsQ0FBQyxDQUFDLENBQUE7WUFFRixPQUFPLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQzlCLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FB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QUMsTUFBTTtZQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDMUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTY2hlbWVzLCBDYW5Bc3NpZ25TaWduYWwsIFNjb3BlIH0gZnJvbSAncmV0ZSdcbmltcG9ydCB7IGNyZWF0ZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9lbGVtZW50cyc7XG5cbmltcG9ydCB7IE5nRWxlbWVudCwgTm9kZVByb3BzLCBQb3NpdGlvbiwgUmVuZGVyU2lnbmFsIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IFJlbmRlclByZXNldCB9IGZyb20gJy4vcHJlc2V0cy90eXBlcyc7XG5pbXBvcnQgeyByZWZsZWN0IH0gZnJvbSAnLi9yZWZsZWN0JztcblxudHlwZSBJdGVtID0geyBrZXk6IHN0cmluZywgbmdFbGVtZW50OiBOZ0VsZW1lbnQgfVxuXG50eXBlIFJlbmRlcmVyID0ge1xuICBnZXQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBJdGVtIHwgdW5kZWZpbmVkXG4gIG1vdW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBrZXk6IHN0cmluZywgY29tcG9uZW50OiBhbnksIGluamVjdG9yOiBJbmplY3RvciwgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZFxuICB1cGRhdGUoaXRlbTogSXRlbSwgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZFxuICB1bm1vdW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZFxufVxuZnVuY3Rpb24gZ2V0UmVuZGVyZXIoKTogUmVuZGVyZXIge1xuICBjb25zdCBlbGVtZW50cyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBJdGVtPigpXG5cbiAgcmV0dXJuIHtcbiAgICBnZXQoZWxlbWVudCkge1xuICAgICAgcmV0dXJuIGVsZW1lbnRzLmdldChlbGVtZW50KVxuICAgIH0sXG4gICAgbW91bnQoZWxlbWVudCwga2V5LCBjb21wb25lbnQsIGluamVjdG9yLCBwcm9wcykge1xuICAgICAgLy8gTElNSVRBVElPTjogSWYgYW4gZWxlbWVudCBpcyByZW1vdW50ZWQgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyLCB0aGUgY29tcG9uZW50IGNhbm5vdCBiZSByZXBsYWNlZFxuICAgICAgY29uc3QgZXhpc3RzID0gY3VzdG9tRWxlbWVudHMuZ2V0KGtleSlcblxuICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKGtleSwgY3JlYXRlQ3VzdG9tRWxlbWVudChjb21wb25lbnQsIHsgaW5qZWN0b3IgfSkpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5nRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoa2V5KSBhcyBOb2RlUHJvcHMgJiBOZ0VsZW1lbnQgJiB0eXBlb2YgcHJvcHNcblxuICAgICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgbmdFbGVtZW50W2tleV0gPSBwcm9wc1trZXldXG4gICAgICB9KVxuXG4gICAgICBlbGVtZW50LmFwcGVuZENoaWxkKG5nRWxlbWVudClcbiAgICAgIGVsZW1lbnRzLnNldChlbGVtZW50LCB7IGtleSwgbmdFbGVtZW50IH0pXG4gICAgfSxcbiAgICB1cGRhdGUoeyBuZ0VsZW1lbnQgfSwgcHJvcHMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIG5nRWxlbWVudC5uZ0VsZW1lbnRTdHJhdGVneS5zZXRJbnB1dFZhbHVlKGtleSwgcmVmbGVjdChwcm9wc1trZXldKSlcbiAgICAgIH0pXG4gICAgfSxcbiAgICB1bm1vdW50KGVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gZWxlbWVudHMuZ2V0KGVsZW1lbnQpXG5cbiAgICAgIGlmIChleGlzdGluZykge1xuICAgICAgICBleGlzdGluZy5uZ0VsZW1lbnQucmVtb3ZlKClcbiAgICAgICAgZWxlbWVudHMuZGVsZXRlKGVsZW1lbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2lnbmFscyB0aGF0IGNhbiBiZSBlbWl0dGVkIGJ5IHRoZSBwbHVnaW5cbiAqIEBwcmlvcml0eSAxMFxuICovXG5leHBvcnQgdHlwZSBQcm9kdWNlczxTY2hlbWVzIGV4dGVuZHMgQmFzZVNjaGVtZXM+ID1cbiAgfCB7IHR5cGU6ICdjb25uZWN0aW9ucGF0aCcsIGRhdGE6IHsgcGF5bG9hZDogU2NoZW1lc1snQ29ubmVjdGlvbiddLCBwYXRoPzogc3RyaW5nLCBwb2ludHM6IFBvc2l0aW9uW10gfSB9XG5cbnR5cGUgUmVxdWlyZXM8U2NoZW1lcyBleHRlbmRzIEJhc2VTY2hlbWVzPiA9XG4gIHwgUmVuZGVyU2lnbmFsPCdub2RlJywgeyBwYXlsb2FkOiBTY2hlbWVzWydOb2RlJ10gfT5cbiAgfCBSZW5kZXJTaWduYWw8J2Nvbm5lY3Rpb24nLCB7IHBheWxvYWQ6IFNjaGVtZXNbJ0Nvbm5lY3Rpb24nXSwgc3RhcnQ/OiBQb3NpdGlvbiwgZW5kPzogUG9zaXRpb24gfT5cbiAgfCB7IHR5cGU6ICd1bm1vdW50JywgZGF0YTogeyBlbGVtZW50OiBIVE1MRWxlbWVudCB9IH1cblxuLyoqXG4gKiBBbmd1bGFyIHBsdWdpbi4gUmVuZGVycyBub2RlcywgY29ubmVjdGlvbnMgYW5kIG90aGVyIGVsZW1lbnRzIHVzaW5nIFJlYWN0LlxuICogQHByaW9yaXR5IDlcbiAqIEBlbWl0cyBjb25uZWN0aW9ucGF0aFxuICogQGxpc3RlbnMgcmVuZGVyXG4gKiBAbGlzdGVucyB1bm1vdW50XG4gKi9cbmV4cG9ydCBjbGFzcyBBbmd1bGFyUGx1Z2luPFNjaGVtZXMgZXh0ZW5kcyBCYXNlU2NoZW1lcywgVCA9IFJlcXVpcmVzPFNjaGVtZXM+PiBleHRlbmRzIFNjb3BlPFByb2R1Y2VzPFNjaGVtZXM+LCBbUmVxdWlyZXM8U2NoZW1lcz4gfCBUXT4ge1xuICBwcmVzZXRzOiBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgVD5bXSA9IFtdXG4gIHJlbmRlcmVyOiBSZW5kZXJlclxuICBvd25lcnMgPSBuZXcgV2Vha01hcDxIVE1MRWxlbWVudCwgUmVuZGVyUHJlc2V0PFNjaGVtZXMsIFQ+PigpXG5cbiAgLyoqXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gcGFyYW1zIFBsdWdpbiBwcm9wZXJ0aWVzXG4gICAqIEBwYXJhbSBwYXJhbXMuaW5qZWN0b3IgQW5ndWxhcidzIEluamVjdG9yIGluc3RhbmNlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmFtczogeyBpbmplY3RvcjogSW5qZWN0b3IgfSkge1xuICAgIHN1cGVyKCdhbmd1bGFyLXJlbmRlcicpXG4gICAgdGhpcy5yZW5kZXJlciA9IGdldFJlbmRlcmVyKClcblxuICAgIHRoaXMuYWRkUGlwZShjb250ZXh0ID0+IHtcbiAgICAgIGlmICghY29udGV4dCB8fCB0eXBlb2YgY29udGV4dCAhPT0gJ29iamVjdCcgfHwgISgndHlwZScgaW4gY29udGV4dCkpIHJldHVybiBjb250ZXh0XG4gICAgICBpZiAoY29udGV4dC50eXBlID09PSAndW5tb3VudCcpIHtcbiAgICAgICAgdGhpcy51bm1vdW50KGNvbnRleHQuZGF0YS5lbGVtZW50KVxuICAgICAgfSBlbHNlIGlmIChjb250ZXh0LnR5cGUgPT09ICdyZW5kZXInKSB7XG4gICAgICAgIGlmICgnZmlsbGVkJyBpbiBjb250ZXh0LmRhdGEgJiYgY29udGV4dC5kYXRhLmZpbGxlZCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW91bnQoY29udGV4dC5kYXRhLmVsZW1lbnQsIGNvbnRleHQpKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIC4uLmNvbnRleHQuZGF0YSxcbiAgICAgICAgICAgICAgZmlsbGVkOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBhcyB0eXBlb2YgY29udGV4dFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGV4dFxuICAgIH0pXG4gIH1cblxuICBzZXRQYXJlbnQoc2NvcGU6IFNjb3BlPFJlcXVpcmVzPFNjaGVtZXM+IHwgVD4pOiB2b2lkIHtcbiAgICBzdXBlci5zZXRQYXJlbnQoc2NvcGUpXG5cbiAgICB0aGlzLnByZXNldHMuZm9yRWFjaChwcmVzZXQgPT4ge1xuICAgICAgaWYgKHByZXNldC5hdHRhY2gpIHByZXNldC5hdHRhY2godGhpcylcbiAgICB9KVxuICB9XG5cblxuICBwcml2YXRlIHVubW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLm93bmVycy5kZWxldGUoZWxlbWVudClcbiAgICB0aGlzLnJlbmRlcmVyLnVubW91bnQoZWxlbWVudClcbiAgfVxuXG4gIHByaXZhdGUgbW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNvbnRleHQ6IFJlcXVpcmVzPFNjaGVtZXM+KSB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLnJlbmRlcmVyLmdldChlbGVtZW50KVxuXG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICB0aGlzLnByZXNldHMuZm9yRWFjaChwcmVzZXQgPT4ge1xuICAgICAgICBpZiAodGhpcy5vd25lcnMuZ2V0KGVsZW1lbnQpICE9PSBwcmVzZXQpIHJldHVyblxuICAgICAgICBjb25zdCByZXN1bHQgPSBwcmVzZXQudXBkYXRlKGNvbnRleHQgYXMgdW5rbm93biBhcyBFeHRyYWN0PFQsIHsgdHlwZTogJ3JlbmRlcicgfT4sIHRoaXMpXG5cbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIudXBkYXRlKGV4aXN0aW5nLCByZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJlc2V0IG9mIHRoaXMucHJlc2V0cykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gcHJlc2V0Lm1vdW50KGNvbnRleHQgYXMgdW5rbm93biBhcyBFeHRyYWN0PFQsIHsgdHlwZTogJ3JlbmRlcicgfT4sIHRoaXMpXG5cbiAgICAgIGlmICghcmVzdWx0KSBjb250aW51ZVxuXG4gICAgICBjb25zdCB7IGtleSwgY29tcG9uZW50LCBwcm9wcyB9ID0gcmVzdWx0XG5cbiAgICAgIHRoaXMucmVuZGVyZXIubW91bnQoZWxlbWVudCwga2V5LCBjb21wb25lbnQsIHRoaXMucGFyYW1zLmluamVjdG9yLCBwcm9wcylcblxuICAgICAgdGhpcy5vd25lcnMuc2V0KGVsZW1lbnQsIHByZXNldClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVyblxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwcmVzZXQgdG8gdGhlIHBsdWdpbi5cbiAgICogQHBhcmFtIHByZXNldCBQcmVzZXQgdGhhdCBjYW4gcmVuZGVyIG5vZGVzLCBjb25uZWN0aW9ucyBhbmQgb3RoZXIgZWxlbWVudHMuXG4gICAqL1xuICBwdWJsaWMgYWRkUHJlc2V0PEs+KHByZXNldDogUmVuZGVyUHJlc2V0PFNjaGVtZXMsIENhbkFzc2lnblNpZ25hbDxULCBLPiBleHRlbmRzIHRydWUgPyBLIDogJ0Nhbm5vdCBhcHBseSBwcmVzZXQuIFByb3ZpZGVkIHNpZ25hbHMgYXJlIG5vdCBjb21wYXRpYmxlJz4pIHtcbiAgICBjb25zdCBsb2NhbCA9IHByZXNldCBhcyB1bmtub3duIGFzIFJlbmRlclByZXNldDxTY2hlbWVzLCBUPlxuXG4gICAgaWYgKGxvY2FsLmF0dGFjaCkgbG9jYWwuYXR0YWNoKHRoaXMpXG4gICAgdGhpcy5wcmVzZXRzLnB1c2gobG9jYWwpXG4gIH1cbn1cbiJdfQ==
@@ -130,5 +130,5 @@ export class NodeComponent {
130
130
  type: HostBinding,
131
131
  args: ['class.selected']
132
132
  }] }); })();
133
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NodeComponent, { className: "NodeComponent", filePath: "presets/classic/components/node/node.component.ts", lineNumber: 15 }); })();
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNDNUYsOEJBQTBILGFBQUE7SUFDakUsWUFBdUI7SUFBQSxpQkFBTTtJQUNsRix5QkFNTztJQUNYLGlCQUFNOzs7O0lBVDBFLHdEQUF5QztJQUNoRSxlQUF1QjtJQUF2Qiw0RUFBdUI7SUFJeEUsZUFBdUg7SUFBdkgsc0pBQXVILHFCQUFBOzs7O0lBSy9ILHlCQU9POzs7O0lBSEgsbUVBQW1ELHFCQUFBO0lBRW5ELDBEQUEyQzs7O0lBVTNDLCtCQUE4RztJQUFBLFlBQXNCO0lBQUEsaUJBQU07OztJQUE1QixlQUFzQjtJQUF0QiwwRUFBc0I7Ozs7SUFSeEksOEJBQXFIO0lBQ2pILHlCQU1PO0lBQ1AscUVBQTBJO0lBQzFJLDBCQU9PO0lBQ1gsaUJBQU07Ozs7SUFqQnVFLHNEQUF1QztJQUk1RyxlQUFvSDtJQUFwSCxtSkFBb0gscUJBQUE7SUFJcEUsZUFBd0Q7SUFBeEQsaUpBQXdEO0lBR3hHLGVBQWdGO0lBQWhGLGlLQUFnRjtJQUVoRiwwR0FBMEQscUJBQUE7O0FEbEJsRSxNQUFNLE9BQU8sYUFBYTtJQW1CSjtJQWxCWCxJQUFJLENBQWdDO0lBQ3BDLElBQUksQ0FBc0I7SUFDMUIsUUFBUSxDQUFhO0lBRTlCLElBQUksR0FBRyxDQUFDLENBQUE7SUFFUixJQUFtQyxLQUFLO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQW9DLE1BQU07UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUN6QixDQUFDO0lBRUQsSUFBbUMsUUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQzNCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyx1QkFBdUI7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBbUUsQ0FBSSxFQUFFLENBQUk7UUFDdEYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDaEIsQ0FBQzt1RUFsQ1UsYUFBYTs2REFBYixhQUFhOzs7O1lDZDFCLDhCQUF1QztZQUFBLFlBQWM7WUFBQSxpQkFBTTtZQUMzRCw4REFTTTs7WUFDTiw4REFPTzs7WUFDUCwrREFpQk07OztZQXBDaUMsZUFBYztZQUFkLG9DQUFjO1lBQ2QsZUFBdUM7WUFBdkMsaUZBQXVDO1lBWXRELGVBQXdDO1lBQXhDLGtGQUF3QztZQU0zQixlQUFzQztZQUF0QyxpRkFBc0M7OztpRkRMOUQsYUFBYTtjQVB6QixTQUFTO3VCQUdGO29CQUNKLGFBQWEsRUFBRSxNQUFNO2lCQUN0QjtrREFHUSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBSTZCLEtBQUs7a0JBQXZDLFdBQVc7bUJBQUMsZ0JBQWdCO1lBSU8sTUFBTTtrQkFBekMsV0FBVzttQkFBQyxpQkFBaUI7WUFJSyxRQUFRO2tCQUExQyxXQUFXO21CQUFDLGdCQUFnQjs7a0ZBZmxCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZywgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCBhcyBDbGFzc2ljIH0gZnJvbSAncmV0ZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbnR5cGUgTm9kZUV4dHJhRGF0YSA9IHsgd2lkdGg/OiBudW1iZXIsIGhlaWdodD86IG51bWJlciB9XG50eXBlIFNvcnRWYWx1ZTxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlPiA9IChOWydjb250cm9scyddIHwgTlsnaW5wdXRzJ10gfCBOWydvdXRwdXRzJ10pW3N0cmluZ11cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ25vZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljLk5vZGUgJiBOb2RlRXh0cmFEYXRhO1xuICBASW5wdXQoKSBlbWl0ITogKGRhdGE6IGFueSkgPT4gdm9pZFxuICBASW5wdXQoKSByZW5kZXJlZCE6ICgpID0+IHZvaWRcblxuICBzZWVkID0gMFxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucHgnKSBnZXQgd2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS53aWR0aFxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKSBnZXQgaGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuaGVpZ2h0XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJykgZ2V0IHNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuc2VsZWN0ZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICAgIHRoaXMuc2VlZCsrIC8vIGZvcmNlIHJlbmRlciBzb2NrZXRzXG4gIH1cblxuICBzb3J0QnlJbmRleDxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlLCBJIGV4dGVuZHMgS2V5VmFsdWU8c3RyaW5nLCBTb3J0VmFsdWU8Tj4+PihhOiBJLCBiOiBJKSB7XG4gICAgY29uc3QgYWkgPSBhLnZhbHVlPy5pbmRleCB8fCAwXG4gICAgY29uc3QgYmkgPSBiLnZhbHVlPy5pbmRleCB8fCAwXG5cbiAgICByZXR1cm4gYWkgLSBiaVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLXRlc3RpZD1cInRpdGxlXCI+e3tkYXRhLmxhYmVsfX08L2Rpdj5cbjxkaXYgY2xhc3M9XCJvdXRwdXRcIiAqbmdGb3I9XCJsZXQgb3V0cHV0IG9mIGRhdGEub3V0cHV0cyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiIFthdHRyLmRhdGEtdGVzdGlkXT1cIidvdXRwdXQtJytvdXRwdXQua2V5XCI+XG4gICAgPGRpdiBjbGFzcz1cIm91dHB1dC10aXRsZVwiIGRhdGEtdGVzdGlkPVwib3V0cHV0LXRpdGxlXCI+e3tvdXRwdXQudmFsdWU/LmxhYmVsfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwib3V0cHV0LXNvY2tldFwiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ3NvY2tldCcsIHNpZGU6ICdvdXRwdXQnLCBrZXk6IG91dHB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogb3V0cHV0LnZhbHVlPy5zb2NrZXQsIHNlZWQ6IHNlZWQgfVwiXG4gICAgICAgIFtlbWl0XT1cImVtaXRcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cIm91dHB1dC1zb2NrZXRcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICAgIGNsYXNzPVwiY29udHJvbFwiXG4gICAgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgZGF0YS5jb250cm9scyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiXG4gICAgcmVmQ29tcG9uZW50XG4gICAgW2RhdGFdPVwie3R5cGU6ICdjb250cm9sJywgcGF5bG9hZDogY29udHJvbC52YWx1ZSB9XCJcbiAgICBbZW1pdF09XCJlbWl0XCJcbiAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCInY29udHJvbC0nK2NvbnRyb2wua2V5XCJcbj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpbnB1dFwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBkYXRhLmlucHV0cyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiIFthdHRyLmRhdGEtdGVzdGlkXT1cIidpbnB1dC0nK2lucHV0LmtleVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnaW5wdXQnLCBrZXk6IGlucHV0LmtleSwgbm9kZUlkOiBkYXRhLmlkLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbnB1dC1zb2NrZXRcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cImlucHV0LXRpdGxlXCIgKm5nSWY9XCIhaW5wdXQudmFsdWU/LmNvbnRyb2wgfHwgIWlucHV0LnZhbHVlPy5zaG93Q29udHJvbFwiPnt7aW5wdXQudmFsdWU/LmxhYmVsfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlucHV0LnZhbHVlPy5jb250cm9sICYmIGlucHV0LnZhbHVlPy5zaG93Q29udHJvbCA/ICcnIDogJ25vbmUnXCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGlucHV0LnZhbHVlPy5jb250cm9sIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbnB1dC1jb250cm9sXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
133
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NodeComponent, { className: "NodeComponent", filePath: "presets/classic/components/node/node.component.ts", lineNumber: 17 }); })();
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOzs7Ozs7SUNDNUYsOEJBQTBILGFBQUE7SUFDakUsWUFBdUI7SUFBQSxpQkFBTTtJQUNsRix5QkFNTztJQUNYLGlCQUFNOzs7O0lBVDBFLHdEQUF5QztJQUNoRSxlQUF1QjtJQUF2Qiw0RUFBdUI7SUFJeEUsZUFBdUg7SUFBdkgsc0pBQXVILHFCQUFBOzs7O0lBSy9ILHlCQU9POzs7O0lBSEgsbUVBQW1ELHFCQUFBO0lBRW5ELDBEQUEyQzs7O0lBVTNDLCtCQUE4RztJQUFBLFlBQXNCO0lBQUEsaUJBQU07OztJQUE1QixlQUFzQjtJQUF0QiwwRUFBc0I7Ozs7SUFSeEksOEJBQXFIO0lBQ2pILHlCQU1PO0lBQ1AscUVBQTBJO0lBQzFJLDBCQU9PO0lBQ1gsaUJBQU07Ozs7SUFqQnVFLHNEQUF1QztJQUk1RyxlQUFvSDtJQUFwSCxtSkFBb0gscUJBQUE7SUFJcEUsZUFBd0Q7SUFBeEQsaUpBQXdEO0lBR3hHLGVBQWdGO0lBQWhGLGlLQUFnRjtJQUVoRiwwR0FBMEQscUJBQUE7O0FEaEJsRSxNQUFNLE9BQU8sYUFBYTtJQW1CSjtJQWxCWCxJQUFJLENBQWdDO0lBQ3BDLElBQUksQ0FBc0I7SUFDMUIsUUFBUSxDQUFhO0lBRTlCLElBQUksR0FBRyxDQUFDLENBQUE7SUFFUixJQUFtQyxLQUFLO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQW9DLE1BQU07UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUN6QixDQUFDO0lBRUQsSUFBbUMsUUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQzNCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyx1QkFBdUI7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBbUUsQ0FBSSxFQUFFLENBQUk7UUFDdEYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDaEIsQ0FBQzt1RUFsQ1UsYUFBYTs2REFBYixhQUFhOzs7O1lDaEIxQiw4QkFBdUM7WUFBQSxZQUFjO1lBQUEsaUJBQU07WUFDM0QsOERBU007O1lBQ04sOERBT087O1lBQ1AsK0RBaUJNOzs7WUFwQ2lDLGVBQWM7WUFBZCxvQ0FBYztZQUNkLGVBQXVDO1lBQXZDLGlGQUF1QztZQVl0RCxlQUF3QztZQUF4QyxrRkFBd0M7WUFNM0IsZUFBc0M7WUFBdEMsaUZBQXNDOzs7aUZESDlELGFBQWE7Y0FSekIsU0FBUzt1QkFJRjtvQkFDSixhQUFhLEVBQUUsTUFBTTtpQkFDdEI7a0RBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUk2QixLQUFLO2tCQUF2QyxXQUFXO21CQUFDLGdCQUFnQjtZQUlPLE1BQU07a0JBQXpDLFdBQVc7bUJBQUMsaUJBQWlCO1lBSUssUUFBUTtrQkFBMUMsV0FBVzttQkFBQyxnQkFBZ0I7O2tGQWZsQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsYXNzaWNQcmVzZXQgYXMgQ2xhc3NpYyB9IGZyb20gJ3JldGUnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy8gW2ltcG9ydHNdXG5cbnR5cGUgTm9kZUV4dHJhRGF0YSA9IHsgd2lkdGg/OiBudW1iZXIsIGhlaWdodD86IG51bWJlciB9XG50eXBlIFNvcnRWYWx1ZTxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlPiA9IChOWydjb250cm9scyddIHwgTlsnaW5wdXRzJ10gfCBOWydvdXRwdXRzJ10pW3N0cmluZ11cblxuQENvbXBvbmVudCh7XG4gIC8vIFtjb21wb25lbnQtZGlyZWN0aXZlXVxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUuY29tcG9uZW50LnNhc3MnXSxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdub2RlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhITogQ2xhc3NpYy5Ob2RlICYgTm9kZUV4dHJhRGF0YTtcbiAgQElucHV0KCkgZW1pdCE6IChkYXRhOiBhbnkpID0+IHZvaWRcbiAgQElucHV0KCkgcmVuZGVyZWQhOiAoKSA9PiB2b2lkXG5cbiAgc2VlZCA9IDBcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLnB4JykgZ2V0IHdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEud2lkdGhcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JykgZ2V0IGhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmhlaWdodFxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLnNlbGVjdGVkXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgICB0aGlzLnNlZWQrKyAvLyBmb3JjZSByZW5kZXIgc29ja2V0c1xuICB9XG5cbiAgc29ydEJ5SW5kZXg8TiBleHRlbmRzIENsYXNzaWMuTm9kZSwgSSBleHRlbmRzIEtleVZhbHVlPHN0cmluZywgU29ydFZhbHVlPE4+Pj4oYTogSSwgYjogSSkge1xuICAgIGNvbnN0IGFpID0gYS52YWx1ZT8uaW5kZXggfHwgMFxuICAgIGNvbnN0IGJpID0gYi52YWx1ZT8uaW5kZXggfHwgMFxuXG4gICAgcmV0dXJuIGFpIC0gYmlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJ0aXRsZVwiPnt7ZGF0YS5sYWJlbH19PC9kaXY+XG48ZGl2IGNsYXNzPVwib3V0cHV0XCIgKm5nRm9yPVwibGV0IG91dHB1dCBvZiBkYXRhLm91dHB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInb3V0cHV0LScrb3V0cHV0LmtleVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvdXRwdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cIm91dHB1dC10aXRsZVwiPnt7b3V0cHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm91dHB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnb3V0cHV0Jywga2V5OiBvdXRwdXQua2V5LCBub2RlSWQ6IGRhdGEuaWQsIHBheWxvYWQ6IG91dHB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJvdXRwdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cImNvbnRyb2xcIlxuICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGRhdGEuY29udHJvbHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIlxuICAgIHJlZkNvbXBvbmVudFxuICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGNvbnRyb2wudmFsdWUgfVwiXG4gICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ2NvbnRyb2wtJytjb250cm9sLmtleVwiXG4+PC9kaXY+XG48ZGl2IGNsYXNzPVwiaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgZGF0YS5pbnB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInaW5wdXQtJytpbnB1dC5rZXlcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtc29ja2V0XCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnc29ja2V0Jywgc2lkZTogJ2lucHV0Jywga2V5OiBpbnB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogaW5wdXQudmFsdWU/LnNvY2tldCwgc2VlZDogc2VlZCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJpbnB1dC10aXRsZVwiICpuZ0lmPVwiIWlucHV0LnZhbHVlPy5jb250cm9sIHx8ICFpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2xcIj57e2lucHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJpbnB1dC52YWx1ZT8uY29udHJvbCAmJiBpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2wgPyAnJyA6ICdub25lJ1wiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ2NvbnRyb2wnLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uY29udHJvbCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtY29udHJvbFwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=