rete-angular-plugin 2.1.1 → 2.2.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 (126) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +24 -3
  2. package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
  3. package/12/esm2015/presets/classic/components/control/control.component.js +1 -1
  4. package/12/esm2015/presets/classic/components/node/node.component.js +16 -4
  5. package/12/fesm2015/rete-angular-plugin-ng12.js +16 -3
  6. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  7. package/12/presets/classic/components/node/node.component.d.ts +7 -1
  8. package/13/esm2020/presets/classic/components/control/control.component.mjs +2 -2
  9. package/13/esm2020/presets/classic/components/node/node.component.mjs +17 -5
  10. package/13/fesm2015/rete-angular-plugin-ng13.mjs +18 -5
  11. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  12. package/13/fesm2020/rete-angular-plugin-ng13.mjs +18 -5
  13. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  14. package/13/presets/classic/components/node/node.component.d.ts +7 -1
  15. package/14/esm2020/presets/classic/components/control/control.component.mjs +2 -2
  16. package/14/esm2020/presets/classic/components/node/node.component.mjs +17 -5
  17. package/14/fesm2015/rete-angular-plugin-ng14.mjs +18 -5
  18. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  19. package/14/fesm2020/rete-angular-plugin-ng14.mjs +18 -5
  20. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  21. package/14/presets/classic/components/node/node.component.d.ts +7 -1
  22. package/15/esm2020/presets/classic/components/control/control.component.mjs +2 -2
  23. package/15/esm2020/presets/classic/components/node/node.component.mjs +17 -5
  24. package/15/fesm2015/rete-angular-plugin-ng15.mjs +18 -5
  25. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  26. package/15/fesm2020/rete-angular-plugin-ng15.mjs +18 -5
  27. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  28. package/15/presets/classic/components/node/node.component.d.ts +7 -1
  29. package/16/esm2022/presets/classic/components/control/control.component.mjs +2 -2
  30. package/16/esm2022/presets/classic/components/node/node.component.mjs +17 -5
  31. package/16/fesm2022/rete-angular-plugin-ng16.mjs +18 -5
  32. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  33. package/16/presets/classic/components/node/node.component.d.ts +7 -1
  34. package/17/esm2022/presets/classic/components/control/control.component.mjs +2 -2
  35. package/17/esm2022/presets/classic/components/node/node.component.mjs +18 -6
  36. package/17/fesm2022/rete-angular-plugin-ng17.mjs +19 -6
  37. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -1
  38. package/17/presets/classic/components/node/node.component.d.ts +7 -1
  39. package/18/core.d.ts +68 -0
  40. package/18/esm2022/core.mjs +127 -0
  41. package/18/esm2022/index.mjs +12 -0
  42. package/18/esm2022/module.mjs +50 -0
  43. package/18/esm2022/presets/classic/components/connection/connection-wrapper.component.mjs +91 -0
  44. package/18/esm2022/presets/classic/components/connection/connection.component.mjs +33 -0
  45. package/18/esm2022/presets/classic/components/control/control.component.mjs +55 -0
  46. package/18/esm2022/presets/classic/components/index.mjs +6 -0
  47. package/18/esm2022/presets/classic/components/node/node.component.mjs +134 -0
  48. package/18/esm2022/presets/classic/components/socket/socket.component.mjs +35 -0
  49. package/18/esm2022/presets/classic/index.mjs +114 -0
  50. package/18/esm2022/presets/classic/types.mjs +2 -0
  51. package/18/esm2022/presets/context-menu/components/index.mjs +4 -0
  52. package/18/esm2022/presets/context-menu/components/item/item.component.mjs +115 -0
  53. package/18/esm2022/presets/context-menu/components/menu/menu.component.mjs +111 -0
  54. package/18/esm2022/presets/context-menu/components/search/search.component.mjs +24 -0
  55. package/18/esm2022/presets/context-menu/debounce.mjs +17 -0
  56. package/18/esm2022/presets/context-menu/index.mjs +41 -0
  57. package/18/esm2022/presets/context-menu/module.mjs +35 -0
  58. package/18/esm2022/presets/context-menu/types.mjs +2 -0
  59. package/18/esm2022/presets/index.mjs +9 -0
  60. package/18/esm2022/presets/minimap/components/index.mjs +4 -0
  61. package/18/esm2022/presets/minimap/components/mini-node/mini-node.component.mjs +55 -0
  62. package/18/esm2022/presets/minimap/components/mini-viewport/mini-viewport.component.mjs +81 -0
  63. package/18/esm2022/presets/minimap/components/minimap/minimap.component.mjs +110 -0
  64. package/18/esm2022/presets/minimap/index.mjs +45 -0
  65. package/18/esm2022/presets/minimap/module.mjs +35 -0
  66. package/18/esm2022/presets/minimap/types.mjs +2 -0
  67. package/18/esm2022/presets/reroute/components/index.mjs +3 -0
  68. package/18/esm2022/presets/reroute/components/pin/pin.component.mjs +86 -0
  69. package/18/esm2022/presets/reroute/components/pins/pins.component.mjs +58 -0
  70. package/18/esm2022/presets/reroute/index.mjs +43 -0
  71. package/18/esm2022/presets/reroute/module.mjs +30 -0
  72. package/18/esm2022/presets/reroute/types.mjs +2 -0
  73. package/18/esm2022/presets/types.mjs +2 -0
  74. package/18/esm2022/ref.mjs +30 -0
  75. package/18/esm2022/rete-angular-plugin-ng18.mjs +5 -0
  76. package/18/esm2022/shared/drag.mjs +23 -0
  77. package/18/esm2022/types.mjs +2 -0
  78. package/18/fesm2022/rete-angular-plugin-ng18.mjs +1540 -0
  79. package/18/fesm2022/rete-angular-plugin-ng18.mjs.map +1 -0
  80. package/18/index.d.ts +13 -0
  81. package/18/module.d.ts +13 -0
  82. package/18/package.json +24 -0
  83. package/18/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
  84. package/18/presets/classic/components/connection/connection.component.d.ts +11 -0
  85. package/18/presets/classic/components/control/control.component.d.ts +14 -0
  86. package/18/presets/classic/components/index.d.ts +5 -0
  87. package/18/presets/classic/components/node/node.component.d.ts +25 -0
  88. package/18/presets/classic/components/socket/socket.component.d.ts +12 -0
  89. package/18/presets/classic/index.d.ts +21 -0
  90. package/18/presets/classic/types.d.ts +49 -0
  91. package/18/presets/context-menu/components/index.d.ts +3 -0
  92. package/18/presets/context-menu/components/item/item.component.d.ts +26 -0
  93. package/18/presets/context-menu/components/menu/menu.component.d.ts +27 -0
  94. package/18/presets/context-menu/components/search/search.component.d.ts +8 -0
  95. package/18/presets/context-menu/debounce.d.ts +5 -0
  96. package/18/presets/context-menu/index.d.ts +9 -0
  97. package/18/presets/context-menu/module.d.ts +10 -0
  98. package/18/presets/context-menu/types.d.ts +12 -0
  99. package/18/presets/index.d.ts +8 -0
  100. package/18/presets/minimap/components/index.d.ts +3 -0
  101. package/18/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
  102. package/18/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
  103. package/18/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
  104. package/18/presets/minimap/index.d.ts +9 -0
  105. package/18/presets/minimap/module.d.ts +10 -0
  106. package/18/presets/minimap/types.d.ts +22 -0
  107. package/18/presets/reroute/components/index.d.ts +2 -0
  108. package/18/presets/reroute/components/pin/pin.component.d.ts +30 -0
  109. package/18/presets/reroute/components/pins/pins.component.d.ts +17 -0
  110. package/18/presets/reroute/index.d.ts +13 -0
  111. package/18/presets/reroute/module.d.ts +9 -0
  112. package/18/presets/reroute/types.d.ts +18 -0
  113. package/18/presets/types.d.ts +15 -0
  114. package/18/ref.d.ts +12 -0
  115. package/18/shared/drag.d.ts +10 -0
  116. package/18/types.d.ts +29 -0
  117. package/CHANGELOG.md +14 -0
  118. package/bundles/rete-angular-plugin.umd.js +18 -2
  119. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  120. package/esm2015/presets/classic/components/control/control.component.js +1 -1
  121. package/esm2015/presets/classic/components/node/node.component.js +10 -2
  122. package/fesm2015/rete-angular-plugin.js +10 -2
  123. package/fesm2015/rete-angular-plugin.js.map +1 -1
  124. package/package.json +1 -1
  125. package/presets/classic/components/node/node.component.d.ts +7 -1
  126. package/rete-angular-plugin.metadata.json +1 -1
@@ -0,0 +1,127 @@
1
+ import { Scope } from 'rete';
2
+ import { createCustomElement } from '@angular/elements';
3
+ function getRenderer() {
4
+ const elements = new WeakMap();
5
+ return {
6
+ get(element) {
7
+ return elements.get(element);
8
+ },
9
+ mount(element, key, component, injector, props) {
10
+ // LIMITATION: If an element is remounted with the same identifier, the component cannot be replaced
11
+ const exists = customElements.get(key);
12
+ if (!exists) {
13
+ customElements.define(key, createCustomElement(component, { injector }));
14
+ }
15
+ const ngElement = document.createElement(key);
16
+ Object.keys(props).forEach(key => {
17
+ ngElement[key] = props[key];
18
+ });
19
+ element.appendChild(ngElement);
20
+ elements.set(element, { key, ngElement });
21
+ },
22
+ update({ ngElement }, props) {
23
+ Object.keys(props).forEach(key => {
24
+ ngElement.ngElementStrategy.setInputValue(key, props[key]);
25
+ });
26
+ ngElement.ngElementStrategy.setInputValue('seed', Math.random());
27
+ },
28
+ unmount(element) {
29
+ const existing = elements.get(element);
30
+ if (existing) {
31
+ existing.ngElement.remove();
32
+ elements.delete(element);
33
+ }
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Angular plugin. Renders nodes, connections and other elements using React.
39
+ * @priority 9
40
+ * @emits connectionpath
41
+ * @listens render
42
+ * @listens unmount
43
+ */
44
+ export class AngularPlugin extends Scope {
45
+ params;
46
+ presets = [];
47
+ renderer;
48
+ owners = new WeakMap();
49
+ /**
50
+ * @constructor
51
+ * @param params Plugin properties
52
+ * @param params.injector Angular's Injector instance
53
+ */
54
+ constructor(params) {
55
+ super('angular-render');
56
+ this.params = params;
57
+ this.renderer = getRenderer();
58
+ this.addPipe(context => {
59
+ if (!context || typeof context !== 'object' || !('type' in context))
60
+ return context;
61
+ if (context.type === 'unmount') {
62
+ this.unmount(context.data.element);
63
+ }
64
+ else if (context.type === 'render') {
65
+ if ('filled' in context.data && context.data.filled) {
66
+ return context;
67
+ }
68
+ if (this.mount(context.data.element, context)) {
69
+ return {
70
+ ...context,
71
+ data: {
72
+ ...context.data,
73
+ filled: true
74
+ }
75
+ };
76
+ }
77
+ }
78
+ return context;
79
+ });
80
+ }
81
+ setParent(scope) {
82
+ super.setParent(scope);
83
+ this.presets.forEach(preset => {
84
+ if (preset.attach)
85
+ preset.attach(this);
86
+ });
87
+ }
88
+ unmount(element) {
89
+ this.owners.delete(element);
90
+ this.renderer.unmount(element);
91
+ }
92
+ mount(element, context) {
93
+ const existing = this.renderer.get(element);
94
+ if (existing) {
95
+ this.presets.forEach(preset => {
96
+ if (this.owners.get(element) !== preset)
97
+ return;
98
+ const result = preset.update(context, this);
99
+ if (result) {
100
+ this.renderer.update(existing, result);
101
+ }
102
+ });
103
+ return true;
104
+ }
105
+ for (const preset of this.presets) {
106
+ const result = preset.mount(context, this);
107
+ if (!result)
108
+ continue;
109
+ const { key, component, props } = result;
110
+ this.renderer.mount(element, key, component, this.params.injector, props);
111
+ this.owners.set(element, preset);
112
+ return true;
113
+ }
114
+ return;
115
+ }
116
+ /**
117
+ * Adds a preset to the plugin.
118
+ * @param preset Preset that can render nodes, connections and other elements.
119
+ */
120
+ addPreset(preset) {
121
+ const local = preset;
122
+ if (local.attach)
123
+ local.attach(this);
124
+ this.presets.push(local);
125
+ }
126
+ }
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25nMTgvLnNyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0MsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBYXhELFNBQVMsV0FBVztJQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQTtJQUVqRCxPQUFPO1FBQ0wsR0FBRyxDQUFDLE9BQU87WUFDVCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDOUIsQ0FBQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSztZQUM1QyxvR0FBb0c7WUFDcEcsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUV0QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osY0FBYyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQzFFLENBQUM7WUFFRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBeUMsQ0FBQTtZQUVyRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDL0IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUM3QixDQUFDLENBQUMsQ0FBQTtZQUVGLE9BQU8sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUE7WUFDOUIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFF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UUFDYixDQUFDO1FBQ0QsT0FBTTtJQUNSLENBQUM7SUFFRDs7O09BR0c7SUFDSSxTQUFTLENBQUksTUFBa0k7UUFDcEosTUFBTSxLQUFLLEdBQUcsTUFBNkMsQ0FBQTtRQUUzRCxJQUFJLEtBQUssQ0FBQyxNQUFNO1lBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZVNjaGVtZXMsIENhbkFzc2lnblNpZ25hbCwgU2NvcGUgfSBmcm9tICdyZXRlJ1xuaW1wb3J0IHsgY3JlYXRlQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2VsZW1lbnRzJztcblxuaW1wb3J0IHsgTmdFbGVtZW50LCBOb2RlUHJvcHMsIFBvc2l0aW9uLCBSZW5kZXJTaWduYWwgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgUmVuZGVyUHJlc2V0IH0gZnJvbSAnLi9wcmVzZXRzL3R5cGVzJztcblxudHlwZSBJdGVtID0geyBrZXk6IHN0cmluZywgbmdFbGVtZW50OiBOZ0VsZW1lbnQgfVxuXG50eXBlIFJlbmRlcmVyID0ge1xuICBnZXQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBJdGVtIHwgdW5kZWZpbmVkXG4gIG1vdW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBrZXk6IHN0cmluZywgY29tcG9uZW50OiBhbnksIGluamVjdG9yOiBJbmplY3RvciwgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZFxuICB1cGRhdGUoaXRlbTogSXRlbSwgcHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZFxuICB1bm1vdW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZFxufVxuZnVuY3Rpb24gZ2V0UmVuZGVyZXIoKTogUmVuZGVyZXIge1xuICBjb25zdCBlbGVtZW50cyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBJdGVtPigpXG5cbiAgcmV0dXJuIHtcbiAgICBnZXQoZWxlbWVudCkge1xuICAgICAgcmV0dXJuIGVsZW1lbnRzLmdldChlbGVtZW50KVxuICAgIH0sXG4gICAgbW91bnQoZWxlbWVudCwga2V5LCBjb21wb25lbnQsIGluamVjdG9yLCBwcm9wcykge1xuICAgICAgLy8gTElNSVRBVElPTjogSWYgYW4gZWxlbWVudCBpcyByZW1vdW50ZWQgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyLCB0aGUgY29tcG9uZW50IGNhbm5vdCBiZSByZXBsYWNlZFxuICAgICAgY29uc3QgZXhpc3RzID0gY3VzdG9tRWxlbWVudHMuZ2V0KGtleSlcblxuICAgICAgaWYgKCFleGlzdHMpIHtcbiAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKGtleSwgY3JlYXRlQ3VzdG9tRWxlbWVudChjb21wb25lbnQsIHsgaW5qZWN0b3IgfSkpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5nRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoa2V5KSBhcyBOb2RlUHJvcHMgJiBOZ0VsZW1lbnQgJiB0eXBlb2YgcHJvcHNcblxuICAgICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgbmdFbGVtZW50W2tleV0gPSBwcm9wc1trZXldXG4gICAgICB9KVxuXG4gICAgICBlbGVtZW50LmFwcGVuZENoaWxkKG5nRWxlbWVudClcbiAgICAgIGVsZW1lbnRzLnNldChlbGVtZW50LCB7IGtleSwgbmdFbGVtZW50IH0pXG4gICAgfSxcbiAgICB1cGRhdGUoeyBuZ0VsZW1lbnQgfSwgcHJvcHMpIHtcbiAgICAgIE9iamVjdC5rZXlzKHByb3BzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIG5nRWxlbWVudC5uZ0VsZW1lbnRTdHJhdGVneS5zZXRJbnB1dFZhbHVlKGtleSwgcHJvcHNba2V5XSlcbiAgICAgIH0pXG4gICAgICBuZ0VsZW1lbnQubmdFbGVtZW50U3RyYXRlZ3kuc2V0SW5wdXRWYWx1ZSgnc2VlZCcsIE1hdGgucmFuZG9tKCkpXG4gICAgfSxcbiAgICB1bm1vdW50KGVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gZWxlbWVudHMuZ2V0KGVsZW1lbnQpXG5cbiAgICAgIGlmIChleGlzdGluZykge1xuICAgICAgICBleGlzdGluZy5uZ0VsZW1lbnQucmVtb3ZlKClcbiAgICAgICAgZWxlbWVudHMuZGVsZXRlKGVsZW1lbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2lnbmFscyB0aGF0IGNhbiBiZSBlbWl0dGVkIGJ5IHRoZSBwbHVnaW5cbiAqIEBwcmlvcml0eSAxMFxuICovXG5leHBvcnQgdHlwZSBQcm9kdWNlczxTY2hlbWVzIGV4dGVuZHMgQmFzZVNjaGVtZXM+ID1cbiAgfCB7IHR5cGU6ICdjb25uZWN0aW9ucGF0aCcsIGRhdGE6IHsgcGF5bG9hZDogU2NoZW1lc1snQ29ubmVjdGlvbiddLCBwYXRoPzogc3RyaW5nLCBwb2ludHM6IFBvc2l0aW9uW10gfSB9XG5cbnR5cGUgUmVxdWlyZXM8U2NoZW1lcyBleHRlbmRzIEJhc2VTY2hlbWVzPiA9XG4gIHwgUmVuZGVyU2lnbmFsPCdub2RlJywgeyBwYXlsb2FkOiBTY2hlbWVzWydOb2RlJ10gfT5cbiAgfCBSZW5kZXJTaWduYWw8J2Nvbm5lY3Rpb24nLCB7IHBheWxvYWQ6IFNjaGVtZXNbJ0Nvbm5lY3Rpb24nXSwgc3RhcnQ/OiBQb3NpdGlvbiwgZW5kPzogUG9zaXRpb24gfT5cbiAgfCB7IHR5cGU6ICd1bm1vdW50JywgZGF0YTogeyBlbGVtZW50OiBIVE1MRWxlbWVudCB9IH1cblxuLyoqXG4gKiBBbmd1bGFyIHBsdWdpbi4gUmVuZGVycyBub2RlcywgY29ubmVjdGlvbnMgYW5kIG90aGVyIGVsZW1lbnRzIHVzaW5nIFJlYWN0LlxuICogQHByaW9yaXR5IDlcbiAqIEBlbWl0cyBjb25uZWN0aW9ucGF0aFxuICogQGxpc3RlbnMgcmVuZGVyXG4gKiBAbGlzdGVucyB1bm1vdW50XG4gKi9cbmV4cG9ydCBjbGFzcyBBbmd1bGFyUGx1Z2luPFNjaGVtZXMgZXh0ZW5kcyBCYXNlU2NoZW1lcywgVCA9IFJlcXVpcmVzPFNjaGVtZXM+PiBleHRlbmRzIFNjb3BlPFByb2R1Y2VzPFNjaGVtZXM+LCBbUmVxdWlyZXM8U2NoZW1lcz4gfCBUXT4ge1xuICBwcmVzZXRzOiBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgVD5bXSA9IFtdXG4gIHJlbmRlcmVyOiBSZW5kZXJlclxuICBvd25lcnMgPSBuZXcgV2Vha01hcDxIVE1MRWxlbWVudCwgUmVuZGVyUHJlc2V0PFNjaGVtZXMsIFQ+PigpXG5cbiAgLyoqXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gcGFyYW1zIFBsdWdpbiBwcm9wZXJ0aWVzXG4gICAqIEBwYXJhbSBwYXJhbXMuaW5qZWN0b3IgQW5ndWxhcidzIEluamVjdG9yIGluc3RhbmNlXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmFtczogeyBpbmplY3RvcjogSW5qZWN0b3IgfSkge1xuICAgIHN1cGVyKCdhbmd1bGFyLXJlbmRlcicpXG4gICAgdGhpcy5yZW5kZXJlciA9IGdldFJlbmRlcmVyKClcblxuICAgIHRoaXMuYWRkUGlwZShjb250ZXh0ID0+IHtcbiAgICAgIGlmICghY29udGV4dCB8fCB0eXBlb2YgY29udGV4dCAhPT0gJ29iamVjdCcgfHwgISgndHlwZScgaW4gY29udGV4dCkpIHJldHVybiBjb250ZXh0XG4gICAgICBpZiAoY29udGV4dC50eXBlID09PSAndW5tb3VudCcpIHtcbiAgICAgICAgdGhpcy51bm1vdW50KGNvbnRleHQuZGF0YS5lbGVtZW50KVxuICAgICAgfSBlbHNlIGlmIChjb250ZXh0LnR5cGUgPT09ICdyZW5kZXInKSB7XG4gICAgICAgIGlmICgnZmlsbGVkJyBpbiBjb250ZXh0LmRhdGEgJiYgY29udGV4dC5kYXRhLmZpbGxlZCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubW91bnQoY29udGV4dC5kYXRhLmVsZW1lbnQsIGNvbnRleHQpKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIC4uLmNvbnRleHQuZGF0YSxcbiAgICAgICAgICAgICAgZmlsbGVkOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBhcyB0eXBlb2YgY29udGV4dFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gY29udGV4dFxuICAgIH0pXG4gIH1cblxuICBzZXRQYXJlbnQoc2NvcGU6IFNjb3BlPFJlcXVpcmVzPFNjaGVtZXM+IHwgVD4pOiB2b2lkIHtcbiAgICBzdXBlci5zZXRQYXJlbnQoc2NvcGUpXG5cbiAgICB0aGlzLnByZXNldHMuZm9yRWFjaChwcmVzZXQgPT4ge1xuICAgICAgaWYgKHByZXNldC5hdHRhY2gpIHByZXNldC5hdHRhY2godGhpcylcbiAgICB9KVxuICB9XG5cblxuICBwcml2YXRlIHVubW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICB0aGlzLm93bmVycy5kZWxldGUoZWxlbWVudClcbiAgICB0aGlzLnJlbmRlcmVyLnVubW91bnQoZWxlbWVudClcbiAgfVxuXG4gIHByaXZhdGUgbW91bnQoZWxlbWVudDogSFRNTEVsZW1lbnQsIGNvbnRleHQ6IFJlcXVpcmVzPFNjaGVtZXM+KSB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLnJlbmRlcmVyLmdldChlbGVtZW50KVxuXG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICB0aGlzLnByZXNldHMuZm9yRWFjaChwcmVzZXQgPT4ge1xuICAgICAgICBpZiAodGhpcy5vd25lcnMuZ2V0KGVsZW1lbnQpICE9PSBwcmVzZXQpIHJldHVyblxuICAgICAgICBjb25zdCByZXN1bHQgPSBwcmVzZXQudXBkYXRlKGNvbnRleHQgYXMgdW5rbm93biBhcyBFeHRyYWN0PFQsIHsgdHlwZTogJ3JlbmRlcicgfT4sIHRoaXMpXG5cbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIudXBkYXRlKGV4aXN0aW5nLCByZXN1bHQpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJlc2V0IG9mIHRoaXMucHJlc2V0cykge1xuICAgICAgY29uc3QgcmVzdWx0ID0gcHJlc2V0Lm1vdW50KGNvbnRleHQgYXMgdW5rbm93biBhcyBFeHRyYWN0PFQsIHsgdHlwZTogJ3JlbmRlcicgfT4sIHRoaXMpXG5cbiAgICAgIGlmICghcmVzdWx0KSBjb250aW51ZVxuXG4gICAgICBjb25zdCB7IGtleSwgY29tcG9uZW50LCBwcm9wcyB9ID0gcmVzdWx0XG5cbiAgICAgIHRoaXMucmVuZGVyZXIubW91bnQoZWxlbWVudCwga2V5LCBjb21wb25lbnQsIHRoaXMucGFyYW1zLmluamVjdG9yLCBwcm9wcylcblxuICAgICAgdGhpcy5vd25lcnMuc2V0KGVsZW1lbnQsIHByZXNldClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIHJldHVyblxuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwcmVzZXQgdG8gdGhlIHBsdWdpbi5cbiAgICogQHBhcmFtIHByZXNldCBQcmVzZXQgdGhhdCBjYW4gcmVuZGVyIG5vZGVzLCBjb25uZWN0aW9ucyBhbmQgb3RoZXIgZWxlbWVudHMuXG4gICAqL1xuICBwdWJsaWMgYWRkUHJlc2V0PEs+KHByZXNldDogUmVuZGVyUHJlc2V0PFNjaGVtZXMsIENhbkFzc2lnblNpZ25hbDxULCBLPiBleHRlbmRzIHRydWUgPyBLIDogJ0Nhbm5vdCBhcHBseSBwcmVzZXQuIFByb3ZpZGVkIHNpZ25hbHMgYXJlIG5vdCBjb21wYXRpYmxlJz4pIHtcbiAgICBjb25zdCBsb2NhbCA9IHByZXNldCBhcyB1bmtub3duIGFzIFJlbmRlclByZXNldDxTY2hlbWVzLCBUPlxuXG4gICAgaWYgKGxvY2FsLmF0dGFjaCkgbG9jYWwuYXR0YWNoKHRoaXMpXG4gICAgdGhpcy5wcmVzZXRzLnB1c2gobG9jYWwpXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ export * as Presets from './presets';
2
+ export { ReteModule } from './module';
3
+ export { ReteContextMenuModule } from './presets/context-menu/module';
4
+ export { ReteMinimapModule } from './presets/minimap/module';
5
+ export { ReteRerouteModule } from './presets/reroute/module';
6
+ export * from './presets/classic/components';
7
+ export * from './presets/context-menu/components';
8
+ export * from './presets/minimap/components';
9
+ export * from './presets/reroute/components';
10
+ export * from './ref';
11
+ export * from './core';
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9uZzE4Ly5zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxXQUFXLENBQUE7QUFHcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUM1RCxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQTtBQUM1QyxjQUFjLDhCQUE4QixDQUFBO0FBQzVDLGNBQWMsT0FBTyxDQUFBO0FBQ3JCLGNBQWMsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogYXMgUHJlc2V0cyBmcm9tICcuL3ByZXNldHMnXG5cbmV4cG9ydCB7IEFuZ3VsYXJBcmVhMkQgfSBmcm9tICcuL3ByZXNldHMvY2xhc3NpYy90eXBlcydcbmV4cG9ydCB7IFJldGVNb2R1bGUgfSBmcm9tICcuL21vZHVsZSdcbmV4cG9ydCB7IFJlbmRlclByZXNldCB9IGZyb20gJy4vcHJlc2V0cy90eXBlcydcbmV4cG9ydCB7IFJldGVDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJy4vcHJlc2V0cy9jb250ZXh0LW1lbnUvbW9kdWxlJ1xuZXhwb3J0IHsgUmV0ZU1pbmltYXBNb2R1bGUgfSBmcm9tICcuL3ByZXNldHMvbWluaW1hcC9tb2R1bGUnXG5leHBvcnQgeyBSZXRlUmVyb3V0ZU1vZHVsZSB9IGZyb20gJy4vcHJlc2V0cy9yZXJvdXRlL21vZHVsZSdcbmV4cG9ydCAqIGZyb20gJy4vcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMnXG5leHBvcnQgKiBmcm9tICcuL3ByZXNldHMvY29udGV4dC1tZW51L2NvbXBvbmVudHMnXG5leHBvcnQgKiBmcm9tICcuL3ByZXNldHMvbWluaW1hcC9jb21wb25lbnRzJ1xuZXhwb3J0ICogZnJvbSAnLi9wcmVzZXRzL3Jlcm91dGUvY29tcG9uZW50cydcbmV4cG9ydCAqIGZyb20gJy4vcmVmJ1xuZXhwb3J0ICogZnJvbSAnLi9jb3JlJ1xuIl19
@@ -0,0 +1,50 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NodeComponent } from './presets/classic/components/node/node.component';
4
+ import { ConnectionComponent } from './presets/classic/components/connection/connection.component';
5
+ import { SocketComponent } from './presets/classic/components/socket/socket.component';
6
+ import { ConnectionWrapperComponent } from './presets/classic/components/connection/connection-wrapper.component';
7
+ import { ControlComponent } from './presets/classic/components/control/control.component';
8
+ import { RefDirective } from './ref';
9
+ import * as i0 from "@angular/core";
10
+ export class ReteModule {
11
+ static ɵfac = function ReteModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ReteModule)(); };
12
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ReteModule });
13
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
14
+ }
15
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReteModule, [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [
19
+ RefDirective,
20
+ NodeComponent,
21
+ ConnectionComponent,
22
+ ConnectionWrapperComponent,
23
+ SocketComponent,
24
+ ControlComponent
25
+ ],
26
+ imports: [
27
+ CommonModule
28
+ ],
29
+ exports: [
30
+ RefDirective,
31
+ NodeComponent,
32
+ ConnectionComponent,
33
+ ConnectionWrapperComponent,
34
+ SocketComponent,
35
+ ControlComponent
36
+ ]
37
+ }]
38
+ }], null, null); })();
39
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ReteModule, { declarations: [RefDirective,
40
+ NodeComponent,
41
+ ConnectionComponent,
42
+ ConnectionWrapperComponent,
43
+ SocketComponent,
44
+ ControlComponent], imports: [CommonModule], exports: [RefDirective,
45
+ NodeComponent,
46
+ ConnectionComponent,
47
+ ConnectionWrapperComponent,
48
+ SocketComponent,
49
+ ControlComponent] }); })();
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbmcxOC8uc3JjL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBdUJyQyxNQUFNLE9BQU8sVUFBVTtvR0FBVixVQUFVOzREQUFWLFVBQVU7Z0VBWG5CLFlBQVk7O2lGQVdILFVBQVU7Y0FyQnRCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osWUFBWTtvQkFDWixhQUFhO29CQUNiLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQixlQUFlO29CQUNmLGdCQUFnQjtpQkFDakI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLDBCQUEwQjtvQkFDMUIsZUFBZTtvQkFDZixnQkFBZ0I7aUJBQ2pCO2FBQ0Y7O3dGQUNZLFVBQVUsbUJBbkJuQixZQUFZO1FBQ1osYUFBYTtRQUNiLG1CQUFtQjtRQUNuQiwwQkFBMEI7UUFDMUIsZUFBZTtRQUNmLGdCQUFnQixhQUdoQixZQUFZLGFBR1osWUFBWTtRQUNaLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsMEJBQTBCO1FBQzFCLGVBQWU7UUFDZixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb25uZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb25uZWN0aW9uL2Nvbm5lY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFNvY2tldENvbXBvbmVudCB9IGZyb20gJy4vcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvc29ja2V0L3NvY2tldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL3ByZXNldHMvY2xhc3NpYy9jb21wb25lbnRzL2Nvbm5lY3Rpb24vY29ubmVjdGlvbi13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb250cm9sL2NvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZkRpcmVjdGl2ZSB9IGZyb20gJy4vcmVmJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUmVmRGlyZWN0aXZlLFxuICAgIE5vZGVDb21wb25lbnQsXG4gICAgQ29ubmVjdGlvbkNvbXBvbmVudCxcbiAgICBDb25uZWN0aW9uV3JhcHBlckNvbXBvbmVudCxcbiAgICBTb2NrZXRDb21wb25lbnQsXG4gICAgQ29udHJvbENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBSZWZEaXJlY3RpdmUsXG4gICAgTm9kZUNvbXBvbmVudCxcbiAgICBDb25uZWN0aW9uQ29tcG9uZW50LFxuICAgIENvbm5lY3Rpb25XcmFwcGVyQ29tcG9uZW50LFxuICAgIFNvY2tldENvbXBvbmVudCxcbiAgICBDb250cm9sQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV0ZU1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,91 @@
1
+ import { Component, Input, ChangeDetectorRef, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
2
+ import { ClassicPreset } from 'rete';
3
+ import * as i0 from "@angular/core";
4
+ export class ConnectionWrapperComponent {
5
+ cdr;
6
+ viewContainerRef;
7
+ componentFactoryResolver;
8
+ data;
9
+ start;
10
+ end;
11
+ path;
12
+ rendered;
13
+ connectionComponent;
14
+ ref;
15
+ startOb = null;
16
+ get _start() {
17
+ return 'x' in this.start ? this.start : this.startOb;
18
+ }
19
+ endOb = null;
20
+ get _end() {
21
+ return 'x' in this.end ? this.end : this.endOb;
22
+ }
23
+ _path;
24
+ constructor(cdr, viewContainerRef, componentFactoryResolver) {
25
+ this.cdr = cdr;
26
+ this.viewContainerRef = viewContainerRef;
27
+ this.componentFactoryResolver = componentFactoryResolver;
28
+ this.cdr.detach();
29
+ }
30
+ async ngOnChanges() {
31
+ await this.updatePath();
32
+ requestAnimationFrame(() => this.rendered());
33
+ this.cdr.detectChanges();
34
+ this.update();
35
+ }
36
+ async updatePath() {
37
+ if (this._start && this._end) {
38
+ this._path = await this.path(this._start, this._end);
39
+ }
40
+ }
41
+ ngOnInit() {
42
+ if (typeof this.start === 'function') {
43
+ this.start(async (value) => {
44
+ this.startOb = value;
45
+ await this.updatePath();
46
+ this.cdr.detectChanges();
47
+ this.update();
48
+ });
49
+ }
50
+ if (typeof this.end === 'function') {
51
+ this.end(async (value) => {
52
+ this.endOb = value;
53
+ await this.updatePath();
54
+ this.cdr.detectChanges();
55
+ this.update();
56
+ });
57
+ }
58
+ const componentFactory = this.componentFactoryResolver.resolveComponentFactory(this.connectionComponent);
59
+ this.viewContainerRef.clear();
60
+ this.ref = this.viewContainerRef.createComponent(componentFactory);
61
+ this.update();
62
+ }
63
+ update() {
64
+ this.ref.instance.data = this.data;
65
+ this.ref.instance.start = this._start;
66
+ this.ref.instance.end = this._end;
67
+ this.ref.instance.path = this._path;
68
+ }
69
+ static ɵfac = function ConnectionWrapperComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ConnectionWrapperComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.ComponentFactoryResolver)); };
70
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConnectionWrapperComponent, selectors: [["ng-component"]], inputs: { data: "data", start: "start", end: "end", path: "path", rendered: "rendered", connectionComponent: "connectionComponent" }, features: [i0.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function ConnectionWrapperComponent_Template(rf, ctx) { }, encapsulation: 2 });
71
+ }
72
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConnectionWrapperComponent, [{
73
+ type: Component,
74
+ args: [{
75
+ template: ''
76
+ }]
77
+ }], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }], { data: [{
78
+ type: Input
79
+ }], start: [{
80
+ type: Input
81
+ }], end: [{
82
+ type: Input
83
+ }], path: [{
84
+ type: Input
85
+ }], rendered: [{
86
+ type: Input
87
+ }], connectionComponent: [{
88
+ type: Input
89
+ }] }); })();
90
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConnectionWrapperComponent, { className: "ConnectionWrapperComponent", filePath: "presets/classic/components/connection/connection-wrapper.component.ts", lineNumber: 10 }); })();
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb25uZWN0aW9uL2Nvbm5lY3Rpb24td3JhcHBlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsaUJBQWlCLEVBQWEsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUXJDLE1BQU0sT0FBTywwQkFBMEI7SUFvQmpCO0lBQStCO0lBQTRDO0lBbkJ0RixJQUFJLENBQW9FO0lBQ3hFLEtBQUssQ0FBNkI7SUFDbEMsR0FBRyxDQUE2QjtJQUNoQyxJQUFJLENBQXNEO0lBQzFELFFBQVEsQ0FBTTtJQUNkLG1CQUFtQixDQUFNO0lBRWxDLEdBQUcsQ0FBb0I7SUFFdkIsT0FBTyxHQUFvQixJQUFJLENBQUE7SUFDL0IsSUFBSSxNQUFNO1FBQ1IsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUN0RCxDQUFDO0lBQ0QsS0FBSyxHQUFvQixJQUFJLENBQUE7SUFDN0IsSUFBSSxJQUFJO1FBQ04sT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUNoRCxDQUFDO0lBQ0QsS0FBSyxDQUFRO0lBRWIsWUFBb0IsR0FBc0IsRUFBUyxnQkFBa0MsRUFBVSx3QkFBa0Q7UUFBN0gsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFBUyxxQkFBZ0Is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QUFLOztrRkFOSywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFzc2ljUHJlc2V0IH0gZnJvbSAncmV0ZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxudHlwZSBQb3NpdGlvbldhdGNoZXIgPSAoY2I6ICh2YWx1ZTogUG9zaXRpb24pID0+IHZvaWQpID0+ICgoKSA9PiB2b2lkKVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25XcmFwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXN7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljUHJlc2V0LkNvbm5lY3Rpb248Q2xhc3NpY1ByZXNldC5Ob2RlLCBDbGFzc2ljUHJlc2V0Lk5vZGU+O1xuICBASW5wdXQoKSBzdGFydCE6IFBvc2l0aW9uIHwgUG9zaXRpb25XYXRjaGVyXG4gIEBJbnB1dCgpIGVuZCE6IFBvc2l0aW9uIHwgUG9zaXRpb25XYXRjaGVyXG4gIEBJbnB1dCgpIHBhdGghOiAoc3RhcnQ6IFBvc2l0aW9uLCBlbmQ6IFBvc2l0aW9uKSA9PiBQcm9taXNlPHN0cmluZz5cbiAgQElucHV0KCkgcmVuZGVyZWQhOiBhbnlcbiAgQElucHV0KCkgY29ubmVjdGlvbkNvbXBvbmVudCE6IGFueVxuXG4gIHJlZiE6IENvbXBvbmVudFJlZjxhbnk+XG5cbiAgc3RhcnRPYjogUG9zaXRpb24gfCBudWxsID0gbnVsbFxuICBnZXQgX3N0YXJ0KCk6IFBvc2l0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuICd4JyBpbiB0aGlzLnN0YXJ0ID8gdGhpcy5zdGFydCA6IHRoaXMuc3RhcnRPYlxuICB9XG4gIGVuZE9iOiBQb3NpdGlvbiB8IG51bGwgPSBudWxsXG4gIGdldCBfZW5kKCk6IFBvc2l0aW9uIHwgbnVsbCB7XG4gICAgcmV0dXJuICd4JyBpbiB0aGlzLmVuZCA/IHRoaXMuZW5kIDogdGhpcy5lbmRPYlxuICB9XG4gIF9wYXRoOiBzdHJpbmdcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLCBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSAge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZVBhdGgoKVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnJlbmRlcmVkKCkpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgdGhpcy51cGRhdGUoKVxuICB9XG5cbiAgYXN5bmMgdXBkYXRlUGF0aCgpIHtcbiAgICBpZiAodGhpcy5fc3RhcnQgJiYgdGhpcy5fZW5kKSB7XG4gICAgICB0aGlzLl9wYXRoID0gYXdhaXQgdGhpcy5wYXRoKHRoaXMuX3N0YXJ0LCB0aGlzLl9lbmQpXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLnN0YXJ0KGFzeW5jIHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5zdGFydE9iID0gdmFsdWVcbiAgICAgICAgYXdhaXQgdGhpcy51cGRhdGVQYXRoKClcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgIHRoaXMudXBkYXRlKClcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmICh0eXBlb2YgdGhpcy5lbmQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuZW5kKGFzeW5jIHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5lbmRPYiA9IHZhbHVlXG4gICAgICAgIGF3YWl0IHRoaXMudXBkYXRlUGF0aCgpXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgICAgICB0aGlzLnVwZGF0ZSgpXG4gICAgICB9KVxuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy5jb25uZWN0aW9uQ29tcG9uZW50KTtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcblxuICAgIHRoaXMucmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRGYWN0b3J5KTtcbiAgICB0aGlzLnVwZGF0ZSgpXG4gIH1cblxuICB1cGRhdGUoKSB7XG4gICAgdGhpcy5yZWYuaW5zdGFuY2UuZGF0YSA9IHRoaXMuZGF0YVxuICAgIHRoaXMucmVmLmluc3RhbmNlLnN0YXJ0ID0gdGhpcy5fc3RhcnRcbiAgICB0aGlzLnJlZi5pbnN0YW5jZS5lbmQgPSB0aGlzLl9lbmRcbiAgICB0aGlzLnJlZi5pbnN0YW5jZS5wYXRoID0gdGhpcy5fcGF0aFxuICB9XG59XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { ClassicPreset } from 'rete';
3
+ import * as i0 from "@angular/core";
4
+ export class ConnectionComponent {
5
+ data;
6
+ start;
7
+ end;
8
+ path;
9
+ static ɵfac = function ConnectionComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ConnectionComponent)(); };
10
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ConnectionComponent, selectors: [["connection"]], inputs: { data: "data", start: "start", end: "end", path: "path" }, decls: 2, vars: 1, consts: [["data-testid", "connection"]], template: function ConnectionComponent_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵnamespaceSVG();
12
+ i0.ɵɵelementStart(0, "svg", 0);
13
+ i0.ɵɵelement(1, "path");
14
+ i0.ɵɵelementEnd();
15
+ } if (rf & 2) {
16
+ i0.ɵɵadvance();
17
+ i0.ɵɵattribute("d", ctx.path);
18
+ } }, styles: ["svg[_ngcontent-%COMP%]{overflow:visible!important;position:absolute;pointer-events:none;width:9999px;height:9999px}svg[_ngcontent-%COMP%] path[_ngcontent-%COMP%]{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:auto}"] });
19
+ }
20
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ConnectionComponent, [{
21
+ type: Component,
22
+ args: [{ selector: 'connection', template: "<svg data-testid=\"connection\">\n <path [attr.d]=\"path\" />\n</svg>\n", styles: ["svg{overflow:visible!important;position:absolute;pointer-events:none;width:9999px;height:9999px}svg path{fill:none;stroke-width:5px;stroke:#4682b4;pointer-events:auto}\n"] }]
23
+ }], null, { data: [{
24
+ type: Input
25
+ }], start: [{
26
+ type: Input
27
+ }], end: [{
28
+ type: Input
29
+ }], path: [{
30
+ type: Input
31
+ }] }); })();
32
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ConnectionComponent, { className: "ConnectionComponent", filePath: "presets/classic/components/connection/connection.component.ts", lineNumber: 12 }); })();
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvY29ubmVjdGlvbi9jb25uZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb25uZWN0aW9uL2Nvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFVckMsTUFBTSxPQUFPLG1CQUFtQjtJQUNyQixJQUFJLENBQW9FO0lBQ3hFLEtBQUssQ0FBVTtJQUNmLEdBQUcsQ0FBVTtJQUNiLElBQUksQ0FBUTs2R0FKVixtQkFBbUI7NkRBQW5CLG1CQUFtQjs7WUNYaEMsOEJBQThCO1lBQzFCLHVCQUF3QjtZQUM1QixpQkFBTTs7WUFESSxjQUFlOzs7O2lGRFVaLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLFlBQVk7Z0JBS2IsSUFBSTtrQkFBWixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLOztrRkFKSyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFzc2ljUHJlc2V0IH0gZnJvbSAncmV0ZSc7XG5pbXBvcnQgeyBjbGFzc2ljQ29ubmVjdGlvblBhdGggfSBmcm9tICdyZXRlLXJlbmRlci11dGlscydcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nvbm5lY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Nvbm5lY3Rpb24uY29tcG9uZW50LnNhc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGF0YSE6IENsYXNzaWNQcmVzZXQuQ29ubmVjdGlvbjxDbGFzc2ljUHJlc2V0Lk5vZGUsIENsYXNzaWNQcmVzZXQuTm9kZT47XG4gIEBJbnB1dCgpIHN0YXJ0OiBQb3NpdGlvblxuICBASW5wdXQoKSBlbmQ6IFBvc2l0aW9uXG4gIEBJbnB1dCgpIHBhdGg6IHN0cmluZ1xufVxuIiwiPHN2ZyBkYXRhLXRlc3RpZD1cImNvbm5lY3Rpb25cIj5cbiAgICA8cGF0aCBbYXR0ci5kXT1cInBhdGhcIiAvPlxuPC9zdmc+XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Component, Input, ChangeDetectorRef, HostListener } from '@angular/core';
2
+ import { ClassicPreset } from 'rete';
3
+ import * as i0 from "@angular/core";
4
+ export class ControlComponent {
5
+ cdr;
6
+ data;
7
+ rendered;
8
+ pointerdown(event) {
9
+ event.stopPropagation();
10
+ }
11
+ constructor(cdr) {
12
+ this.cdr = cdr;
13
+ this.cdr.detach();
14
+ }
15
+ ngOnChanges(changes) {
16
+ const seed = changes['seed'];
17
+ const data = changes['data'];
18
+ if ((seed && seed.currentValue !== seed.previousValue)
19
+ || (data && data.currentValue !== data.previousValue)) {
20
+ this.cdr.detectChanges();
21
+ }
22
+ requestAnimationFrame(() => this.rendered());
23
+ }
24
+ onChange(e) {
25
+ const target = e.target;
26
+ const value = (this.data.type === 'number'
27
+ ? +target.value
28
+ : target.value);
29
+ this.data.setValue(value);
30
+ this.cdr.detectChanges();
31
+ }
32
+ static ɵfac = function ControlComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ControlComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
33
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ControlComponent, selectors: [["ng-component"]], hostBindings: function ControlComponent_HostBindings(rf, ctx) { if (rf & 1) {
34
+ i0.ɵɵlistener("pointerdown", function ControlComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); });
35
+ } }, inputs: { data: "data", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 3, consts: [[3, "input", "value", "readonly", "type"]], template: function ControlComponent_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵelementStart(0, "input", 0);
37
+ i0.ɵɵlistener("input", function ControlComponent_Template_input_input_0_listener($event) { return ctx.onChange($event); });
38
+ i0.ɵɵelementEnd();
39
+ } if (rf & 2) {
40
+ i0.ɵɵproperty("value", ctx.data.value)("readonly", ctx.data.readonly)("type", ctx.data.type);
41
+ } }, styles: ["input[_ngcontent-%COMP%]{width:100%;border-radius:30px;background-color:#fff;padding:2px 6px;border:1px solid #999;font-size:110%;box-sizing:border-box}"] });
42
+ }
43
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ControlComponent, [{
44
+ type: Component,
45
+ args: [{ template: "<input\n [value]=\"data.value\"\n [readonly]=\"data.readonly\"\n [type]=\"data.type\"\n (input)=\"onChange($event)\"\n/>\n", styles: ["input{width:100%;border-radius:30px;background-color:#fff;padding:2px 6px;border:1px solid #999;font-size:110%;box-sizing:border-box}\n"] }]
46
+ }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
47
+ type: Input
48
+ }], rendered: [{
49
+ type: Input
50
+ }], pointerdown: [{
51
+ type: HostListener,
52
+ args: ['pointerdown', ['$event']]
53
+ }] }); })();
54
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ControlComponent, { className: "ControlComponent", filePath: "presets/classic/components/control/control.component.ts", lineNumber: 8 }); })();
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvY29udHJvbC9jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9jb250cm9sL2NvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQTRCLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU1yQyxNQUFNLE9BQU8sZ0JBQWdCO0lBVVA7SUFUWCxJQUFJLENBQWlDO0lBQ3JDLFFBQVEsQ0FBTztJQUlqQixXQUFXLENBQUMsS0FBVTtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDNUIsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRTVCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDO2VBQ2pELENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDeEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUMxQixDQUFDO1FBQ0QscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFRO1FBQ2YsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQTBCLENBQUE7UUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRO1lBQ3hDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQTJDLENBQUE7UUFFM0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMxQixDQUFDOzBHQWpDVSxnQkFBZ0I7NkRBQWhCLGdCQUFnQjtZQUFoQix1R0FBQSx1QkFBbUIsSUFBSDs7WUNQN0IsZ0NBS0U7WUFEQSxrR0FBUyxvQkFBZ0IsSUFBQztZQUo1QixpQkFLRTs7WUFGQSxBQURBLEFBREEsc0NBQW9CLCtCQUNNLHVCQUNSOzs7aUZESVAsZ0JBQWdCO2NBSjVCLFNBQVM7O2tEQUtDLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJQyxXQUFXO2tCQURqQixZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBTDVCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCB9IGZyb20gJ3JldGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6IGAuL2NvbnRyb2wuY29tcG9uZW50Lmh0bWxgLFxuICBzdHlsZVVybHM6IFsnLi9jb250cm9sLmNvbXBvbmVudC5zYXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29udHJvbENvbXBvbmVudDxUIGV4dGVuZHMgJ3RleHQnIHwgJ251bWJlcic+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZGF0YSE6IENsYXNzaWNQcmVzZXQuSW5wdXRDb250cm9sPFQ+O1xuICBASW5wdXQoKSByZW5kZXJlZCE6IGFueTtcblxuXG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgWyckZXZlbnQnXSlcbiAgcHVibGljIHBvaW50ZXJkb3duKGV2ZW50OiBhbnkpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgc2VlZCA9IGNoYW5nZXNbJ3NlZWQnXVxuICAgIGNvbnN0IGRhdGEgPSBjaGFuZ2VzWydkYXRhJ11cblxuICAgIGlmICgoc2VlZCAmJiBzZWVkLmN1cnJlbnRWYWx1ZSAhPT0gc2VlZC5wcmV2aW91c1ZhbHVlKVxuICAgICAgfHwgKGRhdGEgJiYgZGF0YS5jdXJyZW50VmFsdWUgIT09IGRhdGEucHJldmlvdXNWYWx1ZSkpIHtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIH1cbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICB9XG5cbiAgb25DaGFuZ2UoZTogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50XG4gICAgY29uc3QgdmFsdWUgPSAodGhpcy5kYXRhLnR5cGUgPT09ICdudW1iZXInXG4gICAgICA/ICt0YXJnZXQudmFsdWVcbiAgICAgIDogdGFyZ2V0LnZhbHVlKSBhcyBDbGFzc2ljUHJlc2V0LklucHV0Q29udHJvbDxUPlsndmFsdWUnXVxuXG4gICAgdGhpcy5kYXRhLnNldFZhbHVlKHZhbHVlKVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG59XG4iLCI8aW5wdXRcbiAgW3ZhbHVlXT1cImRhdGEudmFsdWVcIlxuICBbcmVhZG9ubHldPVwiZGF0YS5yZWFkb25seVwiXG4gIFt0eXBlXT1cImRhdGEudHlwZVwiXG4gIChpbnB1dCk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbi8+XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './node/node.component';
2
+ export * from './connection/connection-wrapper.component';
3
+ export * from './connection/connection.component';
4
+ export * from './control/control.component';
5
+ export * from './socket/socket.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyx1QkFBdUIsQ0FBQTtBQUNyQyxjQUFjLDJDQUEyQyxDQUFBO0FBQ3pELGNBQWMsbUNBQW1DLENBQUE7QUFDakQsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDJCQUEyQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL25vZGUvbm9kZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2Nvbm5lY3Rpb24vY29ubmVjdGlvbi13cmFwcGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29ubmVjdGlvbi9jb25uZWN0aW9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbC9jb250cm9sLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vc29ja2V0L3NvY2tldC5jb21wb25lbnQnXG4iXX0=
@@ -0,0 +1,134 @@
1
+ import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../../../../ref";
5
+ const _c0 = (a0, a1, a2, a3) => ({ type: "socket", side: "output", key: a0, nodeId: a1, payload: a2, seed: a3 });
6
+ const _c1 = a0 => ({ type: "control", payload: a0 });
7
+ const _c2 = (a0, a1, a2, a3) => ({ type: "socket", side: "input", key: a0, nodeId: a1, payload: a2, seed: a3 });
8
+ function NodeComponent_div_2_Template(rf, ctx) { if (rf & 1) {
9
+ i0.ɵɵelementStart(0, "div", 4)(1, "div", 5);
10
+ i0.ɵɵtext(2);
11
+ i0.ɵɵelementEnd();
12
+ i0.ɵɵelement(3, "div", 6);
13
+ i0.ɵɵelementEnd();
14
+ } if (rf & 2) {
15
+ const output_r1 = ctx.$implicit;
16
+ const ctx_r1 = i0.ɵɵnextContext();
17
+ i0.ɵɵattribute("data-testid", "output-" + output_r1.key);
18
+ i0.ɵɵadvance(2);
19
+ i0.ɵɵtextInterpolate(output_r1.value == null ? null : output_r1.value.label);
20
+ i0.ɵɵadvance();
21
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction4(4, _c0, output_r1.key, ctx_r1.data.id, output_r1.value == null ? null : output_r1.value.socket, ctx_r1.seed))("emit", ctx_r1.emit);
22
+ } }
23
+ function NodeComponent_div_4_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelement(0, "div", 7);
25
+ } if (rf & 2) {
26
+ const control_r3 = ctx.$implicit;
27
+ const ctx_r1 = i0.ɵɵnextContext();
28
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction1(3, _c1, control_r3.value))("emit", ctx_r1.emit);
29
+ i0.ɵɵattribute("data-testid", "control-" + control_r3.key);
30
+ } }
31
+ function NodeComponent_div_6_div_2_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵelementStart(0, "div", 12);
33
+ i0.ɵɵtext(1);
34
+ i0.ɵɵelementEnd();
35
+ } if (rf & 2) {
36
+ const input_r4 = i0.ɵɵnextContext().$implicit;
37
+ i0.ɵɵadvance();
38
+ i0.ɵɵtextInterpolate(input_r4.value == null ? null : input_r4.value.label);
39
+ } }
40
+ function NodeComponent_div_6_Template(rf, ctx) { if (rf & 1) {
41
+ i0.ɵɵelementStart(0, "div", 8);
42
+ i0.ɵɵelement(1, "div", 9);
43
+ i0.ɵɵtemplate(2, NodeComponent_div_6_div_2_Template, 2, 1, "div", 10);
44
+ i0.ɵɵelement(3, "div", 11);
45
+ i0.ɵɵelementEnd();
46
+ } if (rf & 2) {
47
+ const input_r4 = ctx.$implicit;
48
+ const ctx_r1 = i0.ɵɵnextContext();
49
+ i0.ɵɵattribute("data-testid", "input-" + input_r4.key);
50
+ i0.ɵɵadvance();
51
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction4(8, _c2, input_r4.key, ctx_r1.data.id, input_r4.value == null ? null : input_r4.value.socket, ctx_r1.seed))("emit", ctx_r1.emit);
52
+ i0.ɵɵadvance();
53
+ i0.ɵɵproperty("ngIf", !(input_r4.value == null ? null : input_r4.value.control) || !(input_r4.value == null ? null : input_r4.value.showControl));
54
+ i0.ɵɵadvance();
55
+ i0.ɵɵstyleProp("display", (input_r4.value == null ? null : input_r4.value.control) && (input_r4.value == null ? null : input_r4.value.showControl) ? "" : "none");
56
+ i0.ɵɵproperty("data", i0.ɵɵpureFunction1(13, _c1, input_r4.value == null ? null : input_r4.value.control))("emit", ctx_r1.emit);
57
+ } }
58
+ export class NodeComponent {
59
+ cdr;
60
+ data;
61
+ emit;
62
+ rendered;
63
+ seed = 0;
64
+ get width() {
65
+ return this.data.width;
66
+ }
67
+ get height() {
68
+ return this.data.height;
69
+ }
70
+ get selected() {
71
+ return this.data.selected;
72
+ }
73
+ constructor(cdr) {
74
+ this.cdr = cdr;
75
+ this.cdr.detach();
76
+ }
77
+ ngOnChanges() {
78
+ this.cdr.detectChanges();
79
+ requestAnimationFrame(() => this.rendered());
80
+ this.seed++; // force render sockets
81
+ }
82
+ sortByIndex(a, b) {
83
+ const ai = a.value?.index || 0;
84
+ const bi = b.value?.index || 0;
85
+ return ai - bi;
86
+ }
87
+ static ɵfac = function NodeComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NodeComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
88
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NodeComponent, selectors: [["ng-component"]], hostAttrs: ["data-testid", "node"], hostVars: 6, hostBindings: function NodeComponent_HostBindings(rf, ctx) { if (rf & 2) {
89
+ i0.ɵɵstyleProp("width", ctx.width, "px")("height", ctx.height, "px");
90
+ i0.ɵɵclassProp("selected", ctx.selected);
91
+ } }, inputs: { data: "data", emit: "emit", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 8, vars: 13, consts: [["data-testid", "title", 1, "title"], ["class", "output", 4, "ngFor", "ngForOf"], ["class", "control", "refComponent", "", 3, "data", "emit", 4, "ngFor", "ngForOf"], ["class", "input", 4, "ngFor", "ngForOf"], [1, "output"], ["data-testid", "output-title", 1, "output-title"], ["refComponent", "", "data-testid", "output-socket", 1, "output-socket", 3, "data", "emit"], ["refComponent", "", 1, "control", 3, "data", "emit"], [1, "input"], ["refComponent", "", "data-testid", "input-socket", 1, "input-socket", 3, "data", "emit"], ["class", "input-title", "data-testid", "input-title", 4, "ngIf"], ["refComponent", "", "data-testid", "input-control", 1, "input-control", 3, "data", "emit"], ["data-testid", "input-title", 1, "input-title"]], template: function NodeComponent_Template(rf, ctx) { if (rf & 1) {
92
+ i0.ɵɵelementStart(0, "div", 0);
93
+ i0.ɵɵtext(1);
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵtemplate(2, NodeComponent_div_2_Template, 4, 9, "div", 1);
96
+ i0.ɵɵpipe(3, "keyvalue");
97
+ i0.ɵɵtemplate(4, NodeComponent_div_4_Template, 1, 5, "div", 2);
98
+ i0.ɵɵpipe(5, "keyvalue");
99
+ i0.ɵɵtemplate(6, NodeComponent_div_6_Template, 4, 15, "div", 3);
100
+ i0.ɵɵpipe(7, "keyvalue");
101
+ } if (rf & 2) {
102
+ i0.ɵɵadvance();
103
+ i0.ɵɵtextInterpolate(ctx.data.label);
104
+ i0.ɵɵadvance();
105
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(3, 4, ctx.data.outputs, ctx.sortByIndex));
106
+ i0.ɵɵadvance(2);
107
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(5, 7, ctx.data.controls, ctx.sortByIndex));
108
+ i0.ɵɵadvance(2);
109
+ 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
+ }
112
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NodeComponent, [{
113
+ type: Component,
114
+ args: [{ host: {
115
+ '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
+ }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
118
+ type: Input
119
+ }], emit: [{
120
+ type: Input
121
+ }], rendered: [{
122
+ type: Input
123
+ }], width: [{
124
+ type: HostBinding,
125
+ args: ['style.width.px']
126
+ }], height: [{
127
+ type: HostBinding,
128
+ args: ['style.height.px']
129
+ }], selected: [{
130
+ type: HostBinding,
131
+ args: ['class.selected']
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE4Ly5zcmMvcHJlc2V0cy9jbGFzc2ljL2NvbXBvbmVudHMvbm9kZS9ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9ub2RlL25vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztJQ0V4RixBQURKLDhCQUEwSCxhQUNqRTtJQUFBLFlBQXVCO0lBQUEsaUJBQU07SUFDbEYseUJBTU87SUFDWCxpQkFBTTs7Ozs7SUFSbUQsZUFBdUI7SUFBdkIsNEVBQXVCO0lBSXhFLGNBQXVIO0lBQ3ZILEFBREEsc0pBQXVILHFCQUMxRzs7O0lBSXJCLHlCQU9POzs7O0lBRkgsQUFEQSxtRUFBbUQscUJBQ3RDOzs7O0lBV2IsK0JBQThHO0lBQUEsWUFBc0I7SUFBQSxpQkFBTTs7O0lBQTVCLGNBQXNCO0lBQXRCLDBFQUFzQjs7O0lBUnhJLDhCQUFxSDtJQUNqSCx5QkFNTztJQUNQLHFFQUE4RztJQUM5RywwQkFPTztJQUNYLGlCQUFNOzs7OztJQWJFLGNBQW9IO0lBQ3BILEFBREEsbUpBQW9ILHFCQUN2RztJQUdtQyxjQUF3RDtJQUF4RCxpSkFBd0Q7SUFHeEcsY0FBZ0Y7SUFBaEYsaUtBQWdGO0lBR2hGLEFBREEsMEdBQTBELHFCQUM3Qzs7QURuQnJCLE1BQU0sT0FBTyxhQUFhO0lBbUJKO0lBbEJYLElBQUksQ0FBZ0M7SUFDcEMsSUFBSSxDQUFzQjtJQUMxQixRQUFRLENBQWE7SUFFOUIsSUFBSSxHQUFHLENBQUMsQ0FBQTtJQUVSLElBQW1DLEtBQUs7UUFDdEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBb0MsTUFBTTtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFtQyxRQUFRO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDM0IsQ0FBQztJQUVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3hCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1FBQzVDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQSxDQUFDLHVCQUF1QjtJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFtRSxDQUFJLEVBQUUsQ0FBSTtRQUN0RixNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUE7UUFDOUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFBO1FBRTlCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQTtJQUNoQixDQUFDO3VHQWxDVSxhQUFhOzZEQUFiLGFBQWE7WUFBYix3Q0FBYSw0QkFBQTtZQUFiLHdDQUFhOztZQ2QxQiw4QkFBdUM7WUFBQSxZQUFjO1lBQUEsaUJBQU07WUFDM0QsOERBQTBIOztZQVUxSCw4REFPQzs7WUFDRCwrREFBcUg7OztZQW5COUUsY0FBYztZQUFkLG9DQUFjO1lBQ2QsY0FBdUM7WUFBdkMsaUZBQXVDO1lBWXRELGVBQXdDO1lBQXhDLGtGQUF3QztZQU0zQixlQUFzQztZQUF0QyxpRkFBc0M7OztpRkRMOUQsYUFBYTtjQVB6QixTQUFTO3VCQUdGO29CQUNKLGFBQWEsRUFBRSxNQUFNO2lCQUN0QjtrREFHUSxJQUFJO2tCQUFaLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBSTZCLEtBQUs7a0JBQXZDLFdBQVc7bUJBQUMsZ0JBQWdCO1lBSU8sTUFBTTtrQkFBekMsV0FBVzttQkFBQyxpQkFBaUI7WUFJSyxRQUFRO2tCQUExQyxXQUFXO21CQUFDLGdCQUFnQjs7a0ZBZmxCLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBIb3N0QmluZGluZywgQ2hhbmdlRGV0ZWN0b3JSZWYsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhc3NpY1ByZXNldCBhcyBDbGFzc2ljIH0gZnJvbSAncmV0ZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbnR5cGUgTm9kZUV4dHJhRGF0YSA9IHsgd2lkdGg/OiBudW1iZXIsIGhlaWdodD86IG51bWJlciB9XG50eXBlIFNvcnRWYWx1ZTxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlPiA9IChOWydjb250cm9scyddIHwgTlsnaW5wdXRzJ10gfCBOWydvdXRwdXRzJ10pW3N0cmluZ11cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm9kZS5jb21wb25lbnQuc2FzcyddLFxuICBob3N0OiB7XG4gICAgJ2RhdGEtdGVzdGlkJzogJ25vZGUnXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgTm9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGEhOiBDbGFzc2ljLk5vZGUgJiBOb2RlRXh0cmFEYXRhO1xuICBASW5wdXQoKSBlbWl0ITogKGRhdGE6IGFueSkgPT4gdm9pZFxuICBASW5wdXQoKSByZW5kZXJlZCE6ICgpID0+IHZvaWRcblxuICBzZWVkID0gMFxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucHgnKSBnZXQgd2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YS53aWR0aFxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQucHgnKSBnZXQgaGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuaGVpZ2h0XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJykgZ2V0IHNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRhdGEuc2VsZWN0ZWRcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICAgIHRoaXMuc2VlZCsrIC8vIGZvcmNlIHJlbmRlciBzb2NrZXRzXG4gIH1cblxuICBzb3J0QnlJbmRleDxOIGV4dGVuZHMgQ2xhc3NpYy5Ob2RlLCBJIGV4dGVuZHMgS2V5VmFsdWU8c3RyaW5nLCBTb3J0VmFsdWU8Tj4+PihhOiBJLCBiOiBJKSB7XG4gICAgY29uc3QgYWkgPSBhLnZhbHVlPy5pbmRleCB8fCAwXG4gICAgY29uc3QgYmkgPSBiLnZhbHVlPy5pbmRleCB8fCAwXG5cbiAgICByZXR1cm4gYWkgLSBiaVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGl0bGVcIiBkYXRhLXRlc3RpZD1cInRpdGxlXCI+e3tkYXRhLmxhYmVsfX08L2Rpdj5cbjxkaXYgY2xhc3M9XCJvdXRwdXRcIiAqbmdGb3I9XCJsZXQgb3V0cHV0IG9mIGRhdGEub3V0cHV0cyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiIFthdHRyLmRhdGEtdGVzdGlkXT1cIidvdXRwdXQtJytvdXRwdXQua2V5XCI+XG4gICAgPGRpdiBjbGFzcz1cIm91dHB1dC10aXRsZVwiIGRhdGEtdGVzdGlkPVwib3V0cHV0LXRpdGxlXCI+e3tvdXRwdXQudmFsdWU/LmxhYmVsfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwib3V0cHV0LXNvY2tldFwiXG4gICAgICAgIHJlZkNvbXBvbmVudFxuICAgICAgICBbZGF0YV09XCJ7dHlwZTogJ3NvY2tldCcsIHNpZGU6ICdvdXRwdXQnLCBrZXk6IG91dHB1dC5rZXksIG5vZGVJZDogZGF0YS5pZCwgcGF5bG9hZDogb3V0cHV0LnZhbHVlPy5zb2NrZXQsIHNlZWQ6IHNlZWQgfVwiXG4gICAgICAgIFtlbWl0XT1cImVtaXRcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cIm91dHB1dC1zb2NrZXRcIlxuICAgID48L2Rpdj5cbjwvZGl2PlxuPGRpdlxuICAgIGNsYXNzPVwiY29udHJvbFwiXG4gICAgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgZGF0YS5jb250cm9scyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiXG4gICAgcmVmQ29tcG9uZW50XG4gICAgW2RhdGFdPVwie3R5cGU6ICdjb250cm9sJywgcGF5bG9hZDogY29udHJvbC52YWx1ZSB9XCJcbiAgICBbZW1pdF09XCJlbWl0XCJcbiAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCInY29udHJvbC0nK2NvbnRyb2wua2V5XCJcbj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJpbnB1dFwiICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBkYXRhLmlucHV0cyB8IGtleXZhbHVlOiBzb3J0QnlJbmRleFwiIFthdHRyLmRhdGEtdGVzdGlkXT1cIidpbnB1dC0nK2lucHV0LmtleVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpbnB1dC1zb2NrZXRcIlxuICAgICAgICByZWZDb21wb25lbnRcbiAgICAgICAgW2RhdGFdPVwie3R5cGU6ICdzb2NrZXQnLCBzaWRlOiAnaW5wdXQnLCBrZXk6IGlucHV0LmtleSwgbm9kZUlkOiBkYXRhLmlkLCBwYXlsb2FkOiBpbnB1dC52YWx1ZT8uc29ja2V0LCBzZWVkOiBzZWVkIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbnB1dC1zb2NrZXRcIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdGl0bGVcIiBkYXRhLXRlc3RpZD1cImlucHV0LXRpdGxlXCIgKm5nSWY9XCIhaW5wdXQudmFsdWU/LmNvbnRyb2wgfHwgIWlucHV0LnZhbHVlPy5zaG93Q29udHJvbFwiPnt7aW5wdXQudmFsdWU/LmxhYmVsfX08L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFwiXG4gICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImlucHV0LnZhbHVlPy5jb250cm9sICYmIGlucHV0LnZhbHVlPy5zaG93Q29udHJvbCA/ICcnIDogJ25vbmUnXCJcbiAgICAgICAgcmVmQ29tcG9uZW50XG4gICAgICAgIFtkYXRhXT1cInt0eXBlOiAnY29udHJvbCcsIHBheWxvYWQ6IGlucHV0LnZhbHVlPy5jb250cm9sIH1cIlxuICAgICAgICBbZW1pdF09XCJlbWl0XCJcbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJpbnB1dC1jb250cm9sXCJcbiAgICA+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Component, Input, HostBinding, ChangeDetectorRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SocketComponent {
4
+ cdr;
5
+ data;
6
+ rendered;
7
+ get title() {
8
+ return this.data.name;
9
+ }
10
+ constructor(cdr) {
11
+ this.cdr = cdr;
12
+ this.cdr.detach();
13
+ }
14
+ ngOnChanges() {
15
+ this.cdr.detectChanges();
16
+ requestAnimationFrame(() => this.rendered());
17
+ }
18
+ static ɵfac = function SocketComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SocketComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
19
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SocketComponent, selectors: [["ng-component"]], hostVars: 1, hostBindings: function SocketComponent_HostBindings(rf, ctx) { if (rf & 2) {
20
+ i0.ɵɵhostProperty("title", ctx.title);
21
+ } }, inputs: { data: "data", rendered: "rendered" }, features: [i0.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function SocketComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:inline-block;cursor:pointer;border:1px solid white;border-radius:12px;width:24px;height:24px;margin:6px;vertical-align:middle;background:#96b38a;z-index:2;box-sizing:border-box}[_nghost-%COMP%]:hover{border-width:4px}.multiple[_nghost-%COMP%]{border-color:#ff0}.output[_nghost-%COMP%]{margin-right:-12px}.input[_nghost-%COMP%]{margin-left:-12px}"] });
22
+ }
23
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SocketComponent, [{
24
+ type: Component,
25
+ args: [{ template: ``, styles: [":host{display:inline-block;cursor:pointer;border:1px solid white;border-radius:12px;width:24px;height:24px;margin:6px;vertical-align:middle;background:#96b38a;z-index:2;box-sizing:border-box}:host:hover{border-width:4px}:host.multiple{border-color:#ff0}:host.output{margin-right:-12px}:host.input{margin-left:-12px}\n"] }]
26
+ }], () => [{ type: i0.ChangeDetectorRef }], { data: [{
27
+ type: Input
28
+ }], rendered: [{
29
+ type: Input
30
+ }], title: [{
31
+ type: HostBinding,
32
+ args: ['title']
33
+ }] }); })();
34
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SocketComponent, { className: "SocketComponent", filePath: "presets/classic/components/socket/socket.component.ts", lineNumber: 7 }); })();
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTgvLnNyYy9wcmVzZXRzL2NsYXNzaWMvY29tcG9uZW50cy9zb2NrZXQvc29ja2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQW9CLGlCQUFpQixFQUFhLE1BQU0sZUFBZSxDQUFDOztBQU05RyxNQUFNLE9BQU8sZUFBZTtJQVNOO0lBUlgsSUFBSSxDQUFPO0lBQ1gsUUFBUSxDQUFPO0lBR3hCLElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUN2QixDQUFDO0lBRUQsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDeEIscUJBQXFCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDOUMsQ0FBQzt5R0FoQlUsZUFBZTs2REFBZixlQUFlO1lBQWYscUNBQWU7OztpRkFBZixlQUFlO2NBSjNCLFNBQVM7MkJBQ0UsRUFBRTtrREFJSCxJQUFJO2tCQUFaLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBR29CLEtBQUs7a0JBQTlCLFdBQVc7bUJBQUMsT0FBTzs7a0ZBTFQsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBBZnRlclZpZXdDaGVja2VkLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYGAsXG4gIHN0eWxlVXJsczogWycuL3NvY2tldC5jb21wb25lbnQuc2FzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNvY2tldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGEhOiBhbnk7XG4gIEBJbnB1dCgpIHJlbmRlcmVkITogYW55O1xuXG5cbiAgQEhvc3RCaW5kaW5nKCd0aXRsZScpIGdldCB0aXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWVcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgfVxufVxuIl19