rete-angular-plugin 2.0.2 → 2.1.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 (175) hide show
  1. package/12/bundles/rete-angular-plugin-ng12.umd.js +28 -0
  2. package/12/bundles/rete-angular-plugin-ng12.umd.js.map +1 -1
  3. package/12/core.d.ts +21 -1
  4. package/12/esm2015/core.js +17 -1
  5. package/12/esm2015/presets/classic/index.js +4 -1
  6. package/12/esm2015/presets/context-menu/index.js +4 -1
  7. package/12/esm2015/presets/index.js +5 -1
  8. package/12/esm2015/presets/minimap/index.js +4 -1
  9. package/12/esm2015/presets/reroute/index.js +4 -1
  10. package/12/fesm2015/rete-angular-plugin-ng12.js +33 -0
  11. package/12/fesm2015/rete-angular-plugin-ng12.js.map +1 -1
  12. package/12/presets/classic/index.d.ts +3 -0
  13. package/12/presets/context-menu/index.d.ts +3 -0
  14. package/12/presets/index.d.ts +4 -0
  15. package/12/presets/minimap/index.d.ts +3 -0
  16. package/12/presets/reroute/index.d.ts +3 -0
  17. package/13/core.d.ts +21 -1
  18. package/13/esm2020/core.mjs +17 -1
  19. package/13/esm2020/presets/classic/index.mjs +4 -1
  20. package/13/esm2020/presets/context-menu/index.mjs +4 -1
  21. package/13/esm2020/presets/index.mjs +5 -1
  22. package/13/esm2020/presets/minimap/index.mjs +4 -1
  23. package/13/esm2020/presets/reroute/index.mjs +4 -1
  24. package/13/fesm2015/rete-angular-plugin-ng13.mjs +33 -0
  25. package/13/fesm2015/rete-angular-plugin-ng13.mjs.map +1 -1
  26. package/13/fesm2020/rete-angular-plugin-ng13.mjs +33 -0
  27. package/13/fesm2020/rete-angular-plugin-ng13.mjs.map +1 -1
  28. package/13/presets/classic/index.d.ts +3 -0
  29. package/13/presets/context-menu/index.d.ts +3 -0
  30. package/13/presets/index.d.ts +4 -0
  31. package/13/presets/minimap/index.d.ts +3 -0
  32. package/13/presets/reroute/index.d.ts +3 -0
  33. package/14/core.d.ts +21 -1
  34. package/14/esm2020/core.mjs +17 -1
  35. package/14/esm2020/presets/classic/index.mjs +4 -1
  36. package/14/esm2020/presets/context-menu/index.mjs +4 -1
  37. package/14/esm2020/presets/index.mjs +5 -1
  38. package/14/esm2020/presets/minimap/index.mjs +4 -1
  39. package/14/esm2020/presets/reroute/index.mjs +4 -1
  40. package/14/fesm2015/rete-angular-plugin-ng14.mjs +33 -0
  41. package/14/fesm2015/rete-angular-plugin-ng14.mjs.map +1 -1
  42. package/14/fesm2020/rete-angular-plugin-ng14.mjs +33 -0
  43. package/14/fesm2020/rete-angular-plugin-ng14.mjs.map +1 -1
  44. package/14/presets/classic/index.d.ts +3 -0
  45. package/14/presets/context-menu/index.d.ts +3 -0
  46. package/14/presets/index.d.ts +4 -0
  47. package/14/presets/minimap/index.d.ts +3 -0
  48. package/14/presets/reroute/index.d.ts +3 -0
  49. package/15/core.d.ts +21 -1
  50. package/15/esm2020/core.mjs +17 -1
  51. package/15/esm2020/presets/classic/index.mjs +4 -1
  52. package/15/esm2020/presets/context-menu/index.mjs +4 -1
  53. package/15/esm2020/presets/index.mjs +5 -1
  54. package/15/esm2020/presets/minimap/index.mjs +4 -1
  55. package/15/esm2020/presets/reroute/index.mjs +4 -1
  56. package/15/fesm2015/rete-angular-plugin-ng15.mjs +33 -0
  57. package/15/fesm2015/rete-angular-plugin-ng15.mjs.map +1 -1
  58. package/15/fesm2020/rete-angular-plugin-ng15.mjs +33 -0
  59. package/15/fesm2020/rete-angular-plugin-ng15.mjs.map +1 -1
  60. package/15/presets/classic/index.d.ts +3 -0
  61. package/15/presets/context-menu/index.d.ts +3 -0
  62. package/15/presets/index.d.ts +4 -0
  63. package/15/presets/minimap/index.d.ts +3 -0
  64. package/15/presets/reroute/index.d.ts +3 -0
  65. package/16/core.d.ts +21 -1
  66. package/16/esm2022/core.mjs +17 -1
  67. package/16/esm2022/presets/classic/index.mjs +4 -1
  68. package/16/esm2022/presets/context-menu/index.mjs +4 -1
  69. package/16/esm2022/presets/index.mjs +5 -1
  70. package/16/esm2022/presets/minimap/index.mjs +4 -1
  71. package/16/esm2022/presets/reroute/index.mjs +4 -1
  72. package/16/fesm2022/rete-angular-plugin-ng16.mjs +33 -0
  73. package/16/fesm2022/rete-angular-plugin-ng16.mjs.map +1 -1
  74. package/16/presets/classic/index.d.ts +3 -0
  75. package/16/presets/context-menu/index.d.ts +3 -0
  76. package/16/presets/index.d.ts +4 -0
  77. package/16/presets/minimap/index.d.ts +3 -0
  78. package/16/presets/reroute/index.d.ts +3 -0
  79. package/17/core.d.ts +68 -0
  80. package/17/esm2022/core.mjs +127 -0
  81. package/17/esm2022/index.mjs +12 -0
  82. package/17/esm2022/module.mjs +50 -0
  83. package/17/esm2022/presets/classic/components/connection/connection-wrapper.component.mjs +91 -0
  84. package/17/esm2022/presets/classic/components/connection/connection.component.mjs +33 -0
  85. package/17/esm2022/presets/classic/components/control/control.component.mjs +55 -0
  86. package/17/esm2022/presets/classic/components/index.mjs +6 -0
  87. package/17/esm2022/presets/classic/components/node/node.component.mjs +122 -0
  88. package/17/esm2022/presets/classic/components/socket/socket.component.mjs +35 -0
  89. package/17/esm2022/presets/classic/index.mjs +114 -0
  90. package/17/esm2022/presets/classic/types.mjs +2 -0
  91. package/17/esm2022/presets/context-menu/components/index.mjs +4 -0
  92. package/17/esm2022/presets/context-menu/components/item/item.component.mjs +115 -0
  93. package/17/esm2022/presets/context-menu/components/menu/menu.component.mjs +111 -0
  94. package/17/esm2022/presets/context-menu/components/search/search.component.mjs +24 -0
  95. package/17/esm2022/presets/context-menu/debounce.mjs +17 -0
  96. package/17/esm2022/presets/context-menu/index.mjs +41 -0
  97. package/17/esm2022/presets/context-menu/module.mjs +35 -0
  98. package/17/esm2022/presets/context-menu/types.mjs +2 -0
  99. package/17/esm2022/presets/index.mjs +9 -0
  100. package/17/esm2022/presets/minimap/components/index.mjs +4 -0
  101. package/17/esm2022/presets/minimap/components/mini-node/mini-node.component.mjs +55 -0
  102. package/17/esm2022/presets/minimap/components/mini-viewport/mini-viewport.component.mjs +81 -0
  103. package/17/esm2022/presets/minimap/components/minimap/minimap.component.mjs +110 -0
  104. package/17/esm2022/presets/minimap/index.mjs +45 -0
  105. package/17/esm2022/presets/minimap/module.mjs +35 -0
  106. package/17/esm2022/presets/minimap/types.mjs +2 -0
  107. package/17/esm2022/presets/reroute/components/index.mjs +3 -0
  108. package/17/esm2022/presets/reroute/components/pin/pin.component.mjs +86 -0
  109. package/17/esm2022/presets/reroute/components/pins/pins.component.mjs +58 -0
  110. package/17/esm2022/presets/reroute/index.mjs +43 -0
  111. package/17/esm2022/presets/reroute/module.mjs +30 -0
  112. package/17/esm2022/presets/reroute/types.mjs +2 -0
  113. package/17/esm2022/presets/types.mjs +2 -0
  114. package/17/esm2022/ref.mjs +30 -0
  115. package/17/esm2022/rete-angular-plugin-ng17.mjs +5 -0
  116. package/17/esm2022/shared/drag.mjs +23 -0
  117. package/17/esm2022/types.mjs +2 -0
  118. package/17/fesm2022/rete-angular-plugin-ng17.mjs +1527 -0
  119. package/17/fesm2022/rete-angular-plugin-ng17.mjs.map +1 -0
  120. package/17/index.d.ts +13 -0
  121. package/17/module.d.ts +13 -0
  122. package/17/package.json +24 -0
  123. package/17/presets/classic/components/connection/connection-wrapper.component.d.ts +30 -0
  124. package/17/presets/classic/components/connection/connection.component.d.ts +11 -0
  125. package/17/presets/classic/components/control/control.component.d.ts +14 -0
  126. package/17/presets/classic/components/index.d.ts +5 -0
  127. package/17/presets/classic/components/node/node.component.d.ts +19 -0
  128. package/17/presets/classic/components/socket/socket.component.d.ts +12 -0
  129. package/17/presets/classic/index.d.ts +21 -0
  130. package/17/presets/classic/types.d.ts +49 -0
  131. package/17/presets/context-menu/components/index.d.ts +3 -0
  132. package/17/presets/context-menu/components/item/item.component.d.ts +26 -0
  133. package/17/presets/context-menu/components/menu/menu.component.d.ts +27 -0
  134. package/17/presets/context-menu/components/search/search.component.d.ts +8 -0
  135. package/17/presets/context-menu/debounce.d.ts +5 -0
  136. package/17/presets/context-menu/index.d.ts +9 -0
  137. package/17/presets/context-menu/module.d.ts +10 -0
  138. package/17/presets/context-menu/types.d.ts +12 -0
  139. package/17/presets/index.d.ts +8 -0
  140. package/17/presets/minimap/components/index.d.ts +3 -0
  141. package/17/presets/minimap/components/mini-node/mini-node.component.d.ts +14 -0
  142. package/17/presets/minimap/components/mini-viewport/mini-viewport.component.d.ts +27 -0
  143. package/17/presets/minimap/components/minimap/minimap.component.d.ts +25 -0
  144. package/17/presets/minimap/index.d.ts +9 -0
  145. package/17/presets/minimap/module.d.ts +10 -0
  146. package/17/presets/minimap/types.d.ts +22 -0
  147. package/17/presets/reroute/components/index.d.ts +2 -0
  148. package/17/presets/reroute/components/pin/pin.component.d.ts +30 -0
  149. package/17/presets/reroute/components/pins/pins.component.d.ts +17 -0
  150. package/17/presets/reroute/index.d.ts +13 -0
  151. package/17/presets/reroute/module.d.ts +9 -0
  152. package/17/presets/reroute/types.d.ts +18 -0
  153. package/17/presets/types.d.ts +15 -0
  154. package/17/ref.d.ts +12 -0
  155. package/17/shared/drag.d.ts +10 -0
  156. package/17/types.d.ts +29 -0
  157. package/CHANGELOG.md +7 -0
  158. package/bundles/rete-angular-plugin.umd.js +28 -0
  159. package/bundles/rete-angular-plugin.umd.js.map +1 -1
  160. package/core.d.ts +21 -1
  161. package/esm2015/core.js +17 -1
  162. package/esm2015/presets/classic/index.js +4 -1
  163. package/esm2015/presets/context-menu/index.js +4 -1
  164. package/esm2015/presets/index.js +1 -1
  165. package/esm2015/presets/minimap/index.js +4 -1
  166. package/esm2015/presets/reroute/index.js +4 -1
  167. package/fesm2015/rete-angular-plugin.js +28 -0
  168. package/fesm2015/rete-angular-plugin.js.map +1 -1
  169. package/package.json +5 -5
  170. package/presets/classic/index.d.ts +3 -0
  171. package/presets/context-menu/index.d.ts +3 -0
  172. package/presets/index.d.ts +4 -0
  173. package/presets/minimap/index.d.ts +3 -0
  174. package/presets/reroute/index.d.ts +3 -0
  175. package/rete-angular-plugin.metadata.json +1 -1
@@ -0,0 +1,81 @@
1
+ import { Component, Input, HostBinding, HostListener } from '@angular/core';
2
+ import { useDrag } from '../../../../shared/drag';
3
+ import * as i0 from "@angular/core";
4
+ export class MiniViewportComponent {
5
+ left;
6
+ top;
7
+ width;
8
+ height;
9
+ containerWidth;
10
+ translate;
11
+ drag = useDrag((dx, dy) => this.onDrag(dx, dy), e => ({ x: e.pageX, y: e.pageY }));
12
+ get styleLeft() {
13
+ return this.px(this.scale(this.left));
14
+ }
15
+ get styleTop() {
16
+ return this.px(this.scale(this.top));
17
+ }
18
+ get styleWidth() {
19
+ return this.px(this.scale(this.width));
20
+ }
21
+ get styleHeight() {
22
+ return this.px(this.scale(this.height));
23
+ }
24
+ pointerdown(event) {
25
+ event.stopPropagation();
26
+ this.drag.start(event);
27
+ }
28
+ px(value) {
29
+ return `${value}px`;
30
+ }
31
+ scale(v) {
32
+ return v * this.containerWidth;
33
+ }
34
+ invert(v) {
35
+ return v / this.containerWidth;
36
+ }
37
+ onDrag(dx, dy) {
38
+ this.translate(this.invert(-dx), this.invert(-dy));
39
+ }
40
+ static ɵfac = function MiniViewportComponent_Factory(t) { return new (t || MiniViewportComponent)(); };
41
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MiniViewportComponent, selectors: [["minimap-mini-viewport"]], hostAttrs: ["data-testid", "minimap-viewport"], hostVars: 8, hostBindings: function MiniViewportComponent_HostBindings(rf, ctx) { if (rf & 1) {
42
+ i0.ɵɵlistener("pointerdown", function MiniViewportComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); });
43
+ } if (rf & 2) {
44
+ i0.ɵɵstyleProp("left", ctx.styleLeft)("top", ctx.styleTop)("width", ctx.styleWidth)("height", ctx.styleHeight);
45
+ } }, inputs: { left: "left", top: "top", width: "width", height: "height", containerWidth: "containerWidth", translate: "translate" }, decls: 0, vars: 0, template: function MiniViewportComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:block;position:absolute;background:rgba(255,251,128,.32);border:1px solid #ffe52b}"] });
46
+ }
47
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MiniViewportComponent, [{
48
+ type: Component,
49
+ args: [{ selector: 'minimap-mini-viewport', host: {
50
+ 'data-testid': 'minimap-viewport'
51
+ }, template: "", styles: [":host{display:block;position:absolute;background:rgba(255,251,128,.32);border:1px solid #ffe52b}\n"] }]
52
+ }], null, { left: [{
53
+ type: Input
54
+ }], top: [{
55
+ type: Input
56
+ }], width: [{
57
+ type: Input
58
+ }], height: [{
59
+ type: Input
60
+ }], containerWidth: [{
61
+ type: Input
62
+ }], translate: [{
63
+ type: Input
64
+ }], styleLeft: [{
65
+ type: HostBinding,
66
+ args: ['style.left']
67
+ }], styleTop: [{
68
+ type: HostBinding,
69
+ args: ['style.top']
70
+ }], styleWidth: [{
71
+ type: HostBinding,
72
+ args: ['style.width']
73
+ }], styleHeight: [{
74
+ type: HostBinding,
75
+ args: ['style.height']
76
+ }], pointerdown: [{
77
+ type: HostListener,
78
+ args: ['pointerdown', ['$event']]
79
+ }] }); })();
80
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MiniViewportComponent, { className: "MiniViewportComponent", filePath: "presets/minimap/components/mini-viewport/mini-viewport.component.ts", lineNumber: 13 }); })();
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS12aWV3cG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFXbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixJQUFJLENBQVM7SUFDYixHQUFHLENBQVM7SUFDWixLQUFLLENBQVM7SUFDZCxNQUFNLENBQVM7SUFDZixjQUFjLENBQVM7SUFDdkIsU0FBUyxDQUEyQjtJQUU3QyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFbEYsSUFBK0IsU0FBUztRQUN0QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBQ0QsSUFBOEIsUUFBUTtRQUNwQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsSUFBZ0MsVUFBVTtRQUN4QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBQ0QsSUFBaUMsV0FBVztRQUMxQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0lBRXdDLFdBQVcsQ0FBQyxLQUFtQjtRQUN0RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDeEIsQ0FBQztJQUVELEVBQUUsQ0FBQyxLQUFhO1FBQ2QsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFBO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsQ0FBUztRQUNiLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDaEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUFTO1FBQ2QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVUsRUFBRSxFQUFVO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ3BELENBQUM7K0VBMUNVLHFCQUFxQjs2REFBckIscUJBQXFCO3dIQUFyQix1QkFBbUI7Ozs7O2lGQUFuQixxQkFBcUI7Y0FSakMsU0FBUzsyQkFDRSx1QkFBdUIsUUFHM0I7b0JBQ0osYUFBYSxFQUFFLGtCQUFrQjtpQkFDbEM7Z0JBR1EsSUFBSTtrQkFBWixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFJeUIsU0FBUztrQkFBdkMsV0FBVzttQkFBQyxZQUFZO1lBR0ssUUFBUTtrQkFBckMsV0FBVzttQkFBQyxXQUFXO1lBR1EsVUFBVTtrQkFBekMsV0FBVzttQkFBQyxhQUFhO1lBR08sV0FBVztrQkFBM0MsV0FBVzttQkFBQyxjQUFjO1lBSWMsV0FBVztrQkFBbkQsWUFBWTttQkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7O2tGQXZCNUIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlRHJhZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9kcmFnJztcbmltcG9ydCB7IE1pbmltYXBEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaW5pbWFwLW1pbmktdmlld3BvcnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vbWluaS12aWV3cG9ydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21pbmktdmlld3BvcnQuY29tcG9uZW50LnNhc3MnXSxcbiAgaG9zdDoge1xuICAgICdkYXRhLXRlc3RpZCc6ICdtaW5pbWFwLXZpZXdwb3J0J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIE1pbmlWaWV3cG9ydENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGxlZnQhOiBudW1iZXJcbiAgQElucHV0KCkgdG9wITogbnVtYmVyXG4gIEBJbnB1dCgpIHdpZHRoITogbnVtYmVyXG4gIEBJbnB1dCgpIGhlaWdodCE6IG51bWJlclxuICBASW5wdXQoKSBjb250YWluZXJXaWR0aCE6IG51bWJlclxuICBASW5wdXQoKSB0cmFuc2xhdGUhOiBNaW5pbWFwRGF0YVsndHJhbnNsYXRlJ11cblxuICBkcmFnID0gdXNlRHJhZygoZHgsIGR5KSA9PiB0aGlzLm9uRHJhZyhkeCwgZHkpLCBlID0+ICh7IHg6IGUucGFnZVgsIHk6IGUucGFnZVkgfSkpXG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5sZWZ0JykgZ2V0IHN0eWxlTGVmdCgpIHtcbiAgICByZXR1cm4gdGhpcy5weCh0aGlzLnNjYWxlKHRoaXMubGVmdCkpXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AnKSBnZXQgc3R5bGVUb3AoKSB7XG4gICAgcmV0dXJuIHRoaXMucHgodGhpcy5zY2FsZSh0aGlzLnRvcCkpXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIGdldCBzdHlsZVdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2NhbGUodGhpcy53aWR0aCkpXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKSBnZXQgc3R5bGVIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHgodGhpcy5zY2FsZSh0aGlzLmhlaWdodCkpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZG93bicsIFsnJGV2ZW50J10pIHBvaW50ZXJkb3duKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHRoaXMuZHJhZy5zdGFydChldmVudClcbiAgfVxuXG4gIHB4KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gYCR7dmFsdWV9cHhgXG4gIH1cblxuICBzY2FsZSh2OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdiAqIHRoaXMuY29udGFpbmVyV2lkdGhcbiAgfVxuXG4gIGludmVydCh2OiBudW1iZXIpIHtcbiAgICByZXR1cm4gdiAvIHRoaXMuY29udGFpbmVyV2lkdGhcbiAgfVxuXG4gIG9uRHJhZyhkeDogbnVtYmVyLCBkeTogbnVtYmVyKSB7XG4gICAgdGhpcy50cmFuc2xhdGUodGhpcy5pbnZlcnQoLWR4KSwgdGhpcy5pbnZlcnQoLWR5KSlcbiAgfVxufVxuIl19
@@ -0,0 +1,110 @@
1
+ import { Component, Input, ChangeDetectorRef, HostListener, ElementRef, HostBinding } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../mini-viewport/mini-viewport.component";
5
+ import * as i3 from "../mini-node/mini-node.component";
6
+ function MinimapComponent_minimap_mini_node_0_Template(rf, ctx) { if (rf & 1) {
7
+ i0.ɵɵelement(0, "minimap-mini-node", 2);
8
+ } if (rf & 2) {
9
+ const node_r1 = ctx.$implicit;
10
+ const ctx_r0 = i0.ɵɵnextContext();
11
+ i0.ɵɵproperty("left", ctx_r0.scale(node_r1.left))("top", ctx_r0.scale(node_r1.top))("width", ctx_r0.scale(node_r1.width))("height", ctx_r0.scale(node_r1.height));
12
+ } }
13
+ export class MinimapComponent {
14
+ el;
15
+ cdr;
16
+ rendered;
17
+ size;
18
+ ratio;
19
+ nodes;
20
+ viewport;
21
+ translate;
22
+ point;
23
+ get width() {
24
+ return this.px(this.size * this.ratio);
25
+ }
26
+ get height() {
27
+ return this.px(this.size);
28
+ }
29
+ pointerdown(event) {
30
+ event.stopPropagation();
31
+ event.preventDefault();
32
+ }
33
+ dblclick(event) {
34
+ event.stopPropagation();
35
+ event.preventDefault();
36
+ if (!this.el.nativeElement)
37
+ return;
38
+ const box = this.el.nativeElement.getBoundingClientRect();
39
+ const x = (event.clientX - box.left) / (this.size * this.ratio);
40
+ const y = (event.clientY - box.top) / (this.size * this.ratio);
41
+ this.point(x, y);
42
+ }
43
+ constructor(el, cdr) {
44
+ this.el = el;
45
+ this.cdr = cdr;
46
+ this.cdr.detach();
47
+ }
48
+ ngOnChanges() {
49
+ this.cdr.detectChanges();
50
+ requestAnimationFrame(() => this.rendered());
51
+ }
52
+ px(value) {
53
+ return `${value}px`;
54
+ }
55
+ scale(value) {
56
+ if (!this.el.nativeElement)
57
+ return 0;
58
+ return value * this.el.nativeElement.clientWidth;
59
+ }
60
+ identifyMiniNode(_, item) {
61
+ return [item.top, item.left].join('_');
62
+ }
63
+ static ɵfac = function MinimapComponent_Factory(t) { return new (t || MinimapComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
64
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MinimapComponent, selectors: [["ng-component"]], hostAttrs: ["data-testid", "minimap"], hostVars: 4, hostBindings: function MinimapComponent_HostBindings(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵlistener("pointerdown", function MinimapComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); })("dblclick", function MinimapComponent_dblclick_HostBindingHandler($event) { return ctx.dblclick($event); });
66
+ } if (rf & 2) {
67
+ i0.ɵɵstyleProp("width", ctx.width)("height", ctx.height);
68
+ } }, inputs: { rendered: "rendered", size: "size", ratio: "ratio", nodes: "nodes", viewport: "viewport", translate: "translate", point: "point" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 8, consts: [[3, "left", "top", "width", "height", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "left", "top", "width", "height", "containerWidth", "translate"], [3, "left", "top", "width", "height"]], template: function MinimapComponent_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵtemplate(0, MinimapComponent_minimap_mini_node_0_Template, 1, 4, "minimap-mini-node", 0);
70
+ i0.ɵɵelement(1, "minimap-mini-viewport", 1);
71
+ } if (rf & 2) {
72
+ i0.ɵɵproperty("ngForOf", ctx.nodes)("ngForTrackBy", ctx.identifyMiniNode);
73
+ i0.ɵɵadvance(1);
74
+ i0.ɵɵproperty("left", ctx.viewport.left)("top", ctx.viewport.top)("width", ctx.viewport.width)("height", ctx.viewport.height)("containerWidth", ctx.el.nativeElement == null ? null : ctx.el.nativeElement.clientWidth)("translate", ctx.translate);
75
+ } }, dependencies: [i1.NgForOf, i2.MiniViewportComponent, i3.MiniNodeComponent], styles: ["[_nghost-%COMP%]{position:absolute;right:24px;bottom:24px;background:rgba(229,234,239,.65);padding:20px;overflow:hidden;border:1px solid #b1b7ff;border-radius:8px;box-sizing:border-box}"] });
76
+ }
77
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MinimapComponent, [{
78
+ type: Component,
79
+ args: [{ host: {
80
+ 'data-testid': 'minimap'
81
+ }, template: "<minimap-mini-node *ngFor=\"let node of nodes; trackBy: identifyMiniNode\" [left]=\"scale(node.left)\"\n [top]=\"scale(node.top)\" [width]=\"scale(node.width)\" [height]=\"scale(node.height)\">\n\n</minimap-mini-node>\n<minimap-mini-viewport [left]=\"viewport.left\" [top]=\"viewport.top\" [width]=\"viewport.width\" [height]=\"viewport.height\"\n [containerWidth]=\"el.nativeElement?.clientWidth\" [translate]=\"translate\"></minimap-mini-viewport>\n", styles: [":host{position:absolute;right:24px;bottom:24px;background:rgba(229,234,239,.65);padding:20px;overflow:hidden;border:1px solid #b1b7ff;border-radius:8px;box-sizing:border-box}\n"] }]
82
+ }], () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], { rendered: [{
83
+ type: Input
84
+ }], size: [{
85
+ type: Input
86
+ }], ratio: [{
87
+ type: Input
88
+ }], nodes: [{
89
+ type: Input
90
+ }], viewport: [{
91
+ type: Input
92
+ }], translate: [{
93
+ type: Input
94
+ }], point: [{
95
+ type: Input
96
+ }], width: [{
97
+ type: HostBinding,
98
+ args: ['style.width']
99
+ }], height: [{
100
+ type: HostBinding,
101
+ args: ['style.height']
102
+ }], pointerdown: [{
103
+ type: HostListener,
104
+ args: ['pointerdown', ['$event']]
105
+ }], dblclick: [{
106
+ type: HostListener,
107
+ args: ['dblclick', ['$event']]
108
+ }] }); })();
109
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MinimapComponent, { className: "MinimapComponent", filePath: "presets/minimap/components/minimap/minimap.component.ts", lineNumber: 11 }); })();
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL21pbmltYXAvY29tcG9uZW50cy9taW5pbWFwL21pbmltYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWEsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0F0SCx1Q0FHb0I7Ozs7SUFIcUQsaURBQXlCLGtDQUFBLHNDQUFBLHdDQUFBOztBRFVsRyxNQUFNLE9BQU8sZ0JBQWdCO0lBaUNSO0lBQXdCO0lBaENsQyxRQUFRLENBQWE7SUFDckIsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUF1QjtJQUM1QixLQUFLLENBQXVCO0lBQzVCLFFBQVEsQ0FBMEI7SUFDbEMsU0FBUyxDQUEyQjtJQUNwQyxLQUFLLENBQXVCO0lBRXJDLElBQWdDLEtBQUs7UUFDbkMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFDRCxJQUFpQyxNQUFNO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQUV3QyxXQUFXLENBQUMsS0FBbUI7UUFDdEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRXFDLFFBQVEsQ0FBQyxLQUFpQjtRQUM5RCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWE7WUFBRSxPQUFNO1FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDekQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9ELE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUU5RCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNsQixDQUFDO0lBRUQsWUFBbUIsRUFBYyxFQUFVLEdBQXNCO1FBQTlDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUMvRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsRUFBRSxDQUFDLEtBQWE7UUFDZCxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUE7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWE7WUFBRSxPQUFPLENBQUMsQ0FBQTtRQUVwQyxPQUFPLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUE7SUFDbEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLENBQVMsRUFBRSxJQUFrQztRQUM1RCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7MEVBdERVLGdCQUFnQjs2REFBaEIsZ0JBQWdCO21IQUFoQix1QkFBbUIsd0ZBQW5CLG9CQUFnQjs7OztZQ1Y3Qiw2RkFHb0I7WUFDcEIsMkNBQ21HOztZQUwvRCxtQ0FBVSxzQ0FBQTtZQUl2QixlQUFzQjtZQUF0Qix3Q0FBc0IseUJBQUEsNkJBQUEsK0JBQUEsMEZBQUEsNEJBQUE7OztpRkRNaEMsZ0JBQWdCO2NBUDVCLFNBQVM7dUJBR0Y7b0JBQ0osYUFBYSxFQUFFLFNBQVM7aUJBQ3pCOzJFQUdRLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUUwQixLQUFLO2tCQUFwQyxXQUFXO21CQUFDLGFBQWE7WUFHTyxNQUFNO2tCQUF0QyxXQUFXO21CQUFDLGNBQWM7WUFJYyxXQUFXO2tCQUFuRCxZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUtELFFBQVE7a0JBQTdDLFlBQVk7bUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkFyQnpCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pbmltYXBEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmltYXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9taW5pbWFwLmNvbXBvbmVudC5zYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAnbWluaW1hcCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBNaW5pbWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcmVuZGVyZWQhOiAoKSA9PiB2b2lkXG4gIEBJbnB1dCgpIHNpemUhOiBudW1iZXJcbiAgQElucHV0KCkgcmF0aW8hOiBNaW5pbWFwRGF0YVsncmF0aW8nXVxuICBASW5wdXQoKSBub2RlcyE6IE1pbmltYXBEYXRhWydub2RlcyddXG4gIEBJbnB1dCgpIHZpZXdwb3J0ITogTWluaW1hcERhdGFbJ3ZpZXdwb3J0J11cbiAgQElucHV0KCkgdHJhbnNsYXRlITogTWluaW1hcERhdGFbJ3RyYW5zbGF0ZSddXG4gIEBJbnB1dCgpIHBvaW50ITogTWluaW1hcERhdGFbJ3BvaW50J11cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgZ2V0IHdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2l6ZSAqIHRoaXMucmF0aW8pXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKSBnZXQgaGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLnB4KHRoaXMuc2l6ZSlcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgWyckZXZlbnQnXSkgcG9pbnRlcmRvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZGJsY2xpY2snLCBbJyRldmVudCddKSBkYmxjbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuXG4gICAgaWYgKCF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpIHJldHVyblxuICAgIGNvbnN0IGJveCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIGNvbnN0IHggPSAoZXZlbnQuY2xpZW50WCAtIGJveC5sZWZ0KSAvICh0aGlzLnNpemUgKiB0aGlzLnJhdGlvKVxuICAgIGNvbnN0IHkgPSAoZXZlbnQuY2xpZW50WSAtIGJveC50b3ApIC8gKHRoaXMuc2l6ZSAqIHRoaXMucmF0aW8pXG5cbiAgICB0aGlzLnBvaW50KHgsIHkpXG4gIH1cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgIHtcbiAgICB0aGlzLmNkci5kZXRhY2goKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHRoaXMucmVuZGVyZWQoKSlcbiAgfVxuXG4gIHB4KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gYCR7dmFsdWV9cHhgXG4gIH1cblxuICBzY2FsZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKCF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpIHJldHVybiAwXG5cbiAgICByZXR1cm4gdmFsdWUgKiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGhcbiAgfVxuXG4gIGlkZW50aWZ5TWluaU5vZGUoXzogbnVtYmVyLCBpdGVtOiBNaW5pbWFwRGF0YVsnbm9kZXMnXVtudW1iZXJdKSB7XG4gICAgcmV0dXJuIFtpdGVtLnRvcCwgaXRlbS5sZWZ0XS5qb2luKCdfJylcbiAgfVxufVxuIiwiPG1pbmltYXAtbWluaS1ub2RlICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiBpZGVudGlmeU1pbmlOb2RlXCIgW2xlZnRdPVwic2NhbGUobm9kZS5sZWZ0KVwiXG4gIFt0b3BdPVwic2NhbGUobm9kZS50b3ApXCIgW3dpZHRoXT1cInNjYWxlKG5vZGUud2lkdGgpXCIgW2hlaWdodF09XCJzY2FsZShub2RlLmhlaWdodClcIj5cblxuPC9taW5pbWFwLW1pbmktbm9kZT5cbjxtaW5pbWFwLW1pbmktdmlld3BvcnQgW2xlZnRdPVwidmlld3BvcnQubGVmdFwiIFt0b3BdPVwidmlld3BvcnQudG9wXCIgW3dpZHRoXT1cInZpZXdwb3J0LndpZHRoXCIgW2hlaWdodF09XCJ2aWV3cG9ydC5oZWlnaHRcIlxuICBbY29udGFpbmVyV2lkdGhdPVwiZWwubmF0aXZlRWxlbWVudD8uY2xpZW50V2lkdGhcIiBbdHJhbnNsYXRlXT1cInRyYW5zbGF0ZVwiPjwvbWluaW1hcC1taW5pLXZpZXdwb3J0PlxuIl19
@@ -0,0 +1,45 @@
1
+ import { MinimapComponent } from './components/minimap/minimap.component';
2
+ /**
3
+ * Preset for rendering minimap.
4
+ */
5
+ export function setup(props) {
6
+ return {
7
+ update(context) {
8
+ if (context.data.type === 'minimap') {
9
+ return {
10
+ nodes: context.data.nodes,
11
+ size: props?.size || 200,
12
+ ratio: context.data.ratio,
13
+ viewport: context.data.viewport,
14
+ translate: context.data.translate,
15
+ point: context.data.point
16
+ };
17
+ }
18
+ return null;
19
+ },
20
+ mount(context, plugin) {
21
+ const parent = plugin.parentScope();
22
+ const emit = parent.emit.bind(parent);
23
+ const rendered = () => {
24
+ emit({ type: 'rendered', data: context.data });
25
+ };
26
+ if (context.data.type === 'minimap') {
27
+ return {
28
+ key: 'rete-minimap',
29
+ component: MinimapComponent,
30
+ props: {
31
+ nodes: context.data.nodes,
32
+ size: props?.size || 200,
33
+ ratio: context.data.ratio,
34
+ viewport: context.data.viewport,
35
+ translate: context.data.translate,
36
+ point: context.data.point,
37
+ rendered
38
+ }
39
+ };
40
+ }
41
+ return null;
42
+ }
43
+ };
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTFFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBdUQsS0FBeUI7SUFDbkcsT0FBTztRQUNMLE1BQU0sQ0FBQyxPQUFPO1lBQ1osSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ25DLE9BQU87b0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksR0FBRztvQkFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztvQkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTtvQkFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUztvQkFDakMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSztpQkFDMUIsQ0FBQTthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUE7UUFDYixDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ25CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNuQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNyQyxNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQVMsQ0FBQyxDQUFBO1lBQ3ZELENBQUMsQ0FBQTtZQUVELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUNuQyxPQUFPO29CQUNMLEdBQUcsRUFBRSxjQUFjO29CQUNuQixTQUFTLEVBQUUsZ0JBQWdCO29CQUMzQixLQUFLLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksR0FBRzt3QkFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUTt3QkFDL0IsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUzt3QkFDakMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSzt3QkFDekIsUUFBUTtxQkFDVDtpQkFDRixDQUFBO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTY2hlbWVzIH0gZnJvbSAncmV0ZSc7XG5cbmltcG9ydCB7IFJlbmRlclByZXNldCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE1pbmltYXBSZW5kZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE1pbmltYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5cbi8qKlxuICogUHJlc2V0IGZvciByZW5kZXJpbmcgbWluaW1hcC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldHVwPFNjaGVtZXMgZXh0ZW5kcyBCYXNlU2NoZW1lcywgSyBleHRlbmRzIE1pbmltYXBSZW5kZXI+KHByb3BzPzogeyBzaXplPzogbnVtYmVyIH0pOiBSZW5kZXJQcmVzZXQ8U2NoZW1lcywgSz4ge1xuICByZXR1cm4ge1xuICAgIHVwZGF0ZShjb250ZXh0KSB7XG4gICAgICBpZiAoY29udGV4dC5kYXRhLnR5cGUgPT09ICdtaW5pbWFwJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGVzOiBjb250ZXh0LmRhdGEubm9kZXMsXG4gICAgICAgICAgc2l6ZTogcHJvcHM/LnNpemUgfHwgMjAwLFxuICAgICAgICAgIHJhdGlvOiBjb250ZXh0LmRhdGEucmF0aW8sXG4gICAgICAgICAgdmlld3BvcnQ6IGNvbnRleHQuZGF0YS52aWV3cG9ydCxcbiAgICAgICAgICB0cmFuc2xhdGU6IGNvbnRleHQuZGF0YS50cmFuc2xhdGUsXG4gICAgICAgICAgcG9pbnQ6IGNvbnRleHQuZGF0YS5wb2ludFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgbW91bnQoY29udGV4dCwgcGx1Z2luKSB7XG4gICAgICBjb25zdCBwYXJlbnQgPSBwbHVnaW4ucGFyZW50U2NvcGUoKVxuICAgICAgY29uc3QgZW1pdCA9IHBhcmVudC5lbWl0LmJpbmQocGFyZW50KVxuICAgICAgY29uc3QgcmVuZGVyZWQgPSAoKSA9PiB7XG4gICAgICAgIGVtaXQoeyB0eXBlOiAncmVuZGVyZWQnLCBkYXRhOiBjb250ZXh0LmRhdGEgfSBhcyBhbnkpXG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0LmRhdGEudHlwZSA9PT0gJ21pbmltYXAnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAga2V5OiAncmV0ZS1taW5pbWFwJyxcbiAgICAgICAgICBjb21wb25lbnQ6IE1pbmltYXBDb21wb25lbnQsXG4gICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIG5vZGVzOiBjb250ZXh0LmRhdGEubm9kZXMsXG4gICAgICAgICAgICBzaXplOiBwcm9wcz8uc2l6ZSB8fCAyMDAsXG4gICAgICAgICAgICByYXRpbzogY29udGV4dC5kYXRhLnJhdGlvLFxuICAgICAgICAgICAgdmlld3BvcnQ6IGNvbnRleHQuZGF0YS52aWV3cG9ydCxcbiAgICAgICAgICAgIHRyYW5zbGF0ZTogY29udGV4dC5kYXRhLnRyYW5zbGF0ZSxcbiAgICAgICAgICAgIHBvaW50OiBjb250ZXh0LmRhdGEucG9pbnQsXG4gICAgICAgICAgICByZW5kZXJlZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MinimapComponent } from './components/minimap/minimap.component';
4
+ import { MiniViewportComponent } from './components/mini-viewport/mini-viewport.component';
5
+ import { MiniNodeComponent } from './components/mini-node/mini-node.component';
6
+ import * as i0 from "@angular/core";
7
+ export class ReteMinimapModule {
8
+ static ɵfac = function ReteMinimapModule_Factory(t) { return new (t || ReteMinimapModule)(); };
9
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ReteMinimapModule });
10
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
11
+ }
12
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReteMinimapModule, [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [
16
+ MinimapComponent,
17
+ MiniViewportComponent,
18
+ MiniNodeComponent
19
+ ],
20
+ imports: [
21
+ CommonModule
22
+ ],
23
+ exports: [
24
+ MinimapComponent,
25
+ MiniViewportComponent,
26
+ MiniNodeComponent
27
+ ]
28
+ }]
29
+ }], null, null); })();
30
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ReteMinimapModule, { declarations: [MinimapComponent,
31
+ MiniViewportComponent,
32
+ MiniNodeComponent], imports: [CommonModule], exports: [MinimapComponent,
33
+ MiniViewportComponent,
34
+ MiniNodeComponent] }); })();
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmcxNy8uc3JjL3ByZXNldHMvbWluaW1hcC9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBaUIvRSxNQUFNLE9BQU8saUJBQWlCOzJFQUFqQixpQkFBaUI7NERBQWpCLGlCQUFpQjtnRUFSMUIsWUFBWTs7aUZBUUgsaUJBQWlCO2NBZjdCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGdCQUFnQjtvQkFDaEIscUJBQXFCO29CQUNyQixpQkFBaUI7aUJBQ2xCO2FBQ0Y7O3dGQUNZLGlCQUFpQixtQkFiMUIsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixpQkFBaUIsYUFHakIsWUFBWSxhQUdaLGdCQUFnQjtRQUNoQixxQkFBcUI7UUFDckIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE1pbmltYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5pVmlld3BvcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWluaS12aWV3cG9ydC9taW5pLXZpZXdwb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5pTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9taW5pLW5vZGUvbWluaS1ub2RlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1pbmltYXBDb21wb25lbnQsXG4gICAgTWluaVZpZXdwb3J0Q29tcG9uZW50LFxuICAgIE1pbmlOb2RlQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE1pbmltYXBDb21wb25lbnQsXG4gICAgTWluaVZpZXdwb3J0Q29tcG9uZW50LFxuICAgIE1pbmlOb2RlQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUmV0ZU1pbmltYXBNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9taW5pbWFwL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW5kZXJTaWduYWwgfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IHR5cGUgUmVjdCA9IHtcbiAgd2lkdGg6IG51bWJlclxuICBoZWlnaHQ6IG51bWJlclxuICBsZWZ0OiBudW1iZXIsXG4gIHRvcDogbnVtYmVyXG59XG5leHBvcnQgdHlwZSBUcmFuc2Zvcm0gPSB7XG4gIHg6IG51bWJlclxuICB5OiBudW1iZXJcbiAgazogbnVtYmVyXG59XG5leHBvcnQgdHlwZSBUcmFuc2xhdGUgPSAoZHg6IG51bWJlciwgZHk6IG51bWJlcikgPT4gdm9pZFxuXG5leHBvcnQgdHlwZSBNaW5pbWFwRGF0YSA9IHtcbiAgICByYXRpbzogbnVtYmVyXG4gICAgbm9kZXM6IFJlY3RbXVxuICAgIHZpZXdwb3J0OiBSZWN0XG4gICAgc3RhcnQoKTogVHJhbnNmb3JtXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVcbiAgICBwb2ludCh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWRcbiAgfVxuXG5leHBvcnQgdHlwZSBNaW5pbWFwUmVuZGVyID1cbiAgfCBSZW5kZXJTaWduYWw8J21pbmltYXAnLCBNaW5pbWFwRGF0YT5cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { PinsComponent } from './pins/pins.component';
2
+ export { PinComponent } from './pin/pin.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9yZXJvdXRlL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFBpbnNDb21wb25lbnQgfSBmcm9tICcuL3BpbnMvcGlucy5jb21wb25lbnQnO1xuZXhwb3J0IHsgUGluQ29tcG9uZW50IH0gZnJvbSAnLi9waW4vcGluLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,86 @@
1
+ import { Component, Input, ChangeDetectorRef, HostListener, HostBinding, Output, EventEmitter } from '@angular/core';
2
+ import { useDrag } from '../../../../shared/drag';
3
+ import * as i0 from "@angular/core";
4
+ const pinSize = 20;
5
+ export class PinComponent {
6
+ cdr;
7
+ position;
8
+ selected;
9
+ getPointer;
10
+ menu = new EventEmitter();
11
+ translate = new EventEmitter();
12
+ down = new EventEmitter();
13
+ drag = useDrag((dx, dy) => {
14
+ this.translate.emit({ dx, dy });
15
+ }, () => this.getPointer());
16
+ get _selected() {
17
+ return this.selected;
18
+ }
19
+ get top() {
20
+ return `${this.position.y - pinSize / 2}px`;
21
+ }
22
+ get left() {
23
+ return `${this.position.x - pinSize / 2}px`;
24
+ }
25
+ pointerdown(event) {
26
+ event.stopPropagation();
27
+ event.preventDefault();
28
+ this.drag.start(event);
29
+ this.down.emit();
30
+ }
31
+ contextmenu(event) {
32
+ event.stopPropagation();
33
+ event.preventDefault();
34
+ this.menu.emit();
35
+ }
36
+ constructor(cdr) {
37
+ this.cdr = cdr;
38
+ // this.cdr.detach()
39
+ }
40
+ ngOnChanges() {
41
+ // this.cdr.detectChanges()
42
+ // requestAnimationFrame(() => this.rendered())
43
+ }
44
+ static ɵfac = function PinComponent_Factory(t) { return new (t || PinComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
45
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PinComponent, selectors: [["reroute-pin"]], hostAttrs: ["data-testid", "pin"], hostVars: 6, hostBindings: function PinComponent_HostBindings(rf, ctx) { if (rf & 1) {
46
+ i0.ɵɵlistener("pointerdown", function PinComponent_pointerdown_HostBindingHandler($event) { return ctx.pointerdown($event); })("contextmenu", function PinComponent_contextmenu_HostBindingHandler($event) { return ctx.contextmenu($event); });
47
+ } if (rf & 2) {
48
+ i0.ɵɵstyleProp("top", ctx.top)("left", ctx.left);
49
+ i0.ɵɵclassProp("selected", ctx._selected);
50
+ } }, inputs: { position: "position", selected: "selected", getPointer: "getPointer" }, outputs: { menu: "menu", translate: "translate", down: "down" }, features: [i0.ɵɵNgOnChangesFeature], decls: 0, vars: 0, template: function PinComponent_Template(rf, ctx) { }, styles: ["[_nghost-%COMP%]{display:block;width:20px;height:20px;box-sizing:border-box;background:steelblue;border:2px solid white;border-radius:20px;position:absolute}.selected[_nghost-%COMP%]{background:#ffd92c}"] });
51
+ }
52
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PinComponent, [{
53
+ type: Component,
54
+ args: [{ selector: 'reroute-pin', template: '', host: {
55
+ 'data-testid': 'pin'
56
+ }, styles: [":host{display:block;width:20px;height:20px;box-sizing:border-box;background:steelblue;border:2px solid white;border-radius:20px;position:absolute}:host.selected{background:#ffd92c}\n"] }]
57
+ }], () => [{ type: i0.ChangeDetectorRef }], { position: [{
58
+ type: Input
59
+ }], selected: [{
60
+ type: Input
61
+ }], getPointer: [{
62
+ type: Input
63
+ }], menu: [{
64
+ type: Output
65
+ }], translate: [{
66
+ type: Output
67
+ }], down: [{
68
+ type: Output
69
+ }], _selected: [{
70
+ type: HostBinding,
71
+ args: ['class.selected']
72
+ }], top: [{
73
+ type: HostBinding,
74
+ args: ['style.top']
75
+ }], left: [{
76
+ type: HostBinding,
77
+ args: ['style.left']
78
+ }], pointerdown: [{
79
+ type: HostListener,
80
+ args: ['pointerdown', ['$event']]
81
+ }], contextmenu: [{
82
+ type: HostListener,
83
+ args: ['contextmenu', ['$event']]
84
+ }] }); })();
85
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PinComponent, { className: "PinComponent", filePath: "presets/reroute/components/pin/pin.component.ts", lineNumber: 15 }); })();
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL3Jlcm91dGUvY29tcG9uZW50cy9waW4vcGluLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBYSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEksT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFBOztBQUVqRCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUE7QUFVbEIsTUFBTSxPQUFPLFlBQVk7SUFtQ0g7SUFsQ1gsUUFBUSxDQUFXO0lBQ25CLFFBQVEsQ0FBVTtJQUNsQixVQUFVLENBQWlCO0lBQzFCLElBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFBO0lBQy9CLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBOEIsQ0FBQTtJQUMxRCxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtJQUV6QyxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDakMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBRTNCLElBQW1DLFNBQVM7UUFDMUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxJQUE4QixHQUFHO1FBQy9CLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUE7SUFDN0MsQ0FBQztJQUNELElBQStCLElBQUk7UUFDakMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQTtJQUM3QyxDQUFDO0lBQ3dDLFdBQVcsQ0FBQyxLQUFtQjtRQUN0RSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDbEIsQ0FBQztJQUN3QyxXQUFXLENBQUMsS0FBaUI7UUFDcEUsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2xCLENBQUM7SUFFRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxvQkFBb0I7SUFDdEIsQ0FBQztJQUVELFdBQVc7UUFDVCwyQkFBMkI7UUFDM0IsK0NBQStDO0lBQ2pELENBQUM7c0VBMUNVLFlBQVk7NkRBQVosWUFBWTsrR0FBWix1QkFBbUIsMEZBQW5CLHVCQUFtQjs7Ozs7O2lGQUFuQixZQUFZO2NBUnhCLFNBQVM7MkJBQ0UsYUFBYSxZQUNiLEVBQUUsUUFFTjtvQkFDSixhQUFhLEVBQUUsS0FBSztpQkFDckI7a0RBR1EsUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0ksSUFBSTtrQkFBYixNQUFNO1lBQ0csU0FBUztrQkFBbEIsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTTtZQU00QixTQUFTO2tCQUEzQyxXQUFXO21CQUFDLGdCQUFnQjtZQUdDLEdBQUc7a0JBQWhDLFdBQVc7bUJBQUMsV0FBVztZQUdPLElBQUk7a0JBQWxDLFdBQVc7bUJBQUMsWUFBWTtZQUdnQixXQUFXO2tCQUFuRCxZQUFZO21CQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQU9FLFdBQVc7a0JBQW5ELFlBQVk7bUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDOztrRkE1QjVCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBIb3N0TGlzdGVuZXIsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyB1c2VEcmFnIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RyYWcnXG5cbmNvbnN0IHBpblNpemUgPSAyMFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyZXJvdXRlLXBpbicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGluLmNvbXBvbmVudC5zYXNzJ10sXG4gIGhvc3Q6IHtcbiAgICAnZGF0YS10ZXN0aWQnOiAncGluJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIFBpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHBvc2l0aW9uITogUG9zaXRpb25cbiAgQElucHV0KCkgc2VsZWN0ZWQ/OiBib29sZWFuXG4gIEBJbnB1dCgpIGdldFBvaW50ZXIhOiAoKSA9PiBQb3NpdGlvblxuICBAT3V0cHV0KCkgbWVudSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuICBAT3V0cHV0KCkgdHJhbnNsYXRlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGR4OiBudW1iZXIsIGR5OiBudW1iZXIgfT4oKVxuICBAT3V0cHV0KCkgZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIGRyYWcgPSB1c2VEcmFnKChkeCwgZHkpID0+IHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5lbWl0KHsgZHgsIGR5IH0pXG4gIH0sICgpID0+IHRoaXMuZ2V0UG9pbnRlcigpKVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2VsZWN0ZWQnKSBnZXQgX3NlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkXG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS50b3AnKSBnZXQgdG9wKCkge1xuICAgIHJldHVybiBgJHt0aGlzLnBvc2l0aW9uLnkgLSBwaW5TaXplIC8gMn1weGBcbiAgfVxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmxlZnQnKSBnZXQgbGVmdCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5wb3NpdGlvbi54IC0gcGluU2l6ZSAvIDJ9cHhgXG4gIH1cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmRvd24nLCBbJyRldmVudCddKSBwb2ludGVyZG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICB0aGlzLmRyYWcuc3RhcnQoZXZlbnQpXG4gICAgdGhpcy5kb3duLmVtaXQoKVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgWyckZXZlbnQnXSkgY29udGV4dG1lbnUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcblxuICAgIHRoaXMubWVudS5lbWl0KClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIC8vIHRoaXMuY2RyLmRldGFjaCgpXG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICAvLyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gdGhpcy5yZW5kZXJlZCgpKVxuICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { Component, Input, ChangeDetectorRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "../pin/pin.component";
5
+ function PinsComponent_reroute_pin_0_Template(rf, ctx) { if (rf & 1) {
6
+ const _r3 = i0.ɵɵgetCurrentView();
7
+ i0.ɵɵelementStart(0, "reroute-pin", 1);
8
+ i0.ɵɵlistener("menu", function PinsComponent_reroute_pin_0_Template_reroute_pin_menu_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r3); const pin_r1 = restoredCtx.$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.menu && ctx_r2.menu(pin_r1.id)); })("translate", function PinsComponent_reroute_pin_0_Template_reroute_pin_translate_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r3); const pin_r1 = restoredCtx.$implicit; const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.translate && ctx_r4.translate(pin_r1.id, $event.dx, $event.dy)); })("down", function PinsComponent_reroute_pin_0_Template_reroute_pin_down_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r3); const pin_r1 = restoredCtx.$implicit; const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.down && ctx_r5.down(pin_r1.id)); });
9
+ i0.ɵɵelementEnd();
10
+ } if (rf & 2) {
11
+ const pin_r1 = ctx.$implicit;
12
+ const ctx_r0 = i0.ɵɵnextContext();
13
+ i0.ɵɵproperty("position", pin_r1.position)("selected", pin_r1.selected)("getPointer", ctx_r0.getPointer);
14
+ } }
15
+ export class PinsComponent {
16
+ cdr;
17
+ rendered;
18
+ pins;
19
+ down;
20
+ translate;
21
+ menu;
22
+ getPointer;
23
+ constructor(cdr) {
24
+ this.cdr = cdr;
25
+ this.cdr.detach();
26
+ }
27
+ ngOnChanges() {
28
+ this.cdr.detectChanges();
29
+ requestAnimationFrame(() => this.rendered());
30
+ }
31
+ track(_, item) {
32
+ return item.id;
33
+ }
34
+ static ɵfac = function PinsComponent_Factory(t) { return new (t || PinsComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
35
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PinsComponent, selectors: [["ng-component"]], inputs: { rendered: "rendered", pins: "pins", down: "down", translate: "translate", menu: "menu", getPointer: "getPointer" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 2, consts: [[3, "position", "selected", "getPointer", "menu", "translate", "down", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "position", "selected", "getPointer", "menu", "translate", "down"]], template: function PinsComponent_Template(rf, ctx) { if (rf & 1) {
36
+ i0.ɵɵtemplate(0, PinsComponent_reroute_pin_0_Template, 1, 3, "reroute-pin", 0);
37
+ } if (rf & 2) {
38
+ i0.ɵɵproperty("ngForOf", ctx.pins)("ngForTrackBy", ctx.track);
39
+ } }, dependencies: [i1.NgForOf, i2.PinComponent], encapsulation: 2 });
40
+ }
41
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PinsComponent, [{
42
+ type: Component,
43
+ args: [{ template: "<reroute-pin *ngFor=\"let pin of pins; trackBy: track\" [position]=\"pin.position\" [selected]=\"pin.selected\"\n (menu)=\"menu && menu(pin.id)\" (translate)=\"translate && translate(pin.id, $event.dx, $event.dy)\"\n (down)=\"down && down(pin.id)\" [getPointer]=\"getPointer\"></reroute-pin>\n" }]
44
+ }], () => [{ type: i0.ChangeDetectorRef }], { rendered: [{
45
+ type: Input
46
+ }], pins: [{
47
+ type: Input
48
+ }], down: [{
49
+ type: Input
50
+ }], translate: [{
51
+ type: Input
52
+ }], menu: [{
53
+ type: Input
54
+ }], getPointer: [{
55
+ type: Input
56
+ }] }); })();
57
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PinsComponent, { className: "PinsComponent", filePath: "presets/reroute/components/pins/pins.component.ts", lineNumber: 7 }); })();
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9yZXJvdXRlL2NvbXBvbmVudHMvcGlucy9waW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nMTcvLnNyYy9wcmVzZXRzL3Jlcm91dGUvY29tcG9uZW50cy9waW5zL3BpbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0EvRSxzQ0FFMEQ7SUFEeEQsK05BQVEsOEJBQVEsc0JBQVksQ0FBQSxJQUFDLGtPQUFjLG1DQUFhLGlEQUF1QyxDQUFBLElBQWxFLGtOQUNyQiw4QkFBUSxzQkFBWSxDQUFBLElBREM7SUFDMkIsaUJBQWM7Ozs7SUFGbEIsMENBQXlCLDZCQUFBLGlDQUFBOztBRE0vRSxNQUFNLE9BQU8sYUFBYTtJQVFKO0lBUFgsUUFBUSxDQUFhO0lBQ3JCLElBQUksQ0FBa0I7SUFDdEIsSUFBSSxDQUF1QjtJQUMzQixTQUFTLENBQStDO0lBQ3hELElBQUksQ0FBdUI7SUFDM0IsVUFBVSxDQUFpQjtJQUVwQyxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUN4QixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsS0FBSyxDQUFDLENBQVMsRUFBRSxJQUFTO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQTtJQUNoQixDQUFDO3VFQW5CVSxhQUFhOzZEQUFiLGFBQWE7WUNOMUIsOEVBRXdFOztZQUYzQyxrQ0FBUywyQkFBQTs7O2lGRE16QixhQUFhO2NBSHpCLFNBQVM7O2tEQUlDLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSzs7a0ZBTkssYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBpbiwgUGluRGF0YSwgUG9zaXRpb24gfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vcGlucy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUGluc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHJlbmRlcmVkITogKCkgPT4gdm9pZFxuICBASW5wdXQoKSBwaW5zITogUGluRGF0YVsncGlucyddXG4gIEBJbnB1dCgpIGRvd24/OiAoaWQ6IHN0cmluZykgPT4gdm9pZFxuICBASW5wdXQoKSB0cmFuc2xhdGU/OiAoaWQ6IHN0cmluZywgZHg6IG51bWJlciwgZHk6IG51bWJlcikgPT4gdm9pZFxuICBASW5wdXQoKSBtZW51PzogKGlkOiBzdHJpbmcpID0+IHZvaWRcbiAgQElucHV0KCkgZ2V0UG9pbnRlcj86ICgpID0+IFBvc2l0aW9uXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5jZHIuZGV0YWNoKClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB0aGlzLnJlbmRlcmVkKCkpXG4gIH1cblxuICB0cmFjayhfOiBudW1iZXIsIGl0ZW06IFBpbikge1xuICAgIHJldHVybiBpdGVtLmlkXG4gIH1cbn1cbiIsIjxyZXJvdXRlLXBpbiAqbmdGb3I9XCJsZXQgcGluIG9mIHBpbnM7IHRyYWNrQnk6IHRyYWNrXCIgW3Bvc2l0aW9uXT1cInBpbi5wb3NpdGlvblwiIFtzZWxlY3RlZF09XCJwaW4uc2VsZWN0ZWRcIlxuICAobWVudSk9XCJtZW51ICYmIG1lbnUocGluLmlkKVwiICh0cmFuc2xhdGUpPVwidHJhbnNsYXRlICYmIHRyYW5zbGF0ZShwaW4uaWQsICRldmVudC5keCwgJGV2ZW50LmR5KVwiXG4gIChkb3duKT1cImRvd24gJiYgZG93bihwaW4uaWQpXCIgW2dldFBvaW50ZXJdPVwiZ2V0UG9pbnRlclwiPjwvcmVyb3V0ZS1waW4+XG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { BaseAreaPlugin } from 'rete-area-plugin';
2
+ import { PinsComponent } from './components/pins/pins.component';
3
+ /**
4
+ * Preset for rendering pins.
5
+ */
6
+ export function setup(props) {
7
+ const getProps = () => ({
8
+ menu: props?.contextMenu || (() => null),
9
+ translate: props?.translate || (() => null),
10
+ down: props?.pointerdown || (() => null)
11
+ });
12
+ return {
13
+ update(context) {
14
+ if (context.data.type === 'reroute-pins') {
15
+ return {
16
+ ...getProps(),
17
+ pins: context.data.data.pins
18
+ };
19
+ }
20
+ return null;
21
+ },
22
+ mount(context, plugin) {
23
+ const area = plugin.parentScope(BaseAreaPlugin);
24
+ const rendered = () => {
25
+ area.emit({ type: 'rendered', data: context.data });
26
+ };
27
+ if (context.data.type === 'reroute-pins') {
28
+ return {
29
+ key: 'rete-reroute',
30
+ component: PinsComponent,
31
+ props: {
32
+ ...getProps(),
33
+ pins: context.data.data.pins,
34
+ rendered,
35
+ getPointer: () => area.area.pointer
36
+ }
37
+ };
38
+ }
39
+ return null;
40
+ }
41
+ };
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9yZXJvdXRlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFRakU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFvRCxLQUFhO0lBQ3BGLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEIsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDeEMsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFDM0MsSUFBSSxFQUFFLEtBQUssRUFBRSxXQUFXLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7S0FDekMsQ0FBQyxDQUFBO0lBRUYsT0FBTztRQUNMLE1BQU0sQ0FBQyxPQUFPO1lBQ1osSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7Z0JBQ3hDLE9BQU87b0JBQ0wsR0FBRyxRQUFRLEVBQUU7b0JBQ2IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7aUJBQzdCLENBQUE7YUFDRjtZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQztRQUNELEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBTTtZQUNuQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFzQyxjQUFjLENBQUMsQ0FBQTtZQUNwRixNQUFNLFFBQVEsR0FBRyxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUNyRCxDQUFDLENBQUE7WUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRTtnQkFDeEMsT0FBTztvQkFDTCxHQUFHLEVBQUUsY0FBYztvQkFDbkIsU0FBUyxFQUFFLGFBQWE7b0JBQ3hCLEtBQUssRUFBRTt3QkFDTCxHQUFHLFFBQVEsRUFBRTt3QkFDYixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTt3QkFDNUIsUUFBUTt3QkFDUixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO3FCQUNwQztpQkFDRixDQUFBO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VTY2hlbWVzIH0gZnJvbSAncmV0ZSc7XG5pbXBvcnQgeyBCYXNlQXJlYVBsdWdpbiB9IGZyb20gJ3JldGUtYXJlYS1wbHVnaW4nO1xuXG5pbXBvcnQgeyBSZW5kZXJQcmVzZXQgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IFBpbnNSZW5kZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFBpbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGlucy9waW5zLmNvbXBvbmVudCc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHRyYW5zbGF0ZT86IChpZDogc3RyaW5nLCBkeDogbnVtYmVyLCBkeTogbnVtYmVyKSA9PiB2b2lkXG4gIGNvbnRleHRNZW51PzogKGlkOiBzdHJpbmcpID0+IHZvaWRcbiAgcG9pbnRlcmRvd24/OiAoaWQ6IHN0cmluZykgPT4gdm9pZFxufVxuXG4vKipcbiAqIFByZXNldCBmb3IgcmVuZGVyaW5nIHBpbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cDxTY2hlbWVzIGV4dGVuZHMgQmFzZVNjaGVtZXMsIEsgZXh0ZW5kcyBQaW5zUmVuZGVyPihwcm9wcz86IFByb3BzKTogUmVuZGVyUHJlc2V0PFNjaGVtZXMsIEs+IHtcbiAgY29uc3QgZ2V0UHJvcHMgPSAoKSA9PiAoe1xuICAgIG1lbnU6IHByb3BzPy5jb250ZXh0TWVudSB8fCAoKCkgPT4gbnVsbCksXG4gICAgdHJhbnNsYXRlOiBwcm9wcz8udHJhbnNsYXRlIHx8ICgoKSA9PiBudWxsKSxcbiAgICBkb3duOiBwcm9wcz8ucG9pbnRlcmRvd24gfHwgKCgpID0+IG51bGwpXG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICB1cGRhdGUoY29udGV4dCkge1xuICAgICAgaWYgKGNvbnRleHQuZGF0YS50eXBlID09PSAncmVyb3V0ZS1waW5zJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmdldFByb3BzKCksXG4gICAgICAgICAgcGluczogY29udGV4dC5kYXRhLmRhdGEucGluc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH0sXG4gICAgbW91bnQoY29udGV4dCwgcGx1Z2luKSB7XG4gICAgICBjb25zdCBhcmVhID0gcGx1Z2luLnBhcmVudFNjb3BlPEJhc2VBcmVhUGx1Z2luPFNjaGVtZXMsIFBpbnNSZW5kZXI+PihCYXNlQXJlYVBsdWdpbilcbiAgICAgIGNvbnN0IHJlbmRlcmVkID0gKCkgPT4ge1xuICAgICAgICBhcmVhLmVtaXQoeyB0eXBlOiAncmVuZGVyZWQnLCBkYXRhOiBjb250ZXh0LmRhdGEgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRleHQuZGF0YS50eXBlID09PSAncmVyb3V0ZS1waW5zJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGtleTogJ3JldGUtcmVyb3V0ZScsXG4gICAgICAgICAgY29tcG9uZW50OiBQaW5zQ29tcG9uZW50LFxuICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAuLi5nZXRQcm9wcygpLFxuICAgICAgICAgICAgcGluczogY29udGV4dC5kYXRhLmRhdGEucGlucyxcbiAgICAgICAgICAgIHJlbmRlcmVkLFxuICAgICAgICAgICAgZ2V0UG9pbnRlcjogKCkgPT4gYXJlYS5hcmVhLnBvaW50ZXJcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PinsComponent } from './components/pins/pins.component';
4
+ import { PinComponent } from './components/pin/pin.component';
5
+ import * as i0 from "@angular/core";
6
+ export class ReteRerouteModule {
7
+ static ɵfac = function ReteRerouteModule_Factory(t) { return new (t || ReteRerouteModule)(); };
8
+ static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ReteRerouteModule });
9
+ static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule] });
10
+ }
11
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReteRerouteModule, [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [
15
+ PinsComponent,
16
+ PinComponent,
17
+ ],
18
+ imports: [
19
+ CommonModule
20
+ ],
21
+ exports: [
22
+ PinsComponent,
23
+ PinComponent,
24
+ ]
25
+ }]
26
+ }], null, null); })();
27
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ReteRerouteModule, { declarations: [PinsComponent,
28
+ PinComponent], imports: [CommonModule], exports: [PinsComponent,
29
+ PinComponent] }); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbmcxNy8uc3JjL3ByZXNldHMvcmVyb3V0ZS9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFlOUQsTUFBTSxPQUFPLGlCQUFpQjsyRUFBakIsaUJBQWlCOzREQUFqQixpQkFBaUI7Z0VBUDFCLFlBQVk7O2lGQU9ILGlCQUFpQjtjQWI3QixRQUFRO2VBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLGFBQWE7b0JBQ2IsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsYUFBYTtvQkFDYixZQUFZO2lCQUNiO2FBQ0Y7O3dGQUNZLGlCQUFpQixtQkFYMUIsYUFBYTtRQUNiLFlBQVksYUFHWixZQUFZLGFBR1osYUFBYTtRQUNiLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgUGluc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waW5zL3BpbnMuY29tcG9uZW50JztcbmltcG9ydCB7IFBpbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waW4vcGluLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFBpbnNDb21wb25lbnQsXG4gICAgUGluQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBQaW5zQ29tcG9uZW50LFxuICAgIFBpbkNvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXRlUmVyb3V0ZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy9yZXJvdXRlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uSWQgfSBmcm9tICdyZXRlJ1xuaW1wb3J0IHsgUmVuZGVyU2lnbmFsIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5cbmV4cG9ydCB0eXBlIFBvc2l0aW9uID0ge1xuICB4OiBudW1iZXJcbiAgeTogbnVtYmVyXG59XG5leHBvcnQgdHlwZSBQaW4gPSB7XG4gIGlkOiBzdHJpbmdcbiAgcG9zaXRpb246IFBvc2l0aW9uXG4gIHNlbGVjdGVkPzogYm9vbGVhblxufVxuZXhwb3J0IHR5cGUgUGluRGF0YSA9IHtcbiAgaWQ6IENvbm5lY3Rpb25JZFxuICBwaW5zOiBQaW5bXVxufVxuXG5leHBvcnQgdHlwZSBQaW5zUmVuZGVyID1cbiAgfCBSZW5kZXJTaWduYWw8J3Jlcm91dGUtcGlucycsIHsgZGF0YTogUGluRGF0YSB9PlxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9uZzE3Ly5zcmMvcHJlc2V0cy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVNjaGVtZXMgfSBmcm9tICdyZXRlJ1xuaW1wb3J0IHsgQW5ndWxhclBsdWdpbiB9IGZyb20gJy4uL2NvcmUnXG5cbmV4cG9ydCB0eXBlIFJlbmRlclByZXNldDxTY2hlbWVzIGV4dGVuZHMgQmFzZVNjaGVtZXMsIFQ+ID0ge1xuICBhdHRhY2g/OiAocGx1Z2luOiBBbmd1bGFyUGx1Z2luPFNjaGVtZXMsIFQ+KSA9PiB2b2lkXG4gIHVwZGF0ZTogKGNvbnRleHQ6IEV4dHJhY3Q8VCwgeyB0eXBlOiAncmVuZGVyJyB9PiwgcGx1Z2luOiBBbmd1bGFyUGx1Z2luPFNjaGVtZXMsIFQ+KSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB8IG51bGwgfCB2b2lkXG4gIG1vdW50OiAoY29udGV4dDogRXh0cmFjdDxULCB7IHR5cGU6ICdyZW5kZXInIH0+LCBwbHVnaW46IEFuZ3VsYXJQbHVnaW48U2NoZW1lcywgVD4pID0+IHsga2V5OiBzdHJpbmcsIGNvbXBvbmVudDogYW55LCBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfSB8IHVuZGVmaW5lZCB8IG51bGwgfCB2b2lkXG59XG4iXX0=
@@ -0,0 +1,30 @@
1
+ import { Input, ElementRef } from '@angular/core';
2
+ import { Directive } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class RefDirective {
5
+ el;
6
+ data;
7
+ emit;
8
+ constructor(el) {
9
+ this.el = el;
10
+ }
11
+ ngOnChanges() {
12
+ this.emit({ type: 'render', data: { ...this.data, element: this.el.nativeElement } });
13
+ }
14
+ ngOnDestroy() {
15
+ this.emit({ type: 'unmount', data: { element: this.el.nativeElement } });
16
+ }
17
+ static ɵfac = function RefDirective_Factory(t) { return new (t || RefDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
18
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: RefDirective, selectors: [["", "refComponent", ""]], inputs: { data: "data", emit: "emit" }, features: [i0.ɵɵNgOnChangesFeature] });
19
+ }
20
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RefDirective, [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[refComponent]'
24
+ }]
25
+ }], () => [{ type: i0.ElementRef }], { data: [{
26
+ type: Input
27
+ }], emit: [{
28
+ type: Input
29
+ }] }); })();
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbmcxNy8uc3JjL3JlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLFlBQVk7SUFJSDtJQUhYLElBQUksQ0FBTTtJQUNWLElBQUksQ0FBTTtJQUVuQixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFJLENBQUM7SUFFdkMsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDdkYsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDMUUsQ0FBQztzRUFaVSxZQUFZOzZEQUFaLFlBQVk7O2lGQUFaLFlBQVk7Y0FIeEIsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7YUFDM0I7MkNBRVUsSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5wdXQsIEVsZW1lbnRSZWYsIE9uQ2hhbmdlcywgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JlZkNvbXBvbmVudF0nXG59KVxuZXhwb3J0IGNsYXNzIFJlZkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0YSE6IGFueVxuICBASW5wdXQoKSBlbWl0ITogYW55XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikgeyB9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5lbWl0KHsgdHlwZTogJ3JlbmRlcicsIGRhdGE6IHsgLi4udGhpcy5kYXRhLCBlbGVtZW50OiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgfSB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5lbWl0KHsgdHlwZTogJ3VubW91bnQnLCBkYXRhOiB7IGVsZW1lbnQ6IHRoaXMuZWwubmF0aXZlRWxlbWVudCB9IH0pXG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0ZS1hbmd1bGFyLXBsdWdpbi1uZzE3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbmcxNy8uc3JjL3JldGUtYW5ndWxhci1wbHVnaW4tbmcxNy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==