rete-angular-plugin 2.4.1 → 2.5.0

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 (110) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +43 -8
  2. package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
  3. package/12/esm2015/index.js +2 -1
  4. package/12/esm2015/module.js +10 -5
  5. package/12/esm2015/presets/classic/components/node/node.component.js +6 -5
  6. package/12/esm2015/shared/pipes/impure-keyvalue.pipe.js +24 -0
  7. package/12/esm2015/shared/pipes/index.js +2 -0
  8. package/12/fesm2015/rete-angular-plugin-ng12.js +36 -10
  9. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  10. package/12/index.d.ts +1 -0
  11. package/12/module.d.ts +3 -2
  12. package/12/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  13. package/12/shared/pipes/index.d.ts +1 -0
  14. package/13/esm2020/index.mjs +2 -1
  15. package/13/esm2020/module.mjs +10 -5
  16. package/13/esm2020/presets/classic/components/node/node.component.mjs +7 -6
  17. package/13/esm2020/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  18. package/13/esm2020/shared/pipes/index.mjs +2 -0
  19. package/13/fesm2015/rete-angular-plugin-ng13.mjs +39 -11
  20. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  21. package/13/fesm2020/rete-angular-plugin-ng13.mjs +37 -11
  22. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  23. package/13/index.d.ts +1 -0
  24. package/13/module.d.ts +3 -2
  25. package/13/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  26. package/13/shared/pipes/index.d.ts +1 -0
  27. package/14/esm2020/index.mjs +2 -1
  28. package/14/esm2020/module.mjs +10 -5
  29. package/14/esm2020/presets/classic/components/node/node.component.mjs +7 -6
  30. package/14/esm2020/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  31. package/14/esm2020/shared/pipes/index.mjs +2 -0
  32. package/14/fesm2015/rete-angular-plugin-ng14.mjs +39 -11
  33. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  34. package/14/fesm2020/rete-angular-plugin-ng14.mjs +37 -11
  35. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  36. package/14/index.d.ts +1 -0
  37. package/14/module.d.ts +3 -2
  38. package/14/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  39. package/14/shared/pipes/index.d.ts +1 -0
  40. package/15/esm2020/index.mjs +2 -1
  41. package/15/esm2020/module.mjs +10 -5
  42. package/15/esm2020/presets/classic/components/node/node.component.mjs +7 -6
  43. package/15/esm2020/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  44. package/15/esm2020/shared/pipes/index.mjs +2 -0
  45. package/15/fesm2015/rete-angular-plugin-ng15.mjs +39 -11
  46. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  47. package/15/fesm2020/rete-angular-plugin-ng15.mjs +37 -11
  48. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  49. package/15/index.d.ts +1 -0
  50. package/15/module.d.ts +3 -2
  51. package/15/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  52. package/15/shared/pipes/index.d.ts +1 -0
  53. package/16/esm2022/index.mjs +2 -1
  54. package/16/esm2022/module.mjs +10 -5
  55. package/16/esm2022/presets/classic/components/node/node.component.mjs +7 -6
  56. package/16/esm2022/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  57. package/16/esm2022/shared/pipes/index.mjs +2 -0
  58. package/16/fesm2022/rete-angular-plugin-ng16.mjs +37 -11
  59. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  60. package/16/index.d.ts +1 -0
  61. package/16/module.d.ts +3 -2
  62. package/16/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  63. package/16/shared/pipes/index.d.ts +1 -0
  64. package/17/esm2022/index.mjs +2 -1
  65. package/17/esm2022/module.mjs +10 -5
  66. package/17/esm2022/presets/classic/components/node/node.component.mjs +7 -6
  67. package/17/esm2022/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  68. package/17/esm2022/shared/pipes/index.mjs +2 -0
  69. package/17/fesm2022/rete-angular-plugin-ng17.mjs +37 -11
  70. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -1
  71. package/17/index.d.ts +1 -0
  72. package/17/module.d.ts +3 -2
  73. package/17/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  74. package/17/shared/pipes/index.d.ts +1 -0
  75. package/18/esm2022/index.mjs +2 -1
  76. package/18/esm2022/module.mjs +10 -5
  77. package/18/esm2022/presets/classic/components/node/node.component.mjs +7 -6
  78. package/18/esm2022/shared/pipes/impure-keyvalue.pipe.mjs +24 -0
  79. package/18/esm2022/shared/pipes/index.mjs +2 -0
  80. package/18/fesm2022/rete-angular-plugin-ng18.mjs +37 -11
  81. package/18/fesm2022/rete-angular-plugin-ng18.mjs.map +1 -1
  82. package/18/index.d.ts +1 -0
  83. package/18/module.d.ts +3 -2
  84. package/18/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  85. package/18/shared/pipes/index.d.ts +1 -0
  86. package/19/fesm2022/rete-angular-plugin-ng19.mjs +31 -9
  87. package/19/fesm2022/rete-angular-plugin-ng19.mjs.map +1 -1
  88. package/19/index.d.ts +1 -0
  89. package/19/shared/pipes/impure-keyvalue.pipe.d.ts +12 -0
  90. package/19/shared/pipes/index.d.ts +1 -0
  91. package/20/fesm2022/rete-angular-plugin-ng20.mjs +31 -9
  92. package/20/fesm2022/rete-angular-plugin-ng20.mjs.map +1 -1
  93. package/20/index.d.ts +13 -2
  94. package/CHANGELOG.md +7 -0
  95. package/bundles/rete-angular-plugin.umd.js +40 -11
  96. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  97. package/esm2015/index.js +2 -1
  98. package/esm2015/module.js +6 -3
  99. package/esm2015/presets/classic/components/node/node.component.js +2 -2
  100. package/esm2015/rete-angular-plugin.js +10 -9
  101. package/esm2015/shared/pipes/impure-keyvalue.pipe.js +20 -0
  102. package/esm2015/shared/pipes/index.js +2 -0
  103. package/fesm2015/rete-angular-plugin.js +26 -5
  104. package/fesm2015/rete-angular-plugin.js.map +1 -1
  105. package/index.d.ts +1 -0
  106. package/package.json +1 -1
  107. package/rete-angular-plugin.d.ts +9 -8
  108. package/rete-angular-plugin.metadata.json +1 -1
  109. package/shared/pipes/impure-keyvalue.pipe.d.ts +9 -0
  110. package/shared/pipes/index.d.ts +1 -0
@@ -2,6 +2,7 @@ import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core'
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "../../../../ref";
5
+ import * as i3 from "../../../../shared/pipes/impure-keyvalue.pipe";
5
6
  const _c0 = (a0, a1, a2, a3) => ({ type: "socket", side: "output", key: a0, nodeId: a1, payload: a2, seed: a3 });
6
7
  const _c1 = a0 => ({ type: "control", payload: a0 });
7
8
  const _c2 = (a0, a1, a2, a3) => ({ type: "socket", side: "input", key: a0, nodeId: a1, payload: a2, seed: a3 });
@@ -93,11 +94,11 @@ export class NodeComponent {
93
94
  i0.ɵɵtext(1);
94
95
  i0.ɵɵelementEnd();
95
96
  i0.ɵɵtemplate(2, NodeComponent_div_2_Template, 4, 9, "div", 1);
96
- i0.ɵɵpipe(3, "keyvalue");
97
+ i0.ɵɵpipe(3, "keyvalueimpure");
97
98
  i0.ɵɵtemplate(4, NodeComponent_div_4_Template, 1, 5, "div", 2);
98
- i0.ɵɵpipe(5, "keyvalue");
99
+ i0.ɵɵpipe(5, "keyvalueimpure");
99
100
  i0.ɵɵtemplate(6, NodeComponent_div_6_Template, 4, 15, "div", 3);
100
- i0.ɵɵpipe(7, "keyvalue");
101
+ i0.ɵɵpipe(7, "keyvalueimpure");
101
102
  } if (rf & 2) {
102
103
  i0.ɵɵadvance();
103
104
  i0.ɵɵtextInterpolate(ctx.data.label);
@@ -107,13 +108,13 @@ export class NodeComponent {
107
108
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(5, 7, ctx.data.controls, ctx.sortByIndex));
108
109
  i0.ɵɵadvance(2);
109
110
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(7, 10, ctx.data.inputs, ctx.sortByIndex));
110
- } }, dependencies: [i1.NgForOf, i1.NgIf, i2.RefDirective, i1.KeyValuePipe], styles: ["[_nghost-%COMP%]{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:#8299ffcc}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
111
+ } }, dependencies: [i1.NgForOf, i1.NgIf, i2.RefDirective, i3.ImpureKeyvaluePipe], styles: ["[_nghost-%COMP%]{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:#8299ffcc}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
111
112
  }
112
113
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NodeComponent, [{
113
114
  type: Component,
114
115
  args: [{ host: {
115
116
  'data-testid': 'node'
116
- }, template: "<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", styles: [":host{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:#8299ffcc}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
117
+ }, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalueimpure: 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 | keyvalueimpure: 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 | keyvalueimpure: 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", styles: [":host{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:#8299ffcc}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
117
118
  }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
118
119
  type: Input
119
120
  }], emit: [{
@@ -131,4 +132,4 @@ export class NodeComponent {
131
132
  args: ['class.selected']
132
133
  }] }); })();
133
134
  (() => { (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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztJQ0V4RixBQURKLDhCQUEwSCxhQUNqRTtJQUFBLFlBQXVCO0lBQUEsaUJBQU07SUFDbEYseUJBTU87SUFDWCxpQkFBTTs7Ozs7SUFSbUQsZUFBdUI7SUFBdkIsNEVBQXVCO0lBSXhFLGNBQXVIO0lBQ3ZILEFBREEsc0pBQXVILHFCQUMxRzs7O0lBSXJCLHlCQU9POzs7O0lBRkgsQUFEQSxtRUFBbUQscUJBQ3RDOzs7O0lBV2IsK0JBQThHO0lBQUEsWUFBc0I7SUFBQSxpQkFBTTs7O0lBQTVCLGNBQXNCO0lBQXRCLDBFQUFzQjs7O0lBUnhJLDhCQUFxSDtJQUNqSCx5QkFNTztJQUNQLHFFQUE4RztJQUM5RywwQkFPTztJQUNYLGlCQUFNOzs7OztJQWJFLGNBQW9IO0lBQ3BILEFBREEsbUpBQW9ILHFCQUN2RztJQUdtQyxjQUF3RDtJQUF4RCxpSkFBd0Q7SUFHeEcsY0FBZ0Y7SUFBaEYsaUtBQWdGO0lBR2hGLEFBREEsMEdBQTBELHFCQUM3Qzs7QURqQnJCLE1BQU0sT0FBTyxhQUFhO0lBbUJKO0lBbEJYLElBQUksQ0FBZ0M7SUFDcEMsSUFBSSxDQUFzQjtJQUMxQixRQUFRLENBQWE7SUFFOUIsSUFBSSxHQUFHLENBQUMsQ0FBQTtJQUVSLElBQW1DLEtBQUs7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBb0MsTUFBTTtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFtQyxRQUFRO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDM0IsQ0FBQztJQUVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3hCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQSxDQUFDLHVCQUF1QjtJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFtRSxDQUFJLEVBQUUsQ0FBSTtRQUN0RixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUE7UUFDOUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBRTlCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQTtJQUNoQixDQUFDO3VHQWxDVSxhQUFhOzZEQUFiLGFBQWE7WUFBYix3Q0FBYSw0QkFBQTtZQUFiLHdDQUFhOztZQ2hCMUIsOEJBQXVDO1lBQUEsWUFBYztZQUFBLGlCQUFNO1lBQzNELDhEQUEwSDs7WUFVMUgsOERBT0M7O1lBQ0QsK0RBQXFIOzs7WUFuQjlFLGNBQWM7WUFBZCxvQ0FBYztZQUNkLGNBQXVDO1lBQXZDLGlGQUF1QztZQVl0RCxlQUF3QztZQUF4QyxrRkFBd0M7WUFNM0IsZUFBc0M7WUFBdEMsaUZBQXNDOzs7aUZESDlELGFBQWE7Y0FSekIsU0FBUzt1QkFJRjtvQkFDSixhQUFhLEVBQUUsTUFBTTtpQkFDdEI7a0RBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUk2QixLQUFLO2tCQUF2QyxXQUFXO21CQUFDLGdCQUFnQjtZQUlPLE1BQU07a0JBQXpDLFdBQVc7bUJBQUMsaUJBQWlCO1lBSUssUUFBUTtrQkFBMUMsV0FBVzttQkFBQyxnQkFBZ0I7O2tGQWZsQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsYXNzaWNQcmVzZXQgYXMgQ2xhc3NpYyB9IGZyb20gJ3JldGUnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy8gW2ltcG9ydHNdXG5cbnR5cGUgTm9kZUV4dHJhRGF0YSA9IHsgd2lkdGg/OiBudW1iZXIsIGhlaWdodD86IG51bWJlciB9XG50eXBlIFNvcnRWYWx1ZTxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlPiA9IChOWydjb250cm9scyddIHwgTlsnaW5wdXRzJ10gfCBOWydvdXRwdXRzJ10pW3N0cmluZ11cblxuQENvbXBvbmVudCh7XG4gIC8vIFtjb21wb25lbnQtZGlyZWN0aXZlXVxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUuY29tcG9uZW50LnNhc3MnXSxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdub2RlJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBkYXRhITogQ2xhc3NpYy5Ob2RlICYgTm9kZUV4dHJhRGF0YTtcbiAgQElucHV0KCkgZW1pdCE6IChkYXRhOiBhbnkpID0+IHZvaWRcbiAgQElucHV0KCkgcmVuZGVyZWQhOiAoKSA9PiB2b2lkXG5cbiAgc2VlZCA9IDBcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLnB4JykgZ2V0IHdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEud2lkdGhcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUuaGVpZ2h0LnB4JykgZ2V0IGhlaWdodCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLmhlaWdodFxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIGdldCBzZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLnNlbGVjdGVkXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgICB0aGlzLnNlZWQrKyAvLyBmb3JjZSByZW5kZXIgc29ja2V0c1xuICB9XG5cbiAgc29ydEJ5SW5kZXg8TiBleHRlbmRzIENsYXNzaWMuTm9kZSwgSSBleHRlbmRzIEtleVZhbHVlPHN0cmluZywgU29ydFZhbHVlPE4+Pj4oYTogSSwgYjogSSkge1xuICAgIGNvbnN0IGFpID0gYS52YWx1ZT8uaW5kZXggfHwgMFxuICAgIGNvbnN0IGJpID0gYi52YWx1ZT8uaW5kZXggfHwgMFxuXG4gICAgcmV0dXJuIGFpIC0gYmlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJ0aXRsZVwiPnt7ZGF0YS5sYWJlbH19PC9kaXY+XG48ZGl2IGNsYXNzPVwib3V0cHV0XCIgKm5nRm9yPVwibGV0IG91dHB1dCBvZiBkYXRhLm91dHB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInb3V0cHV0LScrb3V0cHV0LmtleVwiPlxuICAgIDxkaXYgY2xhc3M9XCJvdXRwdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cIm91dHB1dC10aXRsZVwiPnt7b3V0cHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm91dHB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnb3V0cHV0Jywga2V5OiBvdXRwdXQua2V5LCBub2RlSWQ6IGRhdGEuaWQsIHBheWxvYWQ6IG91dHB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJvdXRwdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cImNvbnRyb2xcIlxuICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGRhdGEuY29udHJvbHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIlxuICAgIHJlZkNvbXBvbmVudFxuICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGNvbnRyb2wudmFsdWUgfVwiXG4gICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ2NvbnRyb2wtJytjb250cm9sLmtleVwiXG4+PC9kaXY+XG48ZGl2IGNsYXNzPVwiaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgZGF0YS5pbnB1dHMgfCBrZXl2YWx1ZTogc29ydEJ5SW5kZXhcIiBbYXR0ci5kYXRhLXRlc3RpZF09XCInaW5wdXQtJytpbnB1dC5rZXlcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtc29ja2V0XCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnc29ja2V0Jywgc2lkZTogJ2lucHV0Jywga2V5OiBpbnB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogaW5wdXQudmFsdWU/LnNvY2tldCwgc2VlZDogc2VlZCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtc29ja2V0XCJcbiAgICA+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJpbnB1dC10aXRsZVwiICpuZ0lmPVwiIWlucHV0LnZhbHVlPy5jb250cm9sIHx8ICFpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2xcIj57e2lucHV0LnZhbHVlPy5sYWJlbH19PC9kaXY+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJpbnB1dC52YWx1ZT8uY29udHJvbCAmJiBpbnB1dC52YWx1ZT8uc2hvd0NvbnRyb2wgPyAnJyA6ICdub25lJ1wiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ2NvbnRyb2wnLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uY29udHJvbCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwiaW5wdXQtY29udHJvbFwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7SUNFeEYsQUFESiw4QkFBZ0ksYUFDdkU7SUFBQSxZQUF1QjtJQUFBLGlCQUFNO0lBQ2xGLHlCQU1PO0lBQ1gsaUJBQU07Ozs7O0lBUm1ELGVBQXVCO0lBQXZCLDRFQUF1QjtJQUl4RSxjQUF1SDtJQUN2SCxBQURBLHNKQUF1SCxxQkFDMUc7OztJQUlyQix5QkFPTzs7OztJQUZILEFBREEsbUVBQW1ELHFCQUN0Qzs7OztJQVdiLCtCQUE4RztJQUFBLFlBQXNCO0lBQUEsaUJBQU07OztJQUE1QixjQUFzQjtJQUF0QiwwRUFBc0I7OztJQVJ4SSw4QkFBMkg7SUFDdkgseUJBTU87SUFDUCxxRUFBOEc7SUFDOUcsMEJBT087SUFDWCxpQkFBTTs7Ozs7SUFiRSxjQUFvSDtJQUNwSCxBQURBLG1KQUFvSCxxQkFDdkc7SUFHbUMsY0FBd0Q7SUFBeEQsaUpBQXdEO0lBR3hHLGNBQWdGO0lBQWhGLGlLQUFnRjtJQUdoRixBQURBLDBHQUEwRCxxQkFDN0M7O0FEakJyQixNQUFNLE9BQU8sYUFBYTtJQW1CSjtJQWxCWCxJQUFJLENBQWdDO0lBQ3BDLElBQUksQ0FBc0I7SUFDMUIsUUFBUSxDQUFhO0lBRTlCLElBQUksR0FBRyxDQUFDLENBQUE7SUFFUixJQUFtQyxLQUFLO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQW9DLE1BQU07UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUN6QixDQUFDO0lBRUQsSUFBbUMsUUFBUTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQzNCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUEsQ0FBQyx1QkFBdUI7SUFDckMsQ0FBQztJQUVELFdBQVcsQ0FBbUUsQ0FBSSxFQUFFLENBQUk7UUFDdEYsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBQzlCLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQTtRQUU5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUE7SUFDaEIsQ0FBQzt1R0FsQ1UsYUFBYTs2REFBYixhQUFhO1lBQWIsd0NBQWEsNEJBQUE7WUFBYix3Q0FBYTs7WUNoQjFCLDhCQUF1QztZQUFBLFlBQWM7WUFBQSxpQkFBTTtZQUMzRCw4REFBZ0k7O1lBVWhJLDhEQU9DOztZQUNELCtEQUEySDs7O1lBbkJwRixjQUFjO1lBQWQsb0NBQWM7WUFDZCxjQUE2QztZQUE3QyxpRkFBNkM7WUFZNUQsZUFBOEM7WUFBOUMsa0ZBQThDO1lBTWpDLGVBQTRDO1lBQTVDLGlGQUE0Qzs7O2lGREhwRSxhQUFhO2NBUnpCLFNBQVM7dUJBSUY7b0JBQ0osYUFBYSxFQUFFLE1BQU07aUJBQ3RCO2tEQUdRLElBQUk7a0JBQVosS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJNkIsS0FBSztrQkFBdkMsV0FBVzttQkFBQyxnQkFBZ0I7WUFJTyxNQUFNO2tCQUF6QyxXQUFXO21CQUFDLGlCQUFpQjtZQUlLLFFBQVE7a0JBQTFDLFdBQVc7bUJBQUMsZ0JBQWdCOztrRkFmbEIsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFzc2ljUHJlc2V0IGFzIENsYXNzaWMgfSBmcm9tICdyZXRlJztcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbi8vIFtpbXBvcnRzXVxuXG50eXBlIE5vZGVFeHRyYURhdGEgPSB7IHdpZHRoPzogbnVtYmVyLCBoZWlnaHQ/OiBudW1iZXIgfVxudHlwZSBTb3J0VmFsdWU8TiBleHRlbmRzIENsYXNzaWMuTm9kZT4gPSAoTlsnY29udHJvbHMnXSB8IE5bJ2lucHV0cyddIHwgTlsnb3V0cHV0cyddKVtzdHJpbmddXG5cbkBDb21wb25lbnQoe1xuICAvLyBbY29tcG9uZW50LWRpcmVjdGl2ZV1cbiAgdGVtcGxhdGVVcmw6ICcuL25vZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub2RlLmNvbXBvbmVudC5zYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbm9kZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBOb2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YSE6IENsYXNzaWMuTm9kZSAmIE5vZGVFeHRyYURhdGE7XG4gIEBJbnB1dCgpIGVtaXQhOiAoZGF0YTogYW55KSA9PiB2b2lkXG4gIEBJbnB1dCgpIHJlbmRlcmVkITogKCkgPT4gdm9pZFxuXG4gIHNlZWQgPSAwXG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aC5weCcpIGdldCB3aWR0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLndpZHRoXG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5weCcpIGdldCBoZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS5oZWlnaHRcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKSBnZXQgc2VsZWN0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS5zZWxlY3RlZFxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5jZHIuZGV0YWNoKClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnJlbmRlcmVkKCkpXG4gICAgdGhpcy5zZWVkKysgLy8gZm9yY2UgcmVuZGVyIHNvY2tldHNcbiAgfVxuXG4gIHNvcnRCeUluZGV4PE4gZXh0ZW5kcyBDbGFzc2ljLk5vZGUsIEkgZXh0ZW5kcyBLZXlWYWx1ZTxzdHJpbmcsIFNvcnRWYWx1ZTxOPj4+KGE6IEksIGI6IEkpIHtcbiAgICBjb25zdCBhaSA9IGEudmFsdWU/LmluZGV4IHx8IDBcbiAgICBjb25zdCBiaSA9IGIudmFsdWU/LmluZGV4IHx8IDBcblxuICAgIHJldHVybiBhaSAtIGJpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aXRsZVwiIGRhdGEtdGVzdGlkPVwidGl0bGVcIj57e2RhdGEubGFiZWx9fTwvZGl2PlxuPGRpdiBjbGFzcz1cIm91dHB1dFwiICpuZ0Zvcj1cImxldCBvdXRwdXQgb2YgZGF0YS5vdXRwdXRzIHwga2V5dmFsdWVpbXB1cmU6IHNvcnRCeUluZGV4XCIgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ291dHB1dC0nK291dHB1dC5rZXlcIj5cbiAgICA8ZGl2IGNsYXNzPVwib3V0cHV0LXRpdGxlXCIgZGF0YS10ZXN0aWQ9XCJvdXRwdXQtdGl0bGVcIj57e291dHB1dC52YWx1ZT8ubGFiZWx9fTwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJvdXRwdXQtc29ja2V0XCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnc29ja2V0Jywgc2lkZTogJ291dHB1dCcsIGtleTogb3V0cHV0LmtleSwgbm9kZUlkOiBkYXRhLmlkLCBwYXlsb2FkOiBvdXRwdXQudmFsdWU/LnNvY2tldCwgc2VlZDogc2VlZCB9XCJcbiAgICAgICAgW2VtaXRdPVwiZW1pdFwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwib3V0cHV0LXNvY2tldFwiXG4gICAgPjwvZGl2PlxuPC9kaXY+XG48ZGl2XG4gICAgY2xhc3M9XCJjb250cm9sXCJcbiAgICAqbmdGb3I9XCJsZXQgY29udHJvbCBvZiBkYXRhLmNvbnRyb2xzIHwga2V5dmFsdWVpbXB1cmU6IHNvcnRCeUluZGV4XCJcbiAgICByZWZDb21wb25lbnRcbiAgICBbZGF0YV09XCJ7dHlwZTogJ2NvbnRyb2wnLCBwYXlsb2FkOiBjb250cm9sLnZhbHVlIH1cIlxuICAgIFtlbWl0XT1cImVtaXRcIlxuICAgIFthdHRyLmRhdGEtdGVzdGlkXT1cIidjb250cm9sLScrY29udHJvbC5rZXlcIlxuPjwvZGl2PlxuPGRpdiBjbGFzcz1cImlucHV0XCIgKm5nRm9yPVwibGV0IGlucHV0IG9mIGRhdGEuaW5wdXRzIHwga2V5dmFsdWVpbXB1cmU6IHNvcnRCeUluZGV4XCIgW2F0dHIuZGF0YS10ZXN0aWRdPVwiJ2lucHV0LScraW5wdXQua2V5XCI+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cImlucHV0LXNvY2tldFwiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ3NvY2tldCcsIHNpZGU6ICdpbnB1dCcsIGtleTogaW5wdXQua2V5LCBub2RlSWQ6IGRhdGEuaWQsIHBheWxvYWQ6IGlucHV0LnZhbHVlPy5zb2NrZXQsIHNlZWQ6IHNlZWQgfVwiXG4gICAgICAgIFtlbWl0XT1cImVtaXRcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImlucHV0LXNvY2tldFwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC10aXRsZVwiIGRhdGEtdGVzdGlkPVwiaW5wdXQtdGl0bGVcIiAqbmdJZj1cIiFpbnB1dC52YWx1ZT8uY29udHJvbCB8fCAhaW5wdXQudmFsdWU/LnNob3dDb250cm9sXCI+e3tpbnB1dC52YWx1ZT8ubGFiZWx9fTwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sXCJcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiaW5wdXQudmFsdWU/LmNvbnRyb2wgJiYgaW5wdXQudmFsdWU/LnNob3dDb250cm9sID8gJycgOiAnbm9uZSdcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdjb250cm9sJywgcGF5bG9hZDogaW5wdXQudmFsdWU/LmNvbnRyb2wgfVwiXG4gICAgICAgIFtlbWl0XT1cImVtaXRcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImlucHV0LWNvbnRyb2xcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,24 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ImpureKeyvaluePipe {
4
+ transform(value, compareFn) {
5
+ if (!value || typeof value !== 'object') {
6
+ return [];
7
+ }
8
+ const result = Object.entries(value).map(([key, val]) => ({ key, value: val }));
9
+ if (compareFn) {
10
+ result.sort(compareFn);
11
+ }
12
+ return result;
13
+ }
14
+ static ɵfac = function ImpureKeyvaluePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ImpureKeyvaluePipe)(); };
15
+ static ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "keyvalueimpure", type: ImpureKeyvaluePipe, pure: false });
16
+ }
17
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImpureKeyvaluePipe, [{
18
+ type: Pipe,
19
+ args: [{
20
+ name: 'keyvalueimpure',
21
+ pure: false
22
+ }]
23
+ }], null, null); })();
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wdXJlLWtleXZhbHVlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvc2hhcmVkL3BpcGVzL2ltcHVyZS1rZXl2YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFNBQVMsQ0FBQyxLQUE4QyxFQUFFLFNBQXNDO1FBQzlGLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEMsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzRHQWRVLGtCQUFrQjtpRkFBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBSjlCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsZ0JBQWdCO2dCQUN0QixJQUFJLEVBQUUsS0FBSzthQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdrZXl2YWx1ZWltcHVyZScsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEltcHVyZUtleXZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybSh2YWx1ZToge1trZXk6IHN0cmluZ106IGFueX0gfCBudWxsIHwgdW5kZWZpbmVkLCBjb21wYXJlRm4/OiAoYTogYW55LCBiOiBhbnkpID0+IG51bWJlcik6IEFycmF5PHtrZXk6IHN0cmluZywgdmFsdWU6IGFueX0+IHtcbiAgICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBPYmplY3QuZW50cmllcyh2YWx1ZSkubWFwKChba2V5LCB2YWxdKSA9PiAoe2tleSwgdmFsdWU6IHZhbH0pKTtcblxuICAgIGlmIChjb21wYXJlRm4pIHtcbiAgICAgIHJlc3VsdC5zb3J0KGNvbXBhcmVGbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export { ImpureKeyvaluePipe } from './impure-keyvalue.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvc2hhcmVkL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW1wdXJlS2V5dmFsdWVQaXBlIH0gZnJvbSAnLi9pbXB1cmUta2V5dmFsdWUucGlwZSc7XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { getUID, ClassicPreset, Scope } from 'rete';
2
2
  import { getDOMSocketPosition, loopConnectionPath, classicConnectionPath } from 'rete-render-utils';
3
3
  import * as i0 from '@angular/core';
4
- import { Directive, Input, Component, HostBinding, HostListener, EventEmitter, Output, NgModule } from '@angular/core';
4
+ import { Directive, Input, Pipe, Component, HostBinding, HostListener, EventEmitter, Output, NgModule } from '@angular/core';
5
5
  import * as i1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { BaseAreaPlugin } from 'rete-area-plugin';
@@ -34,6 +34,28 @@ class RefDirective {
34
34
  type: Input
35
35
  }] }); })();
36
36
 
37
+ class ImpureKeyvaluePipe {
38
+ transform(value, compareFn) {
39
+ if (!value || typeof value !== 'object') {
40
+ return [];
41
+ }
42
+ const result = Object.entries(value).map(([key, val]) => ({ key, value: val }));
43
+ if (compareFn) {
44
+ result.sort(compareFn);
45
+ }
46
+ return result;
47
+ }
48
+ static ɵfac = function ImpureKeyvaluePipe_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ImpureKeyvaluePipe)(); };
49
+ static ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "keyvalueimpure", type: ImpureKeyvaluePipe, pure: false });
50
+ }
51
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ImpureKeyvaluePipe, [{
52
+ type: Pipe,
53
+ args: [{
54
+ name: 'keyvalueimpure',
55
+ pure: false
56
+ }]
57
+ }], null, null); })();
58
+
37
59
  const _c0$1 = (a0, a1, a2, a3) => ({ type: "socket", side: "output", key: a0, nodeId: a1, payload: a2, seed: a3 });
38
60
  const _c1 = a0 => ({ type: "control", payload: a0 });
39
61
  const _c2 = (a0, a1, a2, a3) => ({ type: "socket", side: "input", key: a0, nodeId: a1, payload: a2, seed: a3 });
@@ -125,11 +147,11 @@ class NodeComponent {
125
147
  i0.ɵɵtext(1);
126
148
  i0.ɵɵelementEnd();
127
149
  i0.ɵɵtemplate(2, NodeComponent_div_2_Template, 4, 9, "div", 1);
128
- i0.ɵɵpipe(3, "keyvalue");
150
+ i0.ɵɵpipe(3, "keyvalueimpure");
129
151
  i0.ɵɵtemplate(4, NodeComponent_div_4_Template, 1, 5, "div", 2);
130
- i0.ɵɵpipe(5, "keyvalue");
152
+ i0.ɵɵpipe(5, "keyvalueimpure");
131
153
  i0.ɵɵtemplate(6, NodeComponent_div_6_Template, 4, 15, "div", 3);
132
- i0.ɵɵpipe(7, "keyvalue");
154
+ i0.ɵɵpipe(7, "keyvalueimpure");
133
155
  } if (rf & 2) {
134
156
  i0.ɵɵadvance();
135
157
  i0.ɵɵtextInterpolate(ctx.data.label);
@@ -139,13 +161,13 @@ class NodeComponent {
139
161
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(5, 7, ctx.data.controls, ctx.sortByIndex));
140
162
  i0.ɵɵadvance(2);
141
163
  i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(7, 10, ctx.data.inputs, ctx.sortByIndex));
142
- } }, dependencies: [i1.NgForOf, i1.NgIf, RefDirective, i1.KeyValuePipe], styles: ["[_nghost-%COMP%]{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:#8299ffcc}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
164
+ } }, dependencies: [i1.NgForOf, i1.NgIf, RefDirective, ImpureKeyvaluePipe], styles: ["[_nghost-%COMP%]{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}[_nghost-%COMP%]:hover{background:#8299ffcc}.selected[_nghost-%COMP%]{background:#ffd92c;border-color:#e3c000}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}[_nghost-%COMP%] .output[_ngcontent-%COMP%]{text-align:right}[_nghost-%COMP%] .input[_ngcontent-%COMP%]{text-align:left}[_nghost-%COMP%] .input-title[_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[_ngcontent-%COMP%]{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}[_nghost-%COMP%] .input-title[hidden][_ngcontent-%COMP%], [_nghost-%COMP%] .output-title[hidden][_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .output-socket[_ngcontent-%COMP%]{text-align:right;margin-right:-18px;display:inline-block}[_nghost-%COMP%] .input-socket[_ngcontent-%COMP%]{text-align:left;margin-left:-18px;display:inline-block}[_nghost-%COMP%] .input-control[_ngcontent-%COMP%]{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}[_nghost-%COMP%] .control[_ngcontent-%COMP%]{padding:6px 18px}"] });
143
165
  }
144
166
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NodeComponent, [{
145
167
  type: Component,
146
168
  args: [{ host: {
147
169
  'data-testid': 'node'
148
- }, template: "<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", styles: [":host{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:#8299ffcc}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
170
+ }, template: "<div class=\"title\" data-testid=\"title\">{{data.label}}</div>\n<div class=\"output\" *ngFor=\"let output of data.outputs | keyvalueimpure: 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 | keyvalueimpure: 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 | keyvalueimpure: 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", styles: [":host{display:block;background:#6e88ffcc;border:2px solid #4e58bf;border-radius:10px;cursor:pointer;box-sizing:border-box;width:180px;height:auto;padding-bottom:6px;position:relative;-webkit-user-select:none;user-select:none;line-height:initial;font-family:Arial}:host:hover{background:#8299ffcc}:host.selected{background:#ffd92c;border-color:#e3c000}:host .title{color:#fff;font-family:sans-serif;font-size:18px;padding:8px}:host .output{text-align:right}:host .input{text-align:left}:host .input-title,:host .output-title{vertical-align:middle;color:#fff;display:inline-block;font-family:sans-serif;font-size:14px;margin:6px;line-height:24px}:host .input-title[hidden],:host .output-title[hidden]{display:none}:host .output-socket{text-align:right;margin-right:-18px;display:inline-block}:host .input-socket{text-align:left;margin-left:-18px;display:inline-block}:host .input-control{z-index:1;width:calc(100% - 36px);vertical-align:middle;display:inline-block}:host .control{padding:6px 18px}\n"] }]
149
171
  }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
150
172
  type: Input
151
173
  }], emit: [{
@@ -1302,7 +1324,8 @@ class ReteModule {
1302
1324
  ConnectionComponent,
1303
1325
  ConnectionWrapperComponent,
1304
1326
  SocketComponent,
1305
- ControlComponent
1327
+ ControlComponent,
1328
+ ImpureKeyvaluePipe
1306
1329
  ],
1307
1330
  imports: [
1308
1331
  CommonModule
@@ -1313,7 +1336,8 @@ class ReteModule {
1313
1336
  ConnectionComponent,
1314
1337
  ConnectionWrapperComponent,
1315
1338
  SocketComponent,
1316
- ControlComponent
1339
+ ControlComponent,
1340
+ ImpureKeyvaluePipe
1317
1341
  ]
1318
1342
  }]
1319
1343
  }], null, null); })();
@@ -1322,12 +1346,14 @@ class ReteModule {
1322
1346
  ConnectionComponent,
1323
1347
  ConnectionWrapperComponent,
1324
1348
  SocketComponent,
1325
- ControlComponent], imports: [CommonModule], exports: [RefDirective,
1349
+ ControlComponent,
1350
+ ImpureKeyvaluePipe], imports: [CommonModule], exports: [RefDirective,
1326
1351
  NodeComponent,
1327
1352
  ConnectionComponent,
1328
1353
  ConnectionWrapperComponent,
1329
1354
  SocketComponent,
1330
- ControlComponent] }); })();
1355
+ ControlComponent,
1356
+ ImpureKeyvaluePipe] }); })();
1331
1357
 
1332
1358
  class ReteContextMenuModule {
1333
1359
  static ɵfac = function ReteContextMenuModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReteContextMenuModule)(); };
@@ -1559,5 +1585,5 @@ class AngularPlugin extends Scope {
1559
1585
  * Generated bundle index. Do not edit.
1560
1586
  */
1561
1587
 
1562
- export { AngularPlugin, ConnectionComponent, ConnectionWrapperComponent, ContextMenuComponent, ContextMenuItemComponent, ContextMenuSearchComponent, ControlComponent, MiniNodeComponent, MiniViewportComponent, MinimapComponent, NodeComponent, PinComponent, PinsComponent, index as Presets, RefDirective, ReteContextMenuModule, ReteMinimapModule, ReteModule, ReteRerouteModule, SocketComponent };
1588
+ export { AngularPlugin, ConnectionComponent, ConnectionWrapperComponent, ContextMenuComponent, ContextMenuItemComponent, ContextMenuSearchComponent, ControlComponent, ImpureKeyvaluePipe, MiniNodeComponent, MiniViewportComponent, MinimapComponent, NodeComponent, PinComponent, PinsComponent, index as Presets, RefDirective, ReteContextMenuModule, ReteMinimapModule, ReteModule, ReteRerouteModule, SocketComponent };
1563
1589
  //# sourceMappingURL=rete-angular-plugin-ng18.mjs.map